Skip to main content

NetSuite Installation Instructions

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 0 for standard inventory polling.

Installation Instructions for Integration Setup

  1. In iPaaS.com, go to Subscriptions and click Search Certified Integration Marketplace.

  2. Locate the NetSuite integration, open its details page, and click Subscribe.

  3. Name the subscription using the convention [Product Name] - [Environment/Purpose] — for example, NetSuite - Production.

  4. Create Default Mappings — leave this checked to install the standard mapping collections. Uncheck it only if you intend to build your mappings from scratch.

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

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

  1. Download OpenSSL:

    1. Scroll down the page to find the appropriate version of OpenSSL for your operating system (e.g., Windows/MacOS x64/x86).

    2. Recommendation: Download the full version of the setup instead of the light version. In this example, Win64 OpenSSL v3.2.0 is used.

  2. Install OpenSSL:

    1. Run the downloaded setup file and follow the default installation steps.

    2. Leave all options as is unless specific changes are required.

    3. Uncheck all additional options and click Finish after completing the setup.

  3. Open Command Prompt:

    1. Search for "Command Prompt" in the Windows search toolbar.

    2. Right-click and select Run as Administrator.

  4. Navigate to the OpenSSL Directory:

    1. Change the directory to the OpenSSL bin folder using the following command:

      C:\Program Files\OpenSSL-Win64\bin

  5. Generate Certificate:

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

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

  6. Locate the Generated Certificate:

    1. Navigate to the OpenSSL bin directory, where you will find the public.pem and private.pem files.

Certificate Upload

  1. Navigate to OAuth 2.0 Client Credentials Setup

    1. Go to the NetSuite home page, and navigate to: SETUP → INTEGRATION → OAUTH 2.0 CLIENT CREDENTIALS (M2M) SETUP, as shown below:

  2. Create a New Credential Mapping

    1. On the OAuth 2.0 Client Credentials Setup page, click CREATE NEW.

    2. The following popup screen will appear:

  3. Provide Entity and Role Details

    1. Entity: Select the appropriate entity (e.g., "iPaaS Support").

    2. Role: Assign the role "Administrator."

    3. Application: Select the previously created integration application (e.g., iPaaS M2M).

    4. Certificate: Choose the OpenSSL Certificate file from your local machine and upload it to the CERTIFICATE field.

  4. Save and Verify

    1. Click SAVE to save the credential setup.

    2. Refresh the page if necessary to see the newly added credential in the list.

  5. Credential Details

    1. Locate the Certificate ID, Consumer Key, Certificate Private Key generated during the process.

    2. These values will be needed to configure your iPaaS Subscription Settings.

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

  1. Log in to NetSuite.

  2. Navigate to Customization > Scripting > Scripts.

Upload the Webhook Script

  1. Select the User Event Script provided by iPaaS.com.

  2. Upload the script file in the Script File field.

Configure Script Details

  1. Set the script type to User Event.

  2. Enable the After Submit Function.

  3. Assign a meaningful script name, such as "OTG-iPaaS Notify Sync UE".

Add Script Parameters

  1. Define the following parameters to manage webhook subscriptions:

    1. Create Subscription: Checkbox field for subscription creation.

    2. Update Subscription: Checkbox field for modifying subscriptions.

    3. Delete Subscription: Checkbox field for removing 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:

  1. Webhook URL

  2. Access Token

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

  1. Script Type: RESTlet

  2. Script Name: OTG-iPaaS Webhook Manager

  3. Supported Methods:

    1. GET FUNCTION

    2. POST FUNCTION

    3. DELETE FUNCTION

    4. 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:

  1. Sales Order Header:

    1. custbody_otg_ipaas_total_tax

    2. custbody_otg_ipaas_tax_code

    3. custbody_otg_ipaas_tax_rate

  2. Sales Order Line:

    1. custcol_otg_ipaas_tax_code

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

  1. Navigate to Custom Records

    1. Go to Customization > Lists, Records, & Fields > Record Types.

    2. Click New to create a custom record titled iPaaS Auth Details.

  2. Configure Record Settings

    1. Name the record iPaaS Auth Details.

    2. Ensure the following settings are enabled:

      1. Include Name Field

      2. Enablethe following options

      3. Enablethe following options

  3. Add Required Fields
    Add the following fields to the record:

    1. Webhook URL (Free-Form Text)

      1. ID: custrecord_otg_ipaas_webhook

    2. Access Token (Text Area)

      1. ID: custrecord_otg_ipaas_access_token

    3. Tracking GUID (Free-Form Text)

      1. ID: custrecord_otg_ipaas_tracking_guid

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.

  1. Log in to NetSuite:

  2. Navigate to Setup > Integration > Manage Integrations.

    1. Click on New

  3. Define a Namefor your integration as below.

  4. Configure the following:

    1. Uncheck Fields in the following order:

      1. Authorization Flow

      2. Token-Based Authentication

      3. Authorization Code Grant

  5. Configure the following:

    1. Check Fields in the following order:

      1. Client Credentials (M2M) Grant

      2. RESTlets

      3. REST Web Services

  6. Save the integration, and record the Consumer Key and Consumer Secret.

Post-Installation Verification

After completing the steps above, verify the integration:

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

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

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

Related Documents

Did this answer your question?