Why scanned bank statements are hard to convert (and how OCR helps)
A scanned statement has no text in it, only an image. Why that breaks copy-paste, what OCR does, why general OCR isn't enough for statements, and how to scan for better results.
Scanned bank statements are hard to convert because they contain no text, only a picture of a page. Before any number can reach a spreadsheet, software has to recognize every character from its shape (that’s OCR), and then work out which characters form a date, a description, an amount or a balance. Both steps can go wrong in ways that digital PDFs never do.
Digital PDF vs scanned PDF
Both end in .pdf and look the same on screen. Inside, they’re different things.
- A digital PDF, generated by the bank’s systems, contains actual characters with positions and fonts. You can select, search and copy them.
- A scanned PDF contains an image of the paper. The “text” is pixels. Search finds nothing; copy gives you nothing, or the whole page as a picture.
Quick test: try to highlight one word. If you can’t, it’s a scan. Phone photos are in the same category, often with more distortion.
What OCR does
Optical character recognition turns an image of text into characters. In outline:
- Clean up the image: straighten it (deskew), even out lighting, sharpen contrast.
- Find the text: locate blocks, lines and individual characters.
- Recognize characters: decide that a shape is a
5and not a6. - Assemble the result: rebuild words and lines, often using language models of likely words.
The output of general OCR is text with positions. That is a big step forward, but for a bank statement, still not the goal.
Why general OCR isn’t enough for statements
A statement isn’t prose. It’s a table with rules most people never think about:
- Each row is a transaction, but a description can wrap onto a second or third line.
- Money in and money out may be separate columns, and on any row one is blank.
- The date might be printed once for several transactions on the same day.
- Page headers, “balance brought forward” lines and subtotals sit between transactions.
- The running balance must agree with the amounts.
General OCR has no idea about any of that. It produces lines of text, and someone still has to turn lines into rows. Language models also don’t help with numbers: there’s no “likely word” to correct 4,123.95 toward. That is why statement-aware extraction matters. statement.work is tuned for the layouts, fonts and quirks of bank statements, so it outputs transactions rather than text.
The specific ways scans go wrong
Look-alike digits
1 and 7, 3 and 8, 5 and 6, 0 and 8 blur together in soft or low-resolution scans. One wrong digit changes an amount, and nothing about the row looks wrong.
Decimal points and separators
A speck of dust becomes a decimal point; a faint decimal point disappears. 1,850.00 read as 185000 is a large error from a tiny mark.
Skew and curvature
Pages fed at an angle, or copied from a bound folder, curve the lines. Rows drift into each other, and a description can be matched to the wrong amount.
Low contrast
Faded thermal paper, light printing and copies of copies lose contrast, and characters break apart.
Marks on the page
Highlighter, ticks, handwritten notes, stamps and staples overlap the figures.
Minus signs and brackets
Small marks that carry meaning, like a minus sign, brackets or a DR suffix, are easy to lose, which flips money out into money in.
How to scan for better results
You can’t fix a faded statement, but you can avoid adding problems:
- Use a flatbed or sheet-fed scanner where you can, rather than a phone.
- Scan at a resolution suitable for OCR. Around 300 dpi is widely recommended. Much lower blurs small digits; much higher adds file size without helping much.
- Use grayscale or color rather than pure black-and-white, which can break thin characters.
- Keep pages straight and the whole page in frame, including the balance summary.
- Scan every page, in order, one file per statement.
- Remove staples and avoid writing on statements before scanning.
For phone photos, the photo to Excel page has a checklist.
Check every scan conversion
Because OCR errors look plausible, checks matter more for scans than for digital PDFs:
- Opening + money in − money out = closing. If it doesn’t, something is misread or missing.
- Running balance chain. Recompute each row’s balance from the previous one. The first row where it breaks is where to look, and usually it’s a single misread digit.
- Row count. Compare with the statement.
- Spot-check large amounts. The cost of a misread is proportional to the amount.
Should you still bother with paper?
If the bank can provide digital PDF statements for the same period, get those instead, because they’ll always convert more reliably. But plenty of real work involves paper: older records, clients who only kept printouts, documents from closed accounts. For those, scanning carefully and using statement-aware OCR is far faster than retyping, provided you check the totals.
Summary
A scan is an image, so conversion has two hard steps: reading characters and rebuilding the table. General OCR handles the first; statement-aware extraction handles both. Good scans and a balance check do the rest. More on the conversion itself: scanned bank statement OCR.