Summary
An organization (company) customer can be captured from NetSuite into iPaaS.com. The integration records the company name, email, phone, fax, categories, and a range of NetSuite-specific attributes, and through its child collections the company's address, its parent relationship, and (when configured) its sub-customers. Individual (person) customers are captured separately by Add/Update NetSuite Customer TO iPaaS.com. Companies transfer on demand from the Manual Sync page or automatically on NetSuite company events.
ID Format
Manual Sync ID Format
Enter the NetSuite company's internal ID on the Manual Sync page.
External ID Format
iPaaS.com records the NetSuite internal ID as the external-ID link (the primary match for subsequent updates), and as a fallback match key on the iPaaS.com customer record.
Deleted Record Support
Inbound delete is driven by the external-ID link where a delete collection is enabled — a deletion in NetSuite removes the linked iPaaS.com company. It runs only when the corresponding NetSuite delete event and webhook scripts are in place.
Custom Field Support
A range of NetSuite-specific attributes — phone, mobile/home/alternate phone, alternate email, title, account number, URL, ship-complete, inactive flag, and subsidiary — are captured into iPaaS.com custom fields named NetSuite …. These are the capture side of the integration's round-trip convention: the same custom fields are read back on the Add/Update NetSuite Customer Company FROM iPaaS.com side. Add the matching iPaaS.com custom fields to retain these attributes.
Mapping Collection Status
Status: Enabled (a single Add/Update collection).
Trigger Events:
company/created,company/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
Add/Update NetSuite Customer TO iPaaS.com: individual (person) customers.
Add/Update NetSuite Customer Company FROM iPaaS.com: writes companies to NetSuite (the reverse direction).
Collision handling
Matching uses the external-ID link (primary) and the captured NetSuite internal id (fallback). No iPaaS.com collision-handling method is configured for this collection.
Supported Child Collections
Add/Update NetSuite Customer Company Address TO iPaaS.com: the company's address.
Add/Update NetSuite Company Relationship TO iPaaS.com: the company's parent relationship (the customer or company in its NetSuite Parent Company field).
Add/Update NetSuite Company Sub Customer Relationship TO iPaaS.com: the company's sub-customers, each recorded as a relationship typed from the NetSuite custom field named by Sub Customer Type Custom Field Id and linked to the sub-customer's own iPaaS.com record. Records nothing while that setting is blank.
System Caveats
NetSuite Caveats
Subsidiary filter. Only companies in the subsidiary named in the filter are captured (see Mappings). The shipped name is a placeholder.
Sub-customer type field. Only a company's direct sub-customers are recorded, and only those with a value in the field named by Sub Customer Type Custom Field Id. A Free-Form Text value is recorded exactly as entered; for a List/Record field, the name of the selected list value is recorded. An ID NetSuite does not recognize makes the company transfer fail (NETS-EXTN-1018); a value that is not a valid field ID is ignored, as if the setting were blank.
Integration-Specific Caveats
"NetSuite …" round-trip convention. NetSuite-specific attributes are captured into the identically named custom fields read back by the FROM direction (see Custom Field Support).
Parent record is created for you. If the company belongs to a parent company or customer not yet in iPaaS.com, the integration imports that parent automatically as a prerequisite during capture (linked to an existing iPaaS.com record with the same email address, or otherwise transferred); a failure blocks the company — you do not pre-create it.
Sub-customers are imported for you, or skipped. When sub-customers are recorded, a sub-customer not yet in iPaaS.com is imported before the company the same way. One that iPaaS.com cannot import (for example an individual sub-customer with no email address, which iPaaS.com requires on every customer) is skipped: its relationship is not recorded, a warning (NETS-EXTN-1020) is written to the company transfer's activity log, and the company and its other relationships still transfer.
Every relationship is marked primary by default. The parent relationship and every sub-customer relationship are recorded with IsPrimary set to true. Change the IsPrimary mapping on Add/Update NetSuite Company Sub Customer Relationship TO iPaaS.com to fit your implementation, for example to false so only the company's parent relationship is primary.
Customer pricing becomes iPaaS.com categories. A NetSuite company's pricing group and/or price level — the things that set the prices that company sees — are captured as iPaaS.com customer categories. The Customer Company Pricing Source setting, in the NetSuite subscription's Subscription Settings in iPaaS.com, controls which is used:
PRICE_GROUP_ONLY(the default — pricing group only),PRICE_LEVEL_ONLY(price level only, with an optional Default Price Level fallback),GROUP_THEN_LEVEL(pricing group, else price level), orLEVEL_THEN_GROUP(price level, else pricing group). You do not need to pre-create these categories — the integration creates the matching iPaaS.com customer category automatically as a prerequisite during capture; they can also be bulk-loaded via Add/Update NetSuite Customer Pricing Group TO iPaaS.com.
Setup Requirements
Control Fields and Required Configuration
Subsidiary filter — placeholder. The capture filter is hardcoded to the subsidiary named Parent Company; replace it with your subsidiary (or broaden it) so the companies you intend to capture are not silently excluded.
Customer Company Pricing Source (and the optional Default Price Level fallback) — found in the NetSuite subscription's Subscription Settings in iPaaS.com. Controls whether a company's NetSuite pricing group, price level, or one-then-the-other becomes the iPaaS.com categories (
PRICE_GROUP_ONLYdefault,PRICE_LEVEL_ONLY,GROUP_THEN_LEVEL,LEVEL_THEN_GROUP).Sub Customer Type Custom Field Id: found in the NetSuite subscription's Subscription Settings in iPaaS.com. Names the NetSuite customer custom field (for example custentity_web_user_type) whose value labels each sub-customer relationship (for example Authorized Buyer). Leave it blank to not record sub-customers. Setup steps: NetSuite Connections and Settings, Recording a company's sub-customers.
NetSuite … custom fields: create the iPaaS.com custom fields you want to retain.
Inbound Data Flows + webhook scripts: enable the NetSuite company 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 company is captured — on demand from the Manual Sync page, or automatically on
company/created/company/updatedevents when Inbound Data Flows and the webhook scripts are in place.The subsidiary filter admits only companies in the configured subsidiary.
If the company's parent customer or company is not yet in iPaaS.com, the integration imports it first: it is linked to an existing iPaaS.com record with the same email address, or otherwise transferred. If that import fails, the company transfer fails (NETS-EXTN-1004 for a parent company, NETS-EXTN-1019 for a parent individual customer).
When Sub Customer Type Custom Field Id is set, the integration reads the company's direct sub-customers from NetSuite and keeps each one that has a value in that field. Any of them not yet in iPaaS.com is imported the same way; a sub-customer that cannot be imported is skipped with a warning (NETS-EXTN-1020) and the company carries on.
The company's pricing group and/or price level are created as iPaaS.com customer categories as needed, per the Customer Company Pricing Source setting.
The integration creates or updates the iPaaS.com company (matched by external ID, then by the captured NetSuite id), capturing the NetSuite-specific attributes into the NetSuite … custom fields, and transfers the address and relationship children: the parent relationship, and one relationship for each recorded sub-customer.
Mappings
The address child has no filter. The two relationship children are split by filter: Add/Update NetSuite Company Relationship TO iPaaS.com records the company's parent, and Add/Update NetSuite Company Sub Customer Relationship TO iPaaS.com records its sub-customers, so each relationship is recorded once. The subsidiary value in the parent filter is a placeholder to replace.
Add/Update NetSuite Customer Company TO iPaaS.com
iPaaS.com data type: Customer Company
Mapping Filter
var subsidiaryId = await GetSubsidiaryIdByName("Parent Company");
if(subsidiaryId != null && Subsidiary_Id != null && Subsidiary_Id == subsidiaryId)
return true;
else
return false;Filter Description. Resolves the internal ID of a named subsidiary, then captures the company only when its subsidiary matches; all other companies are skipped. Placeholder value — replace during implementation: Parent Company is an example subsidiary name — replace it with your subsidiary so the companies you intend to capture are not silently excluded.
Captures a NetSuite company (organization) customer into iPaaS.com, storing NetSuite-specific attributes in iPaaS.com "NetSuite …" custom fields.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Field | CompanyName | Name | Required. The company name captured from NetSuite; identifies the company in iPaaS.com. |
Field | EmailAddress | Recommended. The company's email; the key used to match companies between systems. | |
Field | Phone | PhoneNumber | Optional. The company's phone number captured from NetSuite. |
Field | Fax | FaxNumber | Optional. The company's fax number captured from NetSuite (company-only). |
Dynamic Formula |
| Categories | Optional. Converts the company's category, and optionally pricing group / price level, into iPaaS.com categories per the Customer Company Pricing Source setting. |
Field | Phone | NetSuite Phone | Optional. Capture side of the round-trip; stores the phone in the iPaaS.com NetSuite Phone custom field. |
Field | MobilePhone | NetSuite Mobile Phone | Optional. Captures the mobile phone into the NetSuite Mobile Phone custom field. |
Field | HomePhone | NetSuite Home Phone | Optional. Captures the home phone into the NetSuite Home Phone custom field. |
Field | AltPhone | NetSuite Alt Phone | Optional. Captures the alternate phone into the NetSuite Alt Phone custom field. |
Field | AltEmail | NetSuite Alt Email | Optional. Captures the alternate email into the NetSuite Alt Email custom field. |
Field | Title | NetSuite Title | Optional. Captures the title into the NetSuite Title custom field. |
Field | AccountNumber | NetSuite Account Number | Optional. Captures the account number into the NetSuite Account Number custom field. |
Field | Url | NetSuite URL | Optional. Captures the website URL into the NetSuite URL custom field. |
Field | ShipComplete | NetSuite Ship Complete | Optional. Captures the "ship complete" preference into the NetSuite Ship Complete custom field. |
Field | IsInactive | NetSuite Is Inactive | Optional. Captures whether the company is inactive into the NetSuite Is Inactive custom field. |
Field | Subsidiary_Id | NetSuite Subsidiary | Optional. Captures the subsidiary into the NetSuite Subsidiary custom field; the FROM direction reads this same field, so a round-tripped company keeps its subsidiary. |
Add/Update NetSuite Customer Company Address TO iPaaS.com
iPaaS.com data type: Customer Company Address
Captures the NetSuite company's address into iPaaS.com, storing NetSuite-specific attributes in "NetSuite …" custom fields.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Field | Addr1 | Address1 | Recommended. The first address line captured from NetSuite. |
Field | Addr2 | Address2 | Optional. The second address line. |
Field | Addr3 | Address3 | Optional. The third address line. |
Field | City | City | Recommended. The city. |
Field | State | Region | Recommended. The state/region. |
Field | Country_RefName | Country | Recommended. The country. |
Field | Zip | PostalCode | Recommended. The postal/ZIP code. |
Field | AddrPhone | PhoneNumber | Optional. The address phone number. |
Field | IsPrimaryBilling | IsPrimaryBilling | Recommended. Whether this is the primary billing address. |
Field | IsPrimaryShipping | IsPrimaryShipping | Recommended. Whether this is the primary shipping address. |
Static |
| PreventDuplicate | Control. Tells iPaaS.com to avoid creating a duplicate address row on repeated syncs; keep |
Dynamic Formula |
| Company | Optional. The company name on the address, from the parent company. |
Dynamic Formula |
| FirstName | Optional. The recipient first name, extracted from the NetSuite addressee. |
Dynamic Formula |
| LastName | Optional. The recipient last name, extracted from the addressee. |
Field | Addressee | NetSuite Addressee | Optional. Captures the addressee into the NetSuite Addressee custom field. |
Field | Attention | NetSuite Address Attention | Optional. Captures the attention line into the NetSuite Address Attention custom field. |
Field | AddrText | NetSuite Address Text | Optional. Captures the full formatted address text into the NetSuite Address Text custom field. |
Field | ExternalId | NetSuite Address ExternalId | Optional. Captures the address external ID into the NetSuite Address ExternalId custom field. |
Field | Override | NetSuite Override | Optional. Captures the address override flag into the NetSuite Override custom field. |
Add/Update NetSuite Company Relationship TO iPaaS.com
iPaaS.com data type: Company Relationship
Captures a NetSuite company's parent relationship (the customer or company it is related to) into iPaaS.com.
Mapping Filter
Type == null;
Filter Description. Records only the company's own parent, which carries no sub-customer type. Sub-customers carry a type and are recorded by Add/Update NetSuite Company Sub Customer Relationship TO iPaaS.com instead.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| RelatedToId | Required. Identifies the company's parent customer or company in iPaaS.com, resolved from the parent's NetSuite record. A parent not yet in iPaaS.com is imported automatically before the company. |
Dynamic Formula |
| Type | Recommended. The relationship type — Parent Customer when the related record is an individual, Parent Company when it is a company. |
Static |
| IsPrimary | Control. Marks this as the primary relationship. |
Add/Update NetSuite Company Sub Customer Relationship TO iPaaS.com
iPaaS.com data type: Company Relationship
Records each of a NetSuite company's sub-customers that has a value in the field named by Sub Customer Type Custom Field Id, linked to the sub-customer's own iPaaS.com record. Records nothing while that setting is blank.
Mapping Filter
Type != null;
Filter Description. Records only relationships that carry a sub-customer type: the company's sub-customers. The company's own parent is left to Add/Update NetSuite Company Relationship TO iPaaS.com.
Mapping Type | Source Field (NetSuite) | Destination Field (iPaaS.com) | Description |
Dynamic Formula | (same formula as the parent relationship) | RelatedToId | Required. Identifies the sub-customer's record in iPaaS.com (an individual customer, or a company when the sub-customer is itself a company), found through the sub-customer's NetSuite internal ID. A sub-customer not yet in iPaaS.com is imported automatically before the company. |
Field | Type | Type | Required. The sub-customer's value in the configured custom field (for example Authorized Buyer); for a List/Record field, the selected list value's name. Sub-customers without a value are not recorded. |
Static |
| IsPrimary | Optional. Marks the sub-customer relationship as primary. Ships as |
Error Handling
Company skipped by the subsidiary filter: a company in a non-matching subsidiary is silently skipped. Resolution: if expected companies are missing, update the subsidiary in the filter.
Parent could not be imported (NETS-EXTN-1004 for a parent company, NETS-EXTN-1019 for a parent individual customer): the parent imported ahead of the company failed, so the company was not transferred. Resolution: transfer the parent on its own (Manual Sync with its NetSuite internal ID from the message) to see its own error, resolve it, then transfer the company again.
Sub-customers could not be loaded (NETS-EXTN-1018): the Sub Customer Type Custom Field Id setting names a field NetSuite does not recognize, or NetSuite rejected the sub-customer lookup, so the company was not transferred. Resolution: correct or clear the setting, then transfer the company again.
Sub-customer skipped (NETS-EXTN-1020, an activity-log warning): a sub-customer could not be imported, so its relationship was not recorded; the company still transferred. Resolution: correct the sub-customer in NetSuite (for example add a missing email address to an individual sub-customer), then transfer the company again.
See NetSuite Error Messages for every code.
Testing & Validation
Test Scenarios
Capture a company. Manually sync a NetSuite company (in the configured subsidiary) and confirm the iPaaS.com company is created with name, email, phone/fax, and the NetSuite … attributes.
Update. Re-sync and confirm the existing iPaaS.com company is updated.
Subsidiary filter. Confirm a company in another subsidiary is skipped, then captured after updating the filter.
Address + relationship. Confirm the address and parent relationship children transfer.
Round-trip. Confirm the NetSuite … custom fields are populated for a subsequent FROM-iPaaS sync.
Sub-customers, setting blank. With Sub Customer Type Custom Field Id blank, transfer a company that has sub-customers in NetSuite and confirm it transfers with only its parent relationship (if any).
Sub-customers, setting configured. Set it to your field's ID, give one sub-customer a value and leave another blank, transfer the company, and confirm exactly one sub-customer relationship is recorded, typed with that value and linked to the sub-customer's iPaaS.com record.
Sub-customer not yet in iPaaS.com. Confirm a sub-customer that has never been transferred is imported first and then linked.
Unknown field ID. Set the ID to a field that does not exist on the customer record and confirm the company transfer fails with NETS-EXTN-1018; clear it and confirm the company transfers again.
Validation Checklist
The subsidiary filter names your subsidiary (not the
Parent Companyplaceholder).Sub Customer Type Custom Field Id is blank, or names a Free-Form Text or List/Record field on the NetSuite customer record.
The Customer Company Pricing Source setting is configured for how categories should resolve.
The NetSuite … custom fields exist in iPaaS.com to retain the attributes.
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 Add/Update NetSuite Customer Company FROM iPaaS.com.
Individual (person) customers are documented separately under Add/Update NetSuite Customer TO iPaaS.com.
Known limitations affecting customers will be collected in NetSuite Known Limitations.
Related Documents
Related Mapping Documentation
