Integrate Directly with NetSuite

The integration with NetSuite is 2-way. Expense categories, departments, locations, classes, customers and employees can all be imported from NetSuite. The expense data in Expensify can then be exported to NetSuite as expense reports and journal entries.

Having problems with your NetSuite connection? First, take a look at the NetSuite Troubleshooting page, then if you're still having issues just email and we'll work with you to resolve this issue.

Important Notes

  • You must have a Corporate policy 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. In order to do this, type in "Expense Categories" in the global search in NetSuite > Edit > New
  • 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.

Step 3: Ensure all expense capture fields are selected

  1. In your Netsuite account, please visit Customization > Forms > Transaction Forms.

  2. From there, look for "Standard Expense Report" and "Standard Journal Entry"

  3. Are you seeing any other custom expense report or journal entry types, an example being "<Company> Custom Expense Report"? If so, it's possible that it is attempting to export into one of these expense report templates.  Follow these next steps for both once inside each expense report and journal entry template.

  4. Click Customize or Edit on the far left column on the page next to the expense report template or journal entry template to change template settings.

Step 3A: Ensure Journal Entry Templates are Configured Properly

  1. Select the Screen Fields tab, and Main. Please verify that the 'Created From' label exists, and that the circled settings match.
  2. Next, select the subtab Lines, scroll to the bottom and verify that the 'Show' column for 'Receipt URL' is checked.
  3. Go back to Customization > Forms > Transaction Forms and ensure that all other "Journal Entry" templates have this configured as well.


Step 3B: Ensure Expense Report Templates are Configured Properly

  1. Please follow the same instructions for Expense Report templates. You need to verify that 
    1. Created From has "Show" checked and is of Display Type "Normal" under Screen Fields > Main
    2. Receipt URL field has "Show" checked under Screen Fields > Expenses
    3. Go back to Customization > Forms > Transaction Forms > Edit > make sure that all "Expense Report" templates have this configured as well.
    4. Also, under Customization > Forms > Transaction Forms > Edit > make sure the field "Class" [Location, Receipt URL or Department] has the "Show" checkbox checked.

Step 4: Add Expense Categories

  1. Expensify imports NetSuite Expense Categories, which you can find on NetSuite under Setup > Accounting > Expense Categories
  2. Expense categories are essentially aliases to entries under your main Chart of Accounts. When Expensify reports are exported to NetSuite, expense reports use the expense categories, while journal entries created by the export use the aliased G/L account from the Chart of Accounts.
  3. If you cannot find Expense Categories from the setup menu, please contact your NetSuite representative to ensure that you have the expense report module enabled.

Step 5: Enable Expense Reports in NetSuite

Enabling Expense Reports is required as part of Expensify's integration with NetSuite. If you search "Expense Categories" in the NetSuite global search and that does not pull up this module, then you'll likely need to enable Expense Reports in NetSuite. To do this, go to Setup > Company > Enable Features > Employees > "check" Expense Reports.

Connect Expensify and NetSuite

In order to connect to NetSuite you will need to have a Corporate 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 must connect using a NetSuite account with an administrator role. 

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

The Account ID is not the same as the password you use to login to the NetSuite website.

You will then be asked to log into NetSuite using your administrator credentials. If you have multiple NetSuite user accounts, you will need select the appropriate role. The administrator credentials are only required to establish the initial connection, per NetSuite's documentation.  After you log in, you'll be presented with an option to select the appropriate role for subsequent operations related to the Expensify integration.  Please select the "Expensify Integrations" role, or if you prefer to create your own custom role, ensure that role has the following permissions:

  • “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 see that this policy is connected to NetSuite. Click Configure to choose what information is imported from NetSuite and how information will be exported out of Expensify.



Expensify's integration with NetSuite brings over NetSuite Expense Categories as Categories in Expensify. To set these up in NetSuite, simply search Expense Categories in the global search in NetSuite and then hit the New button to start creating new Expense Categories. As you can see each Expense Category is associated with a specific Expense Account in NetSuite.


Our NetSuite integration allows for NetSuite Customers, Departments, Classes and/or Locations to be set up as line-item expense classifications, which we call Tags in Expensify. Please note that if you want any of these classifications to be brought over to Expensify, they must first be set up in NetSuite.

Report Fields

Our NetSuite integration allows for NetSuite Customers, Departments, Classes and/or Locations to be set up as report-level classifications, which we call Report Fields in Expensify. Again, these will need to be set up as NetSuite classifications in order to be brought over with our integration.

NetSuite Employee Default

Our NetSuite integration allows Departments, Classes and/or Locations to be set according to the NetSuite Employee Default for expenses exported as both Expense Reports and Journal Entries. Remember, these classifications need to be set in the employee record in NetSuite if they are going to be applied.


This option allows us to import your employees from the selected NetSuite subsidiary and invite them to your Expensify policy. When we import new people, we'll send them an email informing them that they have been added to the policy. You can also optionally import your NetSuite approval workflows into Expensify. By NetSuite convention, if no expense approver exists, Expensify will map to the supervisor.


Reimbursable Expenses: Expense Reports

Expensify transactions will export reimbursable expense as Expense Reports. Expense Reports will post to the payables account specified in NetSuite. In some cases you may want to change this to credit a different account. 

The steps to do this in NetSuite OneWorld are the following:

1. Navigate to Setup > Company > Subsidiaries
2. Click Edit on the subsidiary that you want to update
3. Click the preferences tab
4. Select the preferred account under Default Payable Account for Expense Reports
5. Click Save

The steps to do this in non-OneWorld are the following:

1. Navigate to Setup > Accounting > Accounting Preferences
2. Click Time & Expenses tab
3. Under Expenses section, there is a field for Default Payable Account for Expense Reports, choose the preferred account.
4. Click Save.

Reimbursable Expenses: Journal Entries

Expensify transactions will export as journal entries in NetSuite and will map to the subsidiary associated with this policy. All the transactions will post to the payable account specified in the policy. You can also set an approval level in NetSuite for the journal entries.

Non-Reimbursable Expenses: Journal Entries

Expensify cash transactions will export as journal entries in NetSuite and will map to the subsidiary associated with this policy. All the transactions will post to the payable account specified in the policy. You can also set an approval level in NetSuite for the journal entries and expense reports.

Non-reimbursable company card transactions will post to the payable account specified in the policy. Want to export to multiple credit card accounts in NetSuite? We support that in our company card exportYou can also set an approval level in NetSuite for the journal entries and expense reports.

Note: If "no preference" is selected in the Export Preferences section of the configuration dialogue the default NetSuite settings for requiring Accounting and Supervisor approval will be applied.

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.

Still need help?

Our friendly support team is here to help! Send us an email to and we'll get back to you within 24 hours.