A chart of accounts is the backbone of your bookkeeping - the structured list of every account (asset, liability, income, expense and equity) that transactions get posted to. Getting chart of accounts setup right at the start saves you from a painful restructuring exercise a year later, once hundreds of transactions have already been posted against a messy, inconsistent list of accounts.
This guide walks through the account types your chart needs, a numbering convention that scales as your business grows, and a sample starter chart for a small trading or services business in India.
What a Chart of Accounts Actually Does
Every transaction you record in double-entry bookkeeping hits at least two accounts - for example, a cash sale increases both your Bank account and a Sales account. The chart of accounts is simply the master list of every account available to post against. A well-designed chart makes your financial statements (profit and loss, balance sheet) fall out naturally from how transactions are already coded, instead of requiring manual reclassification at the end of every period.
The Five Account Types Every Chart Is Built On
| Account type | What it tracks | Appears on |
|---|---|---|
| Assets | What the business owns - cash, bank balances, receivables, inventory, fixed assets | Balance sheet |
| Liabilities | What the business owes - payables, loans, GST payable | Balance sheet |
| Equity | Owner's capital and retained earnings | Balance sheet |
| Income | Revenue from sales, services, other income | Profit and loss |
| Expenses | Cost of goods sold, operating expenses, commission, statutory dues | Profit and loss |
Every account you create should sit clearly under one of these five categories. If you find yourself unsure which category a new account belongs to, that is usually a sign the account needs a clearer, narrower definition before you add it.
A Numbering System That Scales
Most charts of accounts use a block numbering convention so that account codes sort naturally by type and new accounts can be inserted later without renumbering everything:
- 1000-1999: Assets (1000s for cash/bank, 1200s for receivables, 1400s for inventory, 1600s for fixed assets)
- 2000-2999: Liabilities (2000s for payables, 2200s for statutory dues including GST payable, 2400s for loans)
- 3000-3999: Equity
- 4000-4999: Income (4000s for primary sales, 4500s for other income)
- 5000-5999 and above: Expenses (5000s for cost of goods sold, 6000s for operating expenses, 7000s for statutory/finance costs)
Leave gaps within each block (use 1010, 1020, 1030 rather than 1001, 1002, 1003) so you can insert a new account later without breaking the numbering logic.
Step-by-Step: Setting Up Your Chart of Accounts
- List your actual revenue streams first - separate them if you need visibility by product line, marketplace or service type, but do not over-split; each income account should represent a genuinely distinct reporting need.
- List every bank and cash account you operate, each as its own asset account, so reconciliation can happen account by account.
- Add receivables and payables as control accounts, with sub-ledgers by customer/vendor maintained separately rather than as individual chart-of-accounts entries.
- Add statutory liability accounts for GST payable/output, GST input credit, and TDS/TCS where relevant - these need to be distinct from general expense or asset accounts so they can be tracked and reconciled against your GST returns.
- Build your expense accounts around how you actually want to analyse spend - by department, by category, or both - but keep the list short enough that anyone entering a transaction can find the right account without hunting.
- Review with whoever prepares your GST returns and financial statements before finalising, since the chart needs to support both outputs cleanly.
GST-Specific Ledgers You Should Not Skip
A chart of accounts built without GST in mind usually causes problems the first time someone tries to reconcile GSTR-3B against the books. At minimum, include:
- Output CGST / SGST / IGST payable accounts, separate from each other and from input credit accounts
- Input CGST / SGST / IGST credit accounts, to track ITC claimed against purchases
- TCS receivable, if you sell through marketplaces that deduct TCS at source
- Reverse charge liability, if you have any RCM-applicable purchases
Keeping these separate from your general expense and liability accounts is what makes it possible to reconcile GST returns against your books without manually digging through a mixed general ledger every filing period.
A Sample Starter Chart for a Small Trading Business
| Code | Account name | Type |
|---|---|---|
| 1010 | Bank Account - Current | Asset |
| 1210 | Trade Receivables | Asset |
| 1410 | Inventory | Asset |
| 2010 | Trade Payables | Liability |
| 2210 | Output GST Payable | Liability |
| 2220 | Input GST Credit | Liability (contra) |
| 4010 | Sales - Domestic | Income |
| 5010 | Purchases / Cost of Goods Sold | Expense |
| 6010 | Marketplace Commission | Expense |
| 6210 | Rent | Expense |
This is deliberately minimal - it is meant as a starting structure to extend, not a complete chart for every business type.
Adapting the Chart as Your Business Grows
A chart of accounts is not meant to stay fixed forever, but changes should be additive rather than disruptive. When you add a new product line, a new warehouse location, or start operating under a second GSTIN, extend the existing numbering blocks with new accounts rather than restructuring what already exists. For example, if you start selling through a new marketplace and want to track its commission separately from your existing marketplace commission account, add a new account in the 6000s block (say, 6020) rather than renaming or repurposing the original one. This keeps every historical report comparable to the ones that follow it, which matters a great deal once you are looking at year-on-year figures.
Mistakes That Make a Chart of Accounts Unusable Later
- Creating a new account for every customer or vendor instead of using receivable/payable control accounts with sub-ledgers.
- Mixing GST liability accounts with general expenses, which makes GSTR-3B reconciliation far harder than it needs to be.
- Over-splitting income or expense categories to the point where nobody can remember which account to use, so everything defaults to a catch-all "Miscellaneous" account.
- Renumbering accounts after transactions have already been posted, which breaks historical reporting continuity.
Full double-entry bookkeeping - including a structured chart of accounts, vouchers, ledgers and receivables/payables tracking built directly into the platform - is on the OneBooks GST roadmap alongside its current GST invoicing and accounting software capabilities. See our accounting software roadmap for what is planned. In the meantime, understanding these fundamentals - covered alongside our guides on double-entry bookkeeping basics and how to read a profit and loss statement - will make any accounting system you use, now or later, easier to work with.
Frequently asked questions
How many accounts should a small business chart of accounts have?
There is no fixed number, but most small businesses do well with somewhere between 30 and 80 accounts. Fewer than that often means expenses are too aggregated to analyse; far more usually means the chart has been over-split and becomes hard to use consistently.
What numbering convention should I use for a chart of accounts?
A common approach blocks numbers by type - for example 1000s for assets, 2000s for liabilities, 3000s for equity, 4000s for income, and 5000s upward for expenses - with gaps left within each block so new accounts can be inserted later.
Should GST payable and GST input credit be separate accounts?
Yes. Keep output GST payable and input GST credit as distinct accounts, ideally split further by CGST/SGST/IGST, so GSTR-3B reconciliation against your books does not require manually separating a mixed ledger.
Can I change my chart of accounts after I have already started posting transactions?
You can, but renumbering or restructuring after transactions exist breaks continuity in historical reports. It is far easier to get the structure right at the start, even if the initial chart is deliberately minimal.
Do I need a separate account for every customer?
No. Use a single trade receivables control account and maintain customer-level detail in a sub-ledger, rather than creating an individual chart-of-accounts entry per customer.
Using OneBooks GST for this workflow
Where this becomes repetitive month after month, OneBooks GST produces GST invoices and accounting-ready exports today; chart of accounts, ledgers and financial statements are roadmap items.
Because OneBooks GST keeps each GSTIN in its own organisation context, a business registered in several states can work through one registration at a time.




