Skip to main content
All CollectionsSubscriptionsNetSuite
Oracle NetSuite Connections and Settings
Oracle NetSuite Connections and Settings

Connect iPaaS with Oracle NetSuite for efficient data exchange for inventory, customers, and transactions.

Updated over a week ago

How to Connect

Prerequisites

Before you can connect to NetSuite you need to have the prerequisite NetSuite bundle added to your account. Please follow the instructions here for that.

Before configuring your Oracle NetSuite integration, ensure you have:

  • API URL: Constructed in the format https://{AccountID}.suitetalk.api.netsuite.com/services/rest/record/v1.

  • Account ID: Extracted from your NetSuite dashboard URL.

  • Consumer ID, Certificate ID, and Certificate Private Key: Obtained during the authentication setup process.

  • Environment: Only "Production" is supported.

  • Inventory Search Days: Enter 0 for standard inventory polling searches.

Configure Subscription Settings

Follow these steps to configure your subscription in iPaaS, matching the required fields and their descriptions.

Field

Description

Required

Example

Name

Provide a unique name for the subscription.

Yes

Oracle_NetSuite_Integration

Versions

Select the latest version from the dropdown.

Yes

v1.0

Inventory Search Days

Defines the polling window for inventory updates in days.

No

0

Environment

Current valid value is "Production".

No

Production

Consumer ID

Generated during Machine-to-Machine authentication.

Yes

Provided after setup

Account ID

Unique identifier for your NetSuite account.

Yes

td2819981

Certificate Private Key

Key generated during OpenSSL Certificate setup.

Yes

Provided after setup

Certificate ID

Generated during OpenSSL Certificate creation and uploaded in NetSuite.

Yes

Provided after setup

API URL

Base URL for NetSuite API access.

Yes

https://td2819981.suitetalk.api...

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:

      bashCopy codeopenssl req -x509 -newkey rsa:3072 -keyout sw2021d_key.pem -out sw2021d_cert.pem -days 365 –nodes
    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 sw2021d_key.pem and sw2021d_cert.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.

Webhook Script Installation

NOTE: The remaining sections are highly technical and should only be performed by the implementation team.

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. Enable the following options

      3. Enable the 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" }'

Authentication Methods

Integration Setup

  1. Log in to NetSuite:

  2. Navigate to Setup > Integration > Manage Integrations.

    1. Click on New

  3. Define a Name for 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.

Initialization Support

The following types of data 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

Throttling

Throttling ensures that NetSuites’s API isn’t overwhelmed by excessive API calls, preserving system performance during heavy data transfers.

While the throttling fields are required, the values are pre-populated by the integration settings. For more details, refer to Subscription Configuration – Edit.


Did this answer your question?