NetSuite integration overview

Overview What imports to Brex vs. what exports to NetSuiteWorking with subsidiaries and intercompany Mapping, defaults, and vendor rulesAmortization for NetSuiteBest practicesTroubleshooting

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 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. Each expense must include a Vendor, and you must have the Brex Bundle installed in NetSuite; otherwise, export will fail for that expense.

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.

Note: If you rely on intercompany or VAT postings, use journal entries or vendor bills; these are supported, while the credit card transaction export type is not.


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.

Tip: 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.


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.

Important: 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.

Amortization 1

Step 3: Choose the Template and set Start/End dates (dates optional for “Variable” templates).

Amortization 2

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.

Amortization 3

Step 3: Select the Template and Start/End dates, then finalize the bill. You can edit amortization on existing bills.

Amortization 4

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.

HC - Amortization for NetSuite
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.


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 AccountingPrepare 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.

Was this article helpful?