Integrate Directly with NetSuite

The integration with NetSuite is 2-way. Accounts, departments, locations, classifications, and people can all be imported from NetSuite. The expense data in Expensify can then be exported to NetSuite as expense reports and journal entries.

Important Notes

  • You must be on the Corporate plan to integrate with NetSuite.
  • Please create a new policy dedicated to the NetSuite connection, as syncing categories and report fields from NetSuite will delete and replace the categories and report fields for a policy!
  • You will need to have your employees listed in NetSuite along with their email address. This does not mean that your employees need to have NetSuite access.
  • If you choose to sync people, any employee with an email address in NetSuite will be imported into your policy.
  • Only those accounts that have expense categories associated with them in NetSuite will be pulled into Expensify as categories. You can associate expense categories with any account type in NetSuite.
  • If people sync is used, 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.


Before creating the NetSuite-Expensify connection there are a few settings you will need to make sure are enabled within NetSuite.

Step 1: Enable SuiteSignOn and Web Services

To do this, log into NetSuite as an administrator and click through to Setup > Company > Enable Features > SuiteCloud tab. Make sure you have SuiteSignOn and Web Services enabled.

Step 2: Install Expensify Bundle

To do this, log into NetSuite as an administrator, click through to Customization > SuiteBundler > Search & Install Bundles, and search for “Expensify”. Then, install the Expensify bundle.

Connect Expensify and NetSuite

In order to connect to NetSuite you will need to be on the Corporate plan and create an expense policy. Once you have done this, navigate to the Connections section of the policy settings (Admin > [Policy Name] > Connections) and click “connect to NetSuite”.

You can choose whether you want to connect to your production or sandbox environment. You will need to enter the NetSuite Company ID associated with the environment you are choosing to connect with. You can find the Company ID in NetSuite by going to Setup > Integration > Web Services Preferences.

You will then be asked to log into NetSuite and to select a role. Please ensure that the role you’ve selected has:

  • “View” permissions for: Classes, Departments, Locations, Subsidiaries, Expense Categories, Currency, Accounts, Employees under “Lists”.
  • “Full” permissions for: Expense Report, Make Journal Entry under “Transactions”.
  • “Full” permissions for: Web Services under “Setup”.

You will then be redirected to the NetSuite dashboard. You will want to click Sign Out from here to be taken back to Expensify.

You will now notice that the NetSuite connection has been created. Click Configure to choose what information is imported from NetSuite and how information will be exported out of Expensify.

Exporting Reports to NetSuite

Reports are not automatically sent to NetSuite. You can trigger an export to NetSuite by navigating to the Reports page, checking the boxes for the reports you want to export and clicking Export To > NetSuite.

Once the reports have been exported, the NetSuite icon will show in the Exported column in the Reports table.