How to categorise bank transactions for audit
Published 5 July 2026 · Updated 13 July 2026 · Greenote
Categorisation is where a bank statement becomes a working paper. Done well, it answers scrutiny queries in minutes and feeds the ITR heads directly. Done loosely, it collapses the first time someone asks why a "miscellaneous" head holds 30% of the year's outflows. Here is a head list that holds up, and the rules that matter more than the list.
A working head list
Income heads. Salary, professional or business receipts, rent received, interest (savings, FD, RD — keep them separable for the 80TTA/80TTB working), dividends, refunds and reversals. Refunds deserve their own head: they are not income, and letting them inflate receipts is a classic self-inflicted mismatch.
Expense heads. Rent paid, salaries and wages paid, bank charges, utilities and telecom, insurance premiums, EMIs, statutory payments (GST, TDS, advance tax), supplier and vendor payments. Split EMI rows from ad-hoc loan repayments if you can — the interest component matters for more than one schedule.
Movement heads. Cash withdrawals, cash deposits, self transfers between the client's own accounts, investments out (broker, mutual fund) and redemptions in. These are not income or expense — mixing them into either is the single most common categorisation error, and cash movements are exactly what AIS/SFT reporting watches.
Suspense. A real, visible head for rows you have not resolved yet — not a shameful bucket to minimise by force-fitting rows elsewhere.
Rule 1: A mode is not a category
UPI, POS, NEFT, IMPS and cheque are how money moved, not why. A statement analysis that stops at "UPI: ₹4,20,000" has categorised nothing — that figure is rent, groceries and a loan to a cousin, blended. Keep the mode as a tag (it is genuinely useful — a rent payment by cash and one by NEFT have different audit textures) but always assign a purpose head on top. Some banks help more than others here: Axis marks UPI rows as P2A or P2M, splitting people from merchants for free, while PNB's terse narrations make you work for every classification.
Rule 2: Direction comes from amounts, never from text
Narrations lie about direction more often than you would think — reversals, mislabelled prefixes, and banks like Canara that embed DR/CR flags in the text itself. The debit and credit columns are the truth; anything in the narration is a hint to be verified against them.
Rule 3: Consistency beats cleverness
The same narration pattern must land in the same head in April and in March. An auditor reviewing your working can forgive a debatable head; what destroys confidence is the same electricity bill sitting under Utilities one month and Office Expenses the next. Write the mapping down — or use a tool that applies one deterministically.
Rule 4: Suspense discipline
When a row is ambiguous, park it in Suspense and resolve it from vouchers or the client — never assign it the head that makes the totals convenient. A file with an honest 4% Suspense is defensible; a file with 0% Suspense and guessed heads is a liability. This is also the standard to hold your tools to: an analyser that never says "unknown" is guessing somewhere.
Rule 5: Self transfers must net out
If the client has three accounts, money moving between them will show up as outflow in one statement and inflow in another. Tag self transfers explicitly and check that they cancel across accounts — anything that does not net to zero is either a missing statement or not actually a self transfer.
The heads exist to feed the return
Categorisation is not filing for its own sake. Each head should map to a line you will actually use at finalisation, which is why the split matters more than the label. Interest kept separable by type drives the section 80TTA or 80TTB deduction and reconciles to the AIS interest figure, which is usually reported gross of TDS while the statement shows the net credit. Dividends feed Schedule OS. Transfers to and from a broker or mutual fund flag a capital-gains schedule and should be matched against the securities data the AIS already carries. Refunds and reversals kept out of income stop a self-inflicted mismatch. Statutory payments, GST, TDS and advance tax, reconcile against the returns and challans rather than sitting in a vague expense head.
Cash heads carry the legal risk
The cash heads deserve the most care, because they are where the law attaches. Tag cash deposits and cash withdrawals as their own heads and total them per account, since aggregate cash deposits of Rs 10 lakh or more in a year across a person's savings accounts are reported by the bank under SFT and surface in AIS. A large single cash receipt is where a section 269ST question begins, the Rs 2,00,000 cash-receipt ceiling whose penalty under section 271DA equals the amount received. On the payment side, cash expenditure over Rs 10,000 to a person in a day, or Rs 35,000 to a goods carriage operator, drives the section 40A(3) disallowance that lands in Form 3CD clause 21(d). None of these can be read if cash is buried inside a generic expense or a bare mode tag, which is the practical reason the movement heads are kept distinct from income and expense.
Categorising at scale
These rules are easy to state and brutal to apply by hand across a filing season. Greenote Lite applies them for you: every transaction gets a purpose head and a mode tag, direction is taken from the amount columns, the mapping is deterministic across the whole statement, and ambiguous rows are marked Suspense or Unknown instead of guessed. Upload one Excel or CSV statement — the first is free — and compare its category summary against your own working.
Questions CAs ask
No. UPI, NEFT, IMPS, POS and cheque describe how the money moved, not why. A total like "UPI: Rs 4,20,000" has categorised nothing, because it blends rent, groceries and a loan to a cousin. Keep the mode as a tag, since it is genuinely useful, but always assign a purpose head on top of it. Some banks help: Axis marks UPI rows as P2A or P2M, which separates people from merchants for free.
A small, honest Suspense head is a sign of discipline, not weakness. A file with an honest 4 per cent Suspense that you resolve from vouchers or the client is defensible; a file with zero Suspense and guessed heads is a liability, because the first person to test a convenient head will find it. Never assign a row the head that makes the totals look right. This is also the standard to hold your tools to: an analyser that never says unknown is guessing somewhere.
Keeping savings interest separate from FD interest, because it drives the section 80TTA or 80TTB working. Tagging cash deposits and withdrawals as their own heads, because aggregated cash deposits of Rs 10 lakh or more feed SFT reporting and a large cash receipt raises a section 269ST question. Flagging cash expenditure over Rs 10,000 to a person in a day, because it drives the section 40A(3) disallowance in Form 3CD clause 21(d). And netting self transfers across accounts so they never inflate income or expense.
It applies one deterministic mapping across the whole statement, so the same narration pattern lands in the same head in April and in March, takes direction from the amount columns rather than the narration text, and marks ambiguous rows as Suspense or Unknown instead of guessing. It reads Excel and CSV, not PDF. The statement is processed in memory and deleted the moment the report is ready, so nothing is stored.