Skip to main content

iPaaS.com to Shopify Fulfillment Mapping Documentation

iPaaS.com to Shopify Fulfillment Mapping Documentation

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 is dispatched automatically as the Fulfillments child of the Order (Transaction) transfer FROM iPaaS.com; the Shopify order id is resolved from the iPaaS.com transaction's external-id link, so the order must already exist in Shopify.

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 Transaction (Order) id to send its fulfillment to Shopify. The fulfillment is keyed to its parent order, not to a standalone fulfillment 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 is dispatched as the Order's Fulfillments child entity at transfer time — it is not the Transaction/Order collection itself.

  • Sync Type: Add.

  • Trigger Events: dispatched as part of the iPaaS.com Order (transaction) transfer to Shopify — the iPaaS.com Order Create and Update outbound triggers carry fulfillment/tracking data (enabled per Setup Requirements below).

Duplicate or Conflicting Mappings

None. There is no opposite-direction (TO iPaaS.com) fulfillment collection and no other collection writes Shopify fulfillments, so there is no overwrite or conflict risk from this collection. 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. Functionally it is dispatched as the Fulfillments child entity of the Add/Update Shopify Order FROM iPaaS.com transfer: when an order is sent FROM iPaaS.com, each fulfillment on that order is written through this collection. It writes onto an order that already exists in Shopify and cannot run until that order (and its line items) have been created by the Order collection. It does not create or update the order/transaction itself.

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_orders and write_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. It is dispatched as part of the iPaaS.com Order (transaction) transfer to Shopify — in the subscription configuration's Outbound Data Flows section, subscribe to the iPaaS.com Order Create and Update outbound triggers that should carry fulfillment/tracking data. No automatic transfers occur until those subscriptions are enabled. A fulfillment can also be sent on demand from the Manual Sync page using the iPaaS.com transaction (Order) 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

  1. Resolve the Shopify order id from the iPaaS.com transaction id (via the external-id link saved when the order was sent to Shopify).

  2. 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.

  3. Create the fulfillment in Shopify with the tracking number and tracking company, marking the matched line items as shipped.

  4. 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

Id (transaction id) → GetExternalIdAsync(trxId, "Transaction", SpaceportSystemId)

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

GetCustomFieldValue(CustomFields, "ShipStation Line Items")ShopifyItemsAsync(value)

LineItems

Required for a line-level fulfillment. Reads the iPaaS.com custom field ShipStation Line Items and converts its contents into Shopify line items, matched to the order's open fulfillment orders by line-item id (carrying each item's quantity). Placeholder value — replace during implementation: ShipStation Line Items is a sample custom-field key from a ShipStation-sourced setup — replace it with the iPaaS.com custom field (or source) that actually holds your fulfilled line items. Validate the source in a staging environment before relying on it in production.

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

ShippingMethodDescription (carrier map)

TrackingCompany

Recommended. Maps the iPaaS.com shipping method description to a Shopify tracking company. As shipped, it returns FedEx when the description contains fedex, otherwise returns the description unchanged. Placeholder value — replace during implementation: the fedexFedEx rule is a single sample — extend the formula with the carrier name mappings your business uses so Shopify receives recognized carrier names (which drive automatic tracking URLs).

Static

false

NotifyCustomer

Optional. Controls whether Shopify emails the customer a shipment notification when the fulfillment is created. The default template sets this to false (no email). Set to true to have Shopify notify the customer on fulfillment.

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.

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 true and confirm Shopify emails the customer on fulfillment; with the default false, 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 (fedexFedEx) are samples — replace both during implementation for your data and carriers.

Related Documents

Did this answer your question?