Are you receiving SNAP/EBT benefits? The Expensify.org/SNAP-VAX campaign is live and accepting new members. Learn more about receiving $50 for submitting a SNAP receipt and $50 for getting your COVID-19 vaccine here and join today!
Deep Dive - Configure Coding for NetSuite
- Expense Categories
- Custom Segments
- Custom Records
- Custom Lists
Expensify's integration with NetSuite automatically imports NetSuite Expense Categories as Categories in Expensify. To set Category Rules (e.g. receipt requirements or comments) go to the categories page in the policy. Expenses can be automatically categorized with expense categories using Auto-Categorization.
Please note that each expense has to have a category selected in order to export to NetSuite. The selected category has to be imported in from NetSuite and cannot be manually created within the policy settings.
If an expense category is updated in NetSuite it will update in Expensify. Categories selected on expenses in Expensify that haven't yet been exported will be flagged as "out of policy" and need to be updated before export. Simply select the correct category and save before export.
The NetSuite integration allows for NetSuite Customers, Project, Departments, and Classes and/or Locations to be set up as line-item expense classifications, which are called "Tags" in Expensify.
If you have defaults on the employee record in NetSuite, we will create a rule that automatically applies the default to the tag on all expenses created for that employee. These can be edited if a different tag needs to be applied.
The NetSuite integration allows for NetSuite Customers, Projects, Departments, Classes and/or Locations to be set up as report-level classifications, which are called "Report Fields" in Expensify.
NetSuite Employee Default
The 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. These fields will need to be set in the employee(s) record(s) in NetSuite for them to be successfully applied upon export to NetSuite.
Note: the employee default setting cannot be used with a vendor bill export unless you have both a vendor and an employee set up for the user under the same email address and subsidiary.
- Our tax tracking feature allows you to apply a tax rate and tax amount to each expense.
- Only Tax Groups can be imported from NetSuite. If you are not currently using these, you will first need to set them up in NetSuite under Setup > Accounting > Tax Groups.
- Once added go to the NetSuite connection configuration page, Settings > Policies > Group > [Policy Name] > Connection > NetSuite > Coding, refresh the subsidiary list, and the Tax option will appear.
- Enable the Tax option, save and sync the connection, and all tax groups set up for the connected NetSuite subsidiary will be imported into Expensify as taxes
- After syncing, go to Settings > Policies > Group > [Policy Name] > Tax to see the tax groups imported from NetSuite.
- Use the enable/disable button to choose which taxes to make available to your employees.
- Select a default tax to apply to the policy. This will automatically apply to all new expenses.
- Read more about Tax tracking with NetSuite in our Community here.
We can add any custom segment to your policy by locating three required fields in your NetSuite account:
- Segment Name
- Internal ID
- Script/Field ID
Note: You must be logged in as an administrator in NetSuite in order to locate the required fields.
To find the list of custom segments in NetSuite click customization > Lists, Records, & Fields > Custom Segments.
To find the Internal ID first make sure you have internal IDs enabled by going to Home > Set Preferences.
Next, back in the custom segment, click the Custom Record Type hyperlink.
Here you will find the internal ID:
This field depends on your mapping selection in Expensify and if the Segments were create before or after NetSuite release 2019.1.
For before 2019.1: You will need to go to the custom segment screen and click on the Application & Sourcing tab.
If you are mapping these as report fields, use the Field ID on the Transactions tab:
For mapping as tags, use the Field ID on the Transaction Columns tab:
If it was created after 2019.1, you just need the ID from the Primary Information section of the Segment.
Once you've located this information in NetSuite, navigate in Expensify to Settings > Policies > Group > [Policy Name] > Connections > Configure > Coding tab. Select if you want to import your custom segment as either tags or report fields, and fill out the three fields, Segment Name, Internal ID, Script ID. Submit.
You'll now see the values for your custom segment available under tag or report field settings in Expensify.
Note: We do recommend that you don't use the "Filtered by" feature on your custom segments. We don't have the ability to make these dependent on other fields.
If you do have a filter selected, we suggest switching that filter in NetSuite to "Subsidiary" and enabling all subsidiaries to make sure you don't receive any errors upon export.
Custom records can be added through the custom segments feature.
You will need three items:
- Internal ID
- Transaction Column ID
You can get the internalID of the Record from the URL in NetSuite:
The record will need to be set up as a Transaction Column Field if you want to be able to put it on Expense Reports:
The script ID is taken from the Transaction Column Field entry:
Once you've located this information in NetSuite, go back to Expensify and navigate to Settings > Policies > Group > [Policy Name] > Connections > Configure > Coding tab. Select if you want to import your custom records as either tags or report fields, and fill out the three fields, Segment Name, Internal ID, Script ID. Submit.
There are three things you will need to import your custom lists.
- The name of the record
- The ID of the Transaction Line Field that holds the record.
- Decide if you want to import as tags or report fields.
- In Expensify under Settings > Policies > Group > [Policy Name] > Connections > Configure > Coding tab The name of the record will be populated in a dropdown list. If you don't see the one you are looking for, click "Refresh Custom List Options".
- In NetSuite search "Transaction Line Fields" to get the ID:
Open the one that is holding your record to get the Field ID:
3. Enter the ID you located in NetSuite back in Expensify in the Configuration screen.
4. Select if you'd like the custom list to import as tag or report field and click "Submit" to save your configuration
If you want to delete tags you'll need to do this from NetSuite. Categories, tags, and report fields must be added and/or modified on the accounting side first and synced to your Expensify settings.
That said, once imported, you will have the option to enable/disable any that you don't want to use. This can be done from the respective sections of your policy settings by toggling the categories or tags you desire.
Deep Dive - Configure Advanced Settings for NetSuite