Token based authentication (TBA) allows you to generate secure, revocable, non-expiring tokens for integration clients such as the NetSuite Connector to use when connecting to NetSuite. This is strongly recommended instead of the traditional User Name and Password combination because the end user credentials are never exposed and the Password does not expire. Because a token is only used by a single Application, it provides visibility into which Applications are connecting to NetSuite and control to revoke access. Additionally, from NetSuite version 2020.2, user credential authentication has been deprecated in favor of token-based authentication.
Token Based Authentication is available for Web Services using SuiteTalk version 2015.2 and above.
The following is a detailed step-by-step instruction on how to setup Netsuite to use Token Based Authentication. Screenshots will be attached with each step, and a video outlining what was done is shown here:
How To - Netsuite TBA.
1. Obtain your NetSuite Account ID. Go to Setup > Integration > SOAP Web Services Preferences. As shown below, my Account ID is 'TSTDRV1846242'. Take note of this value as it will be used later.
2. Enable Token Based-Authentication for your NetSuite Account. Go to Setup > Company > Enable Features. Once selected, click on 'SuiteCloud' and navigate to 'Manage Authentication'. One of the options should be 'Token-Based Authentication', which is seen below. Please check this option.
3. Create a new Custom Role for use by the TBA User. Go to Setup > Users/Roles > Manage Roles > New. Add a Name for the Role and we will begin adding Permissions as needed.
IMPORTANT: You must create a new Role. You cannot use one of the Standard Roles.
Other Notes to Consider:
4. Assign the Role to the desired User. For this example we will be creating a new User, as we recommend creating a dedicated Integration User (for security and to reduce the chance of this User being locked out). Go to Lists > Employees > Employees > New and Create an Employee. My template is shown below, but fill out the given fields as needed.
Once this is complete, select Access > Roles and add the Role previously created (my Role was 'TBAUser'). Note that you need to either 'Give Access' and/or 'Send a Notification Email' for the Role to be saved when a User is first created. I manually assigned a password for this example (under 'Manually Assign Or Change Password'). This is shown below:
Note: If you are using an already created Employee, please search for and identify the User required (Lists > Employees > Employees > Search) and select ‘Edit’ to add the Role previously mentioned. The same steps apply as shown above.
5. Install the free Boomi for Integration and EDI SuiteApp (SuiteApp Bundle ID: 492145) into your NetSuite account. This includes an Integration Record that you will use while configuring your access token.
6. Create a new Access Token. Go to Setup > Users/Roles > Access Tokens > New. Select ‘Boomi Integration’ for the application name, the User (my example was 'M Hartmann', you can Search for this User fairly easily), and the Role created (my example was 'TBA User'). A screenshot of this is provided below:
1. Create a NetSuite Connection component preferably using the latest version. However, at any time NetSuite supports the latest 6 versions available, see here for more details.
2. Try selecting 'Test Connection' to ensure the information was filled out properly. A successful Connection would be indicated by the following:
3. Try importing your Netsuite Operation using the Connection created. For my example I imported using the 'Cash Sale' Object, as I gave my User full access to those Records previously. Once completed, you should see an Operation such as this:
4. Feel free to begin testing, as your Connection component should now be working successfully.