NetSuite is a cloud-based business management software that helps manage customer relations, banking finances and company operations.
Make sure you are using the latest version of Netsuite (NetSuite 2019.2 or higher). You can see the version you are using at the bottom of the Netsuite home page.
How to Connect
In order to get the required account tokens and keys to connect to Grow, you need to use an admin role within NetSuite or one with sufficient permissions (specified in Step 2 below).
To streamline the connection process, you can have the Grow/NetSuite authorization window open (Step 7) so you can cut and paste the values into the fields as you gather them.
1. Account Settings
Token-Based Authentication must first be enabled in the account.
- Go to Setup > Company > Enable Features > SuiteCloud
- Client SuiteScript
- Server SuiteScript
- Enable the following features in the “SuiteScript” section:
- Scroll to the “Manage Authentication” section and enable “Token-based Authentication”
- Click “Save” on this configuration page.
2. User Roles
- Go to Setup > Users/Roles > Manage Roles and find the role of the user you are using to connect to Grow.
- Under Permissions > Transactions, make sure that “Find Transaction” has the “View” access level.
- Under Permissions > Lists, make sure that the following permissions are added.
- Documents and Files (use the "Full" access level)
- Persist Search (the only access level is "Create")
- Under Permissions > Setup, make sure that the following permissions have the “Full” access level:
- Access Token Management
- Log in using Access Tokens
- User Access Tokens
The easiest way to know you have sufficient privileges is to use a user with an Administrator role to connect to Grow.
3. Get the Consumer Key and Secret
- Go to Setup > Integration > Manage Integrations > New
- Enter a name and check the “Token-based Authentication” checkbox
Be sure that only the boxes are checked for "User Credentials" and "Token-based Authentication," even if there are other checkboxes available.
- Click “Save” and then you will be given a Consumer key / Consumer secret. This will create an integration record that you will use in the next step.
NOTE: This is the only time you will be able to see the Consumer Key/Secret, so be sure to save them in a secure place to enter into Grow in a later step.
4. Create an Access token
- Click the ‘Manage Access Tokens’ link at the bottom left of the home dashboard under “Settings.”
- Click on “New My Access Token” and then select the application name you created in Step 3.
- You will be given a Token ID and Token Secret to use in Grow.
NOTE: This is the only time you will be able to see the Token ID/Secret, so be sure to save them in a secure place to enter into Grow in a later step.
5. Get Your NetSuite Account ID Number
Go to Setup > Integration > Web Services Preferences to see your account ID number.
6. Add the script
.jsextension at the end of the file name.
- In NetSuite, go to Customization > Scripting > Scripts > New in your NetSuite account and click on the gray plus button that appears next to the box labeled “Script File.”
- A window will pop up where you can choose to upload a file from your computer. Select the script file you just downloaded from Grow and click “Save.” (Leave the
file namefield blank.)
NOTE: When you upload the JS script, make sure it has
.jsat the end of the file name. If it does not have that extension after selecting the file, you can type that in here:
- Click “Create Script Record”
- Name the script (it doesn’t have to be anything specific), and press “Save”.
- On the next page, click “Deploy Script”.
- On the next “Script Deployment” screen, make sure that the “Status” is set as “Released,” and under “Audience” select all roles. (You could also select just the specific role that you are using for the Grow NetSuite credentials.)
- Press Save.
- In the next screen, copy the URL (not the external URL) and store it to use in Grow.
The URL will look like this:
7. Create the Auth in Grow
- In Grow, visit your data sources settings page and click “Connect Data Sources”
- Search for “NetSuite” in the list and click “Connect”
- In the pop-up window, enter the following:
- Give the connection a name
- The “Consumer key” and “Consumer secret” created in Step 3
- The “Token key” and “Token secret” created in Step 4
- The NetSuite account ID number found in Step 5
- The URL created in Step 6
- Click “Connect” to complete the authorization.
Below is a list of the endpoints that the NetSuite/Grow integration offers, along with a short description of each.
- Saved Search Export - (Transaction): Provides details such as date/period, name, account information, amount charged about transactions on generic NetSuite saved searches
- Saved Search Export - (Customer): Provides details such as name, account information, and contact information about customers on generic NetSuite saved searches
- Saved Search Export: Provides details from your custom saved searches.
Any saved searches that you will use in Grow must be set to "Public" or you will get an error.
FAQs + Tips and Tricks
If your Saved Searches are coming in blank or not appearing in the list seen in Grow, here are some things to check in NetSuite:
- Saved searches must be set to "Public" to be able to work in Grow. Any saved searched set to "Shared" or "Private" will return an error.
- From the "Results" tab of the Saved Search, check the "Run Unrestricted" option, and uncheck the "Show Totals" option.
- From the "Audience" tab of the Saved Search, check the "Select All" option for Roles, Employees and Partners.
- Make sure none of the columns used in a Saved Search are using any uncommon characters in the name (/*&^, etc.).
Differences Between the Three Report Types
When you select the endpoints Saved Search Export - (Transaction) and Saved Search Export - (Customer), another field will open up with a list of saved searches that you created from a NetSuite template. On the other hand, the endpoint Saved Search Export will let you connect to a custom search you have created in NetSuite.
Custom Saved Searches
Using NetSuite's custom Saved Searches is the easiest way to call your NetSuite reports in Grow. In to your NetSuite account find the Saved Search that you want to pull and copy the ID for the search. Sign into Grow and navigate into the NetSuite connection. From the Select NetSuite Report dropdown, choose Saved Search Export. In the field labeled "Enter in your saved search id," go ahead and paste the Saved Search ID.
NetSuite DOES NOT Require a Separate User Anymore
A previous version of our NetSuite integration required you to create a NetSuite user to be used only with your Grow account. Now you can use an admin or another user with sufficient permissions to create the API keys and tokens needed to connect.
Getting the "An unexpected error has occurred" Error Emails
Due to the way NetSuite handles script errors, you might get some emails with the subject line "An unexpected error has occurred" and mention the Grow script you added to your account. These errors don't affect the data coming into Grow from NetSuite, and we are working on improving the error handling for this script. You can stop the error emails from being sent in the settings for that specific script:
- In NetSuite, go to Customization > Scripting > Scripts.
- Find the grow script being use and select 'Edit'
- On the bottom of the page find the 'Unhandled Errors' tab
- Uncheck all the Notify options and save.