Skip to main content

NetSuite Sales Order To iPaaS.com Mapping Documentation

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. TaxAmount reads 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. Status maps 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 (AmountPaid empty).

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

  1. A NetSuite Sales Order is captured — on demand from the Manual Sync page (enter the NetSuite internal ID), or automatically on salesorder/created / salesorder/updated events when Inbound Data Flows and the webhook scripts are in place.

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

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

SpaceportSystemId

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

(resolve the iPaaS customer from the order's Entity_Id)

CustomerId

Recommended. Links the transaction to the iPaaS.com customer, resolved from the order's NetSuite customer.

Dynamic Formula

OrderType_RefName ?? "Order"

Type

Required. The transaction type; the NetSuite order type when present, otherwise Order.

Lookup

Lookup Translation: Status

Status

Required. Sets the iPaaS.com transaction status from a lookup translation (NetSuite order status → iPaaS.com status).

Dynamic Formula

(customer email resolved from Entity_Id)

EmailAddress

Recommended. The customer's email address from the NetSuite customer.

Dynamic Formula

if (DiscountTotal != null) return DiscountTotal * -1;

DiscountAmount

Optional. The order discount amount, captured as a positive value.

Dynamic Formula

GetValueFromCustomField(AdditionalProperties, "custbody_otg_ipaas_total_tax")

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

ShippingCost + HandlingCost

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

DestinationValue.SystemId

SystemId

Required. Preserves the iPaaS.com system on the existing transaction.

Dynamic Formula

DestinationValue.TransactionNumber

TransactionNumber

Required. Preserves the transaction number (and the NetSuite link / fallback key) across updates.

Dynamic Formula

DestinationValue.CustomerId

CustomerId

Recommended. Preserves the linked customer.

Dynamic Formula

DestinationValue.Type

Type

Required. Preserves the transaction type.

Lookup

Lookup Translation: Status

Status

Required. Sets the iPaaS.com transaction status via the lookup translation.

Dynamic Formula

DestinationValue.EmailAddress

EmailAddress

Recommended. Preserves the captured email address.

Dynamic Formula

DestinationValue.DiscountAmount

DiscountAmount

Optional. Preserves the captured discount amount.

Dynamic Formula

DestinationValue.TaxAmount

TaxAmount

Optional. Preserves the captured tax amount.

Dynamic Formula

DestinationValue.ShippingAmount

ShippingAmount

Optional. Preserves the captured shipping amount.

Dynamic Formula

DestinationValue.Subtotal

Subtotal

Recommended. Preserves the captured subtotal.

Dynamic Formula

DestinationValue.Total

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

"Product"

Type

Required. Identifies the line as a product line.

Static

"Pending"

Status

Required. The initial captured line status.

Dynamic Formula

(SKU from Item_RefName; matrix " : " split)

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

Amount / Quantity

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

if (Parent.ShipMethod_RefName != null) return Parent.ShipMethod_RefName;

ShippingMethod

Optional. The shipping method, taken from the parent order.

Dynamic Formula

if (Addressee != null){ ...parse first name... }

FirstName

Recommended. The recipient first name, parsed from the NetSuite addressee.

Dynamic Formula

if (Addressee != null){ ...parse last name... }

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

await GetPaymentMethodById(Transaction_PaymentMethod)

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

Parent.DiscountItem_Id

CouponCode

Optional. A coupon/discount identifier, taken from the order's discount item.

Static

Amount

DiscountMethod

Control. Indicates the discount is expressed as a fixed amount (not a percentage).

Dynamic Formula

Parent.DiscountTotal

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

if (ShipMethod_RefName != null) return ShipMethod_RefName; else return Parent.ShipMethod_RefName;

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

if (Package != null){ ...concatenate package tracking numbers... }

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

await GetSpaceportIdAsync(OrderId, "Transaction", ...)

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

if (Package != null){ ...concatenate package tracking numbers... }

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

if (ShipMethod_RefName != null) return ShipMethod_RefName; else return Parent.ShipMethod_RefName;

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

(concatenated package tracking numbers)

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

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

  2. Status filter. Confirm an order in a non-pending status is skipped.

  3. Update preserves values. Update a captured order (with no amount paid) and confirm existing iPaaS.com values are retained.

  4. Line SKU resolution. Confirm a line whose item resolves to a NetSuite product captures, and an unresolved item raises the documented error.

  5. Fulfillment + tracking. Confirm a shipped fulfillment captures with its shipping method and tracking number(s).

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

Related Documents

Did this answer your question?