---
title: NetSuite
slug: accounting/netsuite
description: Learn how to automate A/R on NetSuite with the NetSuite integration.
docTags: 
createdAt: 2021-10-01T16:06:49.000Z
---

Invoiced has an integration with NetSuite, a cloud-based ERP system. This document outlines how to setup and use the NetSuite integration.

## Overview

The NetSuite integration ships with the following capabilities:

- Bi-directional sync with NetSuite
- New data from NetSuite is synced every 15 minutes
- Transactions generated on Invoiced post to NetSuite in real-time

## Data Flow

| **Invoiced**    | **Sync To Invoiced** | **Sync To NetSuite** | **NetSuite**     |
| --------------- | -------------------- | -------------------- | ---------------- |
| Customer        | ←                    | →                    | Customer         |
| Contact         | ←                    |                      | Contact          |
| Note            |                      | →                    | Note             |
| Invoice         | ←                    | →                    | Invoice          |
| Credit Note     | ←                    | →                    | Credit Memo      |
| Payment         | ←                    | →                    | Customer Payment |
| Convenience Fee |                      | →                    | Invoice          |

## Setup

In order to set up the NetSuite integration you first need these pieces of information:

- NetSuite Account ID
- OAuth Access Token

Below we will show you how to connect NetSuite with Invoiced, step-by-step.

### Install The Invoiced SuiteBundle

First we need to install the Invoiced SuiteBundle, which will install an **Invoiced** integration and an **Invoiced Integration** role.

1. On NetSuite, go to **Customization** → **SuiteBundler** → **Search & Install Bundles**.
2. In the keyword box, type in *Invoiced* and click **Search**. Select the bundle with a bundle ID of *265184*.
3. Click **Install** to install the bundle.
4. Once the bundle is installed, go to **Page: Invoiced Integration**
5. Obtain an API key in **Settings** → **Developers** → **New API Key** in the Invoiced application.
6. Paste the API key into the **API Key** field on NetSuite and click **Save**.

### Setting Up an OAuth Access Token

The next step is to create an OAuth Access Token for Invoiced on NetSuite. To do that there are few steps you need to follow.

### Assign the Invoiced Integration role to a user

You will need to pick a user that will that the access token will be based on and assign the **Invoiced Integration** role to that user.

1. Go to **Setup** → **Users/Roles** → **Manage Users**.
2. Select the user you plan to use for the integration and add the **Invoiced Integration** role to that user.

### Create the access token

1. Go to **Setup** → **Users/Roles** → **Access Tokens** → **New**
2. Select *Invoiced* as the application name, the user from the previous step as the user, and *Invoiced Integration* as the role.
3. Copy-paste the token ID and token secret values into a text editor. NetSuite will not display this information again.

### Connecting NetSuite on Invoiced

1. On Invoiced, go to **Apps** → **NetSuite** in the Invoiced dashboard.
2. Click **Install**.
3. Enter in the NetSuite account ID, token, and token secret for the Invoiced integration created earlier.
4. Click **Save**. NetSuite is now connected!

### Finding Your NetSuite Account ID

Your NetSuite account ID is required in order to connect the integration. You can obtain your account ID from NetSuite with these steps:

1. Within the NetSuite application, hover over the **Setup** tab and click **Company** → **Company Information**.
2. You should see an *Account ID* field. This is the account ID that you will use in the connection steps.

### Sync Convenience Fees from Invoiced to Netsuite

When convenience fees are enabled in Invoiced, the integration will create a convenience fee invoice in Netsuite. The convenience fee is applied to this invoice, so it does not create a credit in the accounting system.&#x20;

You should create a **non-inventory** convenience fee item in Netsuite. On the **Invoiced Integration page**, you can select the item and tax code that the integration will use to create the convenience fee invoice.&#x20;

## Usage

Reading data from NetSuite to Invoiced, such as when a new invoice is available, will sync every 15 minutes. You can see when the last sync happened on the **Invoiced Integration** page. If you wish to run a one-off sync, you can click the **Sync Now** button. Once the bundle is installed and fully configured, new transactions will sync with NetSuite automatically.

Writing data from Invoiced to NetSuite will sync instantly.

:::hint{type="info"}
Once the integration is fully configured, new transactions will sync with Invoiced on a going-forward basis. The integration does not sync data created prior to the integration being installed. See [Importing Data](docId\:cQhu6gZbwe_U3rmPCEaZh) for instructions on how to import transactions prior to installing Invoiced.
:::

### Mapping Custom Fields

It's quick and easy to map a custom field in Netsuite to a custom field in Invoiced. If you haven't created a custom field in Invoiced yet, you'll find instructions [here](https://docs.invoiced.com/guides/custom-fields). To create the mapping, you need to know the field IDs from both Netsuite and Invoiced.&#x20;

In Netsuite, enter "customization" in the search bar and select **New Invoiced Mapping Customization.&#x20;**&#x49;n the field "Netsuite Field ID" enter the ID from your custom field in Netsuite. In the field "Invoiced field ID" enter metadata.xyz, where xyz is the ID from your custom field in Invoiced. Select the Record Type for your field and save.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/YMx9hb_ZGsjrjpQ6wXmZJ/tHdVuWbu_uRGwVwhnJvLF_screen-shot-2022-05-20-at-23302-pm.png" size="82" width="2316" height="416" position="center" showCaption="false"}

::Image[]{src="https://api.archbee.com/api/optimize/YMx9hb_ZGsjrjpQ6wXmZJ/JW5maBqY8apdlZ8LO15QT_screen-shot-2022-05-20-at-23356-pm.png" size="44" width="904" height="614" position="center" showCaption="false"}

## Edge Cases

Here we have documented limitations, nuances, and edge cases to be aware of when using the NetSuite integration.

- If you use the Sync Now button, the Netsuite governance limit will be lower than the scheduled script that runs every 15 minutes. You may not see all of your data synced with the Sync Now button, however, you can initiate another sync once it is finished or wait for the next scheduled sync.
- Any changes to data on the system other than where it originated will be ignored and potentially overwritten. For exarmple, if a customer was created on NetSuite by the Invoiced integration then subsequent modifications to that customer on NetSuite would not sync to Invoiced. It is possible that those changes on NetSuite would be overwritten by a future sync.
- We periodically release new versions of our Netsuite bundle with new features and bug fixes. If the intergration meets your needs, you do not have to upgrade the bundle in our account. We'll post details about new bundle versions in our [changelog](https://docs.invoiced.com/changelog).&#x20;



## Latest Updates

### NetSuite Integration Update — October 2025

Overview

The October 2025 update introduces new fields, mapping options, and script parameters to improve data syncing between NetSuite and Invoiced.
These enhancements give you greater flexibility when managing multi-subsidiary environments and configuring how fields map between systems.

### 1. Subsidiary API Key

**Field ID:** `custrecord_invd_division_key`

For organizations that use multiple subsidiaries, each subsidiary can now store its **own API key**. This allows you to connect each subsidiary to the correct Invoiced environment or account, keeping data properly segmented and secure.

**Use Case:**
If your company manages multiple entities within NetSuite (for example, different regions or brands), you can assign a separate API key for each subsidiary to ensure transactions sync to the right Invoiced account.

### 2. USE LABEL Mapping Option

**Field ID:** `custrecord_inv_use_label`

A new **USE LABEL** checkbox has been added for dropdown (list/record) fields in your custom mapping configuration. This allows you to choose whether the integration syncs based on the **Field ID** or the **Field Label** value from NetSuite.

**Use Case:**
If your dropdown fields use internal IDs that differ from the display names (labels) you want to appear in Invoiced, you can toggle this option to use the label instead — improving clarity and consistency across systems.

### 3. Integration Script Updates

**Script ID:** `customscript_invd_integration (Invoiced - Sync to Invoiced)`

The integration script has been updated to provide more flexible sync options and improved data handling.

**New Parameters:**

| Parameter             | Description                                                                                                       | Default |
| --------------------- | ----------------------------------------------------------------------------------------------------------------- | ------- |
| `custscript_invd_rts` | Enables **real-time sync** from NetSuite to Invoiced. When checked, records sync immediately after changes occur. | `false` |
| `custscript_invd_ss`  | Controls the **scheduled sync** job. When enabled, records sync automatically at the defined schedule.            | `true`  |

**Deployments:**

- `customdeploy_invd_update_projects` — Project records
- `customdeploy_invd_update_customers` — Customer records
- `customdeploy_invd_update_contacts` — Contact records

These deployments ensure updates are applied consistently across key record types.

### Upgrading the Bundle

When you log into NetSuite, you’ll see a prompt to **upgrade your Invoiced bundle** to the latest version. Follow the on-screen instructions to complete the update — no additional setup is required.

If you don’t see the prompt, check your version under:
**Customization → SuiteBundler → Search & Install Bundles → Installed Bundles**

### Why This Matters

- Improved support for **multi-entity organizations** through subsidiary-specific API keys
- Greater flexibility in **custom field mapping** for dropdown values
- More control over **sync frequency**, with both real-time and scheduled options available
- Reduced manual configuration and improved data reliability across systems

### Version Details

- **Bundle Version:** v5.1.0
- **Bundle ID:** 265184
- **Release Date:** October 2025

## Troubleshooting

When a sync fails you can check the SuiteScript logs in NetSuite.

If you are still unable to get your data synced then please contact Invoiced Support for further assistance.

