HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/agentcloud/airbyte/docs/integrations/sources/netsuite.md
# Oracle Netsuite

One unified business management suite, encompassing ERP/Financials, CRM and ecommerce for more than 31,000 customers.

This connector implements the [SuiteTalk REST Web Services](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/chapter_1540391670.html) and uses REST API to fetch the customers data.

## Prerequisites
* Oracle NetSuite [account](https://system.netsuite.com/pages/customerlogin.jsp?country=US)
* Allowed access to all Account permissions options

## Airbyte OSS and Airbyte Cloud
* Realm (Account ID)
* Consumer Key
* Consumer Secret
* Token ID
* Token Secret

## Setup guide
### Step 1: Create NetSuite account

1. Create [account](https://system.netsuite.com/pages/customerlogin.jsp?country=US) on Oracle NetSuite
2. Confirm your Email

### Step 2: Setup NetSuite account
#### Step 2.1: Obtain Realm info
1. Login into your NetSuite [account](https://system.netsuite.com/pages/customerlogin.jsp?country=US)
2. Go to **Setup** » **Company** » **Company Information**
3. Copy your Account ID (Realm). It should look like **1234567** for the `Production` env. or **1234567_SB2** - for a `Sandbox`
#### Step 2.2: Enable features
1. Go to **Setup** » **Company** » **Enable Features**
2. Click on **SuiteCloud** tab
3. Scroll down to **SuiteScript** section
4. Enable checkbox for `CLIENT SUITESCRIPT` and `SERVER SUITESCRIPT`
5. Scroll down to **Manage Authentication** section
6. Enable checkbox `TOKEN-BASED AUTHENTICATION`
7. Scroll down to **SuiteTalk (Web Services)**
8. Enable checkbox `REST WEB SERVISES`
9. Save the changes
#### Step 2.3: Create Integration (obtain Consumer Key and Consumer Secret)
1. Go to **Setup** » **Integration** » **Manage Integrations** » **New**
2. Fill the **Name** field (we recommend to put `airbyte-rest-integration` for a name)
3. Make sure the **State** is `enabled`
4. Enable checkbox `Token-Based Authentication` in **Authentication** section
5. Save changes
6. After that, **Consumer Key** and **Consumer Secret** will be showed once (copy them to the safe place)
#### Step 2.4: Setup Role
1. Go to **Setup** » **Users/Roles** » **Manage Roles** » **New**
2. Fill the **Name** field (we recommend to put `airbyte-integration-role` for a name)
3. Scroll down to **Permissions** tab
4. (REQUIRED) Click on `Transactions` and manually `add` all the dropdown entities with either `full` or `view` access level.
5. (REQUIRED) Click on `Reports` and manually `add` all the dropdown entities with either `full` or `view` access level.
6. (REQUIRED) Click on `Lists` and manually `add` all the dropdown entities with either `full` or `view` access level.
7. (REQUIRED) Click on `Setup` and manually `add` all the dropdown entities with either `full` or `view` access level.
* Make sure you've done all `REQUIRED` steps correctly, to avoid sync issues in the future.
* Please edit these params again when you `rename` or `customise` any `Object` in Netsuite for `airbyte-integration-role` to reflect such changes.

#### Step 2.5: Setup User
1. Go to **Setup** » **Users/Roles** » **Manage Users**
2. In column `Name` click on the user’s name you want to give access to the `airbyte-integration-role`
3. Then click on **Edit** button under the user’s name
4. Scroll down to **Access** tab at the bottom
5. Select from dropdown list the `airbyte-integration-role` role which you created in step 2.4
6. Save changes

#### Step 2.6: Create Access Token for role
1. Go to **Setup** » **Users/Roles** » **Access Tokens** » **New**
2. Select an **Application Name**
3. Under **User** select the user you assigned the `airbyte-integration-role` in the step **2.4**
4. Inside **Role** select the one you gave to the user in the step **2.5**
5. Under **Token Name** you can give a descriptive name to the Token you are creating (we recommend to put `airbyte-rest-integration-token` for a name)
6. Save changes
7. After that, **Token ID** and **Token Secret** will be showed once (copy them to the safe place)

#### Step 2.7: Summary
You have copied next parameters
* Realm (Account ID)
* Consumer Key
* Consumer Secret
* Token ID
* Token Secret
Also you have properly **Configured Account** with **Correct Permissions** and **Access Token** for User and Role you've created early.

### Step 3: Set up the source connector in Airbyte
### For Airbyte Cloud:

1. [Log into your Airbyte Cloud](https://cloud.airbyte.com/workspaces) account.
2. In the left navigation bar, click **Sources**. In the top-right corner, click **+ new source**.
3. On the source setup page, select **NetSuite** from the Source type dropdown and enter a name for this connector.
4. Add **Realm**
5. Add **Consumer Key**
6. Add **Consumer Secret**
7. Add **Token ID**
8. Add **Token Secret**
9. Click `Set up source`.

### For Airbyte OSS:

1. Go to local Airbyte page.
2. In the left navigation bar, click **Sources**. In the top-right corner, click **+ new source**.
3. On the source setup page, select **NetSuite** from the Source type dropdown and enter a name for this connector.
4. Add **Realm**
5. Add **Consumer Key**
6. Add **Consumer Secret**
7. Add **Token ID**
8. Add **Token Secret**
9. Click `Set up source`


## Supported sync modes

The NetSuite source connector supports the following [sync modes](https://docs.airbyte.com/cloud/core-concepts#connection-sync-modes):
 - Full Refresh
 - Incremental

## Supported Streams

- Streams are generated based on `ROLE` and `USER` access to them as well as `Account` settings, make sure you're using the correct role assigned in our case `airbyte-integration-role` or any other custom `ROLE` granted to the Access Token, having the access to the NetSuite objects for data sync, please refer to the **Setup guide** > **Step 2.4** and **Setup guide** > **Step 2.5**


## Performance considerations

The connector is restricted by Netsuite [Concurrency Limit per Integration](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/bridgehead_156224824287.html).

## Changelog

| Version | Date       | Pull Request                                             | Subject                     |
| :------ | :--------- | :------------------------------------------------------- | :-------------------------- |
| 0.1.3   | 2023-01-20 | [21645](https://github.com/airbytehq/airbyte/pull/21645) | Minor issues fix, Setup Guide corrections for public docs |
| 0.1.1   | 2022-09-28 | [17304](https://github.com/airbytehq/airbyte/pull/17304) | Migrate to per-stream state |
| 0.1.0   | 2022-09-15 | [16093](https://github.com/airbytehq/airbyte/pull/16093) | Initial Alpha release       |