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 email@example.com and we'll work with you to resolve this issue.
- You must have a Corporate policy to integrate with NetSuite.
- Ensure that your policy's report output currency setting matches the NetSuite Subsidiary default currency.
- You'll need to make sure that you have the Expense Reports module enabled under Time & Expenses. To do this Setup > Company > Enable Features > Employees > "check" Expense Reports.
- You will need to have your employees set up in NetSuite's Employee Record, which should include the email address that they use for Expensify. Note that this does not mean that your employees need to have NetSuite access or that you will need to buy additional seats in NetSuite.
- If you choose to sync people, all employee under the Subsidiary that you are syncing will be brought in to Expensify.
- You'll need to have Expense Categories set up in NetSuite. To set these up, go to "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.
Installing the Expensify bundle in NetSuite
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
In your Netsuite account, please visit Customization > Forms > Transaction Forms.
From there, look for "Standard Expense Report" and "Standard Journal Entry"
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.
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
- Select the Screen Fields tab, and Main. Please verify that the 'Created From' label exists, and that the circled settings match.
- Next, select the subtab Lines, scroll to the bottom and verify that the 'Show' column for 'Receipt URL' is checked.
- 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
- Please follow the same instructions for Expense Report templates. You need to verify that
- Created From has "Show" checked and is of Display Type "Normal" under Screen Fields > Main
- Receipt URL field has "Show" checked under Screen Fields > Expenses
- Go back to Customization > Forms > Transaction Forms > Edit > make sure that all "Expense Report" templates have this configured as well.
- 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
- Expensify imports NetSuite Expense Categories, which you can find on NetSuite under Setup > Accounting > Expense Categories
- 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.
- 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.
Auto-Sync will keep your Expensify information fresh and reduce the number of errors you experience with out-of-date NetSuite data, as well as saving you time with syncing. We'll automatically import expense categories, departments, classifications, locations, customers, and employees once you've enabled the "auto-sync". Don't worry: you can control what we import through the NetSuite configuration.
Enable Auto-Sync by going to Admin > Policy > [Policy Name] > Connections > Netsuite > Configure and then, in the Import tab, enable 'Auto Sync'
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.
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 export. You can also set an approval level in NetSuite for the journal entries and expense reports.
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.
Finding Expensify Reports in NetSuite
Exported reports can be found in NetSuite by searching for the Expensify Report ID. Type the Report ID into the search bar at the top of the NetSuite page. You will see all entries containing that number.
There will also be a link back to the Expensify report in the "Created From" field of the record: