NetSuite Service Resale Item To iPaaS.com Mapping Documentation
A NetSuite service item of subtype Resale 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, alternate IDs, and unit. The result is an iPaaS.com product that mirrors the NetSuite service resale item. Service Sale and Service Purchase items, and the standard inventory / Non-Inventory / Assembly item types, 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). Service 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 set of NetSuite-specific item attributes is captured into iPaaS.com custom fields named NetSuite … (units, descriptions, store/display fields, the per-price-level pricing detail, and purchase-quantity limits), plus the service-specific fields — the NetSuite Item Type, Consumption Unit, and a Service Item Type label. 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 the parent collection's Captured NetSuite attributes subsection in Mappings, and the complete set is enumerated in Custom Fields (Reference) at the end. The service capture set is smaller than the standard inventory-item set.
Mapping Collection Status
Status: Enabled.
Trigger Events:
inventoryitem/created,inventoryitem/updated(service 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 and, for service items, the subtype:
Add/Update NetSuite Service Sale Item TO iPaaS.com — service items of subtype
Sale.Add/Update NetSuite Service Purchase Item TO iPaaS.com — service items of subtype
Purchase.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 Assembly Items TO iPaaS.com — assembly/BOM items.
This collection captures only Service items whose Subtype is Resale; the reverse direction (writing items to NetSuite) is Add/Update NetSuite Inventory Product FROM iPaaS.com.
Supported Child Collections
Service Resale Item Option and Service Resale Item Option Value TO iPaaS.com — the matrix options and values.
Service Resale Item Variant TO iPaaS.com — the variants, each with its own Variant Option and variant alternate-ID children.
Service Resale Item Alternate Id — ExternalId / Reference Name TO iPaaS.com — the item's alternate identifiers (External ID and Reference Name; service items have no MPN alternate id).
Service Resale Item Unit TO iPaaS.com — the item's unit of measure.
Service items have no inventory, kit, or related-product child collections (they are not stock-tracked and do not define kits or related-item links here).
System Caveats
NetSuite Caveats
Item type and subtype determine the collection. Only items whose NetSuite type is
Serviceand whose subtype isResaleare captured here;SaleandPurchaseroute to their own collections, and inventory / Non-Inventory / Assembly items route elsewhere.Subsidiary filter. Only items in the subsidiary named in the filter (shipped as Parent Company) are captured.
iPaaS.com Caveats
Alternate Id Types must exist in iPaaS.com. The Alternate Id collections resolve the iPaaS.com Alternate Id Type by lookup (
external_id/reference_nameon the parent,externalid/refnameon 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.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). See that collection's description for the Custom List setup rules.
Integration-Specific Caveats
Categories are created for you. When this item is captured, any of its product categories not already in iPaaS.com are created automatically as prerequisites (best-effort — a category 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).
The iPaaS.com product type is shared across service subtypes. This collection and the Service Sale / Purchase collections all set the iPaaS.com product
Typeto the literalService Items; the subtype distinction lives in the filter, and the Resale collection additionally captures a static Service Item Type label (Service Resale Item) into a dedicated custom field.
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 Alternate Id Types (
external_id/reference_name) for the alternate-id children. For category capture, configure the Custom List Script ID preset and run Add/Update NetSuite Product Categories TO iPaaS.com first. Missing reference records cause the corresponding 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 and the service-specific Item Type / Consumption Unit / Service Item Type).
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 service 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
Serviceand whose subtype isResale. Sale / Purchase service items route to their own collections; inventory / Non-Inventory / Assembly items 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 (including Item Type, Consumption Unit, and the Service Item Type label), and transfers the children: options/values, variants (with their option and alternate-ID children), alternate IDs, and unit.
Mappings
For the parent and Variant collections, the core business fields are shown in the field table; the 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 Service Resale Item 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 == "Service" && Subtype_RefName == "Resale";
}
else
return false;Filter Description. Captures the item only when its subsidiary matches the named subsidiary, its NetSuite item type is Service, and its subtype is Resale. 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 service resale 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 literal |
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 iPaaS.com custom field — the round-trip convention; add the custom field to retain the attribute):
Identity / descriptions: UPC Code, Featured Description, Store Description, Store Detailed Description, Store Display Name, Meta Tag HTML, Search Keywords, URL Component.
Units: Units Type Id, Units Type Name, Sale Unit Id.
Pricing detail (round-trip): Price Item Price Level, Price Item Level Name, Price Item Currency Page.
Store behavior: Include Children, Exclude from Site Map, Minimum Purchase Quantity, Maximum Purchase Quantity, Is Google Checkout Compliant, Store Display Thumbnail, Store Display Image, Subsidiary Names.
Service-specific: Item Type (the NetSuite item type reference name), Netsuite Consumption Unit (the service consumption unit), and Netsuite Service Item Type (Product) — a static label set to
Service Resale Item(unique to the Resale collection).Example custom fields (demonstration only — adapt or remove): Custom Field Demonstration, product_description.
Add/Update NetSuite Service Resale 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 Service Resale 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 Service Resale 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): units (Units Type Id, Units Type Name, Base Unit Id, Sale Unit Id), descriptions (Featured Description, Sales Description, Store Description, Store Detailed Description, Store Display Name, Store Display Image, Store Display Thumbnail, Meta Tag HTML, Search Keywords, URL Component), pricing detail (Price Item Price Level, Price Item Level Name, Price Item Currency Page), store behavior (Exclude from Site Map, Minimum/Maximum Purchase Quantity, Is Google Checkout Compliant, Handling Cost), and the static Netsuite Service Item Type (Variant) label. Enumerated under Custom Fields (Reference).
Add/Update NetSuite Service Resale 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 Service Resale Item Alternate Id — ExternalId / Reference Name TO iPaaS.com
iPaaS.com data type: Product Alternate Id
These two collections capture the item's alternate identifiers — the NetSuite External ID and Reference Name — each as an iPaaS.com Product Alternate Id of the matching type. (Service items have no MPN alternate id.)
Mapping Filter (ExternalId variant shown; the Reference Name variant is 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), resolving the iPaaS.com Alternate Id Type (external_id / reference_name). 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 or Reference Name). |
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 Service Resale Item Variant Alternate Id — ExternalId / Reference Name 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 and Reference Name. They resolve the Alternate Id Type by the keys externalid / refname 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 Service Resale 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. |
Error Handling
Item skipped by the subsidiary / type / subtype filter — an item in a non-matching subsidiary, or not a
Service/Resaleitem, is silently skipped here. Resolution: confirm the subsidiary in the filter and the item's NetSuite type and subtype.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.
Testing & Validation
Test Scenarios
Capture a simple service resale item. Manually sync a
Serviceitem with subtypeResaleand confirm an iPaaS.com product with SKU, name, status, typeService Items, default price, the NetSuite … captures, and theService Resale Itemlabel.Capture a matrix item. Confirm the product captures with TrackingMethod
Variant, its options/values, and variants (with variant options).Subtype routing. Confirm a
Serviceitem with subtypeSaleorPurchaseis captured by its own collection rather than here.Subsidiary filter. Confirm an item in another subsidiary is skipped; update the filter and confirm it is captured.
Alternate IDs / unit. Confirm the External ID / Reference Name alternate-id and unit children capture as expected.
Validation Checklist
The subsidiary filter names your subsidiary (not the
Parent Companyplaceholder).The Alternate Id Types (
external_id,reference_name) exist in iPaaS.com so alternate-id rows are not skipped.The NetSuite … custom fields (including Item Type, Consumption Unit, and the Service Item Type label) exist in iPaaS.com for the attributes you want to retain.
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 service subtypes and item types (Service Sale, Service Purchase, standard inventory Product, Non-Inventory, Assembly) are captured by their own collections, documented separately; they mirror this product/variant/option structure.
Known limitations affecting products are collected in NetSuite Known Limitations.
Custom Fields (Reference)
The complete set of iPaaS.com custom fields this 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 …; Item Type, Netsuite Consumption Unit, and Netsuite Service Item Type (Product) / (Variant) are the service-specific captures; BC PriceLists_FormattedData holds the formatted price-list string; and Custom Field Demonstration and product_description are example/demonstration fields (adapt or remove).
Item custom fields (28)
BC PriceLists_FormattedData, Item Type, Netsuite Consumption Unit, Netsuite Service Item Type (Product), Custom Field Demonstration, product_description, and the NetSuite … fields: Exclude from Site Map, Featured Description, Include Children, Is Google Checkout Compliant, Maximum Purchase Quantity, Meta Tag HTML, Minimum Purchase Quantity, Price Item Currency Page, Price Item Level Name, Price Item Price Level, Sale Unit Id, Search Keywords, 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 (24)
BC PriceLists_FormattedData, Netsuite Service Item Type (Variant), and the NetSuite … fields: Base Unit Id, Exclude from Site Map, Featured Description, Handling Cost, Is Google Checkout Compliant, Maximum Purchase Quantity, Meta Tag HTML, Minimum Purchase Quantity, Price Item Currency Page, Price Item Level Name, Price Item Price Level, Sale Unit Id, Sales Description, Search Keywords, Store Description, Store Detailed Description, Store Display Image, Store Display Name, Store Display Thumbnail, Units Type Id, Units Type Name, URL Component.
