Chart of Accounts Setup in Tally + Zoho Books for Indian SMEs
Chart of accounts for Indian SMEs: Tally vs Zoho structure, GST + TDS section-wise ledgers, 3 industry templates, migration steps.
What a chart of accounts is + why CoA design matters
The Chart of Accounts (CoA) is the structural DNA of your accounting system — a comprehensive index of every ledger account used by a business to record financial transactions. When a transaction occurs (a software subscription payment, a client invoice, a payroll run), the CoA dictates exactly where that money is categorised.
For Indian SMEs, a poorly designed CoA produces compounding operational friction. If ledgers are too broad, management cannot see what’s driving costs. If ledgers are too granular, data entry becomes paralysed by choice. Most importantly, Indian statutory compliance is architected at the ledger level — generating automated GST returns or filing quarterly TDS statements is impossible if the underlying ledgers don’t isolate the specific tax components.
Whether you’re implementing software for a new entity or cleaning up legacy books, designing the CoA is the most leveraged step in establishing financial hygiene. Time spent here saves multiples downstream.
The conventional ledger categories
Every modern accounting system, regardless of vendor, organises around the double-entry equation Assets = Liabilities + Equity. The CoA expands this equation into the categories below — typically 5 top-level groups, with Current vs Non-Current splits applied to Assets + Liabilities:
| # | Category | What it captures |
|---|---|---|
| 1 | Assets (Current) | Resources convertible to cash within 12 months: bank, cash, debtors / accounts receivable, inventory, GST input credit, TDS receivable, prepaid expenses |
| 2 | Assets (Non-Current) | Long-term: land, buildings, plant + machinery, vehicles, capitalised software, long-term investments, goodwill |
| 3 | Liabilities (Current) | Settle within 12 months: creditors / accounts payable, GST output payable, TDS payable, salary payable, short-term bank OD, statutory dues (PF, ESI, professional tax) |
| 4 | Liabilities (Non-Current) | Long-term: term loans, debentures, deferred tax liability, director loans (if long-term) |
| 5 | Equity / Capital | Owner’s residual claim: share capital, reserves + surplus, retained earnings, partner drawings |
| 6 | Revenue / Income | Core operations (sales, professional fees) + non-core (interest income, discount received, other income) |
| 7 | Direct Expenses / COGS | Costs directly tied to producing goods or delivering services: raw materials, direct factory labour, sub-contractor fees, cloud hosting (for SaaS) |
| 8 | Indirect Expenses | Operating overheads: office rent, marketing, admin salaries, software subscriptions, audit fees, utilities |
Tally Prime default CoA structure
Tally Prime is the dominant Indian SME accounting software, with strict hierarchical architecture organised around Groups and Ledgers.
Out of the box, Tally provides 28 pre-defined Groups:
- 15 Primary Groups forming the Balance Sheet + P&L spine (Capital Account, Current Assets, Current Liabilities, Direct Expenses, Direct Incomes, Indirect Expenses, Indirect Incomes, Fixed Assets, Investments, Loans (Liability), Branch / Divisions, Misc. Expenses (Asset), Purchase Accounts, Sales Accounts, Suspense A/c)
- 13 Sub-Groups providing finer classification (Sundry Debtors under Current Assets; Duties & Taxes under Current Liabilities; Stock-in-Hand under Current Assets; Bank Accounts + Bank OD A/c; Cash-in-Hand; Provisions; Reserves & Surplus; Secured Loans; Unsecured Loans; etc.)
A new Tally company starts with only 2 default ledgers: Cash + Profit & Loss A/c. The accountant builds the rest under the relevant Groups.
Tally customisation pattern: for a manufacturing SME wanting to separate factory + admin overhead, create custom sub-groups (“Admin Expenses” + “Factory Expenses”) under the primary “Indirect Expenses” group, and place the relevant ledgers inside them. The Group hierarchy automatically rolls up into Balance Sheet + P&L grouping with no manual configuration.
Zoho Books default CoA structure
Zoho Books represents the cloud-native approach — flatter structure organised by Account Types aligned with global accounting standards.
Out of the box, Zoho Books ships with dozens of standard ledgers ready to use (Advertising, Meals + Entertainment, Office Supplies, Bank Service Charges, etc.). Every ledger is assigned to an Account Type (Cash, Bank, Accounts Receivable, Accounts Payable, Fixed Asset, Other Current Liability, Other Current Asset, Long Term Liability, Income, Cost of Goods Sold, Expense, Equity).
Key differences from Tally:
- Contacts vs Ledger paradigm. Customers and vendors don’t get individual CoA ledgers — they live in the Contacts module. When you invoice Acme Corp, Zoho automatically routes the transaction to the system-level Accounts Receivable account. This is the biggest mental shift coming from Tally — your CoA will list 10-20 ledgers in Zoho where the equivalent Tally CoA might have 500 customer + vendor ledgers.
- No nested groups. Account Type is a single-level classification (~30 standard types). The Tally muscle memory of building custom sub-groups doesn’t translate; in Zoho you instead use Reporting Tags / Custom Fields for department / project / cost-centre tagging.
- Bank feeds. Zoho connects to major Indian banks (ICICI, HDFC, SBI, Axis) via secure API. Transactions flow in daily, transforming bank reconciliation from a month-end task into a daily routine. Tally Prime supports bank-statement import via Excel/CSV but doesn’t run live API feeds in the same way.
Industry-specific CoA considerations
A generic CoA won’t serve specific business-model reporting needs.
Service businesses (SaaS / agencies / consulting)
Service firms have no inventory, but must track cost-of-service-delivery to compute gross margin:
- Use Cost of Revenue ledgers for cloud hosting (AWS / GCP / Azure), external API costs (Twilio, Stripe, SendGrid), freelance sub-contractors, and any cost that scales with revenue delivery.
- Use Tally Cost Centres or Zoho Reporting Tags / Projects to track profitability by specific client, project, or department — instead of creating separate ledgers for every project (which produces an unreadable P&L).
Trading + e-commerce businesses
Trading businesses need tight inventory + freight tracking:
- Create dedicated Freight Inward + Loading/Unloading + Packaging Materials ledgers under Direct Expenses (these are COGS, not operating overhead).
- Sales + Purchase ledgers can be segmented by product category for top-level P&L visibility into which lines perform best — but item-level tracking in the Inventory module is generally superior to ledger-level segmentation.
- For e-commerce-via-marketplaces: separate ledgers for Marketplace Commission, Shipping Reimbursement, TCS Receivable (Section 52) to reconcile cleanly against the marketplace’s monthly settlement statement.
Manufacturing businesses
Manufacturing demands the most complex CoA due to cost-accounting needs:
- Inventory ledgers must be split into Raw Materials, Work-in-Progress (WIP), and Finished Goods — these have different valuation conventions per Ind AS 2 / AS 2 (Inventories).
- Direct vs Indirect isolation matters. Factory electricity (Direct Expense, part of cost of production) must be in a separate ledger from Head Office electricity (Indirect Expense, period cost). Same logic for labour, repairs, consumables.
- For BRSR-applicable manufacturing entities: see the dedicated Tally Ledger to BRSR Mapping guide for the additional BRSR-specific tagging.
Professional services (CA / legal / architectural)
Partner-driven fee-split firms need revenue segmentation by service line:
- Segment revenue ledgers — Revenue: Tax Advisory, Revenue: Statutory Audit, Revenue: Litigation, Revenue: Transaction Advisory — rather than a single “Consulting Income” ledger.
- Separate reimbursable expenses (travel + filing fees billed to clients) from internal operating expenses so reimbursable margin is visible.
GST classification at the ledger level
For smooth GSTR-1 + GSTR-3B + GSTR-9 filing, the CoA must isolate GST components with precision. Lumping all taxes into a generic “Taxes Payable” account guarantees compliance friction.
Minimum statutory ledgers, grouped under Duties & Taxes (Tally) or Other Current Liability (Zoho):
| Ledger | Purpose |
|---|---|
| Input CGST | ITC on intra-state purchases (CGST component) |
| Input SGST | ITC on intra-state purchases (SGST component) |
| Input IGST | ITC on inter-state purchases + imports |
| Output CGST | Tax collected on intra-state sales (CGST component) |
| Output SGST | Tax collected on intra-state sales (SGST component) |
| Output IGST | Tax collected on inter-state sales |
Reverse Charge Mechanism (RCM). If you transact with Goods Transport Agencies (GTAs), legal services, sponsorships, or import services, you’re liable to pay tax under RCM. Required additional ledgers:
- Output RCM Payable (CGST / SGST / IGST)
- Input ITC on RCM (CGST / SGST / IGST)
The two-leg accounting (RCM liability + immediate eligible ITC) won’t reconcile cleanly without these dedicated ledgers.
HSN / SAC at the ledger vs item level. For service businesses issuing generic invoices, the HSN / SAC code can be mapped at the Sales Ledger level in Tally. For trading + manufacturing businesses with multiple SKUs, HSN codes must be mapped at the Inventory Item level, not the ledger level, so the GSTR-1 HSN summary populates correctly with per-item breakup.
TDS classification at the ledger level
The most common SME compliance bottleneck is the quarterly Form 24Q + 26Q TDS return filing. If all TDS deductions sit in a single “TDS Payable” ledger, the finance manager must manually dissect every voucher at quarter-end to identify which Section each deduction belongs to.
The CoA must feature dedicated ledgers per Section under Duties & Taxes (Tally) or Other Current Liability (Zoho):
| Ledger | Section | Payment type |
|---|---|---|
| TDS Payable — Sec 192 | 192 | Salaries (see Section 192 deep-dive) |
| TDS Payable — Sec 194C | 194C | Contractor / sub-contractor payments |
| TDS Payable — Sec 194J | 194J | Professional + technical services |
| TDS Payable — Sec 194I | 194I | Rent (land / building / plant + machinery) |
| TDS Payable — Sec 194Q | 194Q | Purchase of goods above ₹50 lakh |
| TDS Payable — Sec 194H | 194H | Commission + brokerage |
| TDS Payable — Sec 194A | 194A | Interest other than securities |
On the asset side (Current Assets), if your clients deduct TDS from your invoices, maintain mirror receivable ledgers to track credits that will reflect in Form 26AS:
- TDS Receivable — Sec 194J / 194C / 194Q / 194H / 194O (e-commerce) etc.
Section-wise separation enables automated Form 24Q + 26Q return preparation from the accounting software with no manual mapping work at quarter-end.
Common SME CoA mistakes
When auditing SME books, the same structural errors appear consistently:
- The “Miscellaneous” catch-all. A Miscellaneous or General Expenses ledger absorbing 10-15% of total expenditure. This obscures operational reality + raises audit red flags. If an expense is recurring, it deserves its own named ledger.
- Flat hierarchy / alphabet soup. Hundreds of ledgers without sub-grouping — a P&L that lists Airfare, Hotel, Taxi, Train, Uber as 5 separate line items is unreadable. Group them under “Employee Travel” with the sub-ledgers underneath for drill-down.
- Vendor names as expense ledgers. Creating a ledger “Reliance Jio” under Indirect Expenses instead of using a generic “Telephone + Internet” ledger and tracking Reliance as a vendor (Tally Sundry Creditor or Zoho Contact). Vendor names belong in the accounts-payable side, not the expense side.
- Mixing owner and business funds. Failing to separate Director’s Remuneration (payroll expense), Director’s Loan (liability), Director’s Drawings (equity adjustment for proprietorship / partnership), and Dividend (equity distribution for company). Commingled ledgers produce confused Balance Sheet equity.
- Single GST ledger. “GST Payable” lumping CGST + SGST + IGST + Input + Output together. Makes GSTR-3B preparation impossible without manual re-classification.
- Customer + vendor ledgers in Zoho. Continuing the Tally muscle-memory of creating CoA ledgers per customer / vendor in Zoho, instead of using the Contacts module. Bloats the CoA pointlessly.
CoA template tables
The frameworks below are practical starting points. Each ledger maps to its Tally Group + Zoho Account Type.
Template 1 — Service business (SaaS / agency / consulting)
| Ledger Name | Tally Group | Zoho Account Type |
|---|---|---|
| Assets + Liabilities | ||
| HDFC Bank Current A/c | Bank Accounts | Bank |
| Petty Cash | Cash-in-Hand | Cash |
| Sundry Debtors (Client Receivables) | Sundry Debtors | Accounts Receivable |
| Input CGST / SGST / IGST | Duties & Taxes | Other Current Liability |
| TDS Receivable — Sec 194J | Current Assets | Other Current Asset |
| Sundry Creditors (Vendor Payables) | Sundry Creditors | Accounts Payable |
| Output CGST / SGST / IGST | Duties & Taxes | Other Current Liability |
| TDS Payable — Sec 192 / 194J / 194C | Duties & Taxes | Other Current Liability |
| Salary Payable | Provisions | Other Current Liability |
| Director’s Loan A/c | Unsecured Loans | Long Term Liability |
| Equity | ||
| Share Capital | Capital Account | Equity |
| Retained Earnings | Reserves & Surplus | Equity |
| Revenue + Cost of Revenue | ||
| Revenue — Consulting Services | Direct Incomes | Income |
| Revenue — Retainer Fees | Direct Incomes | Income |
| Cost of Revenue — Cloud Hosting (AWS/GCP) | Direct Expenses | Cost of Goods Sold |
| Cost of Revenue — Sub-contractors / Freelancers | Direct Expenses | Cost of Goods Sold |
| Cost of Revenue — Third-party APIs | Direct Expenses | Cost of Goods Sold |
| Operating Expenses | ||
| Salaries + Wages | Indirect Expenses | Expense |
| Staff Welfare | Indirect Expenses | Expense |
| Software Subscriptions (internal) | Indirect Expenses | Expense |
| Advertising + Marketing | Indirect Expenses | Expense |
| Office Rent | Indirect Expenses | Expense |
| Legal + Professional Fees | Indirect Expenses | Expense |
| Payment Gateway Charges | Indirect Expenses | Expense |
| Bank Charges | Indirect Expenses | Expense |
| Statutory Audit Fees | Indirect Expenses | Expense |
| Depreciation | Indirect Expenses | Expense |
Template 2 — Trading / e-commerce business
| Ledger Name | Tally Group | Zoho Account Type |
|---|---|---|
| Assets + Liabilities | ||
| Inventory — Closing Stock | Stock-in-Hand | Other Current Asset |
| Cash in Hand | Cash-in-Hand | Cash |
| Short-Term Bank Loan (CC / OD) | Bank OD A/c | Other Current Liability |
| TCS Payable (Sec 206C(1H)) | Duties & Taxes | Other Current Liability |
| TCS Receivable (Sec 52 — marketplace) | Current Assets | Other Current Asset |
| GST Output / Input (6 ledgers) | Duties & Taxes | Other Current Liability |
| TDS Payable — Sec 194Q / 194C | Duties & Taxes | Other Current Liability |
| Revenue + COGS | ||
| Sales — B2B Local | Sales Accounts | Income |
| Sales — B2C E-commerce | Sales Accounts | Income |
| Sales — Exports (Zero-rated) | Sales Accounts | Income |
| Sales Returns | Sales Accounts | Income (contra) |
| Purchases — Resale Goods | Purchase Accounts | Cost of Goods Sold |
| Purchases — Imports | Purchase Accounts | Cost of Goods Sold |
| Freight Inward | Direct Expenses | Cost of Goods Sold |
| Loading + Unloading | Direct Expenses | Cost of Goods Sold |
| Packaging Materials | Direct Expenses | Cost of Goods Sold |
| Customs Duty (non-creditable) | Direct Expenses | Cost of Goods Sold |
| Operating Expenses | ||
| Freight Outward / Shipping | Indirect Expenses | Expense |
| Marketplace Commission (Amazon / Flipkart) | Indirect Expenses | Expense |
| Warehouse Rent | Indirect Expenses | Expense |
| Transit Insurance | Indirect Expenses | Expense |
| Inventory Shrinkage / Damage | Indirect Expenses | Expense |
| Printing + Stationery | Indirect Expenses | Expense |
Template 3 — Manufacturing business
| Ledger Name | Tally Group | Zoho Account Type |
|---|---|---|
| Assets + Liabilities | ||
| Land + Buildings | Fixed Assets | Fixed Asset |
| Plant + Machinery | Fixed Assets | Fixed Asset |
| Accumulated Depreciation — P&M | Fixed Assets | Fixed Asset (contra) |
| Inventory — Raw Materials | Stock-in-Hand | Other Current Asset |
| Inventory — Work in Progress | Stock-in-Hand | Other Current Asset |
| Inventory — Finished Goods | Stock-in-Hand | Other Current Asset |
| Factory Term Loan (Secured) | Secured Loans | Long Term Liability |
| Revenue + COGS | ||
| Sales — Manufactured Goods | Sales Accounts | Income |
| Sales — Exports (Zero-rated) | Sales Accounts | Income |
| Purchases — Raw Materials | Purchase Accounts | Cost of Goods Sold |
| Direct Factory Wages | Direct Expenses | Cost of Goods Sold |
| Factory Power + Fuel | Direct Expenses | Cost of Goods Sold |
| Consumables + Spares | Direct Expenses | Cost of Goods Sold |
| Factory Rent | Direct Expenses | Cost of Goods Sold |
| Sub-contracted Job Work | Direct Expenses | Cost of Goods Sold |
| Operating Expenses | ||
| Repairs + Maintenance — Machinery | Indirect Expenses | Expense |
| Quality Testing Fees | Indirect Expenses | Expense |
| Administrative Salaries | Indirect Expenses | Expense |
| Head Office Power + Fuel | Indirect Expenses | Expense |
| Audit + Tax Fees | Indirect Expenses | Expense |
| CSR Expenditure (Sec 135) | Indirect Expenses | Expense |
CoA migration steps (Tally → Zoho or legacy clean-up)
If your current accounting system is a tangled mess of duplicate ledgers and misclassified expenses, migrating to a clean CoA requires a disciplined audit approach — not just a backup import:
- Export the Trial Balance. Detailed Trial Balance from the current software → Excel. Include closing balances at the migration cut-off date.
- The consolidation audit. Review every single line item. Identify duplicate ledgers (e.g., “Office Internet” + “Broadband Bill” + “Wi-Fi Charges” — all the same thing) and map them to a single consolidated target ledger.
- Strip debtors + creditors (for Zoho migration). Remove all individual customer + vendor ledgers from the CoA list. These move to Zoho’s Contacts module separately, with their closing balances mapped to the system Accounts Receivable / Accounts Payable account.
- Map to target hierarchy. Add a column in the Excel sheet mapping each retained ledger to (a) target Tally Group, or (b) target Zoho Account Type, depending on the target software.
- Import masters first. Import the clean CoA template (with no financial data) into the new software to establish the framework + structure.
- Import opening balances. Pass a master journal entry — or use the software’s dedicated opening-balance tool — to post the consolidated closing balances from the old system into the newly structured ledgers. Verify Total Debits = Total Credits to a zero balancing figure.
- Reconcile the Day-0 Trial Balance. Run a fresh Trial Balance from the new software on Day 0 — it must match the consolidated Trial Balance from the source system to the rupee. Resolve any variance before letting transactional posting begin.
A clean, statute-aligned CoA is the prerequisite for everything downstream — monthly book closing, GST filing, TDS returns, statutory audit, year-end finalisation, and BRSR Core reporting (for listed entities). For end-to-end implementation, historical cleanup, or legacy migration support, see the coordinated SME bookkeeping service — engagements are routed to vetted CA partners with Tally + Zoho expertise.
Frequently asked questions
What is a Chart of Accounts (CoA)?
A Chart of Accounts is the foundational index of all financial accounts (ledgers) in the general ledger of a business. It organises transactions into Assets, Liabilities, Equity, Revenue, and Expenses — and the design of this index determines how cleanly the books can support GST returns, TDS filings, statutory reporting, and management MIS. Every modern accounting system organises around the double-entry equation Assets = Liabilities + Equity; the CoA is the catalogue that expands this equation into the specific ledgers the business actually uses.
How does the default CoA in Tally Prime differ from Zoho Books?
Tally Prime uses a strict hierarchical structure with 28 pre-defined Groups (15 Primary + 13 Sub-groups like Sundry Debtors, Duties & Taxes, Stock-in-Hand). A new Tally company starts with only 2 ledgers (Cash + Profit & Loss A/c) and you build the rest under the relevant Groups. Zoho Books uses a flatter, cloud-native architecture organised by Account Types (Accounts Receivable, Fixed Asset, Other Current Liability, Cost of Goods Sold) and ships with dozens of pre-built standard ledgers ready to use. Tally is the de-facto Indian standard; Zoho is the cloud-native alternative.
Should I create a separate ledger for every customer and vendor?
In Tally Prime: yes — each customer is a ledger under the Sundry Debtors group; each vendor is a ledger under Sundry Creditors. In Zoho Books: no — customers and vendors are managed in the Contacts module, which auto-maps to system-level Accounts Receivable / Accounts Payable account types. This is the biggest paradigm shift in Tally → Zoho migration; a Tally CoA with 500 customer ledgers becomes a Zoho CoA with one Accounts Receivable account + 500 Contacts.
Why do I need separate ledgers for different TDS sections?
Lumping all TDS into a single 'TDS Payable' ledger makes quarterly Form 24Q + 26Q filing operationally painful — at quarter-end you must manually dissect every voucher to identify which Section's deduction it represents. Separate ledgers (TDS Payable — Sec 192, TDS Payable — Sec 194C, TDS Payable — Sec 194J, TDS Payable — Sec 194I, TDS Payable — Sec 194Q etc) let your accounting software auto-generate accurate return payloads with the correct deductee schedule and challan mapping per Section.
How should I structure GST ledgers?
At a minimum, maintain 6 separate ledgers under Duties & Taxes (Tally) or Other Current Liability (Zoho): Input CGST, Input SGST, Input IGST, Output CGST, Output SGST, Output IGST. If you handle Reverse Charge Mechanism transactions (legal services, goods transport agency, sponsorships, import of services), additionally create Output RCM (split by tax type) + Input ITC on RCM ledgers — RCM has a self-invoicing + two-leg accounting entry that won't reconcile without dedicated ledgers.
Is the 'Miscellaneous Expenses' ledger a good practice?
No. A heavily-used Miscellaneous or General Expenses ledger acts as a dumping ground that obscures actual business costs, undermines management MIS, and is a frequent red flag during statutory + tax audits. If an expense is recurring or material, it deserves its own named ledger. The 'Miscellaneous' ledger should hold genuinely one-off, immaterial items only — and if any single line item in it crosses (say) 1% of total expenses, it should be promoted to its own ledger immediately.
Can I migrate my Chart of Accounts from Tally to Zoho Books?
Yes. The process: (1) export the Tally trial balance to Excel with closing balances at the migration cut-off date; (2) audit + consolidate duplicate ledgers; (3) strip out all Sundry Debtor + Sundry Creditor individual ledgers (these move to Zoho Contacts); (4) map remaining ledgers to Zoho Account Types in a mapping column; (5) import the clean CoA template into Zoho Books first (no financial data); (6) import opening balances via Zoho's opening-balance tool or a master journal. Customer + vendor opening balances move with the Contacts import, not the CoA import.
Do service businesses need Cost of Goods Sold (COGS) ledgers?
Service businesses don't have physical inventory but should track direct cost of service delivery to compute gross margin meaningfully. Use 'Cost of Revenue' or 'Direct Expenses' ledgers for cloud hosting (AWS, GCP, Azure), external API costs, sub-contractor / freelancer fees, and any other cost that scales with revenue delivery. In Tally these sit under Direct Expenses; in Zoho they map to the Cost of Goods Sold account type. This separation enables 'Revenue minus Cost of Revenue = Gross Margin' analysis even for an entity without inventory.