Prerequisites
- A DualEntry role with permission to manage the chart of accounts. See User Roles and Permissions if you’re not sure which roles have it.
- For a merge or a renumber, decide on the target account or new number in advance. Both are described below, and neither can be undone once confirmed.
Create an account
To create an account, navigate to Configuration → Accounting Setup → Chart of Accounts or use the API. See account fields for what each field means and which are required. To create an account via the API, send aPOST to /public/v2/accounts/ with these fields in the request body.
The following example creates a top-level operating expense account:
Create a child account
To make an account a child, set its Parent Account field to an existing account of the same type. See parent-child hierarchy for the concept and how deep a chain can go before you plan the grouping. From the UI, open Configuration → Accounting Setup → Chart of Accounts (or edit an existing account) and choose the parent from the dropdown. Via the API, passparent_account_id when calling POST /public/v2/accounts/:
parent_account_id to null for a top-level account. To convert a child back into a top-level account, PATCH the account with parent_account_id: null.
Plan the grouping before creating the children. You cannot assign a parent to an account whose type differs from the parent’s, and you cannot change an account’s type once it has children or posted activity.
Manage accounts across multiple entities
In a multi-entity setup, DualEntry shares the chart of accounts across all companies by default. This means account6100 - Office Supplies exists in every entity’s ledger, which simplifies consolidated reporting.
If an account should only appear for a specific entity, restrict it using the account’s entity scope setting under Configuration → Accounting Setup → Chart of Accounts. Scoped accounts are hidden from journal entry dropdowns for entities they don’t belong to. When adding a new account in a multi-entity environment, decide whether it applies globally or to a subset of entities before saving. Changing scope after transactions have posted requires moving those transactions first.
For consolidated financial statements, the shared chart of accounts structure ensures that accounts roll up consistently across entities. If you need entity-specific detail without separate accounts, use classifications to tag transactions by entity, department, or location and report on them through dimension-filtered views.
Renumber an account
To change an account’s number after it has posted activity, use the Account Renumbers bulk import rather than the account form orPATCH endpoint, both of which block that change once transactions exist.
- Go to Workflows → Bulk Imports and choose the Account Renumbers import.
- Provide two columns: the account’s current number and its new number.
- Run the import.
Merge two accounts
If you end up with duplicate or overlapping accounts (for example, two “Office Supplies” accounts created during a migration), you can merge them instead of manually re-coding every historical entry. Merging combines a source account into a target account: DualEntry re-points all posted activity, item mappings, bank and credit card references, budgets, allocation rules, fixed asset mappings, and reconciliation history to the target, then deletes the source account. To merge accounts, navigate to Configuration → Accounting Setup → Chart of Accounts, choose the source account, and choose Merge into another account. Choose the target account and confirm. DualEntry runs the merge as a single audited transaction and records it in the audit log against the target account (event typeACCOUNT_MERGED), capturing both the source and target account numbers and names.
Requirements
Both accounts must satisfy every rule below before a merge is allowed:- Both accounts belong to the same organization.
- Both accounts have the same account type (Asset, Liability, Equity, Revenue, or Expense).
- Both accounts have the same 1099 category.
- Neither account has a linked financial account (connected bank feed).
- The source account is not a system account.
- The source account has no child accounts.
- The target account is not a child of the source account.
- If both accounts have budget cells, no cells overlap for the same budget, year, and month.
- No entry on the source account falls in a locked AR, AP, or GL period for the target account’s company.
What happens during a merge
DualEntry processes the merge as a single transaction and blocks concurrent edits to either account until it completes. It updates every reference to the source account, including:- GL entries and every record line type (journal entries, bill lines, direct expense lines, customer and vendor payment lines, allocation lines, currency revaluation lines)
- Item mappings (income, expense, deferral, asset, and discount accounts)
- Fixed asset, amortizable asset, disposal, and revaluation account fields
- Bank and credit card account fields on payments, deposits, refunds, transfers, cash sales, and direct expenses
- Reconciliations, allocation schedules and templates, contracts, budgets, and integration records
- Parent-account pointers on any child accounts
account_type, and default classifications are correct before merging, because historical entries inherit them going forward. For very large accounts, the merge may exceed the request timeout; in that case, use bulk reclassification or bulk import to consolidate the data instead.
Verify
- The account appears in Configuration → Accounting Setup → Chart of Accounts, with the number, type, and parent you set.
- A child account rolls up into its parent’s subtotal on reports, and the parent’s own balance stays separate.
- After a renumber, the account’s history and reporting still show under the new number.
- After a merge, the source account no longer appears in the chart of accounts, and its historical activity shows under the target account’s number.