Skip to main content

NetSuite Product To iPaaS.com Mapping Documentation

NetSuite Product To iPaaS.com Mapping Documentation

A NetSuite inventory 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, kit components, and related items. The result is an iPaaS.com product that mirrors the NetSuite item. Assembly, 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: 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). 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 products flow from iPaaS.com to NetSuite (see NetSuite Inventory Product From iPaaS.com Mapping Documentation). 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.

Mapping Collection Status

  • Status: Enabled.

  • Trigger Events: inventoryitem/created, inventoryitem/updated. 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 Assembly Items TO iPaaS.com

  • Add/Update NetSuite Non-Inventory Items TO iPaaS.com

  • Add/Update NetSuite Non-Inventory Resale Items TO iPaaS.com

  • Add/Update NetSuite Service Sale / Purchase / Resale Item TO iPaaS.com

The reverse direction (writing inventory items to NetSuite) is Add/Update NetSuite Inventory Product FROM iPaaS.com.

Supported Child Collections

  • Product Option and Product Option Value TO iPaaS.com — the matrix options and values.

  • Product Variant TO iPaaS.com — the variants, each with its own Variant Option, Variant Inventory, and variant alternate-ID children.

  • Product Inventory TO iPaaS.com — per-location inventory.

  • Product Alternate Id — ExternalId / Reference Name / MPN TO iPaaS.com — the item's alternate identifiers.

  • Product Unit TO iPaaS.com — the item's units of measure.

  • Product Kit / Product Kit Component TO iPaaS.com — kit definition and components.

  • Related Product TO iPaaS.com — related/associated items.

  • Product Categories TO iPaaS.com — the item's category assignments.

System Caveats

NetSuite Caveats

  • Item type determines the collection. Only standard inventory items are captured here; Assembly, Non-Inventory, and Service items route to their own collections by NetSuite item type.

  • 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 GetiPaaSLocationId and 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).

  • Alternate Id Types must exist in iPaaS.com. The Alternate Id collections resolve the iPaaS.com Alternate Id Type (external_id, reference_name, mpn) by lookup; 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-product links and nested category assignments likewise resolve the related product / parent category by lookup and require those records to exist first.

Integration-Specific Caveats

  • Related items and categories are created for you. When a product is captured, the integration creates as prerequisites in iPaaS.com — if they are not already present — its kit-component products, its related parent item, and its product categories. Kit-component and related-item creation block on failure; product-category creation is best-effort (a failure does not block the product).

  • Only the first/default price level becomes the product price. DefaultPrice is 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 products, sync the reference records the children resolve by lookup: Alternate Id Types (external_id / reference_name / mpn) for the alternate-id children, Locations for inventory capture (inventory rows for unknown locations are skipped), and any product categories referenced as parents. Missing reference records cause the corresponding child rows to be skipped or to fail to resolve.

  • 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

  1. A NetSuite inventory item is captured — on demand (NetSuite internal ID) or on inventoryitem/created / inventoryitem/updated events when Inbound Data Flows and the webhook scripts are in place.

  2. The filter admits only items in the configured subsidiary whose type is a standard inventory item (Assembly / Non-Inventory / Service route elsewhere).

  3. The integration creates or updates the iPaaS.com product (SKU, name, status, type, tracking method, default price), 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, kit components, related items, and categories.

Mappings

For the Product 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).

Add/Update NetSuite Product 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... )
    return true;
return false;

Filter Description. Captures the item only when its subsidiary matches the named subsidiary and its item type is a standard inventory item (Assembly / Non-Inventory / Service are excluded). 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 inventory 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

DisplayName ?? ItemId

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.

Dynamic Formula

(derived from the NetSuite item type)

Type

Required. The iPaaS.com product type, derived from the NetSuite item type.

Field

ItemType_RefName

Item Type

Optional. The NetSuite item type reference name.

Dynamic Formula

IsInactive ? "Disabled" : "Active";

Status

Required. The product status — Disabled when the NetSuite item is inactive, otherwise Active.

Dynamic Formula

if(MatrixType != null && MatrixType.Id != null) ...

TrackingMethod

Required. Variant for a matrix (variant) item, otherwise Product — tells iPaaS.com whether the product has variants.

Dynamic Formula

(first/default NetSuite price level)

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

return null; // category capture currently disabled

Categories

Optional. Category capture on the parent is currently disabled (returns null); category assignments are captured by Product Categories TO iPaaS.com.

Dynamic Formula

if(PriceLevel != null) return await GetPriceList...

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 Product 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 Product 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 Product 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... )
    return true;
return false;

Filter Description. Same subsidiary guard as the parent product. 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

(first/default NetSuite price level)

DefaultPrice

Recommended. The variant default price, from the first/default NetSuite price level.

Dynamic Formula

if(PriceLevel != null) return await GetPriceList...

BC PriceLists_FormattedData

Optional. A formatted price-list string for storefronts.

Captured NetSuite attributes (into identically-named NetSuite … custom fields): Units Type Id, Units Type Name, Base Unit Id, Purchase Unit Id, Sale Unit Id, Stock Unit Id; Description, Featured Description, Sales Description, Store Description, Stock Description, Store Detailed Description, Store Display Name, Store Display Image, Store Display Thumbnail, Page Title, Meta Tag HTML, Search Keywords, URL Component, Class; Price Item Price Level, Price Item Level Name, Price Item Currency Page, Price Item Quantity, Don't Show Price, Price Includes Tax, No Price Shown Message, On Special; Cost, Handling Cost, Shipping Cost, Default Ship Method, Item Carrier, Ship Individually, Is Drop Ship Item; Manufacturer, Include behaviors (Exclude from Site Map, Allow In Store Pickup, Is Special Order Item, Is Google Checkout Compliant, Minimum/Maximum Purchase Quantity, Out Of Stock Message, Safety Stock).

Add/Update NetSuite Product 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 Product 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

await GetiPaaSLocationId(LocationId);

LocationId

Required. The iPaaS.com location resolved from the NetSuite location.

Dynamic Formula

(computed available quantity)

QtyAvailable

Recommended. The available quantity at the location.

Dynamic Formula

(computed on-hand quantity)

QtyOnHand

Recommended. The on-hand quantity at the location.

Field

AverageCostMli

NetSuite Cost

Optional. The average cost (captured to a NetSuite … custom field).

Captured NetSuite attributes (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 Product 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 Product 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.

Mapping Type

Source Field (NetSuite)

Destination Field (iPaaS.com)

Description

Dynamic Formula

await GetiPaaSLocationId(LocationId);

LocationId

Required. The iPaaS.com location resolved from the NetSuite location.

Dynamic Formula

(computed available quantity)

QtyAvailable

Recommended. The available quantity at the location.

Dynamic Formula

(computed on-hand quantity)

QtyOnHand

Recommended. The on-hand quantity at the location.

Field

AverageCostMli

NetSuite Cost

Optional. The average cost (NetSuite … custom field).

Captured NetSuite attributes (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 Product 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); ...
}

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 (synced from NetSuite) or the type cannot be resolved.

Mapping Type

Source Field (NetSuite)

Destination Field (iPaaS.com)

Description

Dynamic Formula

Parent.ExternalId / Parent.RefName / Parent.Mpn

AlternateId

Required. The alternate identifier value (External ID, Reference Name, or MPN).

Dynamic Formula

Parent.ProductUnitName

Unit

Optional. The product unit the alternate id applies to.

Dynamic Formula

await GetSpaceportIdAsync("<type>", "Alternate Id Type", ...)

AlternateIdTypeId

Required. The iPaaS.com Alternate Id Type id (external_id, reference_name, or mpn).

Add/Update NetSuite Product Unit TO iPaaS.com

iPaaS.com data type: Product Unit

Mapping Filter

SourceTypeName == "ParentOnly"

Filter Description. Captures the product's unit once from the parent item.

Mapping Type

Source Field (NetSuite)

Destination Field (iPaaS.com)

Description

Static

1

Conversion

Control. The unit conversion factor (1 for the base unit).

Dynamic Formula

(the item's unit name)

Name

Required. The unit name captured from NetSuite.

Add/Update NetSuite Related Product TO iPaaS.com

iPaaS.com data type: Related Product

Mapping Filter

if(Parent.Parent != null && Parent.Parent.Id != null){
    var parentProductiPaaSId = await GetSpaceportIdAsync(Parent.Parent.Id, "Product", SpaceportSystemId); ...
}

Filter Description. Captures a related-product link when the related parent product resolves to an existing iPaaS.com product.

Mapping Type

Source Field (NetSuite)

Destination Field (iPaaS.com)

Description

Dynamic Formula

await GetSpaceportIdAsync(Parent.Parent.Id, "Product", ...)

RelatedId

Required. The iPaaS.com id of the related product; the related product must already exist in iPaaS.com.

Static

false

IsVariant

Control. Indicates the related record is a product (not a variant).

Static

Parent

RelatedType

Control. The relationship type.

Add/Update NetSuite Product Kit TO iPaaS.com

iPaaS.com data type: Kit

Captures a kit item's definition.

Mapping Type

Source Field (NetSuite)

Destination Field (iPaaS.com)

Description

Field

ItemId

Sku

Required. The kit item's SKU.

Field

Description

Description

Optional. The kit description.

Static

Basic

Type

Control. The kit type.

Add/Update NetSuite Product Kit Component TO iPaaS.com

iPaaS.com data type: Kit Component

Captures a component line of a kit.

Mapping Type

Source Field (NetSuite)

Destination Field (iPaaS.com)

Description

Field

ItemId

Sku

Required. The component item's SKU.

Field

Quantity

Quantity

Required. The component quantity in the kit.

Field

ProductUnitName

Unit

Optional. The component's unit.

Static

Fixed

Type

Control. The component type.

Add/Update NetSuite Product Categories TO iPaaS.com

iPaaS.com data type: Product Category

Captures the item's category assignments.

Mapping Type

Source Field (NetSuite)

Destination Field (iPaaS.com)

Description

Field

Name

Name

Required. The category name.

Dynamic Formula

return await GetSpaceportIdAsync(ParentId, "Product Category", ...)

ParentId

Optional. The parent category in iPaaS.com (for nested categories).

Update NetSuite Product Inventory TO iPaaS.com Standalone

iPaaS.com data type: Product Inventory

Captures inventory for an item on its own (not as part of a product transfer). Same fields as Product Inventory TO iPaaS.com (LocationId, QtyAvailable, QtyOnHand, and the NetSuite Bin … captures), without the parent-product context.

Update NetSuite Product Variant Inventory TO iPaaS.com Standalone

iPaaS.com data type: Product Variant Inventory

Captures variant inventory on its own. Same fields as Product Variant Inventory TO iPaaS.com.

Error Handling

  • Item skipped by the subsidiary filter — an item in a non-matching subsidiary is silently skipped. Resolution: update the subsidiary in the filter.

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

  • 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

  1. Capture a simple item. Manually sync a NetSuite inventory item and confirm an iPaaS.com product with SKU, name, status, type, default price, and the NetSuite … captures.

  2. Capture a matrix item. Confirm the product captures with TrackingMethod Variant, its options/values, variants (with variant options), and inventory.

  3. Subsidiary filter. Confirm an item in another subsidiary is skipped; update the filter and confirm it is captured.

  4. Inventory + location. Confirm inventory rows capture for established locations and are skipped for unknown locations.

  5. Alternate IDs / units / kit / related. Confirm the alternate-id, unit, kit-component, and related-product children capture as expected.

Validation Checklist

  • The subsidiary filter names your subsidiary (not the Parent Company placeholder).

  • Locations are established in iPaaS.com so inventory 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

Product and Variant 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).

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

Variant custom fields (45)

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

Related Documents

Did this answer your question?