# NetSuite data syncs

### Available Data Syncs

Violet can sync the below types of data between external tools and NetSuite. These workflows behave as upserts, meaning Violet will attempt to update an existing record if it is found, otherwise it will create a new one.

Read below for important information on how to correctly set up a sync.

<details>

<summary>Inventory Adjustments</summary>

Syncing Inventory Adjustments will adjust inventory levels according to the configuration settings provided, including Inventory Adjustment Account, Department, Class, Adjustment Reason, Bin/Lot, etc.

</details>

<details>

<summary>Items</summary>

This functionality launches on August 4, 2025. Check back soon for more info!

</details>

<details>

<summary>Purchase Orders</summary>

When a Purchase Order (PO) syncs to NetSuite, the Vendor, Shipping Address (as a Location), and Items on each PO line are synced first. Our process handles this automatically, but it does mean the source data must meet certain setup requirements.

To make sure your PO syncs without errors, double‑check the following:

* Each PO line must include a valid Item or Part
  * If any PO line is missing an Item, NetSuite will reject the entire PO during sync.
* The PO must include a Vendor and Shipping Address
  * These are required by NetSuite to create the PO. If either is missing, the sync will fail.
* Your NetSuite permissions must be set up correctly
  * Missing permissions can block POs from syncing. The full list of required permissions is available in the [Configure NetSuite to connect](/apps/n/netsuite/configure-netsuite-to-connect.md) section.
* The NetSuite integration must be configured correctly
  * The following fields must be filled out in the NetSuite Integration Configuration Panel for POs to sync. See the below section [#populating-required-fields](#populating-required-fields "mention") for more info.
    * Tax Schedule ID
    * Income Account
    * COGS Account
    * Asset Account

</details>

<details>

<summary>Receipts</summary>

This functionality launches on August 4, 2025. Check back soon for more info!

</details>

<details>

<summary>Suppliers</summary>

Currently, Violet supports syncing data from NetSuite to ION.&#x20;

The ability to sync into NetSuite will be live on August 4, 2025. Check back soon for details.

</details>

### Populating Required Fields

There are additional fields in the NetSuite integration panel that are used for data syncs. You can leave these blank if you're not configuring a sync.

Otherwise, refer to the sections below.

<details>

<summary>Default Tax Schedule</summary>

Use this field to specify a default **Tax Schedule** for any Items that Violet updates or creates in NetSuite.

To find this, navigate to your preferred Tax Schedule in NetSuite. This can be found by navigating to Setup > Accounting > Tax Schedules, then selecting your desired Tax Schedule. The number at the end of the URL when viewing a Tax Schedule will be the NetSuite ID - copy this ID and enter it in Violet:

<figure><img src="/files/um96GqCcg0tJUvqzLGEo" alt="" width="563"><figcaption></figcaption></figure>

</details>

<details>

<summary>Income Account number</summary>

Provide the Income Account Number to be used for Items in NetSuite.

</details>

<details>

<summary>COGS Account number</summary>

Provide the Cost of Goods Sold (COGS) Account number to be used for Items in NetSuite.

</details>

<details>

<summary>Asset Account number</summary>

Provide the Asset Account Number to be used for Items in NetSuite.

</details>

<details>

<summary>PO Line Item Promise Date</summary>

Use this field to specify a **Purchase Order Line Item Promise Date** based on custom fields you have enabled in NetSuite.

Custom fields can be found by navigating to Customization > Lists, Records, & Fields > Transaction Line Fields. Locate the custom field you'd like to use for PO Line Item Promise Date, copy the value under "ID", and enter it in Violet:

<figure><img src="/files/pA18sGcLpG0tTaFV8dXO" alt="" width="563"><figcaption></figcaption></figure>

</details>

<details>

<summary>Item Revisions</summary>

Use this field to specify an **Item Revision** based on custom fields you have enabled in NetSuite.

Custom fields can be found by navigating to Customization > Lists, Records, & Fields > Item Fields. Locate the custom field you'd like to use for Item Revisions, copy the value under "ID", and enter it in Violet:

<figure><img src="/files/eGA15jBzYLOBNWGMrMkS" alt="" width="563"><figcaption></figcaption></figure>

</details>

<details>

<summary>Custom Address Fields</summary>

If you're not using the default **Address** fields, you can use this to specify which custom field(s) you use.

Custom fields can be found by navigating to Customization > Lists, Records, & Fields > Entity Fields. Locate the custom field(s) you'd like to use, copy the value(s) under "ID", and enter in Violet.

If you need to combine multiple fields (like street, city, and state), separate them with a comma and a space (e.g., 'streetField, cityField, stateField').

<figure><img src="/files/A6wRuc6wIkVRz8IItT7D" alt="" width="563"><figcaption></figcaption></figure>

</details>


---

# 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/netsuite-data-syncs.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.
