Contents
Summary
This documentation covers how the ShipStation integration sends orders from iPaaS.com into ShipStation so that orders created or updated in iPaaS.com appear in ShipStation ready for fulfillment. Data flows from iPaaS.com into ShipStation (outbound): the order header, its line items, and its billing and shipping addresses transfer together in a single combined create-or-update operation. ShipStation creates the order when no matching order exists and updates it in place when one does, so re-sending the same iPaaS.com transaction refreshes the existing ShipStation order rather than creating a duplicate.
ID Format
The order identifier sent to ShipStation is the iPaaS.com Transaction Number, which populates both the order number and the order key in ShipStation. This is the value ShipStation keys its create-or-update behavior on. iPaaS.com separately stores the source-system id on its own external-ID record as the primary match for later updates.
Manual Sync ID Format: The identifier entered for a Manual Sync is the iPaaS.com Transaction ID (for example, Example: 288).
External ID Format: The iPaaS.com Transaction Number, written to both the ShipStation order number and the order key.
The two child collections do not key on their own identifiers. Line items and addresses sync as part of the parent order and are matched to it during the parent's create-or-update.
Deleted Record Support
Not implemented. This collection creates and updates orders in ShipStation but does not delete them. Orders removed in iPaaS.com are not deleted from ShipStation by this collection, deletions do not propagate, and delete mappings are not part of the default templates. The same applies to the child line item and address collections: neither performs a standalone delete.
Custom Field Support
Not applicable. The order header, line item, and address collections map to standard ShipStation order fields only and do not read from or populate an iPaaS.com custom field.
Mapping Collection Status
Enabled. No filter is applied to the order collection or to either child collection, so every order presented to the collection, along with all of its line items and addresses, is processed.
Trigger Events: Outbound order transfers run automatically once Outbound Data Flows are enabled, where subscribers or their MiSP subscribe to the iPaaS.com order create and update triggers. Manual Sync is always available for a one-off or test transfer. The two child collections have no trigger of their own; their line items and addresses transfer inline whenever the parent order transfers.
Duplicate or Conflicting Mappings
None. There is one order collection for this entity and direction, one line item collection, and one address collection, so there are no duplicate or conflicting collections. No collision handling is implemented.
Supported Child Collections
This order collection is the parent of two child collections that are dispatched as part of the same order transfer:
Add/Update ShipStation Order Line Item FROM iPaaS.com: populates the order's line items.
Add/Update ShipStation Order Address FROM iPaaS.com: populates the order's billing and shipping addresses.
The child collections are not triggered independently; they transfer as part of the parent order's combined create-or-update operation.
System Caveats
ShipStation Caveats
ShipStation requires a two-letter country code on every address and uses the primary shipping address as the destination it rates and ships to. The country value defaults to US when the source country is blank, so subscribers with international orders should confirm their source country values populate correctly. The connection test does not validate credentials, so subscribers should verify the connection by running a test transfer.
iPaaS.com Caveats
The integration does not automatically transfer dependent records. A referenced record must already exist before another record can point to it; a referenced record is not auto-created as a side effect of the order transfer. The order's example advanced-options logic and the order status translation are subscriber-customized and should be reviewed before production use. Subscribers should validate order behavior in a staging environment before relying on it in production.
Setup Requirements
To send orders into ShipStation, enable Outbound Data Flows and subscribe to the iPaaS.com order create and update triggers so orders transfer automatically; no order transfers automatically until Outbound Data Flows are enabled. Manual Sync is available for one-off or test transfers, using the iPaaS.com Transaction ID. Valid ShipStation API credentials must be configured for the subscription. The order status translation and the advanced-options formula should be reviewed and customized before production use. For account connection and field configuration details, refer to the ShipStation Installation Instructions and ShipStation Connections and Settings articles rather than duplicating those steps here.
Integration Flow
An order is created or updated in iPaaS.com, or a subscriber runs a Manual Sync using the iPaaS.com Transaction ID.
The integration assembles the order header, its list of line items, and its billing and shipping addresses from the parent and child collections.
The integration sends one combined request that carries the order header along with its line items and addresses.
ShipStation matches on the order key: when no order with that key exists it creates the order, and when one already exists it updates it in place.
The primary shipping address becomes the order's destination and the primary billing address becomes the order's billing block, so the order is shippable when a complete shipping address and at least one line item are present.
Mappings
Add/Update ShipStation Order FROM iPaaS.com
iPaaS.com data type: Transaction
This is the parent order collection. It carries the core order header fields and coordinates the transfer of its child line item and address collections so they are written as part of the same order.
Mapping Type | Source Field (iPaaS.com) | Destination Field (ShipStation) | Description |
Field | Transaction Number | orderNumber | Required. The iPaaS.com Transaction Number is written to the ShipStation order number, giving each created order a human-readable identifier inside ShipStation. ShipStation keys its create-or-update behavior on this value together with the order key, so it must be present for an order to be created or matched on a later update. Subscribers should not blank this mapping. |
Field | Transaction Number | orderKey | Required. The iPaaS.com Transaction Number is written to the ShipStation order key, the identifier ShipStation keys create-or-update on. When an order with the same key already exists, ShipStation updates it instead of creating a duplicate. Subscribers should not blank this mapping. |
Field | Transaction Created Date/Time | orderDate | Required. The iPaaS.com Transaction Created Date/Time is written to the ShipStation order date. The integration rejects an order that has no date, so a value must be present for the transfer to succeed. |
Field | Total | orderTotal | Recommended. The iPaaS.com transaction Total is written to the ShipStation order total. This value is informational within ShipStation and does not affect whether the order is created. Subscribers who want accurate order values displayed in ShipStation should keep this mapping populated. |
Field | Shipping Amount | shippingAmount | Recommended. The iPaaS.com transaction Shipping Amount is written to the ShipStation shipping amount. This value is informational and does not affect order creation. Subscribers who want the shipping charge reflected in ShipStation should keep this mapping populated. |
Field | Tax Amount | taxAmount | Recommended. The iPaaS.com transaction Tax Amount is written to the ShipStation order tax amount. This value is informational and does not affect order creation. Subscribers who want tax reflected in ShipStation should keep this mapping populated. |
Field | Email Address | customerEmail | Recommended. The iPaaS.com Email Address is written to the ShipStation customer email. ShipStation uses the customer email for order communication and customer grouping. Subscribers should map a valid email when one is available on the source transaction. |
Field | Subtotal | amountPaid | Recommended. The ShipStation amount paid is populated from the iPaaS.com transaction Subtotal by default. Placeholder value — replace during implementation: Subtotal is a reasonable default but may not equal what the customer actually paid, for example before shipping or tax. Subscribers who track a true amount-paid value should change the source of this mapping to the field that represents the actual amount paid. This value is informational within ShipStation and does not affect order creation. |
Field | Customer Id | customerId | Optional. The iPaaS.com Customer Id is written to the ShipStation customer id, which ShipStation uses to associate orders with a customer record. Subscribers who track customers across orders should map a stable identifier; otherwise this mapping can be left as supplied. |
Static |
| gift | Optional. The ShipStation gift flag is set to a fixed value of false on every transfer, so orders are created as non-gift by default. This is a designed constant chosen for the integration's default behavior, not a placeholder. Subscribers who need gift orders can change this static value to true, or replace the mapping with a source field that carries a gift indicator. |
Lookup Translation: StatusTranslation | order status | orderStatus | Recommended. The iPaaS.com order status is mapped to a ShipStation order status through the StatusTranslation lookup translation. The translation defines which ShipStation status each incoming iPaaS.com status produces. An incoming status with no translation entry will not map to a ShipStation status. See the Lookup Translation Tables section below. Subscribers should validate the translation in a staging environment before relying on it in production. |
Dynamic Formula | formula (below) | advancedOptions | Recommended. This formula builds the ShipStation advanced-options settings, which carry optional order settings such as Saturday delivery and a custom field. Placeholder value — replace during implementation: the shipped formula sets a sample Saturday-delivery flag and a sample custom-field value, purely to demonstrate the shape of these settings. The order still transfers with the example values in place, but the example data appears on the ShipStation order until subscribers replace this example logic with their own before enabling the transfer in production. |
The advancedOptions formula as shipped:
var options = new Integration.DataModels.AdvancedOptions(); var example1 = true; var example2 = "My custom order value"; options.saturdayDelivery = example1; options.customField1 = example2; return options;
Add/Update ShipStation Order Line Item FROM iPaaS.com
iPaaS.com data type: Transaction Line
This is a child of the Add/Update ShipStation Order FROM iPaaS.com collection. Each line item is sent inline as part of the parent order's create-or-update, populating the order's items list; it is not triggered independently.
Mapping Type | Source Field (iPaaS.com) | Destination Field (ShipStation) | Description |
Field | Sku | sku | Recommended. Sends the iPaaS.com SKU as the line item's stock keeping unit in ShipStation. A line without a SKU is difficult to identify and reconcile against inventory, so this should be populated for any meaningful line item. The value is passed through as supplied from the iPaaS.com order line. |
Field | Sku | name | Recommended. Sends the line item's display name in ShipStation, the human-readable line label shown on the order. By default this is mapped from the same iPaaS.com SKU that populates the SKU field, so the SKU also serves as the item name. Subscribers who maintain a separate descriptive product name in their source data can adjust this mapping to point at that field instead of the SKU. |
Field | Qty | quantity | Recommended. Sends the ordered quantity for the line item. A line item without a quantity does not describe a shippable amount, so this should be populated for any meaningful line. The value is passed through as supplied from the iPaaS.com order line. |
Field | Unit Price | unitPrice | Optional. Sends the per-unit price of the line item to ShipStation. When populated, it appears on the order line in ShipStation; when blank, the line still transfers without a unit price. |
Field | Weight | weight | Optional. Sends the line item weight to ShipStation. When populated, it contributes to ShipStation's weight-based rating and packing calculations for the order; when blank, the line still transfers without a weight. |
Field | Estimated Tax Amount | taxAmount | Recommended. Sends the line item's tax amount to ShipStation. The default template maps the iPaaS.com line item Estimated Tax Amount, an absolute currency value, into the ShipStation line tax amount so the tax shown on the order matches the line's tax. Subscribers who want line tax reflected in ShipStation should keep this mapping populated. |
Add/Update ShipStation Order Address FROM iPaaS.com
iPaaS.com data type: Transaction Address
This is a child of the Add/Update ShipStation Order FROM iPaaS.com collection. Its mappings populate the order's shipping and billing address blocks inline as part of the same order create-or-update. The IsPrimaryShipping and IsPrimaryBilling flags route each address to the correct block: an address marked primary shipping becomes the order's destination, and an address marked primary billing becomes its billing block.
Mapping Type | Source Field (iPaaS.com) | Destination Field (ShipStation) | Description |
Dynamic Formula | formula: | name | Recommended. Builds the recipient or sender name from the source contact's first and last name, joined with a single space. ShipStation prints this name on the shipping label, so an address without a name produces an incomplete ship-to. Subscribers should make sure the source contact carries both a first and last name; if only one is present, the result will contain a leading or trailing space around the single value. |
Field | Address1 | street1 | Recommended. Maps the first address line (street number and street name) to the ShipStation address. An order whose ship-to address is missing the primary street line cannot be shipped, so subscribers should ensure the source provides this value for any address intended as the shipping destination. |
Field | Address2 | street2 | Optional. Maps the second address line, for example a suite, unit, or apartment number. It is populated only when the source supplies a second line and is safe to leave blank for addresses that do not need one. |
Field | Address3 | street3 | Optional. Maps the third address line to the ShipStation address. It is populated only when the source supplies a third line and may be left blank otherwise. |
Field | City | city | Recommended. Maps the city or town to the ShipStation address. ShipStation needs the city to validate and rate the shipment, so an order whose ship-to address is missing the city cannot be shipped. Subscribers should ensure the source provides this value for any shipping address. |
Field | Region | state | Recommended. Maps the source region to the ShipStation state or province. ShipStation expects a two-letter region code, so subscribers should ensure the source Region supplies the two-letter code for both domestic and international addresses. An order whose ship-to address is missing the region cannot be shipped. |
Field | Postal Code | postalCode | Recommended. Maps the postal or ZIP code to the ShipStation address. ShipStation needs the postal code to rate and ship the order, so an order whose ship-to address is missing this value cannot be shipped. Subscribers should ensure the source provides a postal code valid for the destination country. |
Field | Company | company | Optional. Maps the company or organization name to the ShipStation address. It is populated only when the source supplies a company name and may be left blank for residential addresses. |
Field | IsPrimaryBilling | IsPrimaryBilling | Optional. Indicates whether the address is the order's primary billing address; when set, the address is routed to the order's billing block. If a source contact carries more than one address, this flag tells the integration which one to treat as the billing address. Subscribers should ensure exactly one address per order carries the primary billing flag so the billing block resolves predictably. |
Field | IsPrimaryShipping | IsPrimaryShipping | Optional. Indicates whether the address is the order's primary shipping address; when set, the address is routed to the order's shipping block, the destination ShipStation uses to rate and ship the order. The address marked primary shipping is the one ShipStation ships to. Subscribers should ensure exactly one address per order carries the primary shipping flag and that the flagged address is complete, since an order without a complete ship-to address cannot be shipped. |
Dynamic Formula | formula: | country | Required. Sets the destination country on the ShipStation address as a two-letter country code. The formula takes the source Country value and returns its two-letter country code; if the source country is blank, it falls back to US, so this field always resolves to a value. Subscribers whose orders are predominantly outside the United States should confirm that the source country values convert to the codes they expect, and validate the default behavior in a staging environment so that a blank source country does not silently default an international order to US. |
Lookup Translation Tables
StatusTranslation
The order status maps through the StatusTranslation lookup translation, which converts each incoming iPaaS.com order status to the ShipStation order status subscribers expect. The translation values are subscriber-customized: subscribers or their MiSP define which ShipStation status each incoming iPaaS.com status produces, so the entries below are illustrative of the ShipStation statuses available rather than a fixed mapping. An incoming status with no translation entry will not map to a ShipStation status. Subscribers should validate the translation in a staging environment before relying on it in production.
Source Value (iPaaS.com) | Destination Value (ShipStation) | Notes |
Subscriber-defined source status | awaiting_payment | Subscriber-customized. Maps an incoming iPaaS.com status to the ShipStation awaiting-payment status. |
Subscriber-defined source status | awaiting_shipment | Subscriber-customized. Maps an incoming iPaaS.com status to the ShipStation awaiting-shipment status. |
Subscriber-defined source status | shipped | Subscriber-customized. Maps an incoming iPaaS.com status to the ShipStation shipped status. |
Subscriber-defined source status | cancelled | Subscriber-customized. Maps an incoming iPaaS.com status to the ShipStation cancelled status. |
Error Handling
For the list of error messages this integration can return and what each one means, refer to the ShipStation Error Messages article.
Validation Rules
None. The order collection and both child collections apply no mapping filter and no field-level validation rules beyond the requiredness noted in the field descriptions. The order date is rejected when blank, and the address country always resolves to a two-letter code with a US default.
Testing and Validation
Test Scenarios
Create or update an order in iPaaS.com with Outbound Data Flows enabled and confirm the order appears in ShipStation with its order number and order key set from the iPaaS.com Transaction Number.
Re-send the same iPaaS.com transaction and confirm ShipStation updates the existing order in place rather than creating a duplicate.
Transfer an order with multiple line items and confirm each line shows the expected SKU, name, quantity, and tax amount on the ShipStation order.
Transfer an order whose primary shipping address is complete and confirm the ShipStation destination shows the expected name, street lines, city, state, postal code, and two-letter country code.
Transfer an order with a blank source country and confirm the country defaults to US.
Run a Manual Sync using the iPaaS.com Transaction ID and confirm the order, its line items, and its addresses transfer together.
Validation Checklist
The order appears in ShipStation with the order number and order key set from the iPaaS.com Transaction Number.
The order date is present, since an order with no date is rejected.
Re-sending the same transaction updates the existing order rather than creating a duplicate.
Each line item shows the expected SKU, name, quantity, and tax amount.
The primary shipping address is complete and resolves to a valid two-letter country code.
Exactly one address carries the primary shipping flag and one carries the primary billing flag.
The order status resolves to the expected ShipStation status through the StatusTranslation lookup translation.
The advanced-options example values have been replaced with subscriber values before production use.
The amount-paid source has been confirmed or repointed to the field that represents the actual amount paid.
The ShipStation account credentials are valid, confirmed by a successful test transfer.
Additional Notes
At the time this documentation was written, line items and addresses transfer only as part of their parent order's create-or-update and are not independently triggerable. The integration does not automatically create any referenced record that does not already exist; the line items and addresses present on the order at transfer time are the ones that are sent. Order deletion is out of scope; orders removed in iPaaS.com are not removed from ShipStation by this collection. For the full list of behaviors that fall outside this integration, refer to the ShipStation Integration Known Limitations article.
