Summary
Shipment tracking recorded in iPaaS.com is written into Adobe Commerce/Magento 2 as a shipment against an existing sales order, with the tracking number, carrier and comments attached.
This is the standalone path. It resolves the Magento order for itself, which lets a tracking record reach Magento without an order update running above it. A separate child collection does the same work beneath the order update family; the two overlap, and normally only one should be enabled.
The order must already exist in Magento, and the tracking record must say which items are being shipped.
ID Format
Manual Sync ID Format
Enter the iPaaS.com Transaction Tracking record identifier. The identifier is compound — the transaction identifier and the tracking identifier joined by a vertical bar, for example 90412|3.
The collection reads the portion before the bar to resolve the order, and the whole value to resolve the tracking record itself.
External ID Format
After a successful transfer, iPaaS.com stores the Adobe Commerce/Magento 2 shipment tracking identifier as the external ID on a record linking the iPaaS.com tracking record to its Magento counterpart. That link is what routes a later transfer of the same tracking record to the existing Magento shipment rather than creating a second one.
The order itself is resolved from the external-ID record created when the order first transferred into iPaaS.com.
Deleted Record Support
Outbound delete is not supported for shipments. Removing a tracking record in iPaaS.com does not remove the corresponding Magento shipment, and delete mappings are not included in the default templates for this collection.
Custom Field Support
This collection reads several iPaaS.com custom fields on the tracking record, which must exist by these exact names for the behavior they control to work:
Shipment Items: required — names the items being shipped. Without it the transfer stops with an error.
Source To Ship From: the Magento inventory source the shipment ships from.
Comment Value, Comment Is Visible On Front: a comment placed on the shipment itself and its storefront visibility.
Notify: whether Magento emails the customer about the shipment.
Order Comment Value, Order Comment Is Visible, Order Comment Is Notified, Order Comment Status: a separate comment added to the order's comment history, its visibility, whether the customer is notified, and the status recorded alongside it.
The format of the Shipment Items value is controlled by the Shipment Items Field Separator and Shipment Items Record Delimiter presets on the subscription.
Mapping Collection Status
Status: Enabled. This collection ships enabled.
Trigger Events: Creation or update of a Transaction Tracking record in iPaaS.com, plus Manual Sync on demand.
Automatic outbound transfers are enabled on the subscription's Outbound Data Flows page. Until that flow is enabled, no shipments are created automatically. Manual Sync is always available regardless, and because this collection stands on its own it is the way to push a single tracking number without re-sending its order.
Duplicate or Conflicting Mappings
Update Adobe Commerce/Magento 2 Order Shipment Track FROM iPaaS.com creates shipments from the same tracking data, but as a child of the order update rather than on its own. The two overlap: enabling both risks creating a shipment twice for the same tracking record. Choose the model that fits the workflow and enable only one.
The two also ship with different example values for the notify mapping and the default order comment. Both are configurable, so set each to the store’s notification policy rather than assuming the two behave alike.
Add/Update Adobe Commerce/Magento 2 Invoice FROM iPaaS.com raises invoices against the same orders. Magento treats invoicing and shipping independently, but both change which state transitions remain available on the order.
Update Adobe Commerce/Magento 2 Order FROM iPaaS.com writes status changes to the same orders. An order that is fully shipped and invoiced cannot be cancelled.
Duplicate matching
This integration implements no selectable collision-handling methods, and the behavior is not configurable on this collection. The external-ID record linking the iPaaS.com tracking record to its Magento counterpart decides whether a transfer creates a new shipment or updates an existing one.
Unmapped field overwrite risk
This collection creates shipments rather than maintaining a broad set of fields, so the usual overwrite risk is narrow. The fields it writes are OrderId, EntityId, TrackNumber, Title, CarrierCode, ShipmentItems, Atrributes_SourceCode, Notify, Comment_Value, Comment_Is_Visible_On_Front, Order_Comment_Value, Order_Comment_Is_Visible_On_Front, Order_Comment_Is_Customer_Notified and Order_Comment_Status.
The greater risk is shipping twice — creating a second shipment for stock that has already left — either by enabling both shipment paths or by re-transferring a tracking record whose link has been cleared.
The mitigation is a DestinationValue. Where a Magento field must hold a specific value that iPaaS.com does not supply, set a DestinationValue on that mapping so the integration writes the value chosen there instead of taking it from the source.
Supported Child Collections
None. This is a standalone collection with no parent and no children. It creates a single Magento shipment per tracking record and has no subordinate data to contribute.
System Caveats
Adobe Commerce/Magento 2 Caveats
The order must already exist in Magento. This collection ships existing orders; it never creates one.
An order can only be fully shipped once. Attempting to ship an order with nothing left to ship produces an error.
Shipping constrains later cancellation. An order that is fully shipped and invoiced cannot be cancelled.
The source must hold enough stock. Magento rejects a shipment when the inventory source being shipped from has insufficient stock, unless the subscription's bypass setting is enabled.
Source codes are case-sensitive. The source shipped from must match a Magento inventory source code exactly.
The carrier code must be configured in Magento. The value sent is the iPaaS.com shipping method lower-cased, and it must correspond to a carrier Magento knows.
iPaaS.com Caveats
The tracking record must carry Shipment Items. Without it the filter stops the transfer with an explicit message.
The shipment items must name lines that exist on the order. Items that cannot be matched to the order's lines cause the shipment to fail.
The order's external-ID record must be intact. The Magento order is resolved from the record linking the iPaaS.com Transaction to its Magento counterpart.
The compound identifier must be well formed. The order is resolved from the portion before the vertical bar.
Integration-Specific Caveats
The notify mapping is an example to adapt. As shipped, this collection does not send the shipment email where the Notify custom field is unset, which differs from the equivalent child beneath the order update family. Set each to the store’s notification policy rather than assuming they behave alike.
The fallback source code ships lower-cased. Because Magento source codes are case-sensitive, a lower-cased fallback will not match a source code created in upper case, which is how the location transfer normally creates them.
Two separate comments are written. One on the shipment and one on the order's comment history, each with its own visibility control.
This collection and the order update's shipment child overlap. Running both can ship the same tracking record twice.
Setup Requirements
Adobe Commerce/Magento 2 Configuration
Confirm the inventory source codes shipments will ship from, exactly as spelled and cased in Magento.
Confirm the carrier codes configured in the store match the lower-cased iPaaS.com shipping method values.
Confirm the orders to be shipped exist and are in a state that permits shipping.
iPaaS.com Configuration
Create the custom fields listed under Custom Field Support above, and populate Shipment Items on every tracking record that should create a shipment.
Replace the fallback source code with the store's own, matching Magento's casing.
Set the notify mapping, or its custom field, to match the store’s notification policy.
Confirm the shipment items separator and delimiter presets match the format of the Shipment Items values.
Decide whether shipments are created through this collection or through the order update's shipment child, and enable only one.
Enable the outbound flow for Adobe Commerce/Magento 2 shipments on the subscription's Outbound Data Flows page.
Full step-by-step setup instructions are in the Adobe Commerce/Magento 2 Installation Instructions article.
Integration Flow
A Transaction Tracking record is created or updated in iPaaS.com, or a Manual Sync is run against one.
The record is evaluated against the mapping filter, which requires the Shipment Items custom field. When it is absent the transfer stops with an error.
The Magento order is resolved from the portion of the compound identifier before the vertical bar, through the external-ID record for that transaction.
Any existing Magento shipment tracking record is resolved from the whole identifier, so a re-transfer updates rather than duplicating.
The shipment items are resolved to line items on the Magento order, taking account of the selling unit.
The shipment is created against the order from the specified inventory source, with the tracking number, carrier and title attached.
A comment is placed on the shipment, and a separate comment is added to the order's comment history.
Mappings
Add/Update Adobe Commerce/Magento 2 Standalone Shipment Track FROM iPaaS.com
iPaaS.com data type: Transaction Tracking Number
Mapping Filter
var shipmentItems = GetCustomFieldValue(CustomFields, "Shipment Items");if(shipmentItems != null){
return true;
}
else{ throw new Exception("Shipment Items are not provided");
return false;
}This filter passes when the tracking record carries a Shipment Items custom field. When it does not, the filter stops the transfer with an error rather than skipping the record silently:
"Shipment Items are not provided"
Search the Error Logs for that text to find affected tracking records. The remedy is to populate the Shipment Items custom field on the iPaaS.com tracking record with the items being shipped, then re-transfer.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Adobe Commerce/Magento 2) | Description |
Dynamic Formula |
| OrderId | Required. Resolves the Magento order the shipment is created against, from the portion of the compound identifier before the vertical bar. An order that has not transferred cannot be resolved. |
Dynamic Formula | Shipment line resolution — see the shipment items note below | ShipmentItems | Required. Resolves the Magento line items being shipped, from the Shipment Items custom field. Without a resolved order and items, no shipment is created. |
Field | TrackingNumber | TrackNumber | Required. The tracking number attached to the shipment. |
Dynamic Formula |
| EntityId | Required. Resolves any existing Magento shipment tracking record for this tracking record, so a re-transfer updates rather than creating a second shipment. Returns nothing on first transfer, which is the new-shipment case. |
Field | ShippingMethodDescription | Title | Recommended. The shipment title shown in Magento, from the shipping method description. |
Dynamic Formula |
| CarrierCode | Recommended. The Magento carrier code, lower-cased from the iPaaS.com shipping method. The result must match a carrier code configured in Magento. |
Dynamic Formula |
| Atrributes_SourceCode | Optional. The Magento inventory source the shipment ships from. Placeholder value — replace during implementation: the fallback source code is an example, and it ships lower-cased. Because Magento source codes are case-sensitive and the location transfer normally creates them in upper case, this fallback will not match. Replace it with the store's own default source code in the correct casing. |
Dynamic Formula |
| Notify | Optional. Whether Magento emails the customer about the shipment, from the Notify custom field. The shipped fallback is an example value, and differs from the one on the equivalent child beneath the order update family — set it, or the custom field, to match the store’s notification policy. |
Dynamic Formula |
| Comment_Value | Optional. A comment attached to the shipment itself. |
Dynamic Formula |
| Comment_Is_Visible_On_Front | Optional. Whether the shipment comment is shown on the storefront. Defaults to visible. |
Dynamic Formula |
| Order_Comment_Value | Optional. A comment added to the order's comment history when the shipment is created. Defaults to Order shipped by iPaaS.com. |
Dynamic Formula |
| Order_Comment_Is_Visible_On_Front | Optional. Whether that order comment is shown on the storefront. |
Dynamic Formula |
| Order_Comment_Is_Customer_Notified | Optional. Whether the customer is recorded as notified of that order comment. |
Dynamic Formula |
| Order_Comment_Status | Optional. The status recorded alongside that order comment. |
Shipment items resolution
The ShipmentItems mapping resolves which Magento line items the shipment covers. It resolves the Magento order from the portion of the compound identifier before the vertical bar, then passes the Shipment Items custom field to a line-item lookup that matches each entry to a line on that order, taking account of the selling unit. If either the order or the shipment items cannot be resolved, it returns nothing and no shipment is created.
var OrderId = await GetExternalIdAsync(Id.ToString().Split("|")[0], "Transaction", SpaceportSystemId);
var shipmentItems = GetCustomFieldValue(CustomFields, "Shipment Items");
if(shipmentItems != null && OrderId != null) {return await GetLineItemIdByOrderSku(OrderId,shipmentItems,Id.ToString().Split("|")[0].ToString(),"SellingUnit");
}return null;The format of the Shipment Items value is controlled by the Shipment Items Field Separator and Shipment Items Record Delimiter presets, documented in the Magento 2 Connection and Settings article.
Error Handling
The full catalog of messages this integration produces, with causes and resolutions, is in the Adobe Commerce/Magento 2 Error Messages article. The conditions most often seen on this transfer are:
Error message: Shipment Items are not provided. The tracking record carries no Shipment Items custom field. Resolution: populate it with the items being shipped, then re-transfer.
The order has already been fully shipped. A shipment was requested for an order with nothing left to ship. Resolution: confirm the tracking record is not a duplicate, and check whether the order update's shipment child already shipped it.
Not all shipment products were found on the original order. The shipment items name SKUs that are not on the order. Resolution: correct the shipment items to match the order's lines.
Insufficient inventory at the shipment location. The source being shipped from does not hold enough stock. Resolution: correct the source, adjust stock in Magento, or enable the subscription's inventory-check bypass where appropriate.
A shipment that does not appear in Magento. The order could not be resolved, most often because it has not transferred. Resolution: confirm the order exists in iPaaS.com and is linked.
Errors are reported under Dashboard / Integration Monitoring / Error Logs.
Testing & Validation
Test Scenarios
Create a tracking record in iPaaS.com with Shipment Items populated against an order that exists in Magento, and confirm a shipment is created with the tracking number attached.
Manually sync using the compound identifier and confirm it resolves.
Create a tracking record without Shipment Items and confirm the transfer stops with the documented message.
Confirm the shipment ships from the intended inventory source, and that the lower-cased fallback source code has been replaced.
Confirm the notification behavior matches the store’s policy, testing both with the Notify custom field set and unset.
Ship a subset of the order's lines and confirm a partial shipment is created.
Attempt a second shipment against a fully shipped order and confirm the documented error is raised.
Re-transfer the same tracking record and confirm the existing shipment is updated rather than a second one created.
Ship from a source with insufficient stock and confirm the documented error, then confirm the bypass setting's effect if it is enabled.
If the order update's shipment child is also enabled, transfer the same tracking record and confirm whether two shipments result.
Validation Checklist
Every custom field listed under Custom Field Support exists in the iPaaS.com environment.
Shipment Items is populated on every tracking record that should create a shipment.
The fallback source code has been replaced with the store's own, in the correct casing.
The notify mapping has been adapted to the store’s notification policy.
The shipment items separator and delimiter presets match the format of the values in use.
Only one of this collection and the order update's shipment child is enabled.
Carrier codes in Magento match the lower-cased iPaaS.com shipping method values.
Additional Notes
This is the path to use when a tracking number should reach Magento without an order update running above it.
Two example values differ from the equivalent child beneath the order update family: the notify fallback and the default order comment. Both are configurable; set each to the store’s policy rather than assuming the two paths behave alike.
The fallback source code ships lower-cased while inventory sources are normally created in upper case, so it will not match as delivered. Replacing it is a required implementation step.
Shipping is not reversible through the integration.
Validate the adapted notify mapping, the source code, and the shipment items format in a staging environment before enabling automatic transfers in production.
