NetSuite Sales Order To iPaaS.com Mapping Documentation
A NetSuite Sales Order can be captured into iPaaS.com as an order transaction. The integration maps the order header — the linking identifier, customer, type, status, and captured amounts (subtotal, tax, shipping, discount, total) — and through its child collections the order lines, address, customer deposit, discount, and fulfillment (shipment + tracking). The result is an iPaaS.com order transaction that mirrors the NetSuite Sales Order. Orders transfer on demand from the Manual Sync page or automatically on NetSuite order events.
ID Format
Manual Sync ID Format
Enter the NetSuite Sales Order's internal ID on the Manual Sync page.
External ID Format
On a successful capture, iPaaS.com records the NetSuite internal ID as the external ID on a dedicated external-ID record (the primary match for subsequent updates). The NetSuite internal ID is also captured into the iPaaS.com Transaction Number, which gives visibility on the iPaaS.com transaction and serves as a fallback match key when no external-ID record yet exists. Remapping the Transaction Number to a different source is supported but disables that fallback auto-link for any pre-existing transactions.
Deleted Record Support
Inbound delete is supported: the Delete NetSuite Sales Order TO iPaaS.com collection removes the linked iPaaS.com transaction when the order is deleted in NetSuite (driven by the external-ID link). It runs only when the corresponding NetSuite delete event is enabled and the NetSuite-side webhook scripts are installed.
Custom Field Support
A few NetSuite-specific address attributes are captured into iPaaS.com custom fields named NetSuite … (the address's NetSuite Additional Address Text, NetSuite Phone, and NetSuite Attention). Add the matching iPaaS.com custom fields to retain these attributes.
Mapping Collection Status
Status: Enabled. Two collections cover the capture: Add (new orders) and Update (changes to an already-captured order).
Trigger Events:
salesorder/created,salesorder/updated. Enable inbound transfers in Inbound Data Flows (in the iPaaS.com subscription configuration) and install the NetSuite-side webhook scripts (see NetSuite Connections and Settings). Whether an event creates or updates the iPaaS.com transaction depends on the external-ID link, not the event name. Manual Sync is always available.
Duplicate or Conflicting Mappings
Update NetSuite Sales Order TO iPaaS.com — updates an already-captured order (the two collections' filters route a record to exactly one).
Add/Update NetSuite Invoice TO iPaaS.com — captures the invoice generated from the order; an invoice records its originating order (see the NetSuite Invoice Mapping Documentation).
Collision handling
Matching uses the external-ID link (primary) and the captured Transaction Number (the NetSuite internal id) as the fallback key. No iPaaS.com collision-handling method is configured for these collections.
Supported Child Collections
Add NetSuite Sales Order Line TO iPaaS.com — the order line items.
Add NetSuite Sales Order Address TO iPaaS.com — the billing/shipping address.
Add NetSuite Sales Order Deposit TO iPaaS.com — a customer deposit/payment on the order.
Add NetSuite Sales Order Discount TO iPaaS.com — an order-level discount.
Add / Update NetSuite Sales Order Fulfillment TO iPaaS.com — a shipment/fulfillment with tracking (also available as a standalone collection).
System Caveats
NetSuite Caveats
Only pending orders are captured. The Add collection captures an order only when its NetSuite status is Pending Fulfillment, Pending Approval, or Pending Billing; other statuses are skipped.
Tax capture depends on a NetSuite custom field.
TaxAmountreads the NetSuite transaction custom field that stores total tax (custbody_otg_ipaas_total_tax), which is populated on the outbound (FROM iPaaS.com) side by the Tax Override handling. If that field is not populated on the NetSuite order, no tax amount is captured.
iPaaS.com Caveats
Fulfillment capture creates its order and shipping method. The standalone Add NetSuite Sales Order Fulfillment TO iPaaS.com Standalone collection captures fulfillment tracking; if the originating order or the shipping method is not yet in iPaaS.com, the integration creates it automatically as a prerequisite first.
Status is a lookup translation.
Statusmaps the NetSuite order status to an iPaaS.com transaction status through a lookup translation you configure in the NetSuite subscription's Subscription Settings in iPaaS.com; the iPaaS.com API requires a transaction status.Updates preserve captured values. The Update collection reads each field from
DestinationValue.*— it keeps the values already on the iPaaS.com transaction rather than blanking them, so an order update does not overwrite data the order no longer carries. It only processes orders with no recorded amount paid (AmountPaidempty).
Setup Requirements
Status lookup translation — configure the NetSuite-order-status → iPaaS.com-status mapping in the NetSuite subscription's Subscription Settings in iPaaS.com.
Inbound Data Flows + webhook scripts — enable the NetSuite order events and install the NetSuite-side webhook scripts for automatic capture.
Payment method — for the deposit child, the order's payment method must resolve to a known iPaaS.com payment method, or the deposit is skipped.
NetSuite … address custom fields — create the iPaaS.com custom fields to retain the captured address attributes.
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 Sales Order is captured — on demand from the Manual Sync page (enter the NetSuite internal ID), or automatically on
salesorder/created/salesorder/updatedevents when Inbound Data Flows and the webhook scripts are in place.The Add collection admits orders in a pending status; the Update collection refreshes an already-captured order (preserving its captured values) when the order has no recorded amount paid.
The integration creates or updates the iPaaS.com order transaction (matched by external ID, then by Transaction Number) and transfers the children: lines, address, deposit, discount, and fulfillment.
Mappings
Fields marked Control gate behavior. Several collections resolve a SKU or payment method against NetSuite and skip (or error on) records that do not resolve — see each filter.
Add NetSuite Sales Order TO iPaaS.com
iPaaS.com data type: Transaction
Mapping Filter
if(OrderStatus_RefName == "Pending Fulfillment" || OrderStatus_RefName == "Pending Approval" || OrderStatus_RefName == "Pending Billing"){
return true;
}
return false;Filter Description. Captures the order only when its NetSuite status is Pending Fulfillment, Pending Approval, or Pending Billing; any other status returns false and the order is skipped.
Captures a new NetSuite sales order into an iPaaS.com transaction.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| SystemId | Required. Identifies the iPaaS.com system the transaction belongs to. |
Field | Id | TransactionNumber | Required. The NetSuite internal ID captured as the iPaaS.com transaction number — links the transaction to its NetSuite record and is the fallback match key. |
Dynamic Formula |
| CustomerId | Recommended. Links the transaction to the iPaaS.com customer, resolved from the order's NetSuite customer. |
Dynamic Formula |
| Type | Required. The transaction type; the NetSuite order type when present, otherwise |
Lookup | Lookup Translation: Status | Status | Required. Sets the iPaaS.com transaction status from a lookup translation (NetSuite order status → iPaaS.com status). |
Dynamic Formula |
| EmailAddress | Recommended. The customer's email address from the NetSuite customer. |
Dynamic Formula |
| DiscountAmount | Optional. The order discount amount, captured as a positive value. |
Dynamic Formula |
| TaxAmount | Optional. The order's total tax, read from the NetSuite total-tax custom field (set on the FROM-iPaaS side); empty when that field is not populated. |
Dynamic Formula |
| ShippingAmount | Optional. The shipping amount (shipping plus handling cost). |
Field | Subtotal | Subtotal | Recommended. The order subtotal captured from NetSuite. |
Field | Total | Total | Recommended. The order total captured from NetSuite. |
Update NetSuite Sales Order TO iPaaS.com
iPaaS.com data type: Transaction
Mapping Filter
AmountPaid == null
Filter Description. Only orders with no recorded amount paid are updated; orders that already carry an amount paid are skipped.
Updates an existing iPaaS.com transaction from its NetSuite order, preserving the values already captured on the iPaaS.com transaction (each field reads from DestinationValue.*) rather than overwriting them.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| SystemId | Required. Preserves the iPaaS.com system on the existing transaction. |
Dynamic Formula |
| TransactionNumber | Required. Preserves the transaction number (and the NetSuite link / fallback key) across updates. |
Dynamic Formula |
| CustomerId | Recommended. Preserves the linked customer. |
Dynamic Formula |
| Type | Required. Preserves the transaction type. |
Lookup | Lookup Translation: Status | Status | Required. Sets the iPaaS.com transaction status via the lookup translation. |
Dynamic Formula |
| EmailAddress | Recommended. Preserves the captured email address. |
Dynamic Formula |
| DiscountAmount | Optional. Preserves the captured discount amount. |
Dynamic Formula |
| TaxAmount | Optional. Preserves the captured tax amount. |
Dynamic Formula |
| ShippingAmount | Optional. Preserves the captured shipping amount. |
Dynamic Formula |
| Subtotal | Recommended. Preserves the captured subtotal. |
Dynamic Formula |
| Total | Recommended. Preserves the captured total. |
Add NetSuite Sales Order Line TO iPaaS.com
iPaaS.com data type: Transaction Line
Mapping Filter
var cleanName = Item_RefName;
if (cleanName.Contains(" : ")){
string[] skus = cleanName.Split(" : ");
cleanName = skus.LastOrDefault();
}
var netSuiteProductId = await GetNetSuiteProductIdBySku(cleanName);
if(netSuiteProductId != null){
return true;
}
else{
throw new Exception("Sku "+cleanName+" can not be linked/used to a NetSuite item id so transaction can't be created using this line item")
}Filter Description. Derives the SKU from Item_RefName — for matrix items formatted "Parent : Child" it splits on " : " and takes the part after the separator — then resolves it to a NetSuite product. If a product is found the line passes; otherwise the filter throws "Sku [cleanName] can not be linked/used to a NetSuite item id so transaction can't be created using this line item".
Captures each NetSuite order line into the iPaaS.com transaction.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Static |
| Type | Required. Identifies the line as a product line. |
Static |
| Status | Required. The initial captured line status. |
Dynamic Formula |
| Sku | Required. The product SKU for the line, derived from the NetSuite item reference name (matrix items use the part after " : "). |
Field | Description | Description | Optional. The line description. |
Field | Quantity | Qty | Required. The line quantity. |
Dynamic Formula |
| UnitPrice | Recommended. The per-unit price (line amount ÷ quantity). |
Field | Amount | ExtendedPrice | Recommended. The extended (line total) amount. |
Field | TaxAmount | EstimatedTaxAmount | Optional. The line's tax amount. |
Add NetSuite Sales Order Address TO iPaaS.com
iPaaS.com data type: Transaction Address
Captures the NetSuite order's address into iPaaS.com (no filter).
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Field | Addr1 | Address1 | Recommended. The first address line. |
Field | Addr2 | Address2 | Optional. The second address line. |
Field | Addr3 | Address3 | Optional. The third address line. |
Field | City | City | Recommended. The city. |
Field | Country_RefName | Country | Recommended. The country. |
Field | Zip | PostalCode | Recommended. The postal/ZIP code. |
Field | IsPrimaryBilling | IsPrimaryBilling | Recommended. Whether this is the order's primary billing address. |
Field | IsPrimaryShipping | IsPrimaryShipping | Recommended. Whether this is the order's primary shipping address. |
Dynamic Formula |
| ShippingMethod | Optional. The shipping method, taken from the parent order. |
Dynamic Formula |
| FirstName | Recommended. The recipient first name, parsed from the NetSuite addressee. |
Dynamic Formula |
| LastName | Recommended. The recipient last name, parsed from the addressee. |
Field | AddrText | NetSuite Additional Address Text | Optional. Capture-side custom field — the full formatted address text. |
Field | AddrPhone | NetSuite Phone | Optional. Capture-side custom field — the address phone number. |
Field | Attention | NetSuite Attention | Optional. Capture-side custom field — the address attention line. |
Add NetSuite Sales Order Deposit TO iPaaS.com
iPaaS.com data type: Transaction Payment
Mapping Filter
var paymentMethod = await GetPaymentMethodById(Transaction_PaymentMethod);
if(paymentMethod != null)
return true;
else
return false;Filter Description. The deposit is captured only when the order's payment method resolves to a known iPaaS.com payment method via GetPaymentMethodById; if it does not resolve, the deposit is skipped.
Captures a customer deposit/payment on the order into the iPaaS.com transaction.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| Method | Required. The payment method, resolved from the NetSuite payment method. |
Field | CustomForm_RefName | Description | Optional. A description for the deposit, from the NetSuite custom form name. |
Field | Payment | Amount | Recommended. The deposit/payment amount captured from NetSuite. |
Field | Status_RefName | Status | Optional. The deposit status captured from NetSuite. |
Add NetSuite Sales Order Discount TO iPaaS.com
iPaaS.com data type: Transaction Discount
Mapping Filter
SourceTypeName == "ParentOnly"
Filter Description. Captures the discount once at the order level (when the source type is ParentOnly) rather than per line.
Captures an order-level discount from NetSuite into the iPaaS.com transaction.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| CouponCode | Optional. A coupon/discount identifier, taken from the order's discount item. |
Static |
| DiscountMethod | Control. Indicates the discount is expressed as a fixed amount (not a percentage). |
Dynamic Formula |
| DiscountAmount | Recommended. The discount amount, taken from the order's discount total. |
Add NetSuite Sales Order Fulfillment TO iPaaS.com
iPaaS.com data type: Transaction Tracking
Mapping Filter
if (ShipMethod_RefName != null)
return true;
if (Parent.ShipMethod_RefName != null && ShipStatus_RefName == "Shipped")
return true;
else
return false;Filter Description. A fulfillment is captured when the line carries its own shipping method, or when the line lacks one but the parent order has a shipping method and the line's ship status is Shipped; otherwise it is skipped.
Captures a NetSuite fulfillment/shipment for the order into iPaaS.com, including tracking.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Field | OrderId | ParentId | Recommended. Links this fulfillment to its order in iPaaS.com. |
Dynamic Formula |
| ShippingMethod | Required. The shipping method, taken from the fulfillment when present and otherwise from the parent order. |
Field | Memo | ShippingMethodDescription | Optional. A description of the shipping method, from the fulfillment memo. |
Dynamic Formula |
| TrackingNumber | Recommended. The shipment tracking number(s), assembled from the fulfillment's packages. |
Field | ShippingCost | Cost | Optional. The shipping cost for the fulfillment. |
Add NetSuite Sales Order Fulfillment TO iPaaS.com Standalone
iPaaS.com data type: Transaction Tracking
Mapping Filter
if (ShipMethod_RefName != null)
return true;
else
return false;Filter Description. This standalone item-fulfillment capture passes only when the fulfillment carries a shipping method; otherwise it is skipped. Use it to capture a fulfillment on its own rather than as part of an order transfer.
Captures a standalone NetSuite item fulfillment/shipment into iPaaS.com, including tracking.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| ParentId | Recommended. Resolves the iPaaS.com order the fulfillment belongs to. |
Field | ShipMethod_RefName | ShippingMethod | Required. The shipping method from the NetSuite fulfillment. |
Field | ShipMethod_Description | ShippingMethodDescription | Optional. A description of the shipping method. |
Dynamic Formula |
| TrackingNumber | Recommended. The shipment tracking number(s), assembled from the fulfillment's packages. |
Field | ShippingCost | Cost | Optional. The shipping cost for the fulfillment. |
Update NetSuite Sales Order Fulfillment TO iPaaS.com
iPaaS.com data type: Transaction Tracking
Mapping Filter
if (ShipMethod_RefName != null)
return true;
if (Parent.ShipMethod_RefName != null && ShipStatus_RefName == "Shipped")
return true;
else
return false;Filter Description. Same as the Add Fulfillment filter — captures when the line carries a shipping method, or the parent order has one and the line is Shipped.
Updates a NetSuite fulfillment/shipment for the order in iPaaS.com, including tracking.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Field | OrderId | ParentId | Recommended. Links this fulfillment to its order in iPaaS.com. |
Dynamic Formula |
| ShippingMethod | Required. The shipping method, from the fulfillment when present, otherwise the parent order. |
Field | Memo | ShippingMethodDescription | Optional. A description of the shipping method, from the fulfillment memo. |
Dynamic Formula |
| TrackingNumber | Recommended. The shipment tracking number(s), assembled from the fulfillment's packages. |
Field | ShippingCost | Cost | Optional. The shipping cost for the fulfillment. |
Error Handling
"Sku [item] can not be linked/used to a NetSuite item id so transaction can't be created using this line item" — an order line's item could not be resolved to a NetSuite product. Resolution: confirm the item/SKU is linked in NetSuite; for matrix items, the SKU is taken from the part after " : " in the item name.
Deposit skipped — a deposit whose payment method does not resolve to a known iPaaS.com payment method is silently skipped. Resolution: ensure the payment method is configured/linked in iPaaS.com.
Order not captured by status — an order whose status is not Pending Fulfillment / Pending Approval / Pending Billing is skipped (not an error).
Testing & Validation
Test Scenarios
Capture an order. Manually sync a NetSuite order in a pending status and confirm an iPaaS.com transaction is created with header, lines, and address, and that the external-ID link + Transaction Number are set.
Status filter. Confirm an order in a non-pending status is skipped.
Update preserves values. Update a captured order (with no amount paid) and confirm existing iPaaS.com values are retained.
Line SKU resolution. Confirm a line whose item resolves to a NetSuite product captures, and an unresolved item raises the documented error.
Fulfillment + tracking. Confirm a shipped fulfillment captures with its shipping method and tracking number(s).
Status translation. Confirm the NetSuite-status → iPaaS.com-status lookup translation is configured and applied.
Validation Checklist
The Status lookup translation is configured in the NetSuite subscription's Subscription Settings in iPaaS.com.
Inbound Data Flows and the NetSuite webhook scripts are in place for automatic capture.
The total-tax custom field (
custbody_otg_ipaas_total_tax) is populated on NetSuite orders if tax capture is expected.Order line items resolve to NetSuite products (including matrix " : " items).
Additional Notes
Relationship to invoices. An invoice generated from a captured order records its originating order; invoices are documented in the NetSuite Invoice Mapping Documentation.
Tax capture depends on the total-tax custom field set by the Tax Override handling (FROM-iPaaS side), documented in NetSuite Connections and Settings.
Known limitations affecting orders are collected in NetSuite Known Limitations.
