- DualEntry → Brex: Your Chart of Accounts and Companies are pushed into Brex, making them available as selectable values when coding expenses.
- Brex → DualEntry: Vendors, card transactions, transfers, reimbursements, bills and bill payments flow back into DualEntry automatically.
Disconnect existing integrations first
Brex supports one active accounting integration at a time. If your Brex account is currently connected to another ERP (such as QuickBooks Online), disconnect that integration from Brex before connecting DualEntry.Before you disconnect
Work through this checklist to avoid mid-cutover surprises:- Contact Brex Support. Brex support can assist you in backing up any Vendor Defaults and Custom Rules that have been created. Once this is backed up, Brex can help update the defaults and rules after connecting Brex to DualEntry.
- Drain the bill-pay queue. Approve, reject, or schedule out all bills currently pending in Brex Bill Pay. Confirm no ACH or check payments will release during the cutover window.
- Submit pending employee expenses and reimbursements. Unsubmitted expenses lose their GL context. Have employees submit and approvers approve, or accept that re-coding will be required.
- Export historical reports. Pull GL-coded transaction reports out of Brex for audit and compliance. Once disconnected, these cannot be regenerated.
- Reconcile and close the prior ERP through the cutover date. Seal your last clean snapshot of Brex activity.
- Pick a clean cutover date. Month-end after close is ideal. Mid-period cutovers split a period across two ERPs and create reconciliation work.
- Plan to rebuild downstream rules. Card budgets, spend limits, expense policies, and approval workflows that reference GL accounts will need to be reconfigured against DualEntry’s COA.
Prerequisites
Confirm the following before connecting:- Admin access to both your DualEntry and Brex accounts. The primary connection method uses your Brex login credentials. If you’re connecting via API instead, you’ll also need a Brex role with permission to generate accounting-scope API tokens (not all Brex plans expose these).
- Your prior Brex accounting integration (if any) is disconnected. See the previous section for the impact and the pre-disconnect checklist.
- For multi-entity setups: every Brex legal entity you want to sync has a corresponding company set up in DualEntry.
- The DualEntry accounting period(s) covering your cutover date are open. Brex transactions cannot post into a closed period.
- Multi-currency: if Brex spend includes non-base currencies, confirm those currencies are enabled and FX rates are configured in DualEntry.
How to connect
DualEntry supports two ways to authenticate with Brex. Login credentials are the recommended method for most customers.Option 1: Connect with your Brex login (recommended)
- In DualEntry, navigate to Configuration → Company → Integrations → Brex.
- Choose Connect within the Brex integration box.
- You’ll be redirected to Brex. If you are not already signed in, enter your Brex login credentials.
- Approve the requested permissions.
- You’ll be redirected back to DualEntry. The integration shows as Connected.
Option 2: Connect with an API token (legacy, not recommended)
Use this method if your team prefers token-based authentication or your security policy requires it.- In Brex, generate an API token with accounting integration scopes. This happens entirely in Brex’s own dashboard; see Brex’s authentication documentation for the current steps.
- Copy the token.
- In DualEntry, navigate to Configuration → Company → Integrations → Brex.
- Choose Connect with API token and paste the token.
- Choose Save. DualEntry validates the token automatically.
- Once authenticated, the integration shows as Connected.
Configure Brex settings in DualEntry
- Navigate to Configuration → Company → Integrations → Brex.
- Choose Settings in the upper-right corner. A drawer opens (Brex Settings).
- Set a cutoff date. This is typically the migration date.
- Choose Brex Accounting Settings and configure the following:
- Assign a default company (required).
- Assign a backup Accounts Payable account for Brex bills (required).
- Adjust look-back days if necessary.
- Navigate out of the drawer and choose Initial Sync or Sync.
How the look-back window works
The integration pulls historical records using whichever date is older: the cutoff date or the look-back window. Brex does not return all data on every sync, so a fixed look-back window is required.- Day 1 of integration with cutoff = today, look-back = 30: only today’s records come in.
- After three months of running, regardless of cutoff date, only the last 30 days of records are visible to each sync.
Configure Brex settings in the Brex app
Wait at least one hour after the initial sync before performing this step.- Sign in to Brex.
- In the left menu, choose Accounting.
- Choose DualEntry Settings at the top.
- You see a list of entities pushed from DualEntry. Go through each company and map the Brex entity and accounts.
- Navigate back to Accounting and open Fields Library.
How to map DualEntry companies to Brex legal entities
Once your integration is connected and DualEntry has pushed your companies to Brex, map each Brex legal entity to the corresponding DualEntry company. This mapping routes synced transactions to the correct entity in your ledger. You configure this mapping inside Brex, not in DualEntry.- In Brex, navigate to Accounting → Integrations → DualEntry.
- Open the Entity Mapping (or Subsidiaries) section.
- For each Brex legal entity in the left column, choose the corresponding DualEntry company from the dropdown on the right.
- Save the mapping.
- Repeat for all your active legal entities.
What syncs
The Brex integration runs in two directions.DualEntry → Brex (Scheduled or on sync): Not available for API token connections
DualEntry pushes data to Brex on a 30-minute schedule. To push immediately, choose Sync now from Configuration → Company → Integrations → Brex.
When a DualEntry account is deactivated, it is also deactivated in Brex, preserving any historical transactions already tagged to it while removing it as an option for new expenses.
Brex → DualEntry (Scheduled and real-time)
Brex syncs records to DualEntry through two mechanisms:- Real-time (webhook): Card expenses and reimbursement expenses are sent to DualEntry when a user exports them to ERP from inside Brex; these arrive in near real time after the export action.
- Scheduled: All other records (company, vendors, accounts, bill-pay, clawbacks, and transfers) flow on a scheduled sync.
Edit Brex bills in DualEntry after sync
After a Brex bill syncs to DualEntry, make any further changes to that bill in DualEntry, not in Brex. Once Brex exports a bill to DualEntry, Brex marks it as synced and locks it from editing. The DualEntry bill stays fully editable, so corrections such as recoding a line, changing classifications, or setting up a prepaid belong there.Why not to edit synced bills in Brex
Bills are the only Brex record type that re-syncs after the first import. Card expenses and reimbursements import once, but if a bill changes in Brex, the next scheduled sync rebuilds the DualEntry bill from the Brex version. Re-syncing a bill has these effects:- Edits overwritten: The sync replaces lines, amounts, and receipt attachments with what Brex sends.
- Duplicate schedule lines: If you created a prepaid amortization schedule or fixed asset from a line on the bill, DualEntry keeps that linked line. When the Brex edit changes the line’s GL account or amount, DualEntry cannot match it to the linked line. DualEntry then adds the Brex line alongside it, and the expense posts twice.
Turn a synced Brex bill into a prepaid
To book a synced Brex bill as a prepaid expense, work from the bill in DualEntry:- In Accounts Payable, open the bill. Brex bills carry a memo that starts with
[Brex] Bill. - If the vendor, amount, or GL account is wrong, correct it on the DualEntry bill first.
- Create a prepaid amortization schedule and link the bill line that booked the prepaid as its source line.
- Leave the original bill unchanged in Brex.
VAT on Brex bills and payments
Brex has no concept of a net amount plus a separate VAT line: every bill and bill payment it sends to DualEntry carries a single, undifferentiated total. To record VAT correctly on these transactions, code them by their gross (VAT-inclusive) amount and let DualEntry split out the VAT.Push VAT tax codes to Brex
Before you can select a VAT rate on a Brex bill or bill payment, the rate has to exist in Brex as a Tax Code option. DualEntry pushes VAT rates to Brex, but this push has to be turned on and configured first:- Navigate to Configuration → Company → Integrations → Brex → Settings.
- Leave Allow push data on (it defaults to on for Brex). If it’s off, the tax-code push is skipped along with the chart of accounts and companies.
- Open Brex Accounting Settings.
- Under Accounting Fields Configuration, use Tax Codes and select the VAT countries whose rates should go to Brex. The helper text reads: “Push TAX rates from selected countries to Brex as [Tax Code] custom-field values.”
- Choose Save, then run Sync (or wait for the scheduled sync). Saving the setting does not push by itself.
VAT 20% — GB Standard. Inactive rates that were already pushed are disabled in Brex, not deleted.
The rates themselves have to exist in DualEntry first; see Non-US Taxes to set them up.
Enter the gross amount, not the net amount
- When coding a Brex bill or bill payment for a purchase in a VAT country, enter the full gross total (net + VAT) as the transaction amount. For example, enter $1,200 for a $1,000 purchase with 20% VAT, not $1,000.
- Select the applicable VAT rate (for example, “United Kingdom Standard 20%”) on the line.
- DualEntry reverse-calculates the net expense and VAT amount from the gross total and the selected rate: net = gross ÷ (1 + rate), VAT = gross − net. For the example above, this posts as $1,000.00 net expense and $200.00 VAT.