Skip to main content
Book a Free Call

Bookkeeping Basics

Chart of Accounts: The Complete Guide

A chart of accounts is the list of categories your transactions get sorted into. It sounds administrative and it is the single most consequential setup decision in your books, because it determines what questions your financial statements can answer.

  • Reviewed
  • Reading time10 min
  • FormatUltimate Guide

A chart of accounts is the list of categories your transactions get sorted into. It sounds administrative and it is the single most consequential setup decision in your books, because it determines what questions your financial statements can answer.

A default chart of accounts produces statements that reconcile perfectly and tell you nothing. One built around how your business actually operates produces statements you make decisions from. Same transactions, same software, entirely different usefulness.

The five account types

  • Assets: what you own. Cash, receivables, inventory, equipment
  • Liabilities: what you owe. Payables, loans, credit cards, taxes, deposits held
  • Equity: what is left. Owner contributions, retained earnings, drawings
  • Revenue: what you earn
  • Expenses: what it costs, split between cost of sales and overhead

Assets, liabilities and equity appear on the balance sheet. Revenue and expenses appear on the profit and loss statement. That is the entire structure.

Design it around your decisions

The question to ask for every account is: would I make a different decision if I could see this separately? If yes, it deserves its own account. If no, group it.

A contractor needs materials separated from subcontractor labour, because those are different problems with different fixes. A restaurant needs food separated from beverage, because the margins differ entirely. A business with two service lines needs revenue split, or it will never know which one carries the other.

How many accounts

Fewer than most people build. The failure mode is not too few accounts, it is too many: a chart of accounts that has grown to two hundred lines because every new expense got its own category. The resulting P&L is unreadable, and nobody can code consistently because the choices are ambiguous.

Split by what you manage. Group everything else. If two accounts are always looked at together, they should be one account.

Use tracking dimensions, not more accounts

This is the mistake that causes the most damage. When a business wants to see results by job, crew, location, or service line, the instinct is to duplicate accounts: Materials Job A, Materials Job B. It doubles at every new job and becomes unusable within a year.

The answer is a tracking dimension: classes, locations, projects, or tags depending on your software. One set of accounts, a dimension applied to every transaction, and per-job or per-location reporting becomes a report filter rather than a rebuild.

Numbering

A numbering convention keeps the chart of accounts ordered and makes room for growth. The common approach reserves ranges by type: assets in one range, liabilities in the next, and so on, with gaps left between accounts so new ones can be inserted in the right place.

Leave more room than feels necessary. Charts of accounts that ran out of numbers end up with related accounts scattered across the list.

The design mistakes that matter

  • No cost of sales section, so gross margin cannot be calculated
  • Accounts created for single transactions, which nobody ever uses again
  • Ambiguous accounts, where the same cost could reasonably go in two places
  • Duplicating accounts instead of using a tracking dimension
  • Personal and business categories mixed
  • Keeping the software default because changing it felt risky

Changing it later

Restructuring is possible and it compromises comparative reporting across the change. That is an argument for spending an hour on it at the start, not an argument against ever fixing a bad one. If your current chart of accounts cannot answer your questions, the cost of leaving it is higher than the cost of the restructure.

If you do change it, do so at a period boundary and keep a note of what moved, so year-over-year comparisons can be explained.

Build the reporting outline before creating accounts

Start with the balance sheet and profit and loss statement you want to review each month. Identify the decisions those reports must support: gross margin, labor efficiency, occupancy cost, debt, working capital, cash by account, and results by service line or location. Create the minimum accounts needed to answer those questions consistently.

Draft the outline away from the accounting software first. It is easier to spot duplicate or missing categories in a simple list. Review it with the person who manages operations and the person who prepares tax or year-end reporting. Their needs may differ, but a good structure can support both without turning the monthly statement into a tax-form replica.

Use a clear hierarchy

Parent accounts organize the statement, while subaccounts provide useful detail. Revenue might contain service revenue, product revenue, and other operating revenue. Cost of sales might contain direct labor, subcontractors, and materials. Operating expenses might group facilities, sales, administration, and technology.

Limit the depth of the hierarchy. Several nested levels make reports hard to read and coding harder to explain. If detail is needed only for a temporary analysis, use a report filter or supporting schedule instead of creating a permanent account. Every active account should have a purpose that a new bookkeeper can understand from its name and description.

Separate cost of sales from operating expenses

Cost of sales contains the direct costs of delivering the revenue recognized in the period. Operating expenses support the business more broadly. The distinction produces gross profit and gross margin, which help explain whether pricing and delivery economics are improving or deteriorating.

The correct boundary depends on the business model and the accounting policy. A technician’s labor may be direct for one company, while an administrative salary is overhead. A software subscription used only to deliver a customer service may be treated differently from the general office suite. Document the policy and apply it consistently rather than moving costs to improve a ratio.

Design balance-sheet accounts for reconciliation

Each material balance-sheet account should have a source that can support it. Bank and card accounts tie to statements. Accounts receivable and payable tie to customer and vendor detail. Payroll and tax liabilities tie to provider reports or filings. Loans tie to lender statements. Fixed assets tie to a schedule. Owner and equity accounts tie to documented transactions.

Create clearing or suspense accounts only with an owner and a clearing routine. Undeposited funds, payroll clearing, payment-processor clearing, and transfers can be useful when they describe a real workflow. They become hiding places when old items are not investigated. A month-end close should show that the detailed support equals the general-ledger balance.

Add account numbers that leave room

A common numbering design places assets, liabilities, equity, revenue, cost of sales, and operating expenses in separate ranges. The exact digits are less important than the order and available gaps. Leave space between categories so a new account can be inserted beside related accounts.

Use numbers consistently across entities only when comparable reporting is valuable and the activities are genuinely similar. Do not force a specialized business into a structure that hides its economics. Maintain a crosswalk when an external tax package, lender template, or consolidation uses different labels.

Know when to use subaccounts or dimensions

Use a subaccount when the distinction belongs on the main financial statement and will remain useful over time. Use a class, location, project, customer, or other dimension when the same type of revenue or cost needs to be analyzed across operational slices. For example, one subcontractor-cost account can be tagged to many jobs.

Dimensions require the same discipline as accounts. Define which transactions must carry them, who reviews missing values, and how shared costs are allocated. A sophisticated tracking structure with incomplete coding produces misleading comparisons. Begin with the few dimensions management will actually review.

Establish account-creation rules

Restrict who can add, merge, rename, deactivate, or change account types. Require a short description, intended use, statement location, and effective date for each new account. Search for an existing account before creating one. Review the chart at least annually for duplicates, unused accounts, and categories that no longer support a decision.

Avoid creating accounts directly from a bank-feed coding screen without considering the reporting structure. A one-time unfamiliar transaction does not automatically deserve a permanent category. Place it in the best existing account, ask for clarification, or hold it in a controlled questions process until the facts are known.

A small business example

Consider a service company with consulting and implementation revenue. Its direct costs include delivery payroll, contractors, and project software. Operating expenses include sales, office, insurance, professional fees, and general technology. The balance sheet separates operating cash, receivables, cards, payables, payroll liabilities, debt, and equity.

The company uses a project dimension rather than creating revenue and expense accounts for every engagement. It can review one readable profit and loss statement, calculate gross margin, and filter project results when needed. The structure remains stable as projects begin and end.

Clean up an overgrown chart

Export the account list with balances and recent activity. Identify duplicates, inconsistent names, accounts with no activity, one-time categories, and accounts whose type or statement location is wrong. Decide the future structure and create a mapping from every old account to a retained account.

Make changes at a controlled period boundary when possible. Reconcile first, back up or export the records, and preserve the mapping. Merge or deactivate only after confirming how the software handles historical transactions and reports. Re-run comparative statements and document any presentation change.

Chart of accounts review checklist

  • The balance sheet and profit and loss statement have clear sections
  • Revenue and direct costs support gross-margin analysis
  • Account names are specific without overlapping
  • Material balance-sheet accounts have reconciliation support
  • Owner, loan, payroll, tax, and transfer activity have distinct treatment
  • Projects and locations use dimensions rather than duplicated accounts
  • New-account creation is restricted and documented
  • Inactive and duplicate accounts are reviewed
  • Historical mappings are preserved after a restructure

Account descriptions and coding rules

Maintain a short guide that defines each account, gives common examples, lists exclusions, and names any required dimension. For example, a repairs account may cover routine maintenance but exclude equipment purchases and improvements. A software account may include general subscriptions but exclude tools charged directly to customer projects.

Coding rules reduce dependence on memory and prevent similar transactions from drifting among categories. They are especially important when several people enter bills, code bank activity, or approve expenses. Update the guide when the business changes and use review findings to clarify ambiguous definitions.

Opening balances and system changes

When establishing a new accounting file, load an opening trial balance that agrees with the prior closed records. Bring customer, vendor, inventory, loan, fixed-asset, payroll, and equity detail needed to support the control accounts. A balanced journal alone does not preserve usable subsidiary history.

Test reports after the load. Confirm retained earnings, current-year activity, and comparative periods. Reconcile every material opening balance with source statements or schedules. Document accounts that are intentionally combined or renamed.

Tax reporting and management reporting

The monthly chart should primarily support accurate books and useful management statements. Tax software or the preparer may map those accounts to tax categories at year-end. Creating the entire operating chart around a form can hide gross margin and management detail, while an uncontrolled number of tax-specific accounts can make routine coding inconsistent.

Agree on a stable mapping and preserve it. Ask the tax professional to return approved adjustments with explanations so the accounting file stays aligned with the filed work. Tax classification and book presentation can differ, so uncertain treatment should be reviewed rather than guessed from an account name.

Document why each active account exists and who owns its review. Consistent definitions help future staff code transactions the same way and keep comparative reports meaningful.

Archive the approved chart and coding guide with each year-end close. Future changes can then be compared with the structure that produced the historical reports.

Frequently asked questions

Is there a standard chart of accounts?

Industry templates exist and are reasonable starting points. None will fit without modification, because the point is to reflect how your business operates.

Should I use the software default?

As a starting skeleton, yes. As a finished chart of accounts, no. Defaults are built to suit any business, which means they suit none particularly well.

How often should it be reviewed?

Annually, and whenever the business changes materially. Look for accounts with no activity, accounts that always move together, and questions you cannot answer from the current structure.

Can I use the same chart of accounts for two businesses?

A shared template can help comparable entities, but each chart should reflect its own activities, reporting needs, ownership, debt, and compliance context. Keep separate legal entities in separate accounting records unless a qualified adviser specifies another structure.

Should customer and vendor names be accounts?

Usually no. Customer and vendor detail belongs in subsidiary records, while the chart carries control accounts such as accounts receivable and accounts payable. Creating an account for every name makes the ledger difficult to manage.

What should I do with an account I no longer use?

Reconcile and understand its balance, move or correct activity with documentation if appropriate, and then deactivate it under the software's rules. Preserve history instead of deleting evidence needed for prior reports.

Turn this guide into action

Want a clearer, more dependable financial process?

Talk through your bookkeeping needs