> ## Documentation Index
> Fetch the complete documentation index at: https://help.owlery.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Connecting NetSuite

> The one-time credential setup — what to create in NetSuite, what the setup never involves, and the role configuration we recommend.

Connecting NetSuite is a one-time setup task. It uses NetSuite's built-in token-based authentication, so there is no development work, nothing to install, and nothing to maintain afterward.

<Info>
  **Would you rather we walk you through it?** Most customers do this on a short screen share with our team. Email [support@owlery.ai](mailto:support@owlery.ai) and we'll set one up. The steps below are here if you'd prefer to work through it yourself or hand it to your NetSuite partner.
</Info>

## What this setup does not involve

* **No SuiteScript.** Owlery uses NetSuite's standard SuiteTalk REST and SuiteQL interfaces.
* **No managed bundle.** Nothing is installed into your NetSuite account.
* **No user seat.** Owlery authenticates as an integration, not as an employee.
* **No data export.** Owlery reads your account directly. You never assemble spreadsheets of sample records for us.
* **No ongoing maintenance.** Once the tokens exist they keep working, and Owlery monitors the connection.

## What you'll create

Setup produces five values that you hand to Owlery:

| Value           | Where it comes from                                  |
| --------------- | ---------------------------------------------------- |
| Account ID      | Company information                                  |
| Consumer Key    | The integration record                               |
| Consumer Secret | The integration record                               |
| Access Token    | The access token (NetSuite labels this **Token ID**) |
| Token Secret    | The access token                                     |

<Warning>
  NetSuite displays the consumer secret and the token secret **only once**, at the moment it generates them. Copy both before leaving the page. If they're lost, you'll need to generate replacements.
</Warning>

## Setup steps

<Steps>
  <Step title="Enable the required features">
    Go to `Setup → Company → Enable Features → SuiteCloud`. Enable **REST Web Services** and **Token-Based Authentication**, then save.
  </Step>

  <Step title="Create an integration record">
    Go to `Setup → Integration → Manage Integrations → New`. Name it something recognizable such as `Owlery`, enable **Token-Based Authentication**, and save.

    NetSuite shows the **Consumer Key** and **Consumer Secret** on the confirmation screen. Copy both now.
  </Step>

  <Step title="Set up the integration role">
    Create a role for Owlery and assign it to the user who will own the connection.

    Owlery gives you the exact permission list for your workflow. It depends on which order types and write-back actions you enable, so we scope it to what you actually need rather than asking for broad access.
  </Step>

  <Step title="Create an access token">
    Go to `Setup → Users/Roles → Access Tokens → New`. Select your Owlery integration, the user, and the role you just created, then save.

    NetSuite shows the **Token ID** and **Token Secret** once. Copy both.
  </Step>

  <Step title="Find your Account ID">
    Go to `Setup → Company → Company Information`. Your Account ID is listed there. Sandbox accounts include a suffix such as `_SB1`.
  </Step>

  <Step title="Send the values to Owlery">
    Enter them under `Settings → Integrations` and click **Test & Save**, or send them to your Owlery contact and we'll complete the connection for you.
  </Step>
</Steps>

<Note>
  NetSuite's exact menu labels vary slightly by account version and enabled features. If something isn't where you expect it, our team can find it with you.
</Note>

## Recommended: use a dedicated integration role

Create a NetSuite role used only by Owlery rather than attaching the token to an existing employee role.

* Permissions stay scoped to the records the integration actually uses, so the connection can't reach data it doesn't need.
* The role survives staff changes. Someone leaving the company doesn't break your freight sync.
* NetSuite's audit trail attributes every Owlery request to one identifiable role.
* Permissions can be widened one record type at a time as you enable more workflows.

Start with read permissions only. Add write permissions later, if and when you decide to turn on [write-back](/shippers/netsuite/writing-back).

## Permissions

The role needs read access to the record types you want to synchronize, plus write access for any fulfillment, receipt, or order-field update you enable.

Optional features may need supporting records such as locations, employees, classifications, departments, cost categories, inventory numbers, and units of measure. Owlery identifies the specific permissions your workflow requires rather than asking for blanket access.

## Verifying the connection

Owlery verifies access to purchase orders, sales orders, and transfer orders separately during testing. If one record type is missing a permission, we tell you which one — you won't get a single unhelpful failure for the whole connection.

<Card title="Next: reading data from NetSuite" href="/shippers/netsuite/reading-data">
  What Owlery pulls in once the connection is live.
</Card>
