DOCS/Connecting NetSuite
⌘K
v1
Integrations

Connecting NetSuite

Connect NetSuite to Elastly with an OAuth 2.0 machine-to-machine (M2M) integration and sync your catalog, costs, customers, and quotes.

Elastly reads your catalog, costs, inventory, customers, and quotes from NetSuite over SuiteTalk REST. Because the sync runs unattended on a schedule, it uses NetSuite's OAuth 2.0 Client Credentials (Machine-to-Machine) grant — there's no browser redirect and no end-user "authorize" step. Authentication is by certificate, and Elastly generates the key pair for you — you only download a public certificate and upload it to NetSuite.

Setup is done once by a NetSuite administrator and takes about ten minutes.

What you'll need

  • NetSuite administrator access — to enable features, create an integration record, set up a role, and upload the certificate.

Enable the required features

Go to Setup → Company → Enable Features → SuiteCloud. Enable Client SuiteScript, Server SuiteScript, and OAuth 2.0, accept the SuiteCloud terms, then save.

Enable Features · SuiteCloud — three items must be checked before saving.

Create the integration record

Go to Setup → Integration → Manage Integrations → New. Name it (e.g. "Elastly"), set State to Enabled, then check the following:

  • Client Credentials (Machine to Machine) Grant — required for M2M
  • REST Web Services — required for SuiteTalk REST
  • Leave Authorization Code Grant unchecked

Save. NetSuite shows a Client ID — copy it now.

Integration record — Client ID appears immediately after saving. Copy it before navigating away.

M2M has no client secret. Authentication is done with a certificate, which you'll add in the steps below.

Create a role for the integration

The integration runs as a NetSuite user whose role can authenticate over OAuth 2.0 and read your data. On that role (Setup → Users/Roles → Manage Roles) add these permissions:

  • Setup → "Log in using OAuth 2.0 Access Tokens" (required)
  • View on Items, Customers, and Transactions
Role · Permissions — the OAuth login permission is mandatory; the others control what data Elastly can read.

Generate the certificate in Elastly

In Elastly, open Integrations → Connect → Oracle NetSuite and click Generate & Download. Elastly creates the key pair and downloads a public certificate file, elastly-netsuite.cer.

The private key stays securely in Elastly — you handle only the public certificate.

The private key never leaves Elastly. You only ever download and share the public certificate file.

Upload the certificate in NetSuite

Go to Setup → Integration → Manage Authentication → OAuth 2.0 Client Credentials (M2M) Setup and click Create New. Fill in:

  • Entity — the user the integration runs as
  • Role — the role you configured above
  • Application — the integration record ("Elastly")
  • Certificate — upload elastly-netsuite.cer

Save. NetSuite generates a Certificate ID — copy it.

M2M Setup — the Certificate ID appears after saving. This is distinct from the Client ID.

Sandbox accounts are isolated: redo this M2M certificate setup in each environment, and again after every sandbox refresh.

Find your Account ID

Your Account ID is under Setup → Company → Company Information (also the subdomain prefix of your NetSuite URL). Production looks like 1234567; sandbox looks like 1234567_SB1.

Finish in Elastly

Back in the Elastly connect dialog, enter your Account ID, Client ID, and Certificate ID, then click Connect to NetSuite. There's no redirect or authorize step — Elastly requests an access token to verify the setup and starts your first sync.

All three values filled — click Connect and Elastly verifies the token and starts syncing.
ValueWhere to find it
Account IDSetup → Company → Company Information
Client IDOn the integration record, right after you save it
Certificate IDAfter you upload elastly-netsuite.cer in the M2M setup

Access tokens are short-lived (60 minutes) with no refresh token; Elastly re-acquires them automatically, so the scheduled sync keeps running unattended.