Skip to main content

NetSuite Connections and Settings

Connect iPaaS.com to NetSuite and configure the integration — credentials, subscription settings, and what each setting controls.

Integrate iPaaS.com with NetSuite to enable seamless data synchronization for customers, products and inventory, transactions, and related records. This article is the ongoing reference for the connection — what each setting does, how authentication works, and what is required. For the first-time, step-by-step setup (including the NetSuite bundle, certificate generation, and the supporting customizations), see NetSuite Installation Instructions.

How to Connect

Prerequisites

Before you can connect to NetSuite, the prerequisite IPaaS webhooks bundle must be installed in your NetSuite account — see The NetSuite iPaaS.com Bundle. The bundle provisions the webhook scripts, custom fields, and custom records the integration relies on.

Configuration Details

You will need the following to connect (all are produced during the NetSuite setup described in NetSuite Installation Instructions):

  • Account ID: your NetSuite account identifier, taken from your NetSuite dashboard URL.

  • API URL: the base URL for NetSuite REST access, in the format https://{AccountID}.suitetalk.api.netsuite.com/services/rest/record/v1.

  • Consumer ID: generated during NetSuite OAuth 2.0 Machine-to-Machine (M2M) authentication setup.

  • Certificate ID: generated when you create and upload your OpenSSL certificate in NetSuite.

  • Certificate Private Key: the private key from your OpenSSL certificate.

  • Environment: only Production is supported.

Configure Subscription Settings

Configure your subscription in iPaaS.com using the fields below. The connection fields at the top are required to establish the NetSuite connection. The remaining fields are optional operational presets — they ship with the integration and only need to be set (or changed from their shipped value) when you use the feature each one controls. Fields are grouped by area: connection, inventory, product and pricing, transactions, and gift certificates.

The NetSuite Subscription Settings page in iPaaS.com

Field

Description

Required

Example

Name

A unique name for the subscription.

Yes

NetSuite - Production

Versions

Select the latest version from the dropdown.

Yes

v1.0

API URL

Base URL for NetSuite REST access.

Yes

Account ID

Unique identifier for your NetSuite account.

Yes

td2819981

Consumer ID

Client (consumer) ID from NetSuite OAuth 2.0 Machine-to-Machine (M2M) setup.

Yes

Provided after setup

Certificate ID

ID of the OpenSSL certificate you created and uploaded in NetSuite.

Yes

Provided after setup

Certificate Private Key

Private key from your OpenSSL certificate.

Yes

Provided after setup

Environment

Deployment environment. Only Production is currently supported.

No

Production

Inventory Search Days

Polling window, in days, used when checking NetSuite for inventory updates.

No

1

Inventory SuiteQL Table Name

Name of the NetSuite SuiteQL table the integration queries for inventory balances. Required if you synchronize inventory — inventory transfers fail with an error when it is blank.

Conditional (required to sync inventory)

InventoryBalance

Compare With QtyOnHand

Set to true to compare quantities against NetSuite's Quantity On Hand before applying an inventory update.

No

true

USE BINS (TRUE/FALSE)

Set to true to process bin-level inventory for bin-managed items.

No

false

Poll Time Adjustment

A whole number of hours to shift the inventory polling window back, correcting for a time-zone difference between your NetSuite account and iPaaS.com. iPaaS.com records each inventory poll in UTC, while NetSuite records an item's last inventory-change time in your NetSuite account's time zone; when the two differ, a recent change can fall just outside the window a poll checks and be missed until the item changes again. Set it to the number of hours your NetSuite account time is behind UTC. Leave blank unless inventory updates are being missed. See Correcting missed inventory updates below.

No

4

CATEGORY LIST ID

Internal ID of the NetSuite custom list that holds your product categories. Set it to capture product categories (and their parent categories) onto products.

No

customlist_ag_commerce_categories_list

CHECK PRODUCT DUPLICATION BY

How an incoming product is matched to an existing NetSuite item. Leave blank to match by SKU only; set it to combine SKU and name (for example Sku+Name, or a value beginning with Name+ to match on name first).

No

Sku+Name

Customer Pricing Source

Controls whether an individual customer's NetSuite pricing group, price level, or one-then-the-other is captured into iPaaS.com customer categories: PRICE_GROUP_ONLY (default) uses the pricing group only; PRICE_LEVEL_ONLY uses the price level only (with the Default Price Level fallback below); GROUP_THEN_LEVEL uses the pricing group, otherwise the price level; LEVEL_THEN_GROUP uses the price level, otherwise the pricing group. See NetSuite Customer To iPaaS.com Mapping Documentation.

No

PRICE_GROUP_ONLY

Customer Company Pricing Source

The same pricing-source choice, applied to company (organization) customers.

No

GROUP_THEN_LEVEL

Default Price Level

Price level captured as a fallback when a customer has no specific price level; used with the price-level pricing sources above.

No

Base Price

Price List Field Separator

Character that separates the fields within a single price entry when price lists are formatted.

No

,

Price List Record Delimiter

Character that separates one price entry from the next when price lists are formatted.

No

|

Sales Order Duplicate Matching Field

The NetSuite Sales Order field the integration queries to find an existing order by its transaction number, preventing duplicate orders. Set it to a queryable field such as otherRefNum. Leave blank to rely only on the stored external-ID link.

No

otherRefNum

Gift Certificate Poll Search Days

Polling window, in days, used when checking NetSuite for gift-certificate updates. Defaults to 5 when left blank.

No

5

Exclude RMA lines by Internal Item IDs

A comma-separated list of NetSuite internal item IDs to leave off a Return Merchandise Authorization (RMA). When an order is returned, the integration adds the order's non-returned items to the RMA as zero-quantity lines so it reflects the full original order; some item types (for example certain non-inventory or service items) cannot be sent with a quantity of zero and would cause the RMA to fail. List those items' internal IDs here so they are omitted from the RMA instead. An item's Internal ID is shown on the item record in NetSuite under Lists → Items → Items. Leave blank if no items need to be excluded.

No

12724, 8180

Most of these presets ship with a starter value in the integration template. Review the ones for the features you use — inventory, product categories, pricing, and duplicate matching in particular — and replace any placeholder value with the value for your NetSuite account before go-live. If you are unsure of a setting's effect, consult your MiSP (Managed Integration Service Provider) or implementation partner before changing it on a live subscription.

Correcting missed inventory updates

If inventory changes in NetSuite are not consistently reflected in iPaaS.com, the cause is usually a time-zone difference between your NetSuite account and iPaaS.com. iPaaS.com timestamps each inventory poll in UTC, while NetSuite timestamps an item's last inventory-change in your NetSuite account's time zone. When those clocks differ, a change made shortly before a poll can fall just outside the window the poll checks and be skipped until the item changes again. The Poll Time Adjustment setting corrects this by shifting the polling window back by a fixed number of hours.

To determine and confirm the correct value:

  1. Find your NetSuite time zone. In NetSuite, the account default is under Setup → Company → General Preferences → Time Zone. Each user's own time zone is under Home → Set Preferences → General → Time Zone — inventory-change times are read in the time zone of the user connected to iPaaS.com.

  2. Compare it to UTC. The adjustment is the number of whole hours your NetSuite time is behind UTC — for example, US Eastern is about 4–5 hours and US Pacific about 7–8 hours behind UTC (the exact figure depends on daylight saving time).

  3. Confirm it with your own data (optional). Add a formula mapping to your inventory Update To iPaaS.com mapping collection whose formula returns the current UTC time — return DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm"); — and map it to a field you can view in iPaaS.com. After an inventory sync, compare that UTC value to the same item's Last Quantity Available Change time in NetSuite; the whole-hour difference between them is your Poll Time Adjustment.

  4. Set the value in Poll Time Adjustment, then confirm the previously missed changes now transfer.

Because the value is a fixed whole number of hours, revisit it whenever daylight saving time changes your offset from UTC.

Authentication Methods

NetSuite authentication uses OAuth 2.0 Client Credentials (Machine-to-Machine) with a client certificate:

  1. A NetSuite integration record is created with Client Credentials (M2M) Grant, RESTlets, and REST Web Services enabled.

  2. An OpenSSL certificate is generated and uploaded to NetSuite's OAuth 2.0 Client Credentials (M2M) Setup, mapped to the integration application and an Administrator role.

  3. NetSuite returns a Consumer ID, Certificate ID, and Certificate Private Key, which are entered into the iPaaS.com Subscription Settings above. iPaaS.com uses them to obtain an access token for each NetSuite REST call.

The complete, step-by-step certificate generation and upload procedure (with screenshots) is in NetSuite Installation Instructions. To rotate credentials, generate a new certificate, upload it in NetSuite, and update the Certificate ID and Certificate Private Key in the Subscription Settings.

Initialization Support

The following reference data types support initialization and can be transferred in bulk:

  • Alternate Id Type TO iPaaS.com

  • Customer Category TO iPaaS.com

  • Location TO iPaaS.com

  • Payment Method TO iPaaS.com

  • Shipping Method TO iPaaS.com

Other record types — customers, products and the other item types, and transactions — are not bulk-initialized; they transfer on demand from the Manual Sync page or on their create/update events. See NetSuite Known Limitations for details.

Throttling

Throttling ensures NetSuite's API is not overwhelmed by excessive API calls, preserving system performance during heavy data transfers. The throttling fields are required, but their values are pre-populated by the integration settings. For more details, see Subscription Configuration – Edit.

Related Documents

Did this answer your question?