Summary
Products, product variants, and product kits are transferred from iPaaS.com to ShipHero. When a product is added or updated in iPaaS.com, its core details and warehouse-level details are written to ShipHero; variants and, for kit products, the kit and its components are handled through related collections.
ID Format
Manual Sync ID Format. Enter the iPaaS.com Product (or Product Variant) record ID on the Manual Sync page (for example, 288).
External ID Format. After a product is created in ShipHero, iPaaS.com saves the ShipHero product identifier as the external ID on a dedicated external-ID record; that record routes later updates to the same ShipHero product. When no external-ID record exists, the integration also looks up an existing ShipHero product by SKU and links to it, preventing duplicates. A kit's external ID is recorded as the ShipHero product identifier followed by a kit marker (PRODUCTID|kit).
Deleted Record Support
Outbound delete is not supported. Deleting a product, variant, or kit in iPaaS.com does not remove the corresponding record in ShipHero.
Custom Field Support
The warehouse price, value, and customs value written to ShipHero are sourced from iPaaS.com custom fields. Configure these under Subscription Settings → Custom Fields; when the price custom field is empty, the product's default price is used.
The warehouse price and value are read from custom fields named Warehouse Price and Warehouse Value on all three collections. The customs value is read from a differently named custom field depending on the collection:
Collection | Customs value is read from |
Add/Update ShipHero Product FROM iPaaS.com | Warehouse Custom Value |
Add/Update ShipHero Product Variant FROM iPaaS.com | Warehouse customs value |
Add/Update ShipHero Product Variant Standalone FROM iPaaS.com | Warehouse customs value |
These are two distinct field names, not a difference in capitalization. Configure both if you transfer products and variants, or change the formula on the affected mapping so every collection reads the same custom field. A custom field that does not match the name the mapping reads is not reported as an error; the value is simply left empty.
Mapping Collection Status
Enabled. The Product collections have no mapping filter applied; all dispatched records are processed.
Duplicate or Conflicting Mappings
Collision Handling
ShipHero identifies products by SKU. When a product or variant is transferred whose SKU already exists in ShipHero, the Product and Product Variant Standalone collections resolve the collision using the Update and Link method: the existing ShipHero product is updated and linked to the iPaaS.com record by an external ID. The selectable methods on the collection are Error, Remap and Link, Update and Link (the shipped default), and Update and No Link.
Supported Child Collections
Product Variant: writes a product's variants to ShipHero as part of the product transfer (a standalone variant collection is also available for syncing variants independently).
Product Kit and Product Kit Component: for kit products, builds the kit on the matching ShipHero product and supplies its components (a standalone kit collection is also available).
System Caveats
ShipHero Caveats
SKU is the product key. ShipHero matches and links products by SKU, so SKUs must be unique and consistent between iPaaS.com and ShipHero.
Warehouse ID must be set for your warehouse. The warehouse the product's warehouse details apply to ships with an example value that must be replaced with your own ShipHero warehouse ID before the collection is enabled (see Additional Notes).
Kits are rebuilt on each transfer. When a kit that already has components is transferred, its existing components are removed and the kit is rebuilt from the incoming data.
A kit must have at least one component. ShipHero cannot build a kit with an empty component list, so a kit sent without components is stopped before anything is written (see the mapping filter under Mappings).
The warehouse customs value is applied when a product is updated, not when it is created. ShipHero does not accept a warehouse customs value on the call that creates a product, so on a newly created product it stays empty until the next transfer updates it. This reflects the ShipHero API at the time this documentation was written.
iPaaS.com Caveats
The warehouse price, value, and customs value are read from the iPaaS.com custom fields named under Custom Field Support; those custom fields must be configured for the values to reach ShipHero. The product and variant collections read the customs value from differently named custom fields, so check both names.
To have a customs value on a product from the moment it is created, map the product-level CustomsValue field in addition to Warehouse_CustomsValue. ShipHero accepts a customs value on the product itself at creation time.
Integration Flow
A product is dispatched from iPaaS.com (automatically via the product/created or product/updated outbound triggers enabled under Outbound Data Flows, or on demand via Manual Sync).
The product is created (
product_create) or updated (product_update) in ShipHero, including its warehouse product details.For a kit product, the underlying product for the kit's SKU must exist in ShipHero; if it does not, it is transferred first, automatically. The kit is then built (
kit_build), and its existing components are removed and rebuilt (kit_remove_components) so the composition matches the incoming data. A kit with no components does not reach this step — the transfer is stopped first (see the mapping filter under Mappings).Variants are written as ShipHero products and linked to their parent product by external ID.
Mappings
Add/Update ShipHero Product FROM iPaaS.com
Mapping Type | Source Field (iPaaS.com) | Destination Field (ShipHero) | Description |
Field | Name | Name | Required. ShipHero rejects a product without a name. |
Field | Sku | Sku | Required. Product key; must be unique and consistent. |
Field | Barcode | Barcode | Recommended. |
Field | Description | CustomsDescription | Recommended. Customs description for international shipments. |
Field | TrackingMethod | Type | Recommended. Product type. |
Field | Height / Depth / Weight / Width | Dimensions_Height / _Length / _Weight / _Width | Recommended. Shipping dimensions. |
Dynamic Formula | Warehouse ID (encoded) | Warehouse_WarehouseId | Required. Identifies the ShipHero warehouse for the product's warehouse details. Placeholder — replace with your warehouse ID (see Additional Notes). |
Dynamic Formula | Warehouse Price custom field (or default price) | Warehouse_Price | Recommended. Warehouse price. |
Dynamic Formula | Warehouse Value custom field | Warehouse_Value | Optional. Warehouse value. |
Dynamic Formula | Warehouse Custom Value custom field | Warehouse_CustomsValue | Optional. Customs value. Applied when the product is updated, not when it is created. |
Add/Update ShipHero Product Variant FROM iPaaS.com
Variants are written to ShipHero as products. The standalone and child variant collections share the same field set; the child collection additionally resolves the variant's external ID so the transfer updates the correct existing ShipHero product.
Mapping Type | Source Field (iPaaS.com) | Destination Field (ShipHero) | Description |
Field | Sku | Name | Required. The variant name is taken from its SKU. |
Field | Sku | Sku | Required. Product key; must be unique and consistent. |
Field | Barcode | Barcode | Recommended. |
Field | Height / Depth / Weight / Width | Dimensions_Height / _Length / _Weight / _Width | Recommended. Shipping dimensions. |
Dynamic Formula | (external ID resolved for the variant) | Id | Child collection only. Links the variant to the correct existing ShipHero product. |
Dynamic Formula | Warehouse ID (encoded) | Warehouse_WarehouseId | Required. Placeholder — replace with your warehouse ID (see Additional Notes). |
Dynamic Formula | Warehouse Price custom field (or default price) | Warehouse_Price | Recommended. |
Dynamic Formula | Warehouse Value custom field | Warehouse_Value | Optional. |
Dynamic Formula | Warehouse customs value custom field | Warehouse_CustomsValue | Optional. Applied when the variant is updated, not when it is created. |
Add/Update ShipHero Product Kit FROM iPaaS.com
Mapping Filter
if (Components == null || Components.Count == 0) throw new Exception($"SHHE-VALD-1002 - Kit ({Sku}) has no components. A kit must have at least one component to be created in ShipHero - https://support.ipaas.com/en/articles/16097787-shiphero-error-messages"); return true;Filter Description. The filter checks whether the kit being transferred has any components. A kit with at least one component passes and is transferred normally. A kit whose component list is empty or missing (Components) does not pass: the transfer is stopped and the record is reported with the message SHHE-VALD-1002 - Kit ({Sku}) has no components. A kit must have at least one component to be created in ShipHero, where the SKU of the kit appears in place of {Sku}. ShipHero cannot build a kit without at least one component, so the transfer is stopped before any part of the product is written — nothing is left partly created in ShipHero, and the record transfers cleanly once components are added. Add at least one component to the kit in iPaaS.com and sync it again. Because this collection is a child of Add/Update ShipHero Product FROM iPaaS.com, a product whose kit has no components is stopped along with its kit; the product is not created either.
Mapping Type | Source Field (iPaaS.com) | Destination Field (ShipHero) | Description |
Static |
| KitBuild | Fixed value instructing ShipHero to build the product as a kit. |
Field | Sku | Sku | Required. Identifies the ShipHero product the kit is built on. |
Add/Update ShipHero Product Kit Component FROM iPaaS.com
Mapping Type | Source Field (iPaaS.com) | Destination Field (ShipHero) | Description |
Field | Sku | Sku | Required. Identifies the component product by SKU. |
Field | Quantity | Quantity | Required. Units of the component in the kit. |
Error Handling
Errors appear in Dashboard > Integration Monitoring > Error Logs. For the product- and kit-linking and prerequisite-product messages and how to resolve them, see the ShipHero Error Messages article in the iPaaS.com Help Center.
Testing & Validation
Add a product in iPaaS.com, sync it, and confirm it appears in ShipHero with its dimensions and warehouse details.
Update a product field and confirm the change propagates.
Sync a product whose SKU already exists in ShipHero and confirm it is updated and linked (Update and Link), not duplicated.
Sync a kit and confirm the kit and its components are built on the matching ShipHero product.
Sync a kit that has no components and confirm the transfer is stopped, the error names the kit's SKU, and nothing is created in ShipHero.
If you use the warehouse customs value, confirm it is present in ShipHero after the product has been updated at least once.
Additional Notes
Outbound delete is out of scope. Before enabling the Product, Product Variant, and Product Variant Standalone collections, replace the example warehouse ID (128297) on the Warehouse_WarehouseId mapping with your own ShipHero warehouse ID, or the warehouse details will be applied to the wrong warehouse.
Related Documents
Related Mapping Documentation
