iPaaS.com to Shopify Order Mapping Documentation
Orders can be created and updated in Shopify from iPaaS.com Transaction data. The order tree is led by the Add/Update Shopify Order FROM iPaaS.com parent collection, which writes the order header (customer, totals, financial status, currency, notes, and the default shipping line), and five child collections that complete the order: line items, tax lines, and the shipping, billing, or combined address. The tree supports the Add/Update sync type — on Add a new Shopify order is created and linked by saving the Shopify order id; on Update the linked order is edited. Before creating, the integration can match an existing Shopify order by a transaction-number metafield so the same order is updated instead of duplicated.
ID Format
Manual Sync ID.
On the iPaaS.com Manual Sync page, enter the iPaaS.com Transaction id to send that order to Shopify.
External ID.
After a successful sync, the Shopify order id is saved as the external id on the iPaaS.com Transaction. Subsequent updates use that link to edit the same Shopify order rather than creating a new one.
Deleted Record Support
Order deletion is not performed by this collection tree. Removing or cancelling an order in Shopify is handled outside this FROM-iPaaS flow; deletions in iPaaS.com do not propagate to Shopify through these collections.
Mapping Collection Status
Status: Enabled (parent and all five children)
Trigger Events: the iPaaS.com Transaction (Order) Create and Update outbound triggers (enabled per Setup Requirements below). The child collections have no independent trigger — they run as part of the parent order transfer.
Duplicate or Conflicting Mappings
Opposite-direction collections.
This tree creates and updates orders in Shopify. The reverse direction — transferring the same Shopify orders into iPaaS.com — is handled by the inbound order collections, including Add Shopify Order Header TO iPaaS.com, Update Shopify Order Header TO iPaaS.com, and Add Shopify Plus Order Header TO iPaaS.com. Decide which system is the source of truth for orders before enabling automatic transfers in both directions so a record is not written back and forth.
Address collections are mutually exclusive.
The three address children — shipping-only, billing-only, and the combined billing-and-shipping fallback — are mutually exclusive by filter. Each iPaaS.com address flows through exactly one of them based on its primary billing/shipping flags.
Important: Review and customize the mapping collection filters and the Add/Update settings to match your business rules before enabling automatic order transfers. If you use the default (unmodified) template mappings, existing order data may be overwritten.
Supported Child Collections
Parent Collection: Add/Update Shopify Order FROM iPaaS.com (284677)
Add/Update Shopify Order Lines FROM iPaaS.com (284676) — order line items, linked to Shopify products/variants by SKU.
Add/Update Shopify Order Tax Lines FROM iPaaS.com (284675) — tax amount, rate, and authority.
Add/Update Shopify Order Shipping Address FROM iPaaS.com (284673) — shipping-only address.
Add/Update Shopify Order Billing Address FROM iPaaS.com (284674) — billing-only address.
Add/Update Shopify Order Billing and Shipping Address FROM iPaaS.com (284678) — combined-address fallback.
System Caveats
Shopify Caveats.
A line item is mandatory. Shopify will not create an order without at least one line item; the parent filter enforces this.
Shipping lines set the delivery method and are immutable. Shopify decides an order's delivery method solely from the presence of a shipping line at creation. Map
ShippingLine_TitleandShippingLine_Priceor Shopify marks the order "Shipping not required" even when a shipping address exists. Shipping lines cannot be changed after the order is created.Financial status is a case-sensitive enum. Only
authorized,paid,partially_paid,pending,partially_refunded,refunded, andvoidedare accepted; the template maps the iPaaS.com Status to these values with a formula.Region / country values are not validated on order addresses. Invalid values are accepted silently and stored.
iPaaS.com Caveats.
External-id link required. The Shopify order id is saved as the external id so subsequent updates edit the same Shopify order rather than creating a duplicate.
Duplicate detection depends on the metafield preset. Without the transaction-number metafield created in Shopify and configured in the matching preset, an unlinked transaction cannot be matched to an existing Shopify order and a re-sync can create a duplicate.
Customer link is not auto-created. The order's customer is resolved from the existing iPaaS.com-to-Shopify customer link; if the customer is not yet linked, the order is created without that customer association.
Setup Requirements
iPaaS.com Configuration.
Automatic transfers are enabled in the subscription configuration's Outbound Data Flows section. Subscribe to the iPaaS.com Transaction (Order) Create and Update outbound triggers that should dispatch this collection to Shopify. No automatic transfers occur until those outbound subscriptions are enabled. Orders can also be sent on demand from the Manual Sync page using the iPaaS.com Transaction id.
Two subscription presets control prerequisite behavior:
SHOPIFY METAFIELD FOR TRANSACTION NUMBER MATCHING — set to the
namespace.keyof the Shopify order metafield used for duplicate-order detection.Create Line Item Product as Prerequisite — when enabled, missing line-item products are created in Shopify automatically before the order is written.
Shopify Configuration.
To enable duplicate-order detection, create an Order metafield in advance and make it filterable:
Go to Shopify Admin → Settings → Custom data → Orders.
Click Add definition.
Give it a clear name (for example,
iPaaS-Transaction-Number) and set the type to Single line text.Under Options, enable Filter on the order list and in the Admin API.
Save, then copy the generated Namespace and Key.
Paste the value as
namespace.keyinto the SHOPIFY METAFIELD FOR TRANSACTION NUMBER MATCHING preset in your iPaaS.com subscription.
The Shopify connection must be authorized with permission to read and write orders.
Integration Flow
Resolve the Shopify order for the iPaaS.com Transaction from the saved external-id link.
If no external id is saved and the transaction-number metafield preset is configured, search Shopify for an order whose metafield matches this transaction number; a match is linked so the order is updated rather than duplicated.
If the Create Line Item Product as Prerequisite preset is enabled, create any missing line-item products/variants in Shopify automatically; a failed product transfer fails the order.
On Add: create the Shopify order with the mapped header values plus the child line, tax, and address records, and save the Shopify order id as the external-id link.
On Update: edit the linked Shopify order.
Mappings
Add/Update Shopify Order FROM iPaaS.com (Parent)
Mapping filter: Type == "Order" && Lines?.Count > 0
Description: Writes the order header and routes child line, tax, and address records. Only transactions of type Order with at least one line item are processed.
Mapping Type | Source (iPaaS.com) | Destination (Shopify) | Description |
Static |
| global.Order-Desc (custom field) | Placeholder value — replace during implementation: replace the sample value with a real source, or remove the mapping. |
Field | TransactionNumber | iPaaS Transaction Number (custom field) | Powers duplicate-order detection via the matching metafield. |
Field | SystemId | iPaaS Transaction System ID (custom field) | Source system id, stored for traceability. |
Field | Status | iPaaS Transaction Status (custom field) | Raw source status, stored for reference. |
Field | ShippingAmount | iPaaS Transaction Shipping Amount (custom field) | Reference. |
Field | Total | iPaaS Transaction Total (custom field) | Reference. |
Field | TaxAmount | iPaaS Transaction Tax Amount (custom field) | Reference. |
Field | EmailAddress | Recommended; associates the order with a customer. | |
Dynamic Formula | Notes collection | Note | Concatenates all non-empty notes, newline-separated. |
Field | TotalQty | ItemsTotal | Total item quantity. |
Field | Total | TotalPrice | Order total. |
Field | Subtotal | SubtotalPrice | Order subtotal. |
Field | TaxAmount | TotalTax | Header tax total. |
Dynamic Formula | Status | FinancialStatus | Maps to Shopify's case-sensitive financial-status enum. |
Dynamic Formula | Status | Confirmed | True when status is Complete or Shipped. |
Field | DiscountAmount | TotalDiscounts | Order discount total. |
Dynamic Formula | CustomerId | CustomerId | Resolves the linked Shopify customer id; not auto-created. |
Field | ShippingAmount | ShippingPrice | Header shipping amount. |
Static |
| Currency | Placeholder value — replace during implementation: change if your store is not USD. |
Dynamic Formula | "Default Shipping Line Title" custom field, else | ShippingLine_Title | Required to create a shipping line / delivery method. |
Field | ShippingAmount | ShippingLine_Price | Required, with the title, to create the shipping line. |
Add/Update Shopify Order Lines FROM iPaaS.com (Child)
Mapping filter: resolves the line SKU to a Shopify product or variant id; processes the line only when a match is found (adjustable for free-form items).
Mapping Type | Source (iPaaS.com) | Destination (Shopify) | Description |
Dynamic Formula | Sku | VariantId | Resolves the Shopify variant id from the SKU. |
Field | Description | Title | Line description. |
Field | Qty | Quantity | Ordered quantity. |
Field | Sku | Sku | Line SKU; match key for product/variant linking. |
Dynamic Formula | Sku | ProductId | Resolves the Shopify product id from the SKU. |
Dynamic Formula | Type | GiftCard | True when the line type is GiftCard. |
Field | UnitPrice | Price | Unit price. |
Field | DiscountAmount | TotalDiscount | Line discount. |
Add/Update Shopify Order Tax Lines FROM iPaaS.com (Child)
Mapping filter: none.
Mapping Type | Source (iPaaS.com) | Destination (Shopify) | Description |
Field | Amount | Price | Tax amount. |
Field | TaxPercent | Rate | Tax rate. |
Field | Authority | Title | Tax authority name. |
Add/Update Shopify Order Shipping Address FROM iPaaS.com (Child)
Mapping filter: IsPrimaryShipping && !IsPrimaryBilling
Mapping Type | Source (iPaaS.com) | Destination (Shopify) | Description |
Static |
| IsBillingAddress | Not a billing address. |
Static |
| IsShippingAddress | The shipping address. |
Field | FirstName | FirstName | |
Field | Address1 | Address1 | |
Field | City | City | |
Field | PostalCode | Zip | |
Field | Region | Province | Not validated by Shopify. |
Field | Country | Country | Not validated by Shopify. |
Field | LastName | LastName | |
Field | Address2 | Address2 | |
Field | Company | Company |
Add/Update Shopify Order Billing Address FROM iPaaS.com (Child)
Mapping filter: IsPrimaryBilling && !IsPrimaryShipping
Mapping Type | Source (iPaaS.com) | Destination (Shopify) | Description |
Static |
| IsBillingAddress | The billing address. |
Static |
| IsShippingAddress | Not a shipping address. |
Field | FirstName | FirstName | |
Field | Address1 | Address1 | |
Field | City | City | |
Field | PostalCode | Zip | |
Field | Region | Province | Not validated by Shopify. |
Field | Country | Country | Not validated by Shopify. |
Field | LastName | LastName | |
Field | Address2 | Address2 | |
Field | Company | Company |
Add/Update Shopify Order Billing and Shipping Address FROM iPaaS.com (Child)
Mapping filter: IsPrimaryBilling && IsPrimaryShipping — fallback when a single combined address carries both flags; applied to both order slots.
Mapping Type | Source (iPaaS.com) | Destination (Shopify) | Description |
Static |
| IsBillingAddress | Combined address used for billing. |
Static |
| IsShippingAddress | Combined address used for shipping. |
Field | FirstName | FirstName | |
Field | Address1 | Address1 | |
Field | City | City | |
Field | PostalCode | Zip | |
Field | Region | Province | Not validated by Shopify. |
Field | Country | Country | Not validated by Shopify. |
Field | LastName | LastName | |
Field | Address2 | Address2 | |
Field | Company | Company |
Error Handling
No line items: transactions without lines are filtered out — an order cannot be created in Shopify.
Wrong type: transactions whose type is not Order are filtered out.
Failed prerequisite product: when line-item product creation is enabled and a product transfer fails, the whole order transfer fails.
Unresolvable SKU: by default an order line whose SKU does not match a Shopify product/variant is skipped; relax the line filter to allow free-form items.
Invalid financial status: an unrecognized source status maps to null financial status.
Testing & Validation
Test Scenarios.
Create a new Transaction of type Order with at least one line and sync it; verify a new Shopify order is created and the Shopify order id is saved as the external id.
Re-sync a transaction that already exists in Shopify (matched by the transaction-number metafield) and confirm it updates the existing order instead of creating a duplicate.
Sync an order with a line whose SKU is not yet in Shopify, with Create Line Item Product as Prerequisite enabled, and confirm the product is created first and the order succeeds.
Sync an order with a shipping-only, a billing-only, and a combined address and confirm each routes to the correct slot(s).
Confirm the order carries a delivery method because the shipping line title and price are mapped.
Validation Checklist.
New orders appear in Shopify with correct totals, financial status, and currency.
The Shopify order id is saved as the external id after the first successful sync.
Duplicate-order matching links to the existing order via the metafield.
Line items link to the correct products/variants by SKU.
Tax lines and addresses appear correctly on the order.
A delivery method is present on the order.
Additional Notes
The default template includes two placeholder values that must be reviewed before production use: the static
global.Order-Descvalue (test desc from mappings) and the staticUSDcurrency.Customers are not auto-created in this direction. Establish the iPaaS.com-to-Shopify customer link beforehand if the order should carry a customer.
