Introduction


This document outlines steps to ensure that Fyle integration implementation is able to access customer’s NetSuite account with the right level of permissions in a secure manner. 

Fyle’s NetSuite’s integration is based on SOAP and uses Token-based Auth (TBA). Upon following the steps in this doc, the reader will be able to enable TBA in their NetSuite account and share credentials with Fyle’s Customer Success team for implementing the integration. Specifically, the following pieces of information need to be shared: 

NS_ACCOUNT: NetSuite account id

NS_APPID: Application ID

NS_CONSUMER_KEY: Consumer key from integration record

NS_CONSUMER_SECRET: Consumer secret from integration record

NS_TOKEN_KEY: Token key for token based authentication

NS_TOKEN_SECRET: Token secret for token based authentication

Enable Token-based Authentication


Fyle’s NetSuite integration works off NetSuite’s token-based authentication (TBA). You can learn more about this scheme in this official documentation. This feature is usually turned off by default, so you’ll need to follow these steps to enable TBA as an Admin.

Go to Setup -> Company -> Enable Features -> Suitecloud

  1. Enable Soap Web Services
  2. Enable Token-Based Authentication


Enable Internal IDs


Navigate to Home on your NetSuite account > Set Preferences The General subtab is displayed by default

In the Defaults section, click Show Internal ID's


Find the Account ID


As the Admin, go to Setup -> Integrations -> SOAP Web Services Preferences. You will find a field called ACCOUNT ID. Save this value. This corresponds to NS_ACCOUNT field.


Create Fyle Integration Role


In this step, we will create a new role called “Fyle Integration” which will have all the right permissions including ability to create tokens, accessing Accounts, Locations, Departments, Classes, Vendor Bills which are necessary for the integration to function properly.

Go to Setup -> Users/Roles -> Manage Roles and create a new role called “Fyle Integration”

Setup the Subsidiary Restrictions and Authentication the following way.

Now add necessary permissions for this role.

In Permissions -> Transactions, give access to Bills with level Full. This will allow this role to create and view Bills.

Then in Permissions -> Lists, give access to the following resource types with level View.

Finally go to Permissions -> Setup and add these permissions.

This completes the creation of the Fyle Integration Role. 


Assigning Fyle Integration Role to a User


The Fyle Integration role now has all the permissions necessary for subsequent steps. Assign this role to a user who will manage the integration. It can be the same user who performed the earlier steps or a different one.

Go to Setup -> Users/Roles -> Manage Users

Pick the desired user from the list and click on it. Subsequently, click Edit button in the User page.

Now go to Access -> Roles at the bottom of the page. Then add the “Fyle Integration” role to this user and save.

Create an Integration Record

Now we will create an integration record for the integration application as the Admin user.

Go to Setup -> Integrations -> Manage Integrations -> New

Give the app a relatable name like “Fyle Integration App”. Ensure that the following settings are enabled:

Important

Once you click save, you’ll need to copy three fields over APPLICATION ID, CONSUMER KEY, CONSUMER SECRET. These correspond to NS_APPID, NS_CONSUMER_KEY and NS_CONSUMER_SECRET in the first section.

If you forget this step, you’ll need to reset credentials.


Login to the right User and Role


Log out of NetSuite and log back in with the right user credentials (the one who has the Fyle Integration role assigned). Then switch to the “Fyle Integration” role using the drop down in the top right corner. In the dashboard, you’ll see a link called “Manage Access Tokens”. Click on that. You’ll now need to create a new access token. Once you click new

Pick the application called “Fyle Integration App” and given the token a nice name like “Fyle Token”. Click on Save.

Important

In the next screen, you’ll see important fields that you will need to copy over: TOKEN ID and TOKEN SECRET. These correspond to the fields NS_TOKEN_KEY and NS_TOKEN_SECRET. 


Share Credentials


Next, share these 5 fields with your Fyle Customer Success representative. 

NS_ACCOUNT: NetSuite account id

NS_APPID: Application ID

NS_CONSUMER_KEY: Consumer key from integration record

NS_CONSUMER_SECRET: Consumer secret from integration record

NS_TOKEN_KEY: Token key for token based authentication

NS_TOKEN_SECRET: Token secret for token based authentication


Did this answer your question?