GreenoteLite

How to categorise bank transactions for audit

Published 5 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.

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.