Chart of Accounts
The chart of accounts is every ledger your books post to — assets, liabilities, equity, revenue, and expenses. A clean chart keeps P&L, balance sheet, and cash flow reports aligned.
Key capabilities
- Five GAAP account types — asset, liability, equity, revenue, expense — each with a fixed debit/credit normal balance
- Templated account types (bank account, credit card, payments, payroll, loan, prepaid card, accounts receivable, accounts payable) that auto-configure accounting properties
- Custom accounts with explicit type, normal balance, sort code, and sub-classification
- Sub-accounts for clean grouping under a parent
- Deactivate (archive) accounts to drop them from pickers without losing history
- Reactivate archived accounts to restore them to active pickers
- System, required, and bank-linked ledgers are protected from edit/delete
- Merge ledgers — reassign all line entries, transactions, budgets, reconciliations, and bank rules into a target
- Apply an AI-generated or uploaded chart-of-accounts template in one bulk pass
- AI account-cleanup suggestions (merge / reclassify) you can act on directly
- Deterministic cash-flow classification suggestions for the statement of cash flows
- Bulk-update multiple accounts in a single action
- Paginated list filterable by type, status, name, or ID
How it works
Every ledger has a type (which fixes its debit/credit normal balance) and a status. Activity flows in from journal entries, transactions, invoices, and bills; reports read account balances by type.
flowchart TD
coa["Chart of Accounts (ledgers)"] --> assets["Asset - debit normal"]
coa --> liab["Liability - credit normal"]
coa --> equity["Equity - credit normal"]
coa --> rev["Revenue - credit normal"]
coa --> exp["Expense - debit normal"]
assets --> bank["Bank / source accounts"]
exp --> cats["Categorization targets"]
cats --> reports["P&L / Balance Sheet / Cash Flow"]
bank --> reportsHow to use it
- Open Chart of Accounts (under Ledger) to browse accounts grouped by type with their status and balances.
- Click Add Ledger to create one. Use the Financial Account Type template for standard accounts, or switch to custom mode and set Type, Debit or Credit, Sub Type, and a sort code.
- Set a parent to nest an account as a sub-account, and a sort code to control ordering within its type.
- Click Import Accounts to open Import Chart of Accounts — describe your business and pick an Accounting Basis to generate a tailored chart, then apply it.
- Use Suggest Cleanup for AI merge/reclassify recommendations, and Auto-Suggest Cash Flow to classify accounts for the cash-flow statement.
- To consolidate duplicates, open Merge Ledgers, pick the source accounts and the target, and optionally rename the target.
- To retire an account, set it to Inactive (it leaves dropdowns but keeps history) or delete it if it has no entries.
- To bring an archived account back, click Show Inactive, then use Reactivate on the row or select multiple and Reactivate in bulk.
Pro tips
- DayZero seeds a standard chart on setup — customize it rather than starting from scratch.
- Prefer Inactive over delete: you can only delete an account with no transactions or journal entries, and never a system-generated one. Inactivating preserves all history.
- Bank/source accounts are not categorization targets — their balances are driven by feeds and reconciliation, not manual categorization, so they won't appear in category pickers.
- Use Merge Ledgers to fix years of inconsistent categorization in one pass; it moves every reference (line entries, transactions, budgets, reconciliations, bank rules) before archiving the source.
- Apply COA never touches system, required, or bank-linked accounts, and it deactivates custom accounts whose sort code is absent from the template — review the created/updated/skipped/deactivated counts before relying on it.
- Keep the chart lean; use Tags for cross-cutting dimensions instead of proliferating accounts.
In-depth guide
Account types & normal balance
Every ledger has a type that determines its normal balance. This is what makes debits and credits behave correctly across the system.
| Type | Normal balance | Increased by | Examples |
|---|---|---|---|
| Asset | Debit | Debit | Cash, Accounts Receivable, Inventory |
| Liability | Credit | Credit | Accounts Payable, Credit Cards, Loans |
| Equity | Credit | Credit | Owner's Equity, Retained Earnings |
| Revenue | Credit | Credit | Sales, Services |
| Expense | Debit | Debit | Rent, Utilities, Payroll, COGS |
Status & protection
Active accounts appear in pickers; Inactive accounts are archived but keep history and can be reactivated at any time. System and required accounts cannot be renamed or deleted and are skipped by Apply COA, but inactive system accounts can still be reactivated. Bank/source accounts are not categorization targets. A ledger can be edited only when it is editable and active.
Cash-flow classification
Accounts carry classification for the cash-flow statement:
- Cash-flow section — operating, investing, financing, or excluded.
- Cash-flow class — finer class used by the indirect-method cash-flow statement.
- Auto-Suggest Cash Flow — returns suggestions from each account's type and sub-classification; accept them to populate the classifications.
Merging accounts
Merge Ledgers reassigns every line entry, transaction, budget, reconciliation, and bank rule from the source accounts to the target, then archives the sources. Large merges may complete in the background.
Applying a chart template
Apply COA upserts a template against your existing accounts, matched by sort code:
| Outcome | When |
|---|---|
| Create | The template sort code doesn't exist yet |
| Update | An existing unlocked account shares the sort code |
| Skip | The account is system, required, or bank-linked |
| Deactivate | An existing custom account's sort code is absent from the template |
AI cleanup suggestions
Suggest Cleanup returns merge/reclassify suggestions with the affected ledgers you can feed straight into a merge. Suggestions count against your plan's monthly AI quota.
Deleting vs. archiving
Deletion is blocked when an account has associated transactions or journal entries. System accounts can never be deleted. Prefer Inactive to remove an account from everyday use while keeping every historical entry intact.