Documentation Index
Fetch the complete documentation index at: https://docs.dualentry.com/llms.txt
Use this file to discover all available pages before exploring further.
Brex Integration: Setup and Sync
This guide walks you through connecting Brex to DualEntry. The integration is bidirectional:- 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.Disconnecting a prior accounting system from Brex wipes the following from Brex and cannot be reversed:
- GL codes on all historical Brex transactions
- Auto-categorization rules (vendor → GL, merchant → GL, MCC-based)
- Custom field / dimension mappings (department, class, location, project, etc.)
- Vendor links between Brex vendors and your prior ERP’s vendor records
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 is the recommended method for most customers.Option 1: Connect with your Brex login (recommended)
- In DualEntry, navigate to Company → Integrations → Brex.
- Click 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, navigate to Settings → Developer → API.
- Generate a new API token with accounting integration scopes.
- Copy the token.
- In DualEntry, navigate to Company → Integrations → Brex.
- Click Connect with API token and paste the token.
- Click Save - DualEntry validates the token automatically.
- Once authenticated, the integration shows as Connected.
Configure Brex settings in DualEntry
- Navigate to Company → Integrations → Brex.
- Click Settings in the upper-right corner. A drawer opens (Brex Settings).
- Set a cutoff date. This is typically the migration date.
- Click 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 click 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.- Log in to Brex.
- In the left menu, click Accounting.
- Click 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.
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, click Sync now from Company → Integrations → Brex.| Data | Notes |
|---|---|
| Chart of accounts | Your DualEntry GL accounts are pushed into Brex as selectable values on the GL Account field. This lets your team tag expenses inside Brex to the correct GL code. Format pushed: {GL Code} - {Account Name} (for example, 6100 - Travel Expenses). |
| Companies | Your DualEntry companies are pushed into Brex, where they can be mapped to Brex legal entities. The mapping itself happens inside Brex - see Map DualEntry companies to Brex legal entities for the steps. Once mapped, expenses coded in Brex carry the correct entity context when they sync back to DualEntry. |
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 so synced transactions route to the correct entity in your ledger. This mapping is configured 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, select the corresponding DualEntry company from the dropdown on the right.
- Save the mapping.
- Repeat for all your active legal entities.
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.
| Brex data | DualEntry record | Notes |
|---|---|---|
| Company | company (mapping) | The single Brex company. Serves as the fallback company for entity routing when no legal entity is mapped. |
| Vendors | vendor | Brex vendors and merchants are imported as DualEntry vendor records. |
| Linked, card, and cash accounts | account (mapping) | Brex’s linked bank accounts, card accounts, and cash accounts are unified into one Brex account list to map against DualEntry GL accounts. |
| Card expense | direct_expense | Per-transaction direct expense, with the GL account from the Brex GL Account custom field. Arrives in real time after the user exports to ERP from Brex. |
| Bill-pay expense | bill | Each Brex bill creates a DualEntry bill against the matched vendor. |
| Reimbursement expense | journal_entry | Reimbursements post as journal entries. Arrives in real time after the user exports to ERP from Brex. |
| Clawback expense | vendor_credit + vendor_refund | A clawback creates a vendor credit alongside a vendor refund record. |
| Outbound transfer | direct_expense | Positive transfers post as direct expenses. |
| Inbound transfer | vendor_credit + vendor_refund | Negative transfers (refunds, returns) create a vendor credit and a vendor refund. |
