ERP Integration: Oracle NetSuite
Oracle NetSuite is a 100% cloud-based ERP, widely used by growing companies. The integration is performed via NetSuite’s REST API, using Token-Based Authentication (TBA) — the method recommended by Oracle for integrations.
This article guides you through credential setup and details the reports available from this connector. For step-by-step usage in the data preparation flow — connector selection, credential, report, and parameters — see the ERP Step article.
Credential Setup
Authentication uses Token-Based Authentication (TBA) with OAuth 1.0.
Field | Description | Required |
|---|---|---|
Account ID | NetSuite account ID (e.g., | Yes |
Consumer Key | Consumer key generated in the NetSuite integration | Yes |
Consumer Secret | Consumer secret | Yes |
Token ID | Access token ID generated for the integration user | Yes |
Token Secret | Access token secret | Yes |
Base URL | Custom base URL, if applicable (optional) | No |
How to obtain credentials in NetSuite: 1. Go to Setup → Integration → Manage Integrations and create a new integration with TBA enabled 2. Note the Consumer Key and Consumer Secret 3. Go to Setup → Users/Roles → Access Tokens and generate a token for the integration user 4. The Account ID is available under Setup → Company → Company Information
Available Reports
Module: Administration
Subsidiaries
Returns the subsidiaries (companies) registered in the NetSuite account.
Filter parameters: No additional parameters.
Returned fields:
Field | Description |
|---|---|
id | Internal ID |
name | Subsidiary name |
legalname | Legal name |
country | Country |
currency | Base currency |
isinactive | Inactive? |
federalidnumber | CNPJ/EIN |
stateidnumber | State registration |
Locations / Branches
Returns the locations registered in NetSuite.
Filter parameters: No additional parameters.
Returned fields:
Field | Description |
|---|---|
id | Internal ID |
name | Name |
fullname | Full name (with hierarchy) |
isinactive | Inactive? |
mainaddress | Main address |
Module: Inventory
Inventory Items
Returns the product and inventory item records from NetSuite.
Filter parameters: No additional parameters.
Returned fields:
Field | Description |
|---|---|
id | Internal ID |
itemid | Item code |
displayname | Display name |
itemtype | Item type |
baseprice | Base price |
cost | Cost |
isinactive | Inactive? |
datecreated | Creation date |
lastmodifieddate | Last modified |
Module: Accounting
Chart of Accounts
Returns the accounts registered in NetSuite.
Filter parameters: No additional parameters.
Returned fields:
Field | Description |
|---|---|
id | Internal ID |
acctnumber | Account number |
acctname | Account name |
accttype | Account type |
isinactive | Inactive? |
description | Description |
parent | Parent account (hierarchy) |
currency | Currency |
balance | Current balance |
Accounting Entries
Returns NetSuite journal entries.
Filter parameters:
Parameter | Description | Required |
|---|---|---|
q | Text search filter (e.g., | No |
Returned fields:
Field | Description |
|---|---|
id | Internal ID |
tranid | Entry number |
trandate | Entry date |
postingperiod | Accounting period |
memo | Memo |
subsidiary | Subsidiary |
currency | Currency |
SuiteQL Query
Allows SQL queries to be run directly against the NetSuite database via SuiteQL — an advanced format for custom data extraction.
Parameters:
Parameter | Description | Required |
|---|---|---|
dtIni | Start date for use in the query. Automatically filled with the 1st day of the reference month | No |
dtFim | End date for use in the query. Automatically filled with the last day of the reference month | No |
q | SuiteQL SQL statement. The default value returns transaction lines for the period | Yes |
Default query: `sql SELECT id, transaction, linesequencenumber, account, accountname, trandate, debit, credit, amount, memo, postingperiod, recordtype FROM transactionline WHERE trandate >= '{dtIni}' AND trandate <= '{dtFim}' ORDER BY trandate, linesequencenumber `
Module: Accounts Receivable
Customers
Returns the customer records from NetSuite.
Filter parameters: No additional parameters.
Returned fields:
Field | Description |
|---|---|
id | Internal ID |
entityid | Customer code |
companyname | Legal name |
vatregnumber | CNPJ/VAT |
phone | Phone |
isperson | Is an individual? |
isinactive | Inactive? |
creditlimit | Credit limit |
balance | Outstanding balance |
daysoverdue | Days overdue |
unbilledorders | Unbilled orders |
currency | Currency |
datecreated | Creation date |
lastmodifieddate | Last modified |
Sales Invoices
Returns invoices issued to customers.
Filter parameters:
Parameter | Description | Required |
|---|---|---|
q | Search filter (e.g., | No |
Returned fields:
Field | Description |
|---|---|
id | Internal ID |
tranid | Invoice number |
trandate | Transaction date |
duedate | Due date |
entity | Customer |
status | Status |
statusref | Status (reference) |
subtotal | Subtotal |
taxtotal | Tax total |
total | Total amount |
amountremaining | Outstanding amount |
currency | Currency |
postingperiod | Accounting period |
memo | Memo |
Module: Accounts Payable
Vendors
Returns the vendor records from NetSuite.
Filter parameters: No additional parameters.
Returned fields:
Field | Description |
|---|---|
id | Internal ID |
entityid | Vendor code |
companyname | Legal name |
vatregnumber | CNPJ/VAT |
phone | Phone |
balance | Outstanding balance |
currency | Currency |
isinactive | Inactive? |
datecreated | Creation date |
lastmodifieddate | Last modified |
Vendor Bills
Returns invoices received from vendors.
Filter parameters:
Parameter | Description | Required |
|---|---|---|
q | Search filter | No |
Returned fields: Same as Sales Invoices (with vendor data as the entity).
Fixed Parameters (managed automatically)
Parameter | Default value | Reason |
|---|---|---|
| (preconfigured field list) | Defines the fields returned by the NetSuite REST API, avoiding unnecessary data transfer |
Related articles
ERP Step
Introduction to integrations
Custom integrations via Rest API and SQL connectors