Detect a fake
bank statement

An edited statement reads perfectly. Holofin recomputes every balance, checks the account holder against the rest of the case, and examines the file itself.

✓ Balances recomputed line by line✓ Every signal explained✓ The decision stays yours

Account statement

March · J. MARTIN

… 0189
Balance Mar 11,240.18
Mar 2 Salary+2,486.40
Mar 5 Transfer in+700.00
Mar 9 Rent−1,150.00
Mar 12 Card payments−1,336.40
Mar 15 Direct debits−454.67
Balance Mar 3111,485.51
Recomputed1,485.51
3 signalsReview
The closing balance does not recomputestrong
Different font on the balance linemedium
PDF produced by a consumer editorweak

The problem

Four ways
to fake a statement.

A bank statement is how a lender judges whether someone can repay. That makes it the document most often edited, and each kind of fake is caught a different way.

The edited statement

A real statement with a balance or a salary changed in a PDF editor.

Caught by recomputed balances

The generated statement

Made from scratch with an online generator or an AI model, on a bank's template.

Caught by bank fingerprint

Someone else's statement

Genuine and untouched, but it belongs to a parent or a partner.

Caught by holder vs identity

The cherry-picked statement

Real but old or isolated: the one good month, sent instead of the last three.

Caught by dates and periods

How Holofin checks a statement

Six checks,
strongest first.

They run independently and are never blended into a single score: every alert says which check fired, on which line, with both values compared.

01Strong

The closing balance, recomputed

Opening balance plus credits minus debits must give the closing balance. Change one amount and the equation breaks.

02Strong

Every running balance

Each running balance must follow from the one before, dates must run in order, and no transaction may appear twice.

03Strong

The holder and the account

The account holder is the person on the identity document, and where the account has an IBAN, its mod-97 check digits pass and it matches the bank shown.

04Strong

The rest of the case

The salary credited matches the payslips, the employer paying it is the one on the contract, the address matches the proof of address.

05Medium

The bank's fingerprint

A bank produces its statements the same way every time: software, fonts, layout. A statement that departs from it is a signal, even when its numbers add up.

06

The file itself

Metadata, revisions, text laid over text. It shows where to look, but never rejects a case on its own: a re-exported statement loses its metadata too.

Without a tool

Check a bank statement
by hand, in three steps.

  1. 1

    Redo the arithmetic

    Start from the opening balance, add the credits, subtract the debits: you must land on the closing balance. Recompute two or three running balances along the way too.

    Tip: edits most often target the closing balance and the salary credit.

  2. 2

    Check the holder and the account

    The name must be the one on the identity document. The account number must be the same on every statement in the case, and an IBAN's check digits can be verified with any free IBAN validator.

    Tip: compare the salary credited with the net pay on the payslips for the same months.

  3. 3

    Open the PDF properties

    In your PDF reader, open the document properties. A consumer editor listed as the producer, or a modification date later than the creation date, deserves a question.

    Careful: a scanned or re-exported statement loses this information without being fake.

The limit: by hand, you can check one statement. Not a hundred a day, not every bank's fingerprint, and not its consistency with the rest of the case.

Automate these checks

Use cases

Wherever a statement
drives a decision.

Consumer lending

Income, outgoings and affordability read from statements you know hold up.

Business lending

SME loans, equipment finance, factoring: declared cash flow against the statements received.

Insurance

Underwriting and claims: the statement offered as proof of payment or income.

KYC and AML

Source of funds and profile consistency, with a trace of every check.

By API, upload portal or SFTP

Send the statement or the whole case; get back the extracted data and the signals, with the page and line of every value. Checked at upload, a doubtful statement can be requested again before the case is opened.

Bank statement extraction API

FAQ

Fake bank statements

Recompute it. Opening balance plus credits minus debits must give the closing balance, and every running balance must follow from the one before. Then check that the account holder is the applicant, that the account matches the rest of the case, and that the statement was produced the way that bank produces its statements. A fraudster who edits one amount has to make all of that agree, and that is rarely done.
Often, but not from the file alone. Editing tools leave traces: a producer that is not the bank's software, a modification date after the creation date, a font on one line that is used nowhere else, text laid over text. Those traces open an enquiry. A re-export or a scan erases them in good faith too, so Holofin never treats them as proof on their own: the recomputed balances and the rest of the case confirm or clear it.
A generated statement can be arithmetically correct, so the balance checks alone will not always catch it. What it rarely gets right is the bank's production fingerprint, and it still has to agree with the payslips, the employment contract and the identity document in the same case. A fabricated salary that no payslip supports is a signal whatever tool made the PDF.
The arithmetic and the consistency checks run on the extracted values, so they work on scans and photos as well as on native PDFs. The file analysis has less to go on with a scan, because a scan has no editing history, and Holofin says so instead of guessing.
The balance recomputation and the case consistency checks work on any statement that prints an opening balance, transactions and a closing balance, whatever the bank or the language. The bank fingerprint check needs genuine statements from that bank to compare against; where it has none, it stays silent rather than raise a false alarm.
No. Holofin raises signals, explains each one with the values compared, and ranks them by strength. The thresholds and the decision stay with your team. In the EU, the GDPR restricts decisions based solely on automated processing that have legal effects on a person (article 22), and calling a document forged is a decision for people, not for an engine.
Yes, in most jurisdictions. In the UK, submitting a falsified statement to obtain credit is fraud by false representation under the Fraud Act 2006. In the US, a false statement on a loan application to a federally insured lender falls under 18 U.S.C. 1014. That is why the signals Holofin returns are evidence for your team to review, with each value traced to its page and line.
Where the applicant can connect their account, data read directly from the bank removes the document and the forgery risk with it. Statements remain for applicants who cannot or will not connect, for accounts the aggregator does not reach, and for files that arrive by email or upload. Those are the statements worth checking.

Test Holofin on your statements

Send us real statements, including the fakes you have already caught. We return the signals statement by statement, and tell you what we missed.

✓ GDPR compliant✓ Hosted in Europe✓ Every signal explained
Holofin