A chart of accounts (CoA) is the numbered list of ledger accounts a business uses to record its transactions, grouped into five types: assets, liabilities, equity, income and expenses. Get it wrong and one GST ledger for two states means GSTR-3B is split by hand, and a ledger per branch turns 150 accounts into 900.
In OneFinOps, branch, cost centre and GSTIN are dimensions on the posting, so the chart stays lean as the business grows.
Key takeaways
- The chart is the structure; the general ledger is the data inside.
- Every ledger should roll up to one Schedule III line.
- Give GST, TDS and MSME dues their own ledgers.
What are the 5 main types of accounts?
| Account type | Appears in | Normal balance | Examples |
|---|---|---|---|
| Assets | Balance sheet | Debit | Bank, receivables, inventory, input GST |
| Liabilities | Balance sheet | Credit | Trade payables, TDS payable, output GST, loans |
| Equity | Balance sheet | Credit | Share capital, reserves and surplus |
| Income | Profit and loss | Credit | Sales, service income, interest received |
| Expenses | Profit and loss | Debit | Purchases, salaries, rent, depreciation |
How should a chart of accounts be numbered?
Use four digits, with the first digit for the type: 1000s assets, 2000s liabilities, 3000s equity, 4000s income, 5000s direct costs, 6000s to 7000s operating expenses, 8000s finance costs and tax. Leave gaps of 10 between codes. Keep dimensions such as cost centre, branch and GSTIN out of the chart: one Rent ledger tagged by branch beats “Rent, Mumbai” and “Rent, Pune”.
Chart of accounts example for an Indian company
A condensed sample for a company registered for GST in Maharashtra and Karnataka. Schedule III to the Companies Act, 2013 sets the statement format, not account codes, so each ledger maps to exactly one Schedule III line.
| Code | Account name | Schedule III line |
|---|---|---|
| 1010 | Plant and Machinery | Property, plant and equipment |
| 1090 | Accumulated Depreciation (contra) | Property, plant and equipment |
| 1310 | Inventory, Finished Goods | Inventories |
| 1410 | Trade Receivables, Domestic | Trade receivables |
| 1520 | HDFC Bank Current Account | Cash and cash equivalents |
| 1610 | Input CGST, Maharashtra | Other current assets |
| 1611 | Input SGST, Maharashtra | Other current assets |
| 1622 | Input IGST, Karnataka | Other current assets |
| 1650 | TDS Receivable | Short-term loans and advances |
| 2010 | Term Loan from Bank | Long-term borrowings |
| 2210 | Trade Payables, Micro and Small Enterprises | Trade payables |
| 2220 | Trade Payables, Others | Trade payables |
| 2310 | Output CGST, Maharashtra | Other current liabilities |
| 2330 | GST Payable under Reverse Charge | Other current liabilities |
| 2420 | TDS Payable, Contractors | Other current liabilities |
| 2430 | TDS Payable, Professional Fees | Other current liabilities |
| 2510 | PF Payable | Other current liabilities |
| 3010 | Equity Share Capital | Share capital |
| 3210 | Retained Earnings (Surplus in P&L) | Reserves and surplus |
| 4010 | Sales, Domestic Goods | Revenue from operations |
| 4110 | Service Income | Revenue from operations |
| 5010 | Purchases, Raw Material | Cost of materials consumed |
| 6010 | Salaries and Wages | Employee benefits expense |
| 7010 | Rent | Other expenses |
| 7020 | Professional and Legal Fees | Other expenses |
| 8010 | Interest on Term Loan | Finance costs |
| 8110 | Depreciation and Amortisation | Depreciation and amortisation expense |
GST ledgers are split by tax head and GSTIN, because each registration files its own GSTR-3B. TDS payable is split by payment nature, not section number, since from tax year 2026-27 TDS falls under section 393 of the Income-tax Act, 2025. MSME payables are separate to track the 15 or 45 day limit under section 15 of the MSMED Act.
Example: a ₹2,00,000 consulting bill with 9% CGST and 9% SGST and 10% TDS debits 7020 by ₹2,00,000, 1610 and 1611 by ₹18,000 each, and credits 2220 by ₹2,16,000 and 2430 by ₹20,000.
How OneFinOps handles the chart of accounts
One group chart governs classification, and each entity keeps the local accounts its statutory filings require. The Close Agent posts accruals and reversals on their schedules and reconciles each subledger to its control account. Every manual journal goes to a reviewer who is not the preparer; the group controller locks the period.
Accounting software that only records entries leaves the reconciling to people at month end. Here every balance drills to the journal and source document behind it.
See the general ledger in OneFinOps
