DDeetzo Academy ◀ All module guides
Deetzo ERP · Bank Reconciliation · Training Guide

Bank reconciliation — proving the books agree with the bank

Import the statement your bank gives you, and match every line on it against what the books already say. What matches is cleared; what does not is the list of things somebody still has to explain. For whoever closes the month and wants the cash figure to be a fact rather than a hope.

Version 1.1 Reviewed against production code CSV / XLSX / PDF · 5 bank layouts Audience Accounts · Owner
01Accounts
→
02Import
→
03Match
→
04Clear
→
05What is left
00

The big picture

Two records of the same money. Reconciling is proving they agree.

The statement is the bank's record of what actually moved. Your books are your record of what you meant to happen. Reconciling walks the statement line by line and pairs each one with the entry that explains it. Whatever pairs is cleared; whatever does not is a real question — a payment nobody recorded, a receipt that never arrived, a charge you did not know about.

BANK STATEMENT YOUR BOOKS 08 Sep · NEFT ACME · 41,300 09 Sep · UPI PATEL · 7,080 10 Sep · BANK CHARGES · 236 Receipt · Acme Traders Payment · Patel Steels nothing in the books ✕ Two cleared. One left — and that one is the point of the exercise.
ConceptMatching, not importing. The statement does not create entries; it tests the ones you already have.
Reconciling posts nothing

Not one journal entry. Matching only marks an entry as cleared against a statement line, and unmatching un-marks it. Your profit, your balances and your ledger are exactly the same before and after. This is a proof, not a transaction.

Where it lives

There is no menu item called "reconciliation". Everything is inside one screen:

BOOK

Books & Accounting

The host screen. Seven tabs.

More → Books & Accounting
BANK

Banking tab

One card per bank or cash account. The tab label carries the unmatched count.

tab 6 of 7
IMP

Import statement

Three steps: File, Columns, Review.

button on the card
REC

Reconcile

The matching worklist. Appears once a statement exists.

button on the card

On a phone the More sheet calls it Books. Access needs canAccessSettings — a reports-only user cannot open it at all, even though they are allowed to read the data.

01

Before you start

Two things must exist or the tab has nothing to show.

1. The books must be switched on. If they are not, the whole screen is replaced by a Set up my books card. Pressing it seeds the chart of accounts, posts opening balances and backfills the ledger, then reports "Books ready — posted N journal entries."

2. At least one bank or cash account. More → Bank & Cash Accounts → Add account (name, bank/cash, bank name, branch, last 4, IFSC, opening balance). Without one the Banking tab says:

No bank or cash accounts yet

"Add the accounts you pay from and receive into under Settings, then come back to import their statements."

Each account's card then shows its book balance, the last statement imported, and a pill — amber "N to reconcile" or green "All matched".

02

Importing a statement

Three steps, and the middle one is not what it looks like.

Banking tab → the account's card → Import statement.

StepWhat happens
1 · FileChoose a CSV, XLSX or PDF statement from the bank. Deetzo recognises the HDFC, ICICI, SBI, Axis and Kotak layouts by their headings, and any other file whose headings name the columns. A PDF is read by finding the table on the page — see below.
2 · ColumnsShows what it worked out — which column is the date, the description, the reference, money in and out, the balance — and how dates were read. A known bank shows a green Recognised: HDFC Bank pill.
3 · ReviewTransaction count, period, money in, money out, closing balance, any rows it could not read, and a preview of the first eight. Then Import N.

Importing the PDF instead

Most people never find the CSV download, because the bank's app leads with a PDF. Deetzo will read the PDF — but it is worth knowing what that means, because it is not the same act as reading a CSV.

There is no parser per bank, and there could not be: every bank's PDF looks different and they change. Instead the table is found from the geometry of the page — the dates are wherever the dates are, the money columns are wherever the amounts line up, and the description is the space in between. That works on a statement the bank generated. It cannot work on a scan or a photograph, which has no text in it at all, and it says so rather than guessing.

It checks itself, and it will refuse

A reconstructed table can be wrong in a way a CSV cannot, so before anything is imported Deetzo proves two things: that the running balance adds up from row to row down the whole statement, and that the totals match the ones the statement prints on itself. Pass, and the review step says so — "the running balance adds up on 128 of 128 rows". Fail, and the Import button stays off until you have looked at the rows and deliberately said to go on.

Two more things it does on its own: a password-protected statement asks for the password (used once, stored nowhere), and a bank that prints money in before money out is noticed by comparing against the statement's own totals, and the columns are swapped with a note saying so.

The CSV is still the better file

It is the bank's own numbers in the bank's own columns — nothing is inferred. Every Indian bank offers one, usually beside the PDF download in net banking, sometimes labelled Excel or "delimited". If you import from the same account every month, finding it once is worth the five minutes.

Step 2 is display-only — you cannot re-map a column

There are no dropdowns. If the columns were detected correctly, press on; if they were not, the import cannot be rescued from this screen. One error message says "Could not work out what the columns mean. Map them below." — there is nothing below to map. The remedy is to fix the header row in the file (give it plain headings like Date, Narration, Withdrawal, Deposit) and import again.

The second import of the same bank is easier

The mapping is remembered per account, so next month's file from the same bank is recognised without thinking about it. And re-importing an overlapping period is safe — anything seen before is skipped. The screen says so: "Re-importing a period you already loaded is safe — anything seen before is skipped."

What it refuses

MessageMeaning
"That file has no rows in it."Empty file, or an XLSX whose first sheet is empty.
"No headings were recognised in this file. It needs a header row naming at least a date, a description and an amount column."Add or fix the header row.
"A statement can carry at most 2000 transactions; split the file by period."Import month by month.
"Too many attempts. Please wait a few minutes and try again."Twenty imports an hour, per user.
"Row has both a withdrawal and a deposit; skipped." · "Row has an amount but no date." · "Could not read the date "…"."Per-row notes on the Review step. Those rows are left out; the rest still import.

Note for spreadsheets: an XLSX is read from its first sheet only. If your bank exports a cover sheet first, save the transactions sheet as CSV instead.

03

How matching works

Worth understanding, because it explains every match you disagree with.

For each statement line Deetzo looks for book entries on that bank account and scores them. Two things are absolute — get either wrong and there is no pair at all:

  • The amount must be equal to the paisa, and in the mirrored direction (money in on the statement ↔ a debit in the books).
  • The dates must be within seven days of each other.

Everything else adds confidence, and appears on screen as blue chips you can read: same day, 2d apart, reference, party, unique amount, 3 receipts.

SignalWhy it counts
Same day, or within threeThe strongest ordinary evidence.
Reference in commonA UTR or cheque number appearing in both.
Party name in the narrationThe customer's or supplier's name found in the bank's text (ignoring PVT, LTD, LLP and the like).
Unique amountOnly one entry anywhere near that figure.

A line is only matched automatically when one candidate scores well and clearly beats the runner-up. Anything close is left for you. A deposit covering several receipts is found too, but deliberately scored below the automatic threshold — it always asks a human, and the line says so: "A deposit of N receipts — check the list before matching."

The server checks the arithmetic

Whatever you match, the entries' net movement on that bank account must equal the statement line exactly, or it is refused: "Those entries do not add up to the statement line." One line can clear at most six entries.

04

Working the list

Four actions, and one button that behaves differently from the others.

Banking tab → Reconcile. Each open line shows its best suggestion with the entry's narration and its signal chips.

ActionEffect
MatchClears the line against that entry.
Set asideParks a line you have decided not to deal with. It stops counting as open.
UnmatchUndoes a match, one line at a time.
Put backReturns a set-aside line to the open list.
The sparkle in the toolbar is not a search — it commits

Find matches scores every open line on the server and then immediately applies every high-confidence match. There is no preview, no confirmation and no bulk undo: to reverse it you unmatch lines one at a time. It reports what it did — "Matched N outright, M to confirm." Use it when you have a long statement and trust the run; work down the list by hand when you do not.

Lines with nothing to pair against say so plainly: "Nothing in the books matches this line." That is not a failure of the tool — it is the finding. Something happened at the bank that your books have never heard of, and somebody has to enter it (§07).

05

Reading what is left

The header counters, and what they do and do not mean.

FigureWhat it is
Matched n of NProgress through the statement.
Still openLines neither matched nor set aside.
Set asideParked deliberately.
UnclearedThe value of the still-open lines. Green at zero, amber otherwise.
Bank closingThe closing balance the statement itself carries.
"Uncleared" is not the bank-versus-book difference

It is only the sum of the statement lines you have not dealt with. It is not a reconciliation statement: there is no book-balance-versus-bank-balance comparison, no split of uncleared deposits and withdrawals, and no gate that insists the difference be zero. Reaching "Uncleared 0" means you have accounted for every line on this statement — a good day's work, but not a signed reconciliation. The screen puts it well: "Uncleared is what the statement shows but the books have not accounted for yet. It reaches zero when every line is matched or set aside."

06

Traps

The things that will waste an afternoon if nobody warns you.

  1. Only the latest statement is reconcilable. Import a newer file and the previous statement's leftover lines can no longer be opened — while still counting towards the amber badge, which then never clears. Finish a statement before importing the next one.
  2. The months must overlap. Matching only looks a week either side of each line and loads the books around the statement's period. A September statement against April entries matches nothing — and looks like the feature is broken when it is working exactly as designed.
  3. Undeposited Funds. A receipt, payment or expense recorded without choosing a bank account posts to Undeposited Funds. It is never a candidate for any statement line, because as far as the books are concerned it never touched a bank. If a line stubbornly has no match, check whether the entry has a bank account on it.
  4. Set aside is an accounting decision. Nothing asks for a reason and nothing chases it. Use it for lines that genuinely belong to another period or another account — not as a way to make the number go green.
  5. Two identical transactions on one day are told apart by their order within a single file. Re-exporting the same day in a different order can make the second import skip a legitimate repeat.
07

What is not here yet

Two of these change how you have to work, so read them before you start.

You cannot create an entry from a statement line

A bank charge, interest received, or a payment nobody recorded has to be entered the normal way — as an expense, a receipt or a payment on its own screen — and then matched on the next pass. There is no "create from this line" button. On a first reconciliation of a real account, expect to go back and forth.

There is no "complete reconciliation"

Nothing closes a statement, nothing stamps a reconciled-through date, and there is no reconciliation report to file or print. A statement stays open for ever; "done" means you have worked its list to zero and moved on.

Also still to come: a live book balance and a Reconcile button on the Bank & Cash Accounts screen; OFX and QIF import; matching several statement lines to one book entry; a cash physical-count flow; a books health check for unreconciled items older than sixty days; and a sweep for stranded Undeposited Funds.

08

Quick reference

The page to keep open the first few months.

ConceptWhere / what
Getting thereMore → Books & Accounting → Banking tab (phone: Books)
FilesCSV or XLSX (first sheet only); HDFC · ICICI · SBI · Axis · Kotak recognised
Limits2,000 transactions per statement · 20 imports per hour · 6 entries per line
DuplicatesDetected automatically; re-importing an overlap is safe
Match requiresExact amount, mirrored direction, within 7 days
Line statesunmatched → matched or excluded, and back again
Find matches (sparkle)Auto-applies high-confidence matches. No undo but one-by-one
Posts to the ledgerNothing. Matching only marks entries as cleared
UnclearedSum of still-open lines — not a bank-versus-book difference
Finish a statementBefore importing the next — older ones become unreachable
PermissioncanAccessSettings to open and to match
The one mental model to keep

The statement is evidence; the books are the claim. Reconciling tests the claim against the evidence and gives you a list of the places they disagree. The list is the deliverable — not the green number.