NetSuite integration overview
Overview
Once connected, the NetSuite integration brings your NetSuite fields into Brex, lets you map GL Accounts and other accounting fields, and exports expenses as journal entries (single or batched), vendor bills, or as credit card transactions for card spend. It also supports amortization for bills and expenses, so NetSuite can recognize prepaid costs over time.
What imports to Brex vs. what exports to NetSuite
To avoid confusion, this article uses “import” for data that moves into Brex and “export” for data that moves out of Brex. Some product surfaces may still say “sync,” but we’ll be explicit about direction here.
Importing NetSuite fields into Brex
Brex imports NetSuite fields (accounts, classes, departments, locations, vendors, supported custom fields) for use in categorization rules. Use Integrations > NetSuite (⋯) > Refresh to pull updates after you change forms, lists, or visibility in NetSuite. Certain fields require additional permission on NetSuite, so make sure you are giving the right permission set to import the desired fields.
Why “Last updated” can look old: In the Fields library, the 'Last updated' date reflects structure/visibility changes (e.g., a field disabled or hidden), not routine value refreshes. Daily auto‑sync can still be running even if that timestamp hasn’t changed, as the values are still the same. Make sure to enable auto-sync to have your NetSuite fields stay up to date.
Export formats: exporting from Brex to NetSuite
Brex supports multiple export formats for each transaction type. Choose the format that best fits your close process and downstream reporting.
- Card expenses
- Journal entry (single): One JE per expense with coding on both debit and credit lines.
- Journal entry (batched): Expenses grouped by day/week/month with coding on debit lines only.
- Credit card transaction (CCT): Exports card spend as NetSuite Credit Card transactions (extra setup required). Even if you bulk-export from Brex, NetSuite will still create individual credit card transactions. Intercompany/VAT is not supported on the CCT export type.
- Vendor Bill: One card expense is created as a vendor bill under a selected Vendor. Payments are also automatically exported to close these vendor bills.
- Reimbursements
- Journal entry (single): One JE per expense with coding on both debit and credit lines.
- Journal entry (batched): Expenses grouped by day/week/month with coding on debit lines only.
- Vendor bill: One vendor bill is created for each reimbursement expense. Users are used as Vendors, and subsequent payments are exportable to close these vendor bills.
- Payments to Brex
- Journal Entries: Card collection and reimbursement payments are exported as journal entries to reflect payments made to Brex (e.g., card statement payments, reimbursement funding).
- Rewards
- Journal entry: Reward redemptions are recorded as other income with the balancing entry to card liability.
How to choose export formats
Step 1: Go to Accounting > NetSuite settings > Export types > Batching options to switch between single and batched journal entries.
Step 2: To export card expenses as credit card transactions, select the credit-card export option under Accounting > NetSuite Settings > Export types.
Step 3: If you want reimbursements or card expenses to export as vendor bills, go to Accounting > NetSuite Settings > Export types and choose your desired format. If you do not see the option, contact Brex Support to enable this mode on your account, then export as described above.
Brex does not support a NetSuite bank feed for Brex cards. Use the Brex export workflow to import expense data into NetSuite.
Before you switch to credit card transaction exports
Before changing your card expense export type to Credit card transaction, review the following:
- Vendor requirement: NetSuite requires a vendor for each credit card transaction. Ensure vendors are assigned in Brex for all card expenses, or set up an automation to assign a default vendor to avoid export errors.
- Some features aren’t supported: VAT tracking, amortization, and inter-company entries aren't supported. This export type is limited to how NetSuite records credit card transactions.
- Additional setup is required in NetSuite: You’ll need to complete the advanced NetSuite setup steps listed below before using credit card transaction exports. Visit the NetSuite integration setup here to learn more.
- Posting behavior changes: With credit card transaction exports, expenses are created in NetSuite as credit card charges, which may change how your team reviews and reconciles transactions.
Note: If you need VAT, amortization, or intercompany support, continue exporting card expenses as journal entries or vendor bills instead.
Working with subsidiaries and intercompany
If you enable multiple subsidiaries, Brex imports values per subsidiary and respects NetSuite access rules. Exports involving different billed vs. spending entities generate advanced intercompany JEs using the Intercompany Payable/Receivable accounts you select in Entity settings.
Note: Your export will fail if a chosen value (e.g., Location) isn’t accessible to the target subsidiary in NetSuite. Map defaults or pick accessible values.
Mapping, defaults, and vendor rules
Setting default NetSuite fields (avoid missing‑value errors)
Use Accounting > NetSuite settings > Entity settings > Defaults NetSuite fields to assign default values (e.g., Department, Class, Location, Vendor) per entity. This prevents “Please enter value(s) for …” when NetSuite fields are mandatory.
Mapping merchants to vendors
Create rules in Accounting > Manage automations > Mappings to map Merchant > Vendor (or bulk upload). These populate the Name field on journal entries and are required for credit‑card‑transaction exports.
Using custom fields/segments
Enable fields on your preferred Journal Entry form (don’t hide them), refresh the integration, then enable/map them from the Fields library and your integration Mappings.
Mark expenses as billable
Brex bookkeepers, account admins, or card admins of accounts that use the NetSuite integration can tag expenses as billable prior to exporting them to NetSuite. Users with other role types can also set these fields on their own expenses.
You can only mark an expense as billable once you have tagged a customer for that expense. A billable expense needs to have a customer code before being exported to NetSuite, and expenses marked as billable need to be associated with a GL account that allows billable expenses. The following GL account types may be used for billable expenses: expense, other expenses, other current liabilities, other current assets, other assets, fixed assets, or COGS.
When you export your expenses to NetSuite, the billable field will be populated based on your selections within Brex. Automatically tag expenses. You can automatically tag expenses as either customer-related or billable by creating custom rules. The Customer field and the Billable field can be automatically coded based on a custom rule.
Amortization for NetSuite
Assign an amortization template, start date, and end date in Brex; NetSuite then creates the amortization entries according to that template. Works for expenses and bills synced to NetSuite.
Note: NetSuite overrides the Debit GL with the Deferral GL defined in your template. To keep things consistent pre‑export, select the same deferral GL as your Debit GL in Brex. Amortization isn’t supported when exporting card expenses as credit card transactions, use journal entries for amortized expenses.
Assigning amortization to expenses (dashboard)
Step 1: Open the expense in Accounting and expand Accounting categorization.
Step 2: Enable 'Amortize expense'.
Step 3: Choose the Template and set Start/End dates (dates optional for “Variable” templates).
Step 4: Complete remaining coding and export.
Assigning amortization to bills on your dashboard
Step 1: Create or open a bill in Bill Pay.
Step 2: In Line items, enable Amortize expense.
Step 3: Select the Template and Start/End dates, then finalize the bill. You can edit amortization on existing bills.
If amortization templates don’t appear in Brex
If you are unable to view your amortization templates from NetSuite in Brex, follow the steps below.
In NetSuite
Step 1: Install or upgrade to the latest Brex Bundle in NetSuite by navigating to Customization > SuiteBundler > Search & Install Bundles.
Step 2: Check the Brex Credit Card Restlet settings by navigating to Customization > Scripting > Script Deployments and filter by Type: RESTlet”. Select the script “Brex_Custom_Credit_card_Restlet” and click Edit on the relevant deployment.
Step 3: Ensure the following configuration on the script deployment:
- Deployed = Checked
- Audience > Internal Roles = “Select All” checked
- Audience > Subsidiaries = Select all subsidiaries
Step 4: Copy the External URL of the script deployment to use later.
Step 5: Click Save.
Note: If an existing deployment exists, then ensure the deployment has the correct role assigned matching the access tokens that are used in Brex to connect to NetSuite. Ensure the role has View permissions by clicking Lists > Amortization schedules.
In Brex
Step 1: Ensure the script and deployment IDs are correct by navigating to Accounting settings > Sync settings.
Step 2: Re-sync your integration.
If amortization templates don’t appear in Brex
If you are unable to view your amortization templates from NetSuite in Brex, follow the steps below.
Accounting reconciliation in NetSuite
Accounting reconciliation is the process of confirming that transactions recorded in Brex match what’s posted to your general ledger (GL) in NetSuite. In practice, you’ll export coded activity from Brex (for example, card expenses and reimbursements), then reconcile the resulting NetSuite entries against the NetSuite accounts impacted by those exports.
Because Brex doesn’t support a NetSuite bank feed for Brex cards, reconciliation in NetSuite relies on the Brex export workflow (journal entries, vendor bills, or credit card transactions), plus exported payment journal entries where applicable.
How Brex exports map to reconciliation in NetSuite
- Card expenses export to NetSuite as journal entries (single or batched), vendor bills, or credit card transactions (CCT) (extra setup required).
- Reimbursements export as journal entries (single or batched) or vendor bills, and payments can be exported to close those bills.
- Payments to Brex (for example, card statement payments and reimbursement funding) export as journal entries to reflect payments made to Brex.
Step-by-step: reconcile Brex activity in NetSuite
Step 1: In your Brex dashboard, export your transactions to NetSuite using your configured export types. (Accounting > NetSuite settings > Export types).
Step 2: In NetSuite, locate the exported records for your close period (journal entries, vendor bills, or credit card transactions) and confirm they’re posted and available for reporting.
Step 3: Reconcile based on your export type:
- If you use journal entries (JEs): Reconcile your Brex card liability/clearing balance by matching exported expense JEs and the exported card collection/payment JEs.
- If you use CCT: Reconcile within NetSuite’s credit card account/register.
- If you use vendor bills: Match exported bill payments to close bills created from card and/or reimbursement exports.
Note: To reduce reconciliation issues caused by export failures, set defaults for required NetSuite fields (for example, Department, Class, and Location) in Accounting > NetSuite settings > Entity settings > Defaults NetSuite fields.
Best practices
- Choose batching intentionally: Use batched JEs if you want coding (e.g., Project) on debit only; use single JEs if you need line‑level parity on both sides.
- Prevent missing‑value errors: Set Default NetSuite fields for any dimensions your NetSuite marks mandatory (e.g., Department).
- Keep roles & forms current: After changing NetSuite roles, forms, or lists, Refresh the integration in Brex to pull updates.
- Understand posting dates for reimbursements: With accruals enabled, the ERP Posting Date for reimbursements updates to the approval date. Use filters like Card + Approved reimbursements to focus review and update posting dates in bulk if needed.
Know what’s not supported: Brex doesn’t support a NetSuite bank feed for Brex cards; use the Brex export workflow.
Troubleshooting
Error: Export shows “Successful,” but you can’t find the entry in NetSuite
If your account uses NetSuite approval workflows, the entry may be Pending Approval. Search Journal Entries in NetSuite and approve as needed.
Error: “Invalid entity reference key … for subsidiary …”
A value (account/class/department/vendor/etc.) is inactive or not accessible to the target subsidiary. In NetSuite, reactivate the value or grant subsidiary access, or select a different value and retry the export.
Error: “Invalid GL account” during export
Confirm the GL account is active for the subsidiary and, if applicable, uses a currency compatible with the transaction; otherwise, select a different subsidiary‑permitted account and retry.
Error: “Please enter value(s) for: Department, Class, Location …”
Either turn off the mandatory setting in NetSuite or set a default for the field in Entity settings > Defaults NetSuite fields so the auto‑generated AP line has a value.
Error: “Stuck in Exporting” or “SuiteTalk concurrent request limit exceeded”
Temporary platform or rate‑limit issues. Wait and retry; if a job remains “Exporting” for an extended period after retry, contact Brex Support with the export date/time.
Reimbursement export fails when the AP period is closed
Reimbursements post to a liability account and will fail if the AP period is locked/closed. Temporarily unlock the period and re‑export (or export via CSV and import to NetSuite). Card expenses aren’t blocked by AP lock.
Project/other coding appears on both debit and credit lines
This is expected in single‑entry JEs. Switch to batched JEs (Accounting > NetSuite settings > Journal entry settings) to keep coding on debit lines only.
Project field missing on the NetSuite JE form
Edit your preferred Journal Entry form: Customization > Forms > Transaction Forms > Edit > Screen Fields > Lines and Show the Project field; Save, then Refresh the integration.
Reimbursements not appearing automatically after payment
This is expected: reimbursements populate under Accounting → Prepare and can be exported via Review & export.
Note: If you export card expenses as credit card transactions, ensure each expense has a Vendor; otherwise, export will fail for that expense.