xlsRowvert
Guides · 20 September 2026 · 4 min read

Can AI make a fake bank statement? What still gives it away

ChatGPT and image generators have made fake bank statements cheap, and "AI detectors" are not the answer. What a generated statement actually looks like, why the file itself carries no AI signature, and the seven content and file checks that still catch it.

Since 2024 the question landlords, lenders and HR teams ask most is no longer "can this be Photoshopped?" but "could this have been made with AI?" The short answer: yes, easily — and no, you don't need an AI detector to catch it. You need to know what a language model gets wrong when it imitates a bank.

Three ways AI is used, and what each leaves behind

1. Text generated, then laid out. Someone asks a chatbot for "a realistic Chase statement for August with a salary of $5,200" and pastes the result into a Word or Canva template, or an HTML page printed to PDF. This is by far the most common route. The AI produced the content; the file was made by an ordinary editor, and the producer metadata says so.

2. A real PDF, edited. One salary line changed with a PDF editor. AI isn't involved; the running balance and the file's edit history catch it.

3. An image generated or retouched by an image model, then dropped into a PDF or photographed. This is the only case where "AI detection" in the image sense applies — and it is the least reliable place to look. Image detectors score 60–75 % on recompressed or rescanned files in independent tests and produce false positives on ordinary scans, which is worse than no check at all when the outcome is refusing a genuine tenant.

So the useful question is not "was AI involved?" but "does this content behave like a bank produced it?" Language models are trained on prose, not on core-banking output, and the difference shows.

Seven things a generated statement gets wrong

1. Descriptions read like sentences

Banks print what their systems know: WM SUPERCENTER #1234 BENTONVILLE AR POS 08/02, FPO J MARTINEZ RENT AUG, DD THAMES WATER REF 4471892. A model writes Grocery Purchase, Utility Bill Payment, Restaurant Dinner. Title-case, no digits, no references, no truncation. If more than half the lines read like a budgeting app's categories, it was written, not exported.

2. Amounts have no cents

Generated lists are full of $150.00, $45.00, $1,200.00. Real card spending is $43.17 and $128.94. A statement where 80 %+ of amounts are whole numbers was typed by a person or a model.

3. The named bank's vocabulary is missing

Every bank has a dialect. UK statements carry FPO, FPI, DD, SO, BGC, CARD PAYMENT TO … ON 12 AUG. US statements carry ACH, POS, DEBIT CARD, ZELLE, CHECK #. Australian ones EFTPOS, BPAY, OSKO; Canadian ones INTERAC, E-TRANSFER, PREAUTHORIZED. A statement that says "Barclays" at the top and never uses a single Barclays code is a template with a logo.

4. Placeholder identifiers

12345678, 000000000, John Doe, Sample Bank. Prompts and templates circulate with these in them and they are surprisingly often left in.

5. Too smooth

Real accounts have texture: a payee that repeats six times a month, a £2.40 bus fare next to a £950 rent, descriptions from 8 to 60 characters long. Generated lists have one transaction per category, similar lengths, similar magnitudes, evenly spaced dates.

6. Benford's law and the arithmetic

Invented amounts tend to spread their leading digits evenly; real ones start with 1 about 30 % of the time. And models are bad at arithmetic across a long column — the running balance drifts, or the closing balance doesn't equal opening + credits − debits. Both are checked on every Rowvert conversion.

7. The file says Word, Canva or "Skia/PDF"

Whatever wrote the words, something turned them into a PDF. Word, Google Docs, Canva, LibreOffice and the online editors leave their name in the producer field. "Skia/PDF" or "Quartz PDFContext" means printed from a browser or a Mac — how a fake HTML statement becomes a PDF, but also how many people download genuine online-banking statements, so on its own it settles nothing.

What an honest tool should say

Rowvert does not claim to detect AI. Its authenticity score runs the checks above — description style, cents, bank vocabulary, placeholders, statistical texture, Benford, arithmetic — alongside the file forensics (producer, edit history, incremental saves, fonts, annotations), and explains each finding so you can disagree with it. A generated statement typically fails three or four checks at once and scores under 55; a genuine one scores 80+ unless it was re-saved, which the report also explains.

What it will not do is put a percentage on "made by AI". No one can do that reliably from a PDF, and a landlord who refuses a real applicant on the strength of a guessed number has a bigger problem than a fake statement.

When a statement fails

Ask for the original downloaded in front of you, ask for consecutive months (they must chain: month 1's closing = month 2's opening), and corroborate with payslips or a tenancy agreement. Keep the report with the file — "we checked the arithmetic, the content and the metadata and requested an original" is a defensible process, whichever way the decision goes.

Related: Fake bank statement detector · How to spot a fake bank statement — 9 checks · Rowvert for property managers.

Try it on your own statement

Upload a PDF and get a balance-checked Excel file in seconds. 1 page free every day, no account needed.

Convert a statement free