Get your first month of Zinance free.Get your first month free.Claim my free monthClaim
Bookkeeping

How to structure a chart of accounts for a fast-growing company

By The Zinance team · July 17, 2026 · 6 min read

Your chart of accounts is the schema every financial report inherits. Here is how to build one that survives growth: the five account types, the gross margin line that differs by segment, and a numbering skeleton you can adopt today.

Bookkeeping

A chart of accounts is the least glamorous artifact in a finance function and one of the most consequential. It is the set of buckets your accounting system uses to classify every dollar the business moves. Every transaction lands in exactly one.

Calling it a list undersells it. A chart of accounts is a schema. Your income statement is not designed separately from it, it is a rendering of it. So is your balance sheet, and the gross margin in your investor update. Everything inherits the structure, so no cleanup at the report layer fixes a bad one.

The five account types

Every account belongs to exactly one of five types: three on the balance sheet, two on the income statement.

  • Assets. What you own or are owed: cash, receivables, prepaids, fixed assets.
  • Liabilities. What you owe: payables, accruals, cards, deferred revenue, debt.
  • Equity. What is left for owners: capital, stock, retained earnings.
  • Revenue. What customers pay you for delivering your product or service.
  • Expenses. What it costs to deliver and to run the company, split between cost of revenue and operating expenses.

Accounts are numbered by type: 1000s assets, 2000s liabilities, 3000s equity, 4000s revenue, 5000s and above expenses. Convention is the right word. Nothing forces those ranges and some systems differ. The value is not the digits, it is a rule anyone can decode: see 6400, know it is an operating expense.

RangeTypeStatementTypical accounts
1000–1999AssetsBalance sheetCash, AR, prepaids, fixed assets
2000–2999LiabilitiesBalance sheetAP, accruals, deferred revenue, debt
3000–3999EquityBalance sheetContributed capital, retained earnings
4000–4999RevenueIncome statementProduct, subscription, services revenue
5000–5999Cost of revenueIncome statementDirect delivery costs, above the line
6000–8999Operating expensesIncome statementPayroll, marketing, G&A, R&D
9000–9999Other income and expenseIncome statementInterest, FX, income tax

The decision that actually matters: what sits above the gross margin line

Most of a chart of accounts is uncontroversial. Cash is cash. The decision that separates a useful chart of accounts from a decorative one is where you draw the gross margin line: which costs count as cost of revenue, and which fall below it.

That choice determines gross margin, which drives contribution margin, unit economics, and how an investor reads the business. Two companies with identical bank statements can report very different gross margins purely because they classified support salaries differently. Neither is lying. Only one is comparable to its peers. And the answer differs by segment.

SaaS

Above the line: hosting, third-party APIs consumed per customer, payment processing, the support work required to keep the product delivered, implementation teams. Below the line: engineering building new features. Teams get this one wrong most often. R&D is an investment in future product, not a cost of delivering today's.

E-commerce

Above the line: landed product cost, inbound freight, duties, packaging, pick and pack, fulfillment labor, merchant fees. Below the line: advertising. Ad spend scales with sales, so it feels like cost of revenue, but it is customer acquisition. Bury it above the line and gross margin stops telling you whether the product makes money.

Professional services

Above the line: delivery labor. Billable people, subcontractors, project-specific software, pass-through travel. The line matters most here, because the cost base is mostly people, so whether a person sits above or below decides whether gross margin reflects delivery efficiency or just headcount.

Non-profits

The gross margin frame mostly does not apply. What matters is functional classification: program, management and general, fundraising. That split belongs on every expense account from day one, as a dimension, not a year-end allocation reconstructed from memory.

PE and VC funds

The split that matters is entity boundaries. Management company expenses, fund-level expenses, and anything chargeable to portfolio companies must be separable at the account level, because the partnership agreement decides who bears which cost and that has to survive an audit.

Early-stage and pre-revenue

There may be almost nothing above the line yet. Decide the policy anyway, while volume is small and the decision is cheap. The alternative is deciding mid-diligence.

A test that holds up

A cost belongs above the gross margin line if it scales roughly with delivering the next unit of revenue and would go away if you stopped delivering. Run every account through that test once, write the answer down, apply it consistently. A defensible line applied every month beats a perfect line applied unevenly.

A skeleton you could adopt

A workable starting structure, deliberately small, assuming an accrual basis. Adapt it to your system and segment. A frame, not a standard.

NumberAccountNote
1000Cash and cash equivalentsOne sub-account per bank account
1100Accounts receivableAdd an allowance contra once AR is material
1200Prepaid expensesAnnual software, insurance, deposits paid ahead
1400Fixed assetsSub-account by class if you hold much equipment
1450Accumulated depreciationContra-asset
2000Accounts payable
2100Accrued liabilitiesThe account cash-basis books never had
2200Credit cardsOne per card
2400Deferred revenueEssential the day you invoice ahead of delivery
2700Notes payableSplit current vs long-term
3000Contributed capital
3100Preferred stockBy round if you have raised
3900Retained earnings
4000Recurring revenueYour core delivered revenue
4100Services revenueImplementation, professional services, one-time work
4900Contra-revenueDiscounts, refunds, credits. Never net these into 4000
5000Hosting and infrastructureAbove the line
5100Usage-based third-party costsAPIs, licences consumed per customer
5200Payment processing
5300Delivery payrollThe people who deliver the thing
5400Support payrollAbove or below the line, but decide once
6000Sales and marketing payroll
6100Advertising and demand generationBelow the line, always
6200Research and development payroll
6300General and administrative payroll
6400Payroll taxes and benefitsAllocate by department via a dimension, not new accounts
6500Software and subscriptionsOne account. Tag by department
6600Professional feesLegal, accounting, consultants
6700Rent and facilities
6800Travel and entertainment
7000Depreciation and amortization
9000Interest income and expense
9100Income tax expense

Around thirty accounts is enough to run real complexity. Leave gaps in the numbering so you can insert later without renumbering.

Too many accounts is worse than too few

Every chart of accounts drifts toward proliferation. Someone cannot find the right bucket, so they create one. Repeat for two years and you have three near-identical software accounts, two travel accounts, and a general bucket absorbing whatever nobody wanted to think about.

Too few accounts costs you resolution: you cannot see what you are spending on. That is fixable, because the transactions are still there and can be re-coded. Too many costs you consistency, which is worse. When two accounts plausibly fit the same transaction, coding becomes a coin flip, and your trend reflects who coded it rather than what changed.

  • Accounts that hold a handful of transactions a year.
  • Two accounts where you have to think about which applies.
  • Accounts created to answer a question someone asked once.
  • A miscellaneous account carrying meaningful balances.

A short, unambiguous chart of accounts is one of the quiet structural reasons some teams close the books in a week and others spend three weeks arguing about coding.

Use dimensions, not more accounts

The reason people add accounts is that they want to slice. Marketing wants its own spend view, the board wants cost by department. Creating Software – Marketing and Software – Engineering as separate accounts is that instinct expressing itself on the wrong axis.

Every serious system gives you a second axis. Classes, departments, projects, funds, tags: the name varies, the idea does not. Accounts answer what kind of cost this is. Dimensions answer who spent it and what for. One software account tagged by department gives you both views. Six give you one view and a coding problem, and they multiply: add a second dimension and you need thirty-six accounts to do what two fields do cleanly.

When to restructure, and why waiting hurts

Restructure when the structure no longer matches the business, not when it is merely untidy. Real triggers:

  1. A new revenue stream with different economics is buried inside an existing revenue account.
  2. You are about to raise, and gross margin will be scrutinized by someone who has seen a hundred of these.
  3. You need departmental or segment reporting the structure cannot produce.
  4. You are moving from cash to accrual, which needs accounts cash-basis books never had. See cash vs accrual accounting.
  5. You are consolidating entities with mismatched structures.

Do it at a period boundary, ideally the start of a fiscal year, and map old accounts to new so history is restated rather than orphaned. The cost of waiting is comparability. Restructure after three years and you either restate three years of history or accept that your trend lines break at the seam, and explaining that break mid-diligence turns a question about your accounts into a question about your controls. Anyone who has been through Series A audit readiness rarely repeats it.

How a bad chart of accounts corrupts everything downstream

Bad structure does not throw an error. The books balance. The close finishes. The reports render. They are simply, quietly wrong, because a wrong number looks like a right one.

  • Gross margin is off, so contribution margin, unit economics, and payback are off, and they drove a pricing decision.
  • Departmental spend is unattributable, so budget conversations run on assertion, not data.
  • Revenue is undifferentiated, so you miss the high-margin line shrinking while the low-margin one grows.
  • Categories that shift meaning over time make your own history useless.
  • Diligence becomes archaeology, because the buyer asks questions your books never captured.

None of these announce themselves. They surface months later, when someone asks a question your books cannot answer. Structure is also why a month-end close checklist works: a checklist can only verify what the schema could capture.

Specifics vary, and honestly so. Your accounting system, your segment, and your auditor all shape what a good chart of accounts looks like. The principles hold regardless: keep the list short, decide the gross margin line deliberately and write it down, push every other slice to dimensions, and get it right early. A clean schema makes the monthly close faster and every number more trustworthy. Want a second pair of eyes before yours calcifies? Book a call.

Frequently asked questions

How many accounts should a chart of accounts have?+
Fewer than most companies end up with. Around thirty accounts is enough to run a business with real complexity, and even large companies rarely need the hundreds they accumulate. The right test is not a count, it is ambiguity: if two accounts could plausibly hold the same transaction, you have one too many. When you feel the urge to add an account in order to slice spend a new way, that is a signal to use a class, department, or tag instead.
Is the 1000/2000/3000 numbering scheme a rule?+
No. It is a widely used convention, not a requirement, and some systems and industries number differently. Assets in the 1000s, liabilities in the 2000s, equity in the 3000s, revenue in the 4000s, and expenses in the 5000s and above is the default most accounting systems ship with, which is reason enough to follow it. What matters is that the scheme is consistent and legible, so anyone reading an account number knows the type without a lookup, and that you leave gaps so future accounts can be inserted without renumbering.
What counts as cost of goods sold for a SaaS company?+
Generally the costs of delivering the product to existing customers: hosting and infrastructure, third-party APIs consumed per customer, payment processing, the support and customer success work required to keep the product delivered, and implementation teams. Engineering building new features usually sits below the line as an operating expense, because it is an investment in future product rather than a cost of delivering today's. Practice varies and your auditor may have a view, so the important thing is to make the call deliberately, document it, and apply it consistently.
When should we restructure our chart of accounts?+
When the structure stops matching the business: a new revenue stream with different economics, a move from cash to accrual, a need for departmental reporting the current structure cannot produce, an upcoming raise, or an entity consolidation. Do it at a period boundary and map old accounts to new so history is restated rather than orphaned. Doing it late is expensive mostly because of comparability, since you either restate years of history or accept a visible break in your trend lines.
Can a bad chart of accounts really affect our metrics?+
Yes, and silently. A misplaced gross margin line propagates into contribution margin, unit economics, and CAC payback without producing any error. The books balance, the close finishes, and the reports render. The failure is that the number looks like a number, so it gets used in pricing and board decisions before anyone questions the classification underneath it.

Numbers you can actually trust

Zinance is outsourced bookkeeping, tax, and fractional-CFO support built for fast-growing companies, flat pricing, a dedicated human, and books that stay current every day.

Live in 7 business days No long-term contracts Your books belong to you