Skip to main content

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.

How to Configure the Chart of Accounts

Your chart of accounts defines every GL account available for posting in DualEntry. A well-structured chart keeps reporting clean, integrations predictable, and multi-entity consolidation straightforward.

Plan your numbering scheme

DualEntry uses numeric account numbers as the primary identifier for each account. You assign the numbering convention - DualEntry does not enforce a specific range, but a consistent scheme makes filtering and reporting far easier. A common pattern:
RangeAccount type
1000–1999Assets
2000–2999Liabilities
3000–3999Equity
4000–4999Revenue
5000–5999Cost of goods sold
6000–6999Operating expenses
7000–7999Other income / expense
Leave gaps between ranges so you can insert new accounts without renumbering. If you operate multiple entities, consider prefixing or suffixing the account number with an entity identifier, or use classifications to tag entries by entity instead. Organizations with complex structures often reserve a dedicated range (e.g., 8000–8999) for intercompany accounts so they are easy to identify during consolidation. Before finalizing the scheme, map it against your reporting requirements - your financial statement groupings rely on account type and sub-type, so a logical numbering scheme speeds up the setup of those groupings.

Create an account

To create an account, navigate to Settings → Chart of Accounts → Add Account or use the API. Each account requires the following fields:
FieldDescription
account_numberUnique numeric identifier. Cannot be changed after the account has posted activity.
nameDisplay name shown in reports and dropdowns.
typeOne of: Asset, Liability, Equity, Revenue, Expense. Controls normal balance direction.
sub_typeRefines the account type (e.g., Current Asset, Fixed Asset, Long-term Liability). Used for financial statement grouping.
Optional fields include default dimensions (classifications), currency, and description. To create an account via the API, send a POST to /public/v2/accounts/ with these fields in the request body. The following example creates an operating expense account:
POST /public/v2/accounts/
Content-Type: application/json

{
  "account_number": "6100",
  "name": "Office Supplies",
  "type": "Expense",
  "sub_type": "Operating Expense"
}
You cannot change an account number after transactions have posted to it. If you need to restructure, create a new account and use bulk reclassification to move historical balances.

Align accounts with items, banking, and 1099

Certain DualEntry features depend on specific account mappings. Setting these up correctly before you go live prevents misclassified transactions that require reclassification later.
  • Items. Each product or service item links to an income account and optionally a COGS account. When you create invoices or bills referencing items, DualEntry posts to these accounts automatically.
  • Bank connections. Each connected bank account maps to a GL asset account. See Bank Connections for setup.
  • 1099 tracking. Vendor payments that qualify for 1099 reporting post to expense accounts flagged as 1099-eligible. See 1099 Tracking to configure which accounts are included.
Review these mappings during initial setup and again when you add new bank connections, items, or vendor payment workflows. Catching misalignments before a close period saves time compared to running bulk reclassification after the fact. If you change an item’s income or COGS account, the change applies to future transactions only - existing posted entries retain their original account.

Manage accounts across multiple entities

In a multi-entity setup, DualEntry shares the chart of accounts across all companies by default. This means account 6100 – 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 Settings → Chart of Accounts → Edit Account. 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.

Retrieve and update accounts via the API

Use the following endpoints to manage accounts programmatically:
OperationMethodEndpoint
List all accountsGET/public/v2/accounts/
Get a single accountGET/public/v2/accounts/{account_number}/
Create an accountPOST/public/v2/accounts/
Update an accountPATCH/public/v2/accounts/{account_number}/
The list endpoint supports filtering by type, sub_type, and company_id. Use it to pull a specific subset - for example, all expense accounts for a single entity - when building reports or integration logic. The PATCH endpoint lets you update the account name, sub-type, description, and classifications, but not the account number or type on accounts with posted activity.
Deleting an account is only allowed if it has zero posted transactions. Inactive accounts can be archived instead, which hides them from dropdowns while preserving historical data.
After completing these steps, your chart of accounts is structured, numbered, and aligned with items, bank connections, and 1099 tracking. Next, learn how to record transactions against these accounts in Journal Entries, or set up your close process to reconcile and review balances at period end.
Last modified on May 28, 2026