GUIDES · 7 MIN READ

How to check whether a bank statement has been edited

Most doctored statements fail one test: the running balance stops adding up. Here is how that check works, what else to look at, and what passing it does not prove.

B
BankXL · Engineering·Published 11 Aug 2026

If you assess loan files, onboard tenants or audit a client’s books, you have almost certainly been handed a bank statement that was edited before it reached you. A PDF is not a secure document. Free tools will happily let someone change a figure, and the result opens perfectly in any reader.

The useful news is that most edits are careless, and there is one test that catches them without any software at all.

Why this keeps happening

Bank statements are the most common supporting document in Indian lending, and almost nobody verifies them against the bank. A borrower short of the income threshold has an obvious temptation, and the barrier is a free PDF editor.

The usual edits are small and specific: inflate a salary credit, remove a bounced cheque, delete a loan-EMI debit, or raise the closing balance. Each is a change to one number.

The check that catches most of them

Every statement prints a running balance, and that column is a chain. Each row’s balance is the previous row’s balance, plus any credit, minus any debit:

previous balance + credit − debit = this balance

That has to hold on every single row. And here is the useful part: if someone changes one amount, the arithmetic breaks at that row and stays broken for every row after it. A single edit near the top of a twelve-month statement leaves a trail of hundreds of failures.

💡 TIPDeleting a row is just as visible
Removing a transaction does not remove its effect on the balance column. The row above and the row below no longer connect, and the gap is exactly the amount that was deleted — which often tells you what was being hidden.

Doing it by hand

1

Pick any row in the middle

Note its balance, and the balance of the row directly above it.

2

Apply that row's transaction

Take the balance above, then add the credit or subtract the debit on your row.

3

Compare

The number you calculated should equal the printed balance, to the paisa. If it does not, that row is worth a question — and check the rows around it, because a real edit produces a run of failures rather than a single one.

Check the two ends as well: the opening balance should match the previous period’s closing, and the closing balance in the summary should equal the last row of the chain. Statements are often edited in the body while the summary is forgotten.

Other signals worth a look

The PDF’s own properties

Open FileProperties in any reader. A statement generated by a bank names the bank’s own software as producer. If it names a consumer PDF editor, or the modification date is later than the creation date, the file has been through something after the bank made it. Neither is proof — some banks re-process their own files — but both are worth asking about.

Fonts and alignment

Edited figures are often set in a slightly different font, or sit a fraction off the column’s alignment. Zoom to 400% on the amounts column and look down it. Real statement rows are machine-set and line up exactly.

The IFSC code

The first four characters of an IFSC are the bank, and the code should match the letterhead. “HDFC0001234” on a statement branded as another bank is a fabrication, not a typo. See our list of supported banks and their formats.

What none of this proves

⚠️ HEADS UPA clean statement is not a genuine statement
Everything above catches careless editing. Someone who recalculates every balance after changing a figure produces a document where the arithmetic is perfect, and no amount of checking the chain will reveal it.

So treat a passing check for what it is: the statement is internally consistent, and the common edits did not happen. It is not confirmation that the document came from the bank. Where the amount at stake justifies it, nothing replaces getting the statement from the source — account aggregator consent, net-banking access, or a direct confirmation from the branch.

Being precise about this matters. A verification step that gets described as “proof” ends up relied on by exactly the people who can least afford it to be wrong.

Checking one in thirty seconds

Doing the arithmetic by hand is fine for a spot check and impractical for a 250-row statement. Our bank statement checker does every link at once: drop the PDF in and it reports how many balance links add up, and names the rows that do not, with the amount each one is off by.

It needs no account, and nothing is stored — the file exists only for the length of the request. If you then want the transactions themselves as Excel, CSV or Tally XML, that is what the converter is for.

PRACTICE HERE

Check a statement now

Every balance link tested in seconds. No account, nothing stored.

Open the checker
KEEP READING