# Configure NetSuite to connect

#### Configure the integration and generate credentials

First, you'll need to generate credentials, ie. a Consumer Key and a Consumer Secret. You'll use these later to make the NetSuite connection in Violet.

1. In your NetSuite instance, navigate to Setup → Integrations → Manage Integrations → New.
2. Click **New.** Provide a name, eg. "Violet". The **State** should be "Enabled"
3. Check the box for “Token-Based Authentication”. You can uncheck the other options:

   <img src="/files/CZ7pkPkE5n8vU3lNEVn8" alt="" width="563">
4. Click **Save**. Under **Client Credentials,** a Consumer Key and Consumer Secret will appear. Copy these and keep them somewhere secure.

#### Create a role with the necessary permissions

Next, you'll need to create a role and assign permissions.

1. If you don’t already have a role that you will want to grant Violet access to, navigate to Setup → Users/Roles → Manage Roles → New Role.
2. Provide a name for the new role, eg. "Violet REST API User".
3. Under **Authentication,** check the box for **Web Services Only Role.**

   <figure><img src="/files/IkrlblmhiiYJjLlUIeYp" alt="" width="294"><figcaption></figcaption></figure>
4. Under **Subsidiary Restrictions,** check the box for **Allow Cross-Subsidiary Record Viewing.**

   &#x20;                                                    <img src="/files/GZwlcZMH1McITeRRYO5K" alt="" data-size="original">
5. Next, assign the necessary **Permissions**: for each section below, search for the specified permissions and click **Add**.
   * **Transactions**
     * Adjust Inventory (with Level = **Full**)
     * Bills
     * Find Transaction
     * Item Receipt (with Level = **Full**)
     * Purchase Order (with Level = **Full**)

       * *Note, these permissions are required for Violet to sync purchase order data, receipts and inventory adjustments from external tools like ION. If you don't intend to sync data and will only be ingesting it into Violet, you can select Level = View.*

       <figure><img src="/files/nAwGIIvGjcPeKUXQb02P" alt="" width="563"><figcaption></figcaption></figure>
     * Work Orders (Level = Full)
       * *Depending on your processes, additional (Full) permissions such as the following may be needed: Build Work Orders; Close Work Orders, Mark Work Orders (Built, Firmed, Released), Work Order Close, Work Order Completion, and Work Order Issue*
   * **Reports**
     * SuiteAnalytics Workbook (with Level = **Edit**)

       * *Note, this is required so that Violet can run SuiteQL queries to fetch data*

       <img src="/files/YlktFH7v3noBe1cddvUh" alt="" width="375">
   * **Lists**
     * Accounts
     * Bins (only if you intend to sync Inventory Adjustments, and Inventory Binning is enabled for your account)
     * Employee Record
     * Employees
     * Items (with Level = **Full**)
     * Locations (with Level = **Full**)
     * Vendors (with Level = **Full**)

       * *Note, these permissions are required for Violet to sync user data, parts/items and vendor data. If you don't intend to sync data and will only be ingesting it into Violet, you can select Level = View.*
       * *Pushing POs to NetSuite may require creating the corresponding Vendors and Locations if they do not already exist, which requires them to have Full permissions enabled.*

       <figure><img src="/files/KYbn3JpKSgv4RiRssqEI" alt="" width="563"><figcaption></figcaption></figure>
   * **Setup**
     * Log in using Access Tokens (with Level = **Full**)
     * REST Web Services (with Level = **Full**)
     * SOAP Web Services (with Level = **Full**)
       * *Note, these are required for Violet to access the REST and SOAP apis which are used to fetch and push data to NetSuite*

<img src="/files/gv7tvz8wLR9HhqtbC33j" alt="" width="375">

5. Click **Save**.&#x20;

#### Grant your user access to the new role

1. Navigate to Setup → Users/Roles → Manage Users. Find your user, or the user that will be connecting NetSuite in Violet, and click Edit.
2. In the **Roles** section near the bottom, add the new role you created and click Save.

<img src="/files/NK4XlemlQ0NpI5jYSjL9" alt="" width="375">

#### Create an authentication token

1. Navigate to Setup → Users/Roles → Access Tokens → New
2. In the dropdown fields, select the integration you created, your user, and the new role you created. Click Save.

   <img src="/files/cJj0oK4iciZ1Vwr3bvaI" alt="" width="149">
3. The Token Id and Token Secret will appear at the bottom of the screen. Copy these down and save them somewhere secure.

Now, you're ready to connect [NetSuite in Violet](/apps/n/netsuite/connect-netsuite-in-violet.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.violetlabs.com/apps/n/netsuite/configure-netsuite-to-connect.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
