Netsuite
NetSuite is a cloud-based Software as a Service (SaaS) business management platform. It consists of a suite of applications that help companies run their business, understand the performance of their businesses and drive major efficiency gains and cost savings.
In order to integrate NetSuite with Relyance AI you will need a Certificate ID, Account ID, and Client ID.
This integration requires you to generate a Machine to Machine security certificate in Relyance and upload it into NetSuite to access your Relyance scan application.
In the Relyance AI application (part 1):
We will now generate a Machine to Machine security certificate to be used in NetSuite.
- Login to your Relyance account.
- Navigate to the Settings Menu in the bottom left-hand side.
- Select Integrations.
- Click on the Vendor Integration tab.
- Find the NetSuite integration card and click it to open its connections.
- Under Authentication Method, choose Machine to Machine.

- In the Certificate field click Generate Certificate.
- This will open a prompt dialog. Enter the following: Algorithm: Choose one of the available options. Validity (days): Choose the length of time this certificate is valid for - Maximum 2 years (730 days).

If you've previously created a Certificate and Key, use the Import Existing Certificate and Key checkbox and you'll be given the option to upload them 10. Click Generate. 11. Download both Certificate and Key. 12. Leave this webpage open to continue the integration in part 2
In NetSuite:
We'll begin by creating an OAuth2 application in NetSuite
- Login to your NetSuite account
- The Account ID will be the ID found in your NetSuite URL. Copy this to be used in Relyance
- On the homepage navigation menu click the Setup dropdown menu item and select Company> Enable Features
- This will bring you to the Enable Features page. On this page there is a second navigation menu bar, click the SuiteCloud item
- Scroll to the SuiteTalk (Web Services) section and enable the REST WEB SERVICES checkbox
- Scroll down to Manage Authentication and enable the OAUTH 2.0 checkbox
- On NetSuite portal, Go to Setup/Company/Enable Features and on tab Analytics check the option SuiteAnalytics Workbook
- Click Save at the bottom of the page
- Click the Setup dropdown menu item and select Integration> Manage Integrations
- Click the NEW button
- Fill out the form with the following values:
- NAME: Provide a meaningful name (e.g. Relyance Scan)
- STATE: Enabled
- TBA: AUTHORIZATION FLOW: Uncheck
- TOKEN-BASED AUTHENTICATION: Uncheck
- AUTHORIZATION CODE GRANT: Uncheck
- CLIENT CREDENTIALS (MACHINE TO MACHINE) GRANT: Check
- REST WEB SERVICES: Check
- RESTLETS: Check
- Click Save
- This will add a section with your newly created Client ID and Client Secret. Copy the Client ID to be used in Relyance Now that we've generated the Machine to Machine certificate (on Relyance), we will associate it to the application we created.
- Create a new role (Setup --> Users/Roles --> Manage Roles --> New)
Define a name, select Classic Center on Center Type, check All on Subsidiary Restrictions
Scroll down for Permission session
- On Transactions tab add these items









| Permission | Level |
|---|---|
| Access Payment Audit Log | View |
| Audit trial | View |
| Automated Cash Application | Full |
| Bill purchase orders | View |
| Calculate Time | View |
| Cardholder Authentication | View |
| Cardholder Authentication Event | View |
| Cash Sale | View |
| Cash Sale Refund | View |
| Check | View |
| Copy Budgets | View |
| Customer Deposit | View |
| Customer Payment | View |
| Customer Refund | View |
| Deposit | View |
| Deposit Application | View |
| Estimate | View |
| Expense Report | View |
| Finance Charge | View |
| Find Transaction | View |
| Fulfil Orders | View |
| Invoice | View |
| Invoice Sales Orders | View |
| Item Fulfilment | View |
| Item Receipt | View |
| Journal Approval | View |
| Make Journal Entry | View |
| Opportunity | View |
| Pay Bils | View |
| Purchase Order | View |
| Receive Order | View |
| Receive Returns | View |
| Refund Returns | View |
| Return Authorization | View |
| Sales Order | View |
| Sales Order Approval | View |
| Vendor Bill Approval | View |
| Vendor Payment Approval | View |
| Vendor Return Auth Approval | View |
| Vendor Return Authorization | View |
| Vendor Return | View |
| View Payment Events | View |
| View Payment Result Previews | View |
| 2. On Reports tab add these items |
| Permission | Level |
|---|---|
| Account Detail | View |
| Accounts Payable | View |
| Cash Flow Statement | View |
| Employee Reminders | View |
| Expenses | View |
| Financial Statements | View |
| Purchase Order Reports | View |
| Purchases | View |
| Return Authorization Reports | View |
| Sales | View |
| Sales By Partner | View |
| Sales By Promotion | View |
| Sales Order Fulfilment Reports | View |
| Sales Order Reports | View |
| Sales Order Transaction Report | View |
| SuiteAnalytics Workbook | Edit |
| Tax | View |
| Transaction Detail | View |
On Lists tab add these items
On Setup tab add these items
Save the changes
Associate the role created with the user that will be used to setup (Setup --> Users/Roles --> Manage Users)
- In the session Access add the new role and save the changes
Click the Setup dropdown menu item and select Integration > OAuth 2.0 Client Credentials (M2M) Setup
- On this page click the Create New button
- In the resulting dialog select:
- ENTITY: Choose the user selected in the previous step (NetSuite - Step 15)
- ROLE: Choose the Role created in previous step (NetSuite - Step 14)
- APPLICATION: The name of the OAuth2 application created in the previous step (NetSuite - Step 9)
- CERTIFICATE: The certificate file created from Relyance integrations page (Relyance Part 1- Step 10)
- Once filled out click Save.
- When the application back to the list page, search for register created (sorting by Created At)
- Copy the Certificate ID from the credentials page



In the Relyance AI application (part 2):
Now that the application has been created and the security certificate associated with it, we can complete our Relyance integration.
- Return to the NetSuite integration page in Relyance.
- If processing DSRs, click the Process DSRs checkbox.
- Paste: Certificate ID: NetSuite - Step 16 --> Sub-step - 5 Account ID: NetSuite - Step 2 Client ID: NetSuite - Step 13 If you've closed this page, you'll need to upload your previously created certificate and key file.
- Click Authenticate.
- This will bring up NetSuite page to allow Relyance permissions to connect. Click Allow.
- At this point, you should see the following result on the Vendor Integrations page:
- Congratulations, you are now connected to NetSuite.



Verify the connection is really working
- REST Web Services must be enabled on the account. Under Setup › Company ›
Enable Features › SuiteCloud, both REST Web Services and OAuth 2.0 have
to be on. Without them the token request fails before any permission is
evaluated — the integration requests the
rest_webservicesscope and nothing else, so this is the whole surface. - The role is where scans go empty. Authentication proves the integration user exists; what it can read comes from the role you built and assigned. A role missing a record type omits it silently rather than failing.
- The certificate method needs both halves. Certificate and Certificate ID are separate fields, and the ID is the value NetSuite shows after you upload the certificate — not the certificate's own filename or serial.
- Concurrency is governed by NetSuite, not by us. Maximum Concurrent API Calls defaults to 10; if your account's concurrency limit is lower, requests are rejected with a governance error and the scan looks intermittent. Lower it to match your account tier.
Authentication methods and fields
Pick one of these under Authentication Method on the connection wizard's Authentication step. This table is generated from the integration catalog, so it always matches what the form actually asks for.
| Method | Required | Optional |
|---|---|---|
| Oauth2 / App Token | Account ID, Client ID, Client Secret (secret) |
Maximum Concurrent API Calls |
| Machine to Machine | Certificate (secret), Certificate ID, Account ID, Client ID |
Maximum Concurrent API Calls |
Manage this integration with Terraform
Connections for this integration can be managed as code with the Relyance Terraform provider. Non-secret fields go in auth.params; secret fields go in auth.secrets_wo, which is write-only — never stored in Terraform state. Rotate secrets by bumping auth.secrets_wo_version.
OAuth (browser authorization)
The OAuth (browser authorization) method uses a browser authorization flow, so the connection is created in the Relyance app. Manage it in Terraform afterwards by importing it (terraform import relyance_integration_connection.example netsuite/<connection_id>) or reading it with the relyance_integration_connection data source.
Certificate authentication
resource "relyance_integration_connection" "netsuite_1" {
vendor = "netsuite"
name = "<your connection name>"
auth = {
method = "certificate"
params = {
certificate_id = "<certificate_id>"
account_id = "<account_id>"
client_id = "<client_id>"
data_storage_location = "us"
}
# Secret fields are write-only: sent to Relyance, never stored in state.
secrets_wo = {
certificate = var.netsuite_certificate
}
secrets_wo_version = 1
}
scans = { "data-inspection" = { enabled = true } }
}