Netsuite: Configuring Access Tokens

Use the instructions below to generate authentication tokens and configure settings

Andrew Banta avatar
Written by Andrew Banta
Updated over a week ago

Getting Started

Before integrating NetSuite in TravelBank, there are specific settings you will need to enable in NetSuite, as well as generate specific Access Tokens. It is important to note that when you are working in NetSuite's Access Token Management system, when access tokens are generated they can be viewed only once as a security precaution. If you choose to copy and save the Access Tokens TravelBank recommends that you keep them in a safe place or encrypt them to maintain their security. If you loose your Access Tokens they cannot be viewed anywhere in NetSuite, you can delete and create new Access Tokens if you need to reestablish your NetSuite Integration.

The first step is going to be to create a key in NetSuite.

From the toolbar at the top of the screen go to:

Setup Menu > Users/Roles > Manage Roles > New

In the "General" section at the top you are going to name the new Role. Name the Role something unique. Choosing a unique identifier will make locating the role later easier. You could use a name such as “TravelBank Role”.

In the "Subsidiary Restrictions" move the radio dial selection to "All".

Below, in the "Authentication" section check "web services only role".

Next you will specify the following settings in 3 sub-menus of "Permissions" located below the "Authentication" settings.

Under:

Permissions > Transactions

Select all of the following, and set their "Level" to "Full"

Expense Report

Find Transaction

Make Journal Entry

Pay Bills

Journal Approval

Under:

Permissions > Lists

Select all of the following:

Accounts

Currency

Departments

Employee Record

Employees

Events

Expense Categories

Perform Search*

Projects**

Subsidiaries

Tax Records

Classes

Locations

*Level must be set to "Full"

**Depending on configuration you may not have "Projects"

Under:

Permissions > Setup

Select all of the following, and set their "Level" to "Full"

Access Token Management

Control SuiteScript and Workflow Triggers in Web Services Request

Integration Application

Log in using Access Tokens

SOAP Web Services

Once you complete the steps above, use either "Save" button located at the top and bottom of the lefthand side of the page.

Assign the recently created Role to an admin user. You can assign the newly created role to an existing admin, but you also may consider creating an admin account specifically for this function.

Setup > Users/Roles > Manage Users

Once on the Manage Users page, click the user to whom you would like to assign the Role. From the pop-up menu click "Edit". Doing so will automatically redirect you to the Lists menu and the Admin you choose. Scroll down until you find "Roles", in the drop-down menu choose the Role you created.

Next you will create your Integration Client Credentials and Access Token. These act as keys, and allow the two programs to securely communicate sensitive financial information.

First create your Client Credentials:

Setup > Integration > Manage Integrations > New


Name the Integration, you may use the name you created earlier for continuity if you like.

Scrolling down to "Authentication" in the "Token-based Authentication" subsection uncheck "TBA: Authorization Flow"

In the OAuth 2.0 subsection uncheck "Authorization Code Grant"

Use either "Save" button located at the top and bottom of the lefthand side of the page. When all the settings are correctly configured you will see a green confirmation banner near the top of the page.

Scrolling down you will find "Client Credentials" below a security warning, you need the following 2 items:

"Consumer Key / Client ID" and the

"Consumer Secret / Client Secret"

If you choose to copy them, keep them in a secure or encrypted location.

Now you will create your Access Token:

Setup > Users/Roles > Access Tokens > New

You will be taken to the "Access Token" page. From the "Application Name" drop-down box choose the name of the Integration you created. Type in the Admin user you assigned or created for the Integration. Then choose the "Role" you created. Once you choose the roll the "Token Name" will be automatically filled in. Click "Save" and if a green confirmation banner in the "Token Id / secret" section, below a security warning, you need the following 2 items:

"Token ID"

"Token Secret"

If you choose to copy them, keep them in a secure or encrypted location.

Before leaving NetSuite grab one more piece of information you will need to get the Integration working:

Setup > Company > Company Information

On the Company Information page, in the lower righthand corner above the gray bar, below "Time Zone" in the righthand corner copy the "Account ID". You will need this later, so keep it handy.

You are now finished setting up the Integration in the NetSuite software, and the following steps will take place after you log into TravelBank.

If you plan on enabling TravelBank reimbursements, you can do that now.

Company Settings > Reimbursements > Add a Bank Account

You will need your bank details, including the routing and account number. Once entered you can set your reimbursement schedule. Encourage employees to proactively add or update their Reimbursement Accounts as well.

My Account > Expense Management > Add/Update

To add the NetSuite Integration:

Step 1: NetSuite Authentication

Company Settings > Integrations > Add Integrations

Click the blue "Add Integrations" button in the upper righthand corner of the page.

Choose your Authentication name, below enter your "Account ID". (You obtained this in the last step of the NetSuite section.)

Next input the credentials:

Token ID

Token secret

Consumer key

Consumer Secret

Once you have authenticated your NetSuite account, choose the subsidiary from the dropdown menu.

Note: If you have several subsidiaries that share the same accounts, choose "Do not use a specific subsidiary".

Step 2: Which NetSuite objects would you like to use?

Now you can choose how you'd like reimbursable expenses recorded and added, and if you want credit card transactions to sync. Note: some options will only appear based on selections made in prior fields.

Record reimbursable expenses based on the...

Submitted Date

Approval Date

Journal Entries

Add my reimbursable expenses as...

Expense Reports

Journal Entries

Sync reimbursements?

Yes

No

Sync credit card transactions?

Yes

No

Add credit card transactions as...

Expense Reports

Journal Entries

Check No. setting for Payments

NetSuite Default Behavior

Remove check number from payments

Step 3: Select Accounts

Choose the behavior for the following from accounts you added in NetSuite:

Corporate Card Account, Reimbursable Liability Account, Reimbursement Account

Step 4: Select Defaults

Default Department ID - if a user is not assigned a department, NetSuite will assign their submissions as if they belong to this department.

Default Expense Category - if a user chooses a category which has not been mapped to NetSuite (This can be configured in Step 4.)

Step 5: NetSuite Fields

From the drop down menu choose the fields you want to sync to NetSuite.

Once done, this creates a custom field in TravelBank of each synced field as an option for users to select when they create Expense Reports.

Expense Category Mapping

Your Expense Categories are now automatically mapped from NetSuite to TravelBank.

Click "Finish" in the lower righthand corner and you're done.

Created: 30Sep2020 19.34
Updated: 02Nov2020 15.39 - step 3
Updated: 19Nov2020 09:19 - step 1; Permissions; Expense Category Mapping
Updated: 04May2021 10.46
Did this answer your question?