If you're already connected and need guidance configuring the integration, please see Configuring your NetSuite Connection.

This article covers:

Important Notes Before Getting Started

  • Companies will need to have a Corporate policy in Expensify to integrate with NetSuite.
  • Employees do not need NetSuite access or a NetSuite license to submit expense reports for export to NetSuite.
  • Ensure that your policy's report output currency setting matches the NetSuite Subsidiary default currency.
  • If you choose to sync "People," all employees under the Subsidiary that you are syncing will be brought in to Expensify, and you MUST select an approval workflow on the policy People settings page, allowing you to set a final approver. 
  • If Manager Approval is chosen when using "People" sync, Expensify will set the “expense approver” in NetSuite as the approver in Expensify. If an expense approver doesn’t exist in NetSuite then the supervisor will be used.
  • Make sure your page size is set to 1000 for importing your customers and vendors. Go to Setup > Integration > Web Services Preferences > 'Search Page Size'

Step 1: Install the Expensify Bundle in NetSuite

  • Logged into NetSuite as an administrator, go to Customization > SuiteBundler > Search & Install Bundles then search for "Expensify."
  • If you already have the Expensify Connect bundle installed, you'll need to update it to version 1.5. 

Select "Show on Existing Custom Forms" for all available fields.

Step 2A. Enable Token Based Authentication

  1. Setup > Company > Setup Tasks > Enable Features > SuiteCloud > Manage Authentication
  2. Make sure “Token Based Authentication” is enabled
  3. Save

If this feature is not enabled, you will not see the permissions required in the next step.

2B. Create a Token Role

Strangely enough, the administrator does not have token permissions by default. If you do not create a token role and assign it to your administrator, you will get a “Login access has been disabled for this role.” error when creating a token.

  1. Global search for page: role, then choose “New Role
  2. Navigate to “Permissions > Setup” and add the following permissions: User Access Token: Full, Access Token Management: Full, and Web Services: Full

2C. Add Token Management Permissions

  1. Global search for page:employees
  2. Edit your employee record
  3. Navigate to “Access > Roles” and add the token auth role you just created

2D. Create Access Tokens

  1. Global search for page: tokens
  2. New Access Token
  3. Select the application and role we created earlier, then press save.
  4. Copy/Paste the token ID and token secret to a saved location on your computer. This is the only time you will see these. 

Step 3: Confirm Expense Reports are Enabled in NetSuite

Enabling Expense Reports is required as part of Expensify's integration with NetSuite. 

  • Logged into NetSuite as an administrator, go to Setup > Company > Enable Features > Employees
  • Confirm the checkbox next to Expense Reports is checked. If it is not, click the checkbox then click Save to enable Expense Reports.

Step 4: Confirm Expense Categories are set up in NetSuite

Once Expense Reports are enabled Expense Categories can be set up in NetSuite. Expense Categories are an alias for General Ledger accounts for coding expenses.

  • Logged into NetSuite as as administrator, go to Setup > Accounting > Expense Categories. A list of Expense Categories should be available. 
  • If no Expense Categories are visible click on "New" to create new Expense Categories.

Step 5A: Confirm Journal Entry Transaction Forms are Configured Properly

  • Logged into NetSuite as an administrator, go to Customization > Forms > Transaction Forms. 
  • Click "Customize" or "Edit" next to the Standard Journal Entry form then click Screen Fields > Main. Please verify the "Created From" label has "Show" checked and the Display Type is set to Normal.
  • Click the sub-tab Lines and verify that the "Show" column for "Receipt URL" is checked.
  • Go to Customization > Forms > Transaction Forms and ensure all other Transaction Forms with the Journal type have this same configuration.

Step 5B: Confirm Expense Report Transaction Forms are Configured Properly

  • Logged into NetSuite as an administrator, go to Customization > Forms > Transaction Forms. 
  • Click "Customize" or "Edit" next to the Standard Expense Report form then click Screen Fields > Main. Please verify the "Created From" label has "Show" checked and the Display Type is set to Normal (see screenshot below).
  • Click the sub-tab Expenses and verify that the 'Show' column for 'Receipt URL' is checked.
  • Go to Customization > Forms > Transaction Forms and ensure all other Transaction Forms with the Expense Report type have this same configuration.

Step 5C: Confirm Vendor Bill Transactions Forms are Configured Properly

  • Logged into NetSuite as an administrator, go to Customization > Forms > Transaction Forms. 
  • Click "Customize" or "Edit" next to your preferred Vendor Bill form then click Screen Fields > Main and verify that the "Created From" label has "Show" checked (see screenshot below) and that Departments, Classes, and Locations have the "Show" label unchecked. 
  • On the Expenses Sub-tab (there are two, make sure to click the second one!) ensure "show" is checked for Receipt URL, Department, Location, and Class
  • Go to Customization > Forms > Transaction Forms and ensure all other Transaction Forms with the Vendor Bill type have this same configuration.

Step 5D: Confirm Vendor Credit Transactions Forms are Configured Properly

  • Logged into NetSuite as an administrator, go to Customization > Forms > Transaction Forms.
  • Click "Customize" or "Edit" next to your preferred Vendor Credit form then click Screen Fields > Main and verify that the "Created From" label has "Show" checked (see screenshot below) and that Departments, Classes, and Locations have the "Show" label unchecked.
  • On the Expenses Sub-tab (there are two, make sure to click the second one!) ensure "show" is checked for Receipt URL, Department, Location, and Class
  • Go to Customization > Forms > Transaction Forms and ensure all other Transaction Forms with the Vendor Credit type have this same configuration.

Step 6: Set up Tax Groups (only required if tracking taxes)

Expensify imports NetSuite Tax Groups (not Tax Codes), which you can find in NetSuite under Setup > Accounting > Tax Groups.

Tax Groups are an alias for Tax Codes in NetSuite and can contain one or more Tax Codes (Please note: for UK and Ireland subsidiaries please ensure your Tax Groups do not have more than one Tax Code). We recommend naming Tax Groups so they are easily understood by your employees. Both the name and rate will display in Expensify.

Before trying to import NetSuite Tax Groups into Expensify, first:

  1. Create your Tax Groups in NetSuite by going to Setup > Accounting > Tax Groups. Click New, then select the country for your Tax Group. Enter the Tax Name (this will be displayed to employees in Expensify), and then select the subsidiary for this Tax Group. Finally, from the table select the Tax Code you wish to include in this Tax Group, click Add and then click Save.
  2. Create one NetSuite Tax Group for each tax rate that you want available in Expensify.
  3. Ensure Tax Groups can be applied to expenses by going to Setup > Accounting > Set Up Taxes and set the Tax Code Lists Include preference to "Tax Groups And Tax Codes" or "Tax Groups Only". If this field does not display, don't worry! This just means it does not need to be set for that country.

Step 7: Connect Expensify and NetSuite

  • Log into Expensify as a Policy Admin and go to Settings > Policies >  [Policy Name] > Connections > NetSuite. Click the "radio button" next to Connect to NetSuite and select Token Based Authentication Enter your Token and Token Secret here. You must create the connection using a NetSuite account with an administrator role. 
  • Click Connect to NetSuite. You can connect to your Sandbox Environment by going through the setup steps with a Sandbox role. 

The NetSuite connection will sync and the Configuration dialog will open. You should then be connected! 

If you are experiencing issues after following these steps take a look at our NetSuite Troubleshooting page

Now that you're connected, check out our guide on Configuring your NetSuite Connection!

Still looking for answers? Search our Community for more content on this topic!

Did this answer your question?