Skip to content

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.

By The Carryforward Desk7 min read · May 18, 2026

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.

TypeWhat it holdsStatementNormal balance
AssetsWhat you own or are owedBalance sheetDebit
LiabilitiesWhat you oweBalance sheetCredit
EquityThe owners' stakeBalance sheetCredit
RevenueWhat you earnIncome statementCredit
ExpensesWhat you consume earning itIncome statementDebit

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:

BlockTypeExamples
1000–1999Assets1010 Checking, 1200 Accounts receivable, 1500 Equipment
2000–2999Liabilities2010 Accounts payable, 2200 Sales tax payable, 2500 Loan payable
3000–3999Equity3010 Owner contributions, 3020 Owner draws, 3900 Retained earnings
4000–4999Revenue4010 Service revenue, 4900 Interest income
5000–5999Cost of goods sold5010 Materials, 5020 Direct labor
6000–7999Operating expenses6010 Rent, 6100 Insurance, 6200 Software

Three habits make the numbering age well:

  1. Leave gaps. Number in steps of 10 or 100 so "1215 Retainage receivable" can slot between existing accounts years from now without reshuffling.
  2. 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.
  3. 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.

Typical chart-of-accounts size by business complexityaccounts

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.

NumberAccountType
1010CheckingAsset
1050Undeposited fundsAsset
1200Accounts receivableAsset
1500EquipmentAsset
1510Accumulated depreciationAsset (contra)
2010Accounts payableLiability
2100Credit card payableLiability
2300Payroll liabilitiesLiability
3010Owner contributionsEquity
3020Owner drawsEquity
3900Retained earningsEquity
4010Service revenueRevenue
4020Reimbursed expensesRevenue
6010RentExpense
6050Payroll wagesExpense
6060Payroll taxesExpense
6100InsuranceExpense
6200Software subscriptionsExpense
6300Professional feesExpense
6400AdvertisingExpense

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.

NumberAccountType
1300InventoryAsset
1310Inventory in transitAsset
2200Sales tax payableLiability
2400Customer depositsLiability
4010Product salesRevenue
4050Shipping incomeRevenue
4090Sales returns and allowancesRevenue (contra)
5010Cost of goods soldCOGS
5050Freight-inCOGS
5090Inventory shrinkageCOGS

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:

Journal entry — Sale of goods costing 400 for 1,000 plus 80 sales tax
AccountDebitCredit
1010 Checking1,080
4010 Product sales1,000
2200 Sales tax payable80
Journal entry — Relieving inventory for the same sale
AccountDebitCredit
5010 Cost of goods sold400
1300 Inventory400

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:

  1. Rename freely. Renaming an account changes its label everywhere, past and future, and breaks nothing. "6412 Verizon" becomes "6410 Telecommunications."
  2. 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.
  3. 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.
  4. 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

  1. Print your current chart with year-to-date balances.
  2. Strike every account with no activity in 18 months; deactivate them.
  3. Circle duplicates and near-duplicates; merge at the next month-end.
  4. Check the structural accounts exist: accumulated depreciation, sales tax payable (if applicable), owner draws separate from contributions, undeposited funds.
  5. 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.

Keep reading