NetSuite Assembly Items To iPaaS.com Mapping Documentation
A NetSuite assembly item can be captured into iPaaS.com as a product. The integration records the item's SKU, name, type, status, tracking method, description, and pricing, and — through its child collections — the item's variants, options, option values, per-location inventory, alternate IDs, units, and related items. The result is an iPaaS.com product that mirrors the NetSuite assembly item. Standard inventory, Non-Inventory, and Service items are captured by their own dedicated collections.
ID Format
Manual Sync ID Format
Enter the NetSuite item's internal ID on the Manual Sync page.
External ID Format
iPaaS.com records the NetSuite item's internal ID as the external-ID link (the primary match for subsequent updates), so later transfers update the existing product rather than creating a duplicate.
Deleted Record Support
Inbound delete is supported through the shared product delete collections: Delete NetSuite Product TO iPaaS.com removes the linked iPaaS.com product, and Delete NetSuite Product Variant TO iPaaS.com removes a variant, when the corresponding item/variant is deleted in NetSuite (driven by the external-ID link). Assembly items are captured as iPaaS.com products, so they are removed by these same delete collections. They run only when the corresponding NetSuite delete events are enabled and the webhook scripts are installed.
Custom Field Support
A large set of NetSuite-specific item attributes is captured into iPaaS.com custom fields named NetSuite … (units, descriptions, store/display fields, shipping and handling, purchase-quantity limits, the per-price-level pricing detail, display flags, and more). These are the capture side of the integration's round-trip convention — the same custom fields are read back when items flow from iPaaS.com to NetSuite. Add the matching iPaaS.com custom fields to retain the attributes you need. The specific captured attributes are listed under each collection's Captured NetSuite attributes subsection in Mappings, and the complete set is enumerated in Custom Fields (Reference) at the end.
Mapping Collection Status
Status: Enabled.
Trigger Events:
inventoryitem/created,inventoryitem/updated(assembly items are emitted on the same item events). Enable inbound transfers in Inbound Data Flows and install the NetSuite-side webhook scripts (see NetSuite Connections and Settings). Manual Sync is always available.
Duplicate or Conflicting Mappings
These collections capture other NetSuite item types; the active collection is selected by the NetSuite item type:
Add/Update NetSuite Product TO iPaaS.com — standard inventory items.
Add/Update NetSuite Non-Inventory Items / Non-Inventory Resale Items TO iPaaS.com — non-inventory items.
Add/Update NetSuite Service Sale / Purchase / Resale Item TO iPaaS.com — service items.
This collection captures only items whose NetSuite type is Assembly. The reverse direction (writing items to NetSuite) is Add/Update NetSuite Inventory Product FROM iPaaS.com.
Supported Child Collections
Assembly Item Option and Assembly Item Option Value TO iPaaS.com — the matrix options and values.
Assembly Item Variant TO iPaaS.com — the variants, each with its own Variant Option, Variant Inventory, and variant alternate-ID children.
Assembly Item Inventory TO iPaaS.com — per-location inventory.
Assembly Item Alternate Id — ExternalId / Reference Name / MPN TO iPaaS.com — the item's alternate identifiers.
Assembly Item Unit TO iPaaS.com — the item's unit of measure.
Assembly Item Related Product TO iPaaS.com — related/associated items.
Assembly items have no kit child collections (the assembly's build/BOM is managed in NetSuite, not captured as an iPaaS.com kit).
System Caveats
NetSuite Caveats
Item type determines the collection. Only items whose NetSuite type is
Assemblyare captured here; standard inventory, Non-Inventory, and Service items route to their own collections.Subsidiary filter. Only items in the subsidiary named in the filter (shipped as Parent Company) are captured.
iPaaS.com Caveats
Inventory capture requires the location to exist in iPaaS.com. The inventory and variant-inventory collections resolve the NetSuite location with
GetiPaaSLocationIdand skip the inventory row when the location is not found — locations must already be in iPaaS.com (the same prerequisite as the FROM-iPaaS inventory write).Bin-level quantities depend on a subscription setting. The inventory quantities are bin-aware: when the USE BINS (TRUE/FALSE) setting (in the integration's Subscription Settings in iPaaS.com) is
true/y,QtyAvailableandQtyOnHandare summed from the item's bin quantities; otherwise the item-level available/on-hand quantities are used.Alternate Id Types must exist in iPaaS.com. The Alternate Id collections resolve the iPaaS.com Alternate Id Type by lookup (
external_id/reference_name/mpnon the parent,externalid/refname/mpnon the variant); those Alternate Id Type records must already be established in iPaaS.com (synced from NetSuite) or the alternate-id capture cannot resolve its type.Related products must exist in iPaaS.com. The Related Product collection resolves the related parent product with
GetSpaceportIdAsync(..., "Product", ...)and skips the link when the related product is not found.Category capture depends on a configured Custom List and the category collection. The parent's
Categoriesmapping resolves NetSuite product categories to iPaaS.com categories. For it to populate, the Custom List Script ID preset must be configured (in the integration's Subscription Settings in iPaaS.com) and the Add/Update NetSuite Product Categories TO iPaaS.com collection must have already created the categories (including the hierarchy).
Integration-Specific Caveats
Related items and categories are created for you. When this item is captured, the integration creates as prerequisites in iPaaS.com — if they are not already present — its related parent item and its product categories. Related-item creation blocks on failure; product-category creation is best-effort (a failure does not block the item).
Only the first/default price level becomes the product price.
DefaultPriceis the first/default NetSuite price level; the remaining per-level detail is captured into the NetSuite Price Item … custom fields for round-trip fidelity, and BC PriceLists_FormattedData builds a combined price-list string for storefronts that consume one."NetSuite …" round-trip convention. NetSuite-specific attributes are captured into identically-named iPaaS.com custom fields read back by the FROM direction (see Custom Field Support).
Setup Requirements
Subsidiary filter — placeholder. The capture filter is hardcoded to the subsidiary named Parent Company; replace it with your subsidiary (or broaden it), or items in other subsidiaries are silently skipped.
Establish reference data in iPaaS.com first. Before capturing items, sync the reference records the children resolve by lookup: Locations for inventory capture (inventory rows for unknown locations are skipped), Alternate Id Types (
external_id/reference_name/mpn) for the alternate-id children, and any related products referenced as links. For category capture, configure the Custom List Script ID preset and run Add/Update NetSuite Product Categories TO iPaaS.com first.NetSuite … custom fields — create the iPaaS.com custom fields for the attributes you want to retain (the round-trip captures, including the pricing detail).
Inbound Data Flows + webhook scripts — enable the NetSuite item events and install the webhook scripts for automatic capture.
Authentication
The integration authenticates to NetSuite using the connection configured for the integration; the webhook scripts that emit NetSuite events are documented in NetSuite Connections and Settings.
Integration Flow
A NetSuite assembly item is captured — on demand (NetSuite internal ID) or on
inventoryitem/created/inventoryitem/updatedevents when Inbound Data Flows and the webhook scripts are in place.The filter admits only items in the configured subsidiary whose NetSuite type is
Assembly(standard inventory / Non-Inventory / Service route elsewhere).The integration creates or updates the iPaaS.com product (SKU, name, status, type, tracking method, default price, categories), captures the NetSuite-specific attributes into the NetSuite … custom fields, and transfers the children: options/values, variants (with their option/inventory/alternate-ID children), inventory, alternate IDs, units, and related items.
Mappings
For the parent and Variant collections, the core business fields are shown in the field table; the many NetSuite attribute captures are summarized in a Captured NetSuite attributes list (each captures the named NetSuite attribute into an identically-named NetSuite … iPaaS.com custom field — the round-trip convention) and enumerated in full under Custom Fields (Reference).
Add/Update NetSuite Assembly Items TO iPaaS.com
iPaaS.com data type: Product
Mapping Filter
var subsidiaryId = await GetSubsidiaryIdByName("Parent Company");
if(subsidiaryId != null && Subsidiary != null && Subsidiary.Items != null && Subsidiary.Items.Count > 0){
if(subsidiaryId == Subsidiary.Items[0].Id)
return ItemType_RefName == "Assembly";
}
else
return false;Filter Description. Captures the item only when its subsidiary matches the named subsidiary and its NetSuite item type is Assembly. Placeholder value — replace during implementation: Parent Company is an example subsidiary name — change it to your subsidiary, or items elsewhere are silently skipped.
Captures a NetSuite assembly item into an iPaaS.com product.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Field | ItemId | Sku | Required. The NetSuite Item ID captured as the iPaaS.com product SKU (the product's primary identifier). |
Dynamic Formula |
| Name | Required. The product name — the NetSuite Display Name, falling back to the Item ID. |
Field | SalesDescription | Description | Recommended. The product description, from the NetSuite Sales Description. |
Static |
| Type | Control. The iPaaS.com product type, set to the static |
Dynamic Formula |
| Status | Required. The product status — Disabled when the NetSuite item is inactive, otherwise Active. |
Dynamic Formula |
| TrackingMethod | Required. |
Dynamic Formula |
| DefaultPrice | Recommended. The default price, from the first/default NetSuite price level (see System Caveats). |
Field | BaseUnit | Unit | Recommended. The product's base unit of measure. |
Field | Weight | Weight | Optional. The product weight. |
Dynamic Formula |
| Categories | Optional. Assigns the item's NetSuite product categories to the iPaaS.com product, matching them to existing iPaaS.com categories. Requires the Custom List Script ID preset and the Product Categories collection (see iPaaS.com Caveats). |
Dynamic Formula |
| BC PriceLists_FormattedData | Optional. A formatted price-list string built from the item's price levels, for storefront platforms that consume a single combined price-list value. |
Captured NetSuite attributes (each captured into the identically-named NetSuite … iPaaS.com custom field — the round-trip convention; add the custom field to retain the attribute):
Identity / descriptions: UPC Code, Manufacturer, Description, Featured Description, Sales Description, Store Description, Stock Description, Store Detailed Description, Store Display Name, Page Title, Meta Tag HTML, Search Keywords, URL Component, Class.
Units: Units Type Id, Units Type Name, Base Unit Id, Purchase Unit Id, Sale Unit Id, Stock Unit Id.
Pricing detail (round-trip): Price Item Price Level, Price Item Level Name, Price Item Currency Page, Price Item Quantity; display flags Don't Show Price, Price Includes Tax, No Price Shown Message, On Special.
Cost / shipping: Cost, Handling Cost, Shipping Cost, Default Ship Method, Item Carrier, Ship Individually, Is Drop Ship Item.
Store behavior: Include Children, Exclude from Site Map, Allow In Store Pickup, Is Special Order Item, Is Google Checkout Compliant, Minimum Purchase Quantity, Maximum Purchase Quantity, Out of Stock Message, Store Display Thumbnail, Store Display Image, Safety Stock, Subsidiary Names.
Example custom fields (demonstration only — adapt or remove): Custom Field Demonstration, product_description, Not secret.
Add/Update NetSuite Assembly Item Option TO iPaaS.com
iPaaS.com data type: Product Option
Captures a matrix option name from the NetSuite item.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Field | Name | OptionName | Required. The matrix option name captured from NetSuite. |
Add/Update NetSuite Assembly Item Option Value TO iPaaS.com
iPaaS.com data type: Product Option Value
Captures a matrix option value from the NetSuite item.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Field | RefName | Value | Required. The matrix option value captured from NetSuite. |
Add/Update NetSuite Assembly Item Variant TO iPaaS.com
iPaaS.com data type: Product Variant
Mapping Filter
var subsidiaryId = await GetSubsidiaryIdByName("Parent Company");
if(subsidiaryId != null && Subsidiary != null && Subsidiary.Items != null && Subsidiary.Items.Count > 0){
if(subsidiaryId == Subsidiary.Items[0].Id && MatrixType_Id == "CHILD")
return true;
}
else
return false;Filter Description. Captures the record as a variant only when its subsidiary matches the named subsidiary and it is a matrix child (MatrixType_Id == "CHILD"). Placeholder value — replace during implementation: Parent Company — change it to your subsidiary.
Captures a NetSuite matrix variant into an iPaaS.com product variant.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Field | ItemId | Sku | Required. The variant's NetSuite Item ID captured as the iPaaS.com variant SKU. |
Field | Weight | Weight | Optional. The variant weight. |
Dynamic Formula |
| DefaultPrice | Recommended. The variant default price, from the first/default NetSuite price level. |
Dynamic Formula |
| BC PriceLists_FormattedData | Optional. A formatted price-list string for storefronts. |
Captured NetSuite attributes (into identically-named NetSuite … custom fields): the same units, description, store/display, pricing-detail, cost/shipping, and store-behavior attributes as the parent (variant set; enumerated under Custom Fields (Reference)).
Add/Update NetSuite Assembly Item Variant Option TO iPaaS.com
iPaaS.com data type: Product Variant Option
Captures a variant's option name/value pairing.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Field | Value | Value | Required. The variant's option value. |
Field | OptionName | OptionName | Required. The matrix option the value belongs to. |
Add/Update NetSuite Assembly Item Inventory TO iPaaS.com
iPaaS.com data type: Product Inventory
Mapping Filter
var iPaaSLocationId = await GetiPaaSLocationId(LocationId);
if(iPaaSLocationId != null){
return true;
}
else
return false;Filter Description. Captures the inventory row only when the NetSuite location resolves to an iPaaS.com location (GetiPaaSLocationId); rows for locations not yet established in iPaaS.com are skipped.
Captures per-location inventory quantities for the item.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| LocationId | Required. The iPaaS.com location resolved from the NetSuite location. |
Dynamic Formula |
| QtyAvailable | Recommended. The available quantity at the location. When USE BINS (TRUE/FALSE) is enabled, summed from the bin available quantities; otherwise the item-level available quantity. |
Dynamic Formula |
| QtyOnHand | Recommended. The on-hand quantity at the location, bin-aware in the same way as QtyAvailable. |
The quantity formulas read the USE BINS (TRUE/FALSE) setting (in the integration's Subscription Settings in iPaaS.com); when it is true/y they sum the comma-separated bin quantities, otherwise they return the item-level quantity.
Captured NetSuite attributes: NetSuite Cost (the average cost), plus bin detail into NetSuite Bin … custom fields: Bin ID, Bin RefName, Bin On Hand, Bin On Hand Avail, Bin Preferred Bin, Bin Location Active.
Add/Update NetSuite Assembly Item Variant Inventory TO iPaaS.com
iPaaS.com data type: Product Variant Inventory
Mapping Filter
var iPaaSLocationId = await GetiPaaSLocationId(LocationId);
if(iPaaSLocationId != null){
return true;
}
else
return false;Filter Description. Same as Assembly Item Inventory — captures the variant inventory row only when the NetSuite location resolves to an iPaaS.com location.
Captures per-location inventory quantities for a variant (LocationId, the bin-aware QtyAvailable / QtyOnHand, NetSuite Cost, and the NetSuite Bin … captures), identical in shape to Assembly Item Inventory TO iPaaS.com.
Add/Update NetSuite Assembly Item Alternate Id — ExternalId / Reference Name / MPN TO iPaaS.com
iPaaS.com data type: Product Alternate Id
These three collections capture the item's alternate identifiers — the NetSuite External ID, Reference Name, and MPN respectively — each as an iPaaS.com Product Alternate Id of the matching type.
Mapping Filter (ExternalId variant shown; the Reference Name and MPN variants are identical except for the alternate-id type and source field)
if(SourceTypeName == "ParentOnly" && Parent.ExternalId != null){
var alternateTypeId = await GetSpaceportIdAsync("external_id", "Alternate Id Type", SpaceportSystemId);
if(alternateTypeId != null){
return true;
}
}
return false;Filter Description. Captures one alternate-id row from the parent item when the corresponding source value is present (Parent.ExternalId / Parent.RefName / Parent.Mpn), resolving the iPaaS.com Alternate Id Type (external_id / reference_name / mpn). The matching Alternate Id Type must already exist in iPaaS.com or the type cannot be resolved and the row is skipped.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| AlternateId | Required. The alternate identifier value (External ID, Reference Name, or MPN). |
Dynamic Formula |
| Unit | Optional. The product unit the alternate id applies to. |
Dynamic Formula |
| AlternateIdTypeId | Required. The iPaaS.com Alternate Id Type id ( |
Add/Update NetSuite Assembly Item Variant Alternate Id — ExternalId / Reference Name / MPN TO iPaaS.com
iPaaS.com data type: Product Variant Alternate Id
The variant equivalents of the alternate-id collections, capturing the variant's External ID, Reference Name, and MPN. They resolve the Alternate Id Type by the keys externalid / refname / mpn and take the unit from Parent.VariantUnitName; otherwise identical to the parent alternate-id collections above.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| AlternateId | Required. The variant alternate identifier value. |
Dynamic Formula |
| Unit | Optional. The variant unit the alternate id applies to. |
Dynamic Formula |
| AlternateIdTypeId | Required. The iPaaS.com Alternate Id Type id ( |
Add/Update NetSuite Assembly Item Unit TO iPaaS.com
iPaaS.com data type: Product Unit
Mapping Filter
SourceTypeName == "ParentOnly"
Filter Description. Captures the item's unit once from the parent item.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Static |
| Conversion | Control. The unit conversion factor (1 for the base unit). |
Dynamic Formula |
| Name | Required. The unit name — the item's product unit, or for a matrix parent the first variant's unit name. |
Add/Update NetSuite Assembly Item Related Product TO iPaaS.com
iPaaS.com data type: Product Related Product
Mapping Filter
if(Parent.Parent != null && Parent.Parent.Id != null){
var parentProductiPaaSId = await GetSpaceportIdAsync(Parent.Parent.Id, "Product", SpaceportSystemId);
if(parentProductiPaaSId != null){
return true;
}
}
return false;Filter Description. Captures a related-product link when the related parent product resolves to an existing iPaaS.com product; otherwise the link is skipped.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| RelatedId | Required. The iPaaS.com id of the related product; the related product must already exist in iPaaS.com. |
Static |
| IsVariant | Control. Indicates the related record is a product (not a variant). |
Static |
| RelatedType | Control. The relationship type. |
Error Handling
Item skipped by the subsidiary filter — an item in a non-matching subsidiary, or not an
Assemblyitem, is silently skipped here. Resolution: confirm the subsidiary in the filter and the item's NetSuite type.Inventory row skipped (location not found) — an inventory row whose NetSuite location does not resolve to an iPaaS.com location is skipped. Resolution: establish the location in iPaaS.com first.
Alternate Id Type not resolved — an alternate-id row whose Alternate Id Type does not exist in iPaaS.com is skipped. Resolution: sync the Alternate Id Types first.
Related product not linked — a related-product link resolves only to a product that already exists in iPaaS.com. Resolution: ensure the related product has been captured first.
Testing & Validation
Test Scenarios
Capture a simple assembly item. Manually sync a NetSuite
Assemblyitem and confirm an iPaaS.com product with SKU, name, status, typeAssembly Items, default price, and the NetSuite … captures.Capture a matrix item. Confirm the product captures with TrackingMethod
Variant, its options/values, variants (with variant options), and inventory.Subsidiary filter. Confirm an item in another subsidiary is skipped; update the filter and confirm it is captured.
Inventory + location + bins. Confirm inventory rows capture for established locations and are skipped for unknown locations; with USE BINS enabled, confirm quantities sum from the bins.
Alternate IDs / units / related. Confirm the alternate-id, unit, and related-product children capture as expected.
Validation Checklist
The subsidiary filter names your subsidiary (not the
Parent Companyplaceholder).Locations are established in iPaaS.com so inventory rows are not skipped.
The USE BINS (TRUE/FALSE) setting reflects how you track inventory.
The Alternate Id Types exist in iPaaS.com so alternate-id rows are not skipped.
The NetSuite … custom fields exist in iPaaS.com for the attributes you want to retain (including the pricing detail).
Inbound Data Flows and the NetSuite webhook scripts are in place for automatic capture.
Additional Notes
Round-trip with the FROM direction. The NetSuite … custom fields populated here are read back by NetSuite Inventory Product From iPaaS.com Mapping Documentation.
Other item types (standard inventory Product, Non-Inventory, Non-Inventory Resale, Service) are captured by their own collections, documented separately; they mirror this product/variant/inventory/option structure.
Known limitations affecting products are collected in NetSuite Known Limitations.
Custom Fields (Reference)
The complete set of iPaaS.com custom fields the capture populates for the round-trip convention. Create the ones whose attributes you want to retain (each captures the like-named NetSuite attribute). Most are named NetSuite …; BC PriceLists_FormattedData holds the formatted price-list string; and Custom Field Demonstration, product_description, and Not secret are example/demonstration fields (adapt or remove).
Item custom fields (51)
BC PriceLists_FormattedData, Custom Field Demonstration, product_description, Not secret, and the NetSuite … fields: Allow In Store Pickup, Base Unit Id, Class, Cost, Default Ship Method, Description, Don't Show Price, Exclude from Site Map, Featured Description, Handling Cost, Include Children, Is Drop Ship Item, Is Google Checkout Compliant, Is Special Order Item, Item Carrier, Manufacturer, Maximum Purchase Quantity, Meta Tag HTML, Minimum Purchase Quantity, No Price Shown Message, On Special, Out of Stock Message, Page Title, Price Includes Tax, Price Item Currency Page, Price Item Level Name, Price Item Price Level, Price Item Quantity, Purchase Unit Id, Safety Stock, Sale Unit Id, Sales Description, Search Keywords, Ship Individually, Shipping Cost, Stock Description, Stock Unit Id, Store Description, Store Detailed Description, Store Display Image, Store Display Name, Store Display Thumbnail, Subsidiary Names, UPC Code, URL Component, Units Type Id, Units Type Name.
The inventory and variant-inventory collections additionally populate NetSuite Cost and the NetSuite Bin … fields (Bin ID, Bin RefName, Bin On Hand, Bin On Hand Avail, Bin Preferred Bin, Bin Location Active).
Variant custom fields (44)
BC PriceLists_FormattedData and the NetSuite … fields: Allow In Store Pickup, Base Unit Id, Class, Cost, Default Ship Method, Description, Don't Show Price, Exclude from Site Map, Featured Description, Handling Cost, Is Drop Ship Item, Is Google Checkout Compliant, Is Special Order Item, Item Carrier, Manufacturer, Maximum Purchase Quantity, Meta Tag HTML, Minimum Purchase Quantity, No Price Shown Message, On Special, Out Of Stock Message, Page Title, Price Includes Tax, Price Item Currency Page, Price Item Level Name, Price Item Price Level, Price Item Quantity, Purchase Unit Id, Safety Stock, Sale Unit Id, Sales Description, Search Keywords, Ship Individually, Shipping Cost, Stock Description, Stock Unit Id, Store Description, Store Detailed Description, Store Display Image, Store Display Name, Store Display Thumbnail, URL Component, Units Type Id, Units Type Name.
(The variant set omits the product-only fields UPC Code, Include Children, Subsidiary Names, and the three example fields.)
