Shopify Known Limitations
This article documents known limitations and important behaviors of the iPaaS.com Shopify integration so you know what to expect and how to work around each one.
Scope: the full Shopify integration. Limitations are grouped into the areas below (use the article's table of contents to jump to a section):
Areas covered: Locations · Customers · Companies / B2B · Products & Variants · Inventory · Product Categories · Orders · Gift Cards · Cross-cutting behaviors.
Shopify API version for location activation
Location reactivation uses the Shopify Admin GraphQL locationActivate mutation, which requires the @idempotent directive introduced in Shopify Admin API version 2026-04. The reactivate-before-update behavior — where a Shopify location found in a deactivated state is reactivated before an update is applied — therefore requires the connection to be on API version 2026-04 or later. The default API Version preset is 2026-01; on an earlier version the activation step can fail. Creating and updating locations otherwise operate on whichever API version the connection is configured to use.
What this means for you: if your locations may need to be reactivated during an update, set the Shopify connection's API Version to 2026-04 (or later). Validate the setting in a staging environment before relying on activation in production.
Online-order fulfillment is not synchronized
Shopify's location model includes a fulfillsOnlineOrders flag (whether a location fulfills online orders), and the locationAdd / locationEdit mutations accept and return it. The integration's Location does not currently expose this field, so it cannot be mapped in either direction.
What this means for you: a location's online-order fulfillment setting is not synchronized by this integration. Set it manually in the Shopify admin if your business requires it.
Inbound bounce-back can overwrite unmapped Location fields
The Shopify integration includes an inbound Shopify Location To iPaaS collection that maps only the location Name. Because the iPaaS.com API replaces the entire record on update, when a location you sent to Shopify is echoed back through that inbound collection, fields that are not mapped there — Parent, Type, and Description — are overwritten with empty values on the iPaaS.com Location.
What this means for you: if you set Parent, Type, or Description on an iPaaS.com Location, add a Dynamic Formula mapping on the Shopify Location To iPaaS collection that preserves each field (for example, map DestinationValue.Description to the iPaaS.com Description field) so the value is retained instead of cleared. See the iPaaS.com to Shopify Location Mapping Documentation for the full mitigation.
Deactivation and deletion are out of scope
This integration never deactivates or deletes a Shopify location. It only reactivates a location it needs to update, when it finds a matched location in a deactivated state. Deactivating or deleting a location is a manual action performed in the Shopify admin under a supervised process.
What this means for you: removing a location from Shopify is a manual step; it is not driven from iPaaS.com.
Location names must be unique
Shopify enforces unique location names, including across deactivated locations. Before a location is linked by external id, the integration matches existing locations and recovers from duplicate-name conflicts using the Name. Renaming a location in iPaaS.com before it has been synced (and therefore linked) at least once can cause a new Shopify location to be created instead of updating the intended one.
What this means for you: sync a location once to establish its external-id link before renaming it, and keep location names unique within your store.
A resolvable country is required
Creating or updating a Shopify location requires a country that Shopify recognizes. The country is mapped from the iPaaS.com Location address; if it cannot be resolved to a valid Shopify country, the transfer fails.
What this means for you: ensure each Location's address country is set to a value Shopify accepts.
Customer limitations
Shopify enforces a unique email per customer. When a customer transfer would create a duplicate email, the integration links to the existing Shopify customer by email instead of creating a new one — but a customer with no email cannot be de-duplicated this way and may create a duplicate. Shopify also expects a valid province/state abbreviation; the integration normalizes the iPaaS.com Region, but an unrecognized value is passed through unchanged and may be rejected.
What this means for you: give customers a valid, unique email and a recognized province/state code. Deleting a customer is only propagated when the Delete collection is configured.
Company / B2B limitations
Companies require Shopify's B2B capability to be enabled (available on Basic, Grow, Advanced, and Plus as of April 2026 — see the iPaaS.com to Shopify Company Mapping Documentation). When transferring FROM iPaaS.com, the integration de-duplicates by company name unless the Allow Creating Duplicate Companies subscription setting is enabled; when that setting is on, the de-duplication AND the automatic related-Customer prerequisite are both skipped, so unlinked contacts are dropped. Company contacts always depend on their related Customer existing (TO iPaaS.com) or being linked to Shopify (FROM iPaaS.com).
What this means for you: enable B2B on the store, and leave Allow Creating Duplicate Companies off unless you specifically intend a new company on every transfer (and have pre-linked the related customers).
Product and variant limitations
Every Shopify variant must define at least one option value, and the total variant count is capped by the store's Shopify plan limit — products that exceed it are rejected. Before an external-id link exists, products and variants are matched to Shopify by SKU/title, so non-unique SKUs can mis-link or duplicate. Shopify's default placeholder option ("Title" / "Default Title") is intentionally excluded by the option/option-value filters.
What this means for you: ensure each variant has at least one real option value, keep SKUs unique, and stay within your plan's variant limit.
Inventory limitations
Inventory levels can only be set where the location is linked in Shopify and inventory tracking is enabled for the item at that location. Inventory tied to an unlinked location, or to an untracked item, will not update.
What this means for you: sync locations first and enable inventory tracking on the items/locations you intend to manage from iPaaS.com.
Product category (collection) limitations
Shopify collections do not support a parent/child hierarchy through the API, so an iPaaS.com category hierarchy cannot be reproduced in Shopify — a browsable hierarchy must be arranged manually in the Shopify navigation (Menu). Collection SortOrder must be one of Shopify's supported values; an unrecognized or empty value is sent as PRICE_ASC by default. Before an external-id link exists, a category is matched to a Shopify collection by exact Title (case-insensitive); when several share a title, the one with the most products is linked.
What this means for you: manage category hierarchy on the iPaaS.com side (and Shopify navigation), keep collection titles distinct, and expect PRICE_ASC when no sort order has been captured.
Order limitations
Duplicate-order prevention depends on the Shopify Metafield for Transaction Number Matching subscription setting (documented in Shopify Connections and Settings): the integration links an existing Shopify order by that metafield instead of creating a duplicate, but the metafield must exist in Shopify and be filterable. For how the matching works end to end, see the iPaaS.com to Shopify Order Mapping Documentation. A line item's product is auto-created in Shopify only when Create Line Item Product as Prerequisite is enabled; otherwise a missing product fails the order. Customer and product prerequisites must succeed or the whole order transfer fails. Deleting an order in iPaaS.com is not propagated to Shopify.
What this means for you: configure the transaction-number metafield (created and filterable in Shopify) to avoid duplicate orders, and enable Create Line Item Product as Prerequisite if your orders may reference products not yet in Shopify.
Gift card limitations
Gift cards are supported through the Add/Update Shopify Plus Gift Card TO iPaaS.com collection (reads Shopify gift cards into iPaaS.com for reporting) and the Add Shopify Plus Gift Card FROM iPaaS.com collection (one-time creation of gift cards in Shopify). Several Shopify platform constraints apply:
Balances are immutable after creation. Shopify does not allow a gift card's balance to be changed through the API once the card exists. iPaaS.com cannot push or adjust balances in Shopify — the TO-iPaaS.com collection reads balances for reporting only, and the FROM-iPaaS.com collection is add-only (no updates).
The redeemable code is never exposed. Shopify keeps the gift card Code private and does not return it through the API, so iPaaS.com stores the Shopify gift card id as its Number rather than the code.
No gift-card webhook. Shopify does not emit a gift-card event, so gift cards do not flow into iPaaS.com in real time on creation. They arrive as part of order processing (when an order sells or redeems a gift card) and through bulk processing.
Value caps. Shopify limits admin/API-created gift cards to $2,000 USD (equivalent) and gift card products to $10,000 USD (equivalent).
API access is granted on request. The Shopify Gift Card API requires the
read_gift_cardsandwrite_gift_cardsaccess scopes, which Shopify enables only after you request them from Shopify Support — they are not on by default.Functionality varies by plan. Gift cards are available on all Shopify plans, but non-Plus plans support more limited gift card functionality than Shopify Plus. The integration's gift card collections target the Shopify Plus gift card experience and ship disabled by default because of these setup requirements and limitations.
What this means for you: treat the FROM-iPaaS.com gift card flow as a one-time migration (seeding existing balances into Shopify), not an ongoing balance sync; request the read_gift_cards / write_gift_cards scopes from Shopify Support before enabling; keep gift card values within Shopify's caps; and expect gift cards to reach iPaaS.com through order and bulk processing rather than instantly on creation.
Cross-cutting limitations
Bidirectional overwrite risk (all TO iPaaS.com collections)
The iPaaS.com API replaces the entire record on update, so any field not mapped on an inbound (TO iPaaS.com) collection is overwritten with empty/null each time that collection runs. This is documented above for Locations (Parent, Type, Description), and the same mechanism applies to other entities whose inbound collections map only a subset of fields.
What this means for you: for any field you maintain in iPaaS.com that the inbound collection does not map, add a Dynamic Formula preservation mapping (for example DestinationValue.<Field>) on that collection so the value survives inbound updates.
Initialization
Only Product Category TO iPaaS.com supports bulk initialization (see Shopify Connections and Settings). Other entities are not initialized in bulk; they transfer through their normal webhook/outbound triggers, Manual Sync, or order-processing cascades.
What this means for you: do not expect a one-click bulk backfill for entities other than Product Category; seed other data via Manual Sync or normal processing.
This article documents 15 known limitations grouped into nine areas of the Shopify integration.
