Summary
This mapping collection is of type Transaction Tracking Number and adds a Fulfillment — a tracking number, carrier, and the fulfilled line items — to an order that already exists in Shopify (transfer FROM iPaaS.com — Add). It does not transfer the order itself: the order is created by the Add/Update Shopify Order FROM iPaaS.com collection, and this collection only marks items shipped on that existing order. It runs when a tracking record is added to an iPaaS.com Order; the Shopify order id is resolved from the iPaaS.com transaction's external-id link, so the order must already exist in Shopify.
When tracking reaches iPaaS.com as an update of the order rather than as a new tracking record, tracking is added through the order instead, by Add Shopify Order Tracking-Only Fulfillment FROM iPaaS.com (see iPaaS.com to Shopify Order Mapping Documentation).
Fulfillment is outbound only. Shopify does not send a fulfillment event back to iPaaS.com in this integration, so there is no inbound (TO iPaaS.com) fulfillment collection.
ID Format
Manual Sync ID.
On the iPaaS.com Manual Sync page, enter the iPaaS.com tracking record id to send that tracking record's fulfillment to Shopify. Each tracking record becomes one fulfillment on its order.
External ID.
After a successful sync, the Shopify fulfillment id is saved as the tracking record's external id.
Order resolution.
The Shopify order id is derived from the iPaaS.com transaction id: the integration strips any suffix from the id and looks up that transaction's external-id link to the Shopify order. If no Shopify order is linked, the fulfillment cannot be created.
Deleted Record Support
This collection supports Add only. Updating, deleting, and reading fulfillments are not implemented — a fulfillment is created once on the order. Removing or editing a fulfillment is a manual action in the Shopify admin and does not propagate from iPaaS.com.
Mapping Collection Status
Status: Enabled (no mapping filter; every record dispatched to the collection is processed).
Collection Type: Transaction Tracking Number. It is standalone in the mapping-collection hierarchy (no parent collection) and runs from the tracking record — it is not the Transaction/Order collection itself, and an update of the order does not run it.
Sync Type: Add.
Trigger Events: the iPaaS.com Transaction Tracking Create outbound trigger, which fires when a tracking record is added to an Order (enabled per Setup Requirements below).
Duplicate or Conflicting Mappings
There is no opposite-direction (TO iPaaS.com) fulfillment collection.
Add Shopify Order Tracking-Only Fulfillment FROM iPaaS.com also creates Shopify fulfillments, from an update of the order. It skips tracking numbers this collection has already added and counts their quantities. This collection does not check for tracking numbers already on the order, and it reads each line's quantity as the quantity in that one shipment, while the tracking-only collection reads it as a running total. Use one way of sending tracking per source system where you can.
Because the collection is Add-only, re-sending a fulfillment for items already fulfilled has no effect — Shopify creates fulfillments only against open fulfillment orders (see System Caveats).
Relationship to the Order Transfer
This is a standalone collection in the mapping-collection hierarchy — it has no parent collection, and it is not a Transaction/Order collection. It runs from each tracking record added to an iPaaS.com Order, not from the order transfer: sending the order to Shopify does not run it. It writes onto an order that already exists in Shopify and cannot run until that order (and its line items) have been created. It does not create or update the order/transaction itself.
To add tracking as part of an order update instead, see Add Shopify Order Tracking-Only Fulfillment FROM iPaaS.com, the child collection of Add/Update Shopify Order FROM iPaaS.com.
Supported Child Collections
None — this collection has no dependent child collections of its own.
System Caveats
Shopify Caveats
Fulfillment write access required. The Shopify connection must be granted the fulfillment-order write scopes (for example
write_merchant_managed_fulfillment_ordersandwrite_third_party_fulfillment_orders); without them the fulfillment create call is rejected with an authorization error. Confirm the granted scopes in the connection's OAuth grant.Fulfillment orders must be open. Shopify creates the fulfillment against the order's fulfillment orders; only fulfillment orders that are not closed are eligible. Items already fulfilled or on closed fulfillment orders are skipped.
Order must exist first. A fulfillment can only be created on an order that already exists in Shopify and is linked to the iPaaS.com transaction.
iPaaS.com Caveats
Order link required. The Shopify order id is resolved from the iPaaS.com transaction's external-id link. Ensure the order has been transferred to Shopify before its fulfillment is sent.
Custom-field source for line items. In the default template the fulfilled line items are read from an iPaaS.com custom field (see Mappings). Validate that the configured source actually carries the fulfilled items and quantities for your data before relying on it in production.
Prerequisite Handling
This collection does not run a prerequisite cascade of its own — it does not auto-transfer any dependent record. Its dependency is the parent order: the Shopify order (and its line items) must already exist for the fulfillment to attach. That order is created and maintained by the order transfer FROM iPaaS.com, where the integration can automatically create line-item products as a prerequisite when the Create Line Item Product as Prerequisite subscription setting is enabled. If the parent order is not linked in Shopify, this fulfillment transfer fails.
Setup Requirements
iPaaS.com Configuration
Enable this mapping collection. In the subscription configuration's Outbound Data Flows section, subscribe to the iPaaS.com Transaction Tracking Create outbound trigger. No automatic transfers occur until that subscription is enabled. A fulfillment can also be sent on demand from the Manual Sync page using the iPaaS.com tracking record id.
Shopify Configuration
The Shopify connection must be authorized with the fulfillment-order write scopes (for example write_merchant_managed_fulfillment_orders and write_third_party_fulfillment_orders). No additional per-order configuration is required in Shopify.
Integration Flow
Resolve the Shopify order id from the iPaaS.com transaction id (via the external-id link saved when the order was sent to Shopify).
Load that order's fulfillment orders from Shopify and, for each fulfillment order that is not closed, match the fulfilled line items to it by line-item id, carrying each item's fulfilled quantity.
Create the fulfillment in Shopify with the tracking number and tracking company, marking the matched line items as shipped.
Optionally notify the customer by email, controlled by the NotifyCustomer mapping (default
false).
Mappings
Add Shopify Fulfillment FROM iPaaS.com
Description: Creates a fulfillment on the linked Shopify order. The order is resolved from the iPaaS.com transaction id; the fulfilled line items are matched to the order's open fulfillment orders by line-item id; tracking number and company are attached.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Shopify) | Description |
Dynamic Formula |
| OrderId | Required. Resolves the Shopify order to fulfill: strips any suffix from the iPaaS.com transaction id and looks up that transaction's external-id link to the Shopify order. The Shopify order must already exist and be linked; if no linked order id is found, the fulfillment cannot be created. |
Dynamic Formula |
| LineItems | Required for a line-level fulfillment. Reads the iPaaS.com custom field |
Field | TrackingNumber | TrackingNumber | Recommended. The iPaaS.com shipment tracking number, written to the Shopify fulfillment. Shopify pairs it with the tracking company to display tracking and, for recognized carriers, generate a tracking URL. |
Dynamic Formula |
| TrackingCompany | Recommended. Maps the iPaaS.com shipping method description to a Shopify tracking company. As shipped, it returns |
Static |
| NotifyCustomer | Optional. Controls whether Shopify emails the customer a shipment notification when the fulfillment is created. The default template sets this to |
Error Handling
Unauthorized access: ensure the Shopify connection is granted the fulfillment-order write scopes (for example
write_merchant_managed_fulfillment_orders/write_third_party_fulfillment_orders).No linked Shopify order: the iPaaS.com transaction has no external-id link to a Shopify order; transfer the order to Shopify before its fulfillment.
Nothing fulfilled: if no fulfilled line items match the order's open fulfillment orders (for example, the items are already fulfilled or on a closed fulfillment order), Shopify creates no new fulfillment for them. Confirm the configured line-item source carries the correct line-item ids and quantities.
Shopify returned no fulfillment (SHPY-EXTN-1050): Shopify accepted the request but returned no fulfillment. Check the order in Shopify and re-sync if the fulfillment is missing. See Shopify Error Messages.
Testing & Validation
Transfer an order to Shopify, then sync its fulfillment and confirm a fulfillment is created on the Shopify order with the correct line items marked as shipped.
Confirm the tracking number and tracking company appear on the Shopify fulfillment, and that a recognized carrier name produces a tracking URL.
Attempt to fulfill a transaction whose order is not linked in Shopify and confirm the transfer fails with a clear error.
Set NotifyCustomer to
trueand confirm Shopify emails the customer on fulfillment; with the defaultfalse, confirm no email is sent.Re-send a fulfillment for items already fulfilled and confirm no duplicate fulfillment is created (closed fulfillment orders are skipped).
Additional Notes
This collection is Add-only and outbound-only: it creates a fulfillment on an existing Shopify order and does not update, delete, or read fulfillments, and Shopify does not send fulfillment data back to iPaaS.com. The default template's line-item source (ShipStation Line Items) and carrier map (fedex → FedEx) are samples — replace both during implementation for your data and carriers.
Units of measure. Because fulfilled items are matched to the order by their Shopify line-item id rather than by SKU, an order placed for a unit-of-measure variant (whose SKU carries a ^UnitName suffix) fulfills with no unit-specific handling. When the same product is ordered in two different units, the order carries two separate line items and each is fulfilled independently.
Related Documents
Related Mapping Documentation
