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.
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.
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
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 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.
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.
| Value | Where to find it |
|---|---|
| Account ID | Setup → Company → Company Information |
| Client ID | On the integration record, right after you save it |
| Certificate ID | After 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.