NetSuite Installation Instructions
Integrate iPaaS.com with NetSuite to synchronize customers, products and inventory, transactions, and related records. This guide covers the first-time setup: installing the NetSuite bundle, subscribing to the integration in iPaaS.com, creating the NetSuite integration record with certificate-based authentication, and installing the supporting NetSuite customizations. For an ongoing reference to each connection field and setting, see NetSuite Connections and Settings.
Install the NetSuite bundle. Before you can connect, the prerequisite IPaaS webhooks bundle must be installed in your NetSuite account. It is a shared bundle — email your NetSuite account number to support@ipaas.com to have it shared with your account, then install it. Full instructions are in The NetSuite iPaaS.com Bundle. Installing the bundle provisions the supporting scripts, custom fields, and custom records described later in this guide.
Credentials and values you will set up during this guide:
Account ID — your NetSuite account identifier (from your NetSuite dashboard URL).
API URL — constructed as
https://{AccountID}.suitetalk.api.netsuite.com/services/rest/record/v1.Consumer ID, Certificate ID, and Certificate Private Key — obtained during the OAuth 2.0 (M2M) and certificate setup below.
Environment — only Production is supported.
Inventory Search Days — enter
0for standard inventory polling.
Installation Instructions for Integration Setup
In iPaaS.com, go to Subscriptions and click Search Certified Integration Marketplace.
Locate the NetSuite integration, open its details page, and click Subscribe.
Name the subscription using the convention
[Product Name] - [Environment/Purpose]— for example, NetSuite - Production.Create Default Mappings — leave this checked to install the standard mapping collections. Uncheck it only if you intend to build your mappings from scratch.
On the Subscription Settings page, enter the connection values (Account ID, API URL, Consumer ID, Certificate ID, Certificate Private Key, Environment, Inventory Search Days). Each field — with examples and whether it is required — is documented in NetSuite Connections and Settings. You will obtain the Consumer ID, Certificate ID, and Certificate Private Key from the NetSuite setup steps below.
Click Apply.
The remaining sections configure NetSuite itself. The recommended order is: (1) create the integration record (Manage Integrations — see Create the NetSuite Integration Record below), (2) generate an SSL certificate, (3) upload the certificate to the OAuth 2.0 Client Credentials (M2M) setup, then (4) enter the resulting Consumer ID, Certificate ID, and Private Key into the iPaaS.com Subscription Settings.
NetSuite Authentication and Certificate Setup
Certificate Generation
The following instructions for generating an SSL are the only ones that have been tested and configured, but other SSL certs should work.
Download OpenSSL:
Visit the Win32 OpenSSL Download Page.
Scroll down the page to find the appropriate version of OpenSSL for your operating system (e.g., Windows/MacOS x64/x86).
Recommendation: Download the full version of the setup instead of the light version. In this example, Win64 OpenSSL v3.2.0 is used.
Install OpenSSL:
Open Command Prompt:
Navigate to the OpenSSL Directory:
Generate Certificate:
Run the following command to generate a certificate:
openssl req -new -x509 -newkey ec -pkeyopt ec_paramgen_curve:secp521r1 -nodes -days 365 -out public.pem -keyout private.pemThe system will prompt you for several optional details during the process (e.g., country, organization name). You can skip fields by leaving them blank if not needed.
Locate the Generated Certificate:
Certificate Upload
Navigate to OAuth 2.0 Client Credentials Setup
Create a New Credential Mapping
Provide Entity and Role Details
Save and Verify
Credential Details
Supporting NetSuite Customizations
Note: The IPaaS webhooks bundle installs these scripts, custom fields, and custom records automatically when you install it (see Before You Begin). The details below are provided for the implementation team to verify or manually configure them. These steps are highly technical and should only be performed by the implementation team.
Webhook Script Installation
Navigate to Script Manager
Upload the Webhook Script
Configure Script Details
Set the script type to User Event.
Enable the After Submit Function.
Assign a meaningful script name, such as
"OTG-iPaaS Notify Sync UE".
Add Script Parameters
Define the following parameters to manage webhook subscriptions:
Deploy to Modules
The script must be deployed to the following modules with relevant deployment triggers (e.g., After Submit):
Customer
Inventory Part
Kit Item
Location
Payment Method
Sales Order
Shipping Item
During execution, the script queries custom records to determine the appropriate:
Webhook URL
Access Token
Subscription Configuration
This ensures that webhook events are triggered only for valid subscription settings.
Custom Restlet Installation
Webhook Manager Script
A script that manages webhook subscriptions must be installed in Customization → Scripting → Scripts to provide an endpoint for subscribing and unsubscribing to NetSuite webhook events.
Script Type: RESTlet
Script Name: OTG-iPaaS Webhook Manager
Supported Methods:
GET FUNCTION
POST FUNCTION
DELETE FUNCTION
PUT FUNCTION
Example Usage
GET Request:
URL:
https://<your_netsuite_instance>/app/site/hosting/restlet.nl?script=customscript_otg_ipaas_webhook_manager&deploy=customdeploy_otg_ipaas_webhook_manager
The GET method retrieves all data types or points for which the notifications script is running. Using the scriptdeploymentid returned, you can manage subscription configurations by providing the payload below.
Payload:
{ "id": 245, "custscript_otg_ipaas_create_subscription": false }Sample Response:
{ "isdeployed": "T", "deploymentid": 1, "scriptdeploymentid": 245, "runasrole": 3, "scriptid": "customdeploy_otg_ipaas_customer_sync_ue", "id": 1 }POST Request:
URL:
https://<your_netsuite_instance>/app/site/hosting/restlet.nl?script=customscript_otg_ipaas_webhook_manager&deploy=customdeploy_otg_ipaas_webhook_manager
The POST method creates or updates webhook subscriptions for specific record types.
Payload:
{ "id": 245, "custscript_otg_ipaas_create_subscription": true, "custscript_otg_ipaas_update_subscription": true, "custscript_otg_ipaas_delete_subscription": false }Tax Override Script
This User Event Script is designed to run before and after submission on the Sales Order data type. It applies specific custom field IDs required for tax overrides.
Custom Field IDs:
Sales Order Header:
custbody_otg_ipaas_total_taxcustbody_otg_ipaas_tax_codecustbody_otg_ipaas_tax_rate
Sales Order Line:
custcol_otg_ipaas_tax_codecustcol_otg_ipaas_tax_rate
Note
These scripts must be properly configured and deployed in NetSuite to ensure seamless operation with iPaaS.
Custom Record Installation
iPaaS Authentication Details
A custom record type is required to store global values that will be accessed when sending webhooks to iPaaS.com. These include:
iPaaS Webhook URL
iPaaS Webhook API Key
Configuration Steps
Navigate to Custom Records
Go to Customization > Lists, Records, & Fields > Record Types.
Click New to create a custom record titled iPaaS Auth Details.
Configure Record Settings
Add Required Fields
Add the following fields to the record:
Example API Usage
GET Authorization Details
To retrieve the authorization details used for sending notifications, use the following API request:
bashCopy codeGET https://td2819981.suitetalk.api.netsuite.com/services/rest/record/v1/customrecord_otg_ipaas_auth_details
This request provides the list of entries available for different environments, such as production, sandbox/test, and beta accounts.
PATCH Authorization Details
To update authorization details, use the following API call:
bashCopy codecurl --location --request PATCH 'https://td2819981.suitetalk.api.netsuite.com/services/rest/record/v1/customrecord_otg_ipaas_auth_details/2' \ --header 'Authorization: Bearer eyJraWQiOiJjLlREMq/GUoGYbptrrGtfVT~4342066~3619121' \ --data '{ "custrecord_otg_ipaas_access_token": "ElYhXzUC3Eg0ZGU2YWMzOS1jYTc5LTQ4MzUtYjZlYS0wZmMzODA3MTk3YTRBcGkgVG9rZW4xMzE3NQ=", "custrecord_otg_ipaas_tracking_guid": "edd39777-9124-4ef4-9516-", "custrecord_otg_ipaas_webhook": "https://stagingapi.ipaas.com/hookapi/v2/iPaaS1" }'Create the NetSuite Integration Record
Note: This is the first NetSuite-side step (step 1 in the setup order above) — complete it before generating and uploading your certificate. It creates the integration application and produces the Consumer Key/Secret.
Log in to NetSuite:
URL: NetSuite Login
Navigate to Setup > Integration > Manage Integrations.
Define a Namefor your integration as below.
Configure the following:
Configure the following:
Save the integration, and record the Consumer Key and Consumer Secret.
Post-Installation Verification
After completing the steps above, verify the integration:
Bundle installed — in NetSuite, confirm the IPaaS webhooks bundle appears on the Installed Bundles page (Customization > SuiteBundler > List), and that the webhook User Event script is deployed to the required record types (Customer, Inventory Part, Kit Item, Location, Payment Method, Sales Order, Shipping Item).
Subscription settings applied — in iPaaS.com, confirm the Subscription Settings show your Account ID, API URL, and the Consumer ID / Certificate ID / Certificate Private Key, and that the subscription has been saved with Apply.
Test a record — run a Manual Sync for a single record (for example, a customer or item), then check Dashboard > Integration Monitoring > Error Logs in iPaaS.com to confirm the transfer completed without errors. Error messages and their resolutions are catalogued in NetSuite Error Messages.
Support and Troubleshooting
iPaaS.com API documentation: API Introduction
Support portal: support.ipaas.com
Contact iPaaS.com: ipaas.com/contact-us
Related Documents





































