Bookkeeping · Foundations · Guide · Intro level
Designing a chart of accounts that stays useful
A chart of accounts is the numbered list of buckets every transaction posts to. Here is how to structure the five account types, sensible numbering, sample charts for a service and a product business, and how to fix a chart that has sprawled.
A chart of accounts (COA) is the master list of every account in your books — the named, numbered buckets that every transaction must land in. Design it well and your reports answer real questions for a decade. Design it badly and you will spend every January untangling six flavors of "Miscellaneous."
The good news: the principles fit on one page, and the five account types do most of the structural work for you.
The five types are the skeleton
Every account belongs to exactly one of five families, because every financial statement is built from them:
The five account types and where they report.
| Type | What it holds | Statement | Normal balance |
|---|---|---|---|
| Assets | What you own or are owed | Balance sheet | Debit |
| Liabilities | What you owe | Balance sheet | Credit |
| Equity | The owners' stake | Balance sheet | Credit |
| Revenue | What you earn | Income statement | Credit |
| Expenses | What you consume earning it | Income statement | Debit |
The type determines everything downstream: which side increases the account (see the debits and credits cheat sheet), which statement it appears on, and whether it resets at year-end (revenue and expenses close to retained earnings; balance-sheet accounts carry forward). Get the type wrong and no amount of clever naming saves the reports.
Numbering: blocks with room to breathe
The near-universal convention assigns each type a numeric block:
| Block | Type | Examples |
|---|---|---|
| 1000–1999 | Assets | 1010 Checking, 1200 Accounts receivable, 1500 Equipment |
| 2000–2999 | Liabilities | 2010 Accounts payable, 2200 Sales tax payable, 2500 Loan payable |
| 3000–3999 | Equity | 3010 Owner contributions, 3020 Owner draws, 3900 Retained earnings |
| 4000–4999 | Revenue | 4010 Service revenue, 4900 Interest income |
| 5000–5999 | Cost of goods sold | 5010 Materials, 5020 Direct labor |
| 6000–7999 | Operating expenses | 6010 Rent, 6100 Insurance, 6200 Software |
Three habits make the numbering age well:
- Leave gaps. Number in steps of 10 or 100 so "1215 Retainage receivable" can slot between existing accounts years from now without reshuffling.
- Order within blocks by liquidity or statement order. Cash before receivables before fixed assets; current liabilities before long-term debt. Your balance sheet then reads correctly with zero report configuration.
- Reserve a block for cost of goods sold even if you are a service business today. Charts live longer than business models.
How many accounts is too many?
The test for adding an account: will anyone make a decision based on this balance by itself? If yes, it earns a line. If you only ever want the detail occasionally, that detail belongs in a vendor name, customer record, item, class, or memo — dimensions your software already tracks — not in the chart.
Where small-business charts typically land.
Illustrative ranges from common small-business practice, not a rule.
Warning signs of sprawl: an account per vendor ("6412 Verizon"), an account per project, near-duplicates ("Office supplies", "Supplies — office", "Supplies"), and a Miscellaneous balance larger than Rent. Each of these makes categorization slower and comparisons noisier, because the same economic thing lands in different buckets month to month.
The opposite failure is real too. One "Expenses" account balanced to the penny tells you nothing. If you cannot see software subscriptions creeping from 200 to 900 a month, the chart is too coarse.
Sample chart: service business
A working chart for a consulting or trades-service firm — about 40 accounts, trimmed here to the instructive ones.
| Number | Account | Type |
|---|---|---|
| 1010 | Checking | Asset |
| 1050 | Undeposited funds | Asset |
| 1200 | Accounts receivable | Asset |
| 1500 | Equipment | Asset |
| 1510 | Accumulated depreciation | Asset (contra) |
| 2010 | Accounts payable | Liability |
| 2100 | Credit card payable | Liability |
| 2300 | Payroll liabilities | Liability |
| 3010 | Owner contributions | Equity |
| 3020 | Owner draws | Equity |
| 3900 | Retained earnings | Equity |
| 4010 | Service revenue | Revenue |
| 4020 | Reimbursed expenses | Revenue |
| 6010 | Rent | Expense |
| 6050 | Payroll wages | Expense |
| 6060 | Payroll taxes | Expense |
| 6100 | Insurance | Expense |
| 6200 | Software subscriptions | Expense |
| 6300 | Professional fees | Expense |
| 6400 | Advertising | Expense |
Note the contra account at 1510 — a negative-direction account paired with Equipment — and undeposited funds at 1050, the clearing account for payments received but not yet banked.
Sample chart: product business
A product business adds inventory, cost of goods sold, and sales tax — and splits revenue by channel only if the channels are managed differently.
| Number | Account | Type |
|---|---|---|
| 1300 | Inventory | Asset |
| 1310 | Inventory in transit | Asset |
| 2200 | Sales tax payable | Liability |
| 2400 | Customer deposits | Liability |
| 4010 | Product sales | Revenue |
| 4050 | Shipping income | Revenue |
| 4090 | Sales returns and allowances | Revenue (contra) |
| 5010 | Cost of goods sold | COGS |
| 5050 | Freight-in | COGS |
| 5090 | Inventory shrinkage | COGS |
Two structural points. First, sales tax collected is a liability, never revenue — it is the state's money passing through your hands. Second, customer deposits are a liability until you deliver; booking them as sales overstates revenue and understates what you owe the world.
Here is what a product sale looks like posting into this chart, both sides of the transaction:
| Account | Debit | Credit |
|---|---|---|
| 1010 Checking | 1,080 | |
| 4010 Product sales | 1,000 | |
| 2200 Sales tax payable | 80 |
| Account | Debit | Credit |
|---|---|---|
| 5010 Cost of goods sold | 400 | |
| 1300 Inventory | 400 |
Two entries, one sale: the revenue side and the cost side. Perpetual-inventory systems post the second automatically.
A chart that lacks the right accounts forces entries like these into wrong buckets — which is how sales tax ends up in revenue and inventory ends up as an expense on the day it is bought.
Renaming, merging, and retiring accounts
Charts drift. The business changes, someone adds accounts in a hurry, and three years later you have 210 accounts and use 70. The repair sequence:
- Rename freely. Renaming an account changes its label everywhere, past and future, and breaks nothing. "6412 Verizon" becomes "6410 Telecommunications."
- Deactivate rather than delete. An inactive account keeps its history and disappears from data-entry screens. Deleting an account with transactions either fails, orphans history, or silently reassigns it — all bad.
- Merge duplicates deliberately. Most ledgers can merge two accounts, moving all history into the survivor. Do it at a period boundary, print the trial balance before and after, and confirm the totals match.
- Renumber only at year-end, if at all. Mid-year renumbering makes comparative reports confusing. If the scheme is truly broken, map old to new in a spreadsheet, make the change on the first day of the fiscal year, and keep the map.
When less design is the right design
If you are a sole proprietor whose entire tax life is a Schedule C, there is a case for laziness: mirror the Schedule C expense lines in your 6000s and your year-end handoff becomes trivial. The cost is that Schedule C categories are tax categories, not management categories — "Office expense" is a fine tax line and a useless management line. Most owners split the difference: management-useful accounts in the ledger, mapped once to tax lines by the preparer. Where bookkeeping categories and tax treatment genuinely diverge — asset purchases being the classic case — the chart should follow the books and let the tax side adjust; see expense vs. capitalization basics and the tax desk's piece on depreciation basics.
What to do next
- Print your current chart with year-to-date balances.
- Strike every account with no activity in 18 months; deactivate them.
- Circle duplicates and near-duplicates; merge at the next month-end.
- Check the structural accounts exist: accumulated depreciation, sales tax payable (if applicable), owner draws separate from contributions, undeposited funds.
- Renumber only if the blocks are genuinely scrambled — and only at year-end.
Frequently asked questions
- What is a chart of accounts?
- A chart of accounts is the complete, usually numbered, list of accounts a business posts transactions to — its assets, liabilities, equity, revenue, and expenses. It is the filing system for the entire ledger: every journal entry lands in accounts drawn from this list, and every financial statement is built by grouping them.
- How many accounts should a small business chart of accounts have?
- Most small businesses run well on 40 to 80 accounts. Fewer than 25 usually means expenses are lumped too coarsely to manage; more than 150 usually means the chart is doing work that belongs in customer, vendor, class, or item records. Add an account only when you will make a decision based on its balance.
- What numbering system should a chart of accounts use?
- The common convention assigns 1000s to assets, 2000s to liabilities, 3000s to equity, 4000s to revenue, and 5000s and up to expenses, with gaps of 10 or 100 between accounts so later additions slot in order. The numbers are for sorting and clarity, not law — consistency matters more than the specific scheme.
- Should I delete old accounts or merge them?
- Never delete an account that has history — you would orphan or reassign old transactions and change prior-period reports. Instead mark it inactive so it stops appearing in entry screens, or merge it into a surviving account if your software preserves the audit trail. Renaming is safe; renumbering mid-year is worth avoiding.