NetSuite
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.
- On NetSuite, go to Customization → SuiteBundler → Search & Install Bundles.
- In the keyword box, type in Invoiced and click Search. Select the bundle with a bundle ID of 265184.
- Click Install to install the bundle.
- Once the bundle is installed, go to Page: Invoiced Integration
- Obtain an API key in Settings → Developers → New API Key in the Invoiced application.
- 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.
- Go to Setup → Users/Roles → Manage Users.
- Select the user you plan to use for the integration and add the Invoiced Integration role to that user.
Create the access token
- Go to Setup → Users/Roles → Access Tokens → New
- Select Invoiced as the application name, the user from the previous step as the user, and Invoiced Integration as the role.
- Copy-paste the token ID and token secret values into a text editor. NetSuite will not display this information again.
Connecting NetSuite on Invoiced
- On Invoiced, go to Apps → NetSuite in the Invoiced dashboard.
- Click Install.
- Enter in the NetSuite account ID, token, and token secret for the Invoiced integration created earlier.
- 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:
- Within the NetSuite application, hover over the Setup tab and click Company → Company Information.
- 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.
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.
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.
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 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. To create the mapping, you need to know the field IDs from both Netsuite and Invoiced.
In Netsuite, enter "customization" in the search bar and select New Invoiced Mapping Customization. In 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.


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.
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.