FastBankConvertFastBankConvert home

Zonal OCR: Reading Fixed Boxes on the Same Form

By FastBankConvertPublished October 17, 2026

Zonal OCR reads text only inside boxes you mark on a template, such as "invoice number, top right" or "total, bottom line". It works well when every document has the same layout, because each value always sits in the same place. It breaks on bank statements, where the number of transaction rows changes every month.

How zonal OCR reads a box on a fixed form

Zonal OCR reads a box by cropping the page to a set rectangle and recognising only the text inside it. The rectangle, called a zone, is defined once on a template by its position and size. Every new document of that type is laid over the template, and each zone's text goes into a named field.

A zone is usually stored as four numbers: how far it starts from the left edge, how far from the top, its width and its height. Some tools measure in points, some in pixels, some as a share of the page. The field name, such as "Account number", is attached to the zone.

What the template holds

A typical template contains:

  • Zones, one per field, each with coordinates and a name.
  • A field type, such as date, amount or text, so the tool can reject a value that does not fit.
  • Anchors, optional fixed marks such as a logo or a printed label, used to line up a slightly shifted page.
  • Rules, such as "strip the dollar sign" or "read as day/month/year".

Why it is fast and accurate on the right form

Because it reads only small regions, zonal OCR is fast and ignores clutter. A stray handwritten note in the margin does not matter if no zone covers it. The field type also catches errors: a zone expecting a date that returns "O3/I4" can be flagged at once, since letters do not belong there.

Documents that suit zonal OCR templates

Zonal OCR templates suit documents that are printed from one fixed design, where every field is always in the same spot and takes up the same space. Government forms, insurance claim forms, delivery notes from one supplier and survey sheets are classic examples. The more identical the pages, the better zonal reading works.

Good candidates share a few traits:

  • One sender, one design, rarely changed.
  • A fixed number of fields, each in its own box.
  • No lists whose length varies from page to page.
  • Printed, not handwritten, values, or handwriting in clear boxes.

Where it fits for financial papers

Some financial documents fit well. A single-trade confirmation from one broker often prints one trade per page in a fixed layout, which makes zonal reading practical for the trade date, quantity and price. Turning trade confirmation PDFs into one Excel row per trade shows what that sheet should contain. Statement headers, which put the account number and period in the same spot every month, are another good fit.

Before you build any template for someone else's documents, it is worth knowing where the rules sit on handling their financial records. Whether a bank statement converter is legal to use covers that question.

Why do bank statement rows defeat zonal OCR?

Bank statement rows defeat zonal OCR because the transaction list grows and shrinks each month. A zone drawn around "row 7, amount" lands on a real value one month and on blank space, a footer or a different row the next. There is no fixed box for "the twelfth transaction", so a fixed template cannot follow it.

Even if you drew a tall zone around the whole transaction area, zonal OCR would return one block of text. It would not know where each row ends, which number is a debit and which a balance, or which line of a wrapped description belongs to which transaction. Those are table-reading problems, not box-reading ones.

A worked example

The template below is an example, with made-up coordinates measured in points from the top-left corner of a US Letter page. It was built on a March statement.

Zone Left Top Width Height March value
Account number 400 90 150 14 ****4417
Statement period 400 108 150 14 03/01 to 03/31
Row 1 amount 460 260 80 14 45.10
Row 2 amount 460 278 80 14 129.99
Row 3 amount 460 296 80 14 850.00
Closing balance 460 700 80 14 2,368.41

Now apply the same template to April. April's statement has a two-line message box above the transactions, which pushes every row down 36 points. It also has 41 transactions instead of 5, so the closing balance moves to page 2.

Zone April value read What is really there
Account number ****4417 Correct
Statement period 04/01 to 04/30 Correct
Row 1 amount (blank) Part of the message box
Row 2 amount (blank) Part of the message box
Row 3 amount 45.10 April's first amount, not its third
Closing balance 1,204.66 A running balance from row 24, not the closing balance

The header zones still work. Every row zone is wrong, and the closing balance zone confidently returns a real number from the wrong place. That last error is the dangerous kind: it passes a type check, because it is a valid amount.

Template drift and other zonal OCR failures

Template drift is the slow shift between a template and the documents it reads, caused by redesigns, scanning angles and paper size. Zonal OCR depends on positions staying put, so anything that moves the text even a little can push a value half out of its zone. The tool then reads a fragment or nothing.

Common causes:

  • Redesigns. A bank or supplier changes its layout. Every zone may need redrawing.
  • Scan skew. A page fed at a slight angle moves text on one side of the page more than the other.
  • Scale. A page scanned at a different size, or printed "fit to page", shrinks every coordinate.
  • Paper size. A statement printed on A4 in one office and US Letter in another shifts the bottom zones.
  • Longer values. A long company name pushes the next field to a new line.

Defences that help

Anchors help with small shifts. The tool finds a fixed label, such as "Account number:", and measures zones from that label instead of from the page corner. Deskewing straightens a tilted scan first. Field types catch values that are plainly wrong. None of these help when the content itself moves, as transaction rows do.

Testing a template before you trust it

Run any new template on at least five real documents from different months before using it on live work. Include one scan, one printed on different paper and one from after the sender's latest redesign, if you have it. Compare every field by eye against the page. A template that is right on four out of five will be wrong often enough in daily use to cost more time than it saves.

How much any of this matters depends on how accurate the final sheet must be. How accurate PDF to Excel converters really are discusses how to measure error rates across a set of files.

Is zonal OCR the same as full-page OCR?

Zonal OCR is not the same as full-page OCR. Full-page OCR recognises every character on the page and returns all of it, with positions. Zonal OCR recognises only what falls inside chosen boxes. Full-page OCR gives you the raw material; something else must then find the table, the rows and the columns.

That "something else" is table detection. It looks at the positions of recognised words, groups words on the same line into rows, and groups words in the same vertical band into columns. It adapts to however many rows a page has. This is how most bank statement converters work, whether they use rules, models or both.

Zonal OCR Full-page OCR with table detection
Reads Only chosen boxes The whole page
Setup A template per layout Little or none per layout
Variable-length lists Cannot follow them Built for them
Speed Very fast per page Slower, more work per page
Best for Fixed forms Statements, invoices with line items, reports

Mixing zonal OCR for headers with table reading for transactions

A hybrid uses zonal OCR for the fixed header fields and table reading for the transaction list. The account number, period and opening balance usually sit in the same spot every month, so zones read them quickly. The rows below get full table detection, which follows them however many there are.

This split matches how a statement is built. The top of the first page is a form. The rest is a list. Treating each part with the right tool is more reliable than forcing one method onto both.

The balance check ties the halves together

The hybrid has a built-in test. The opening and closing balances come from the header; the transactions come from the table. Opening balance plus credits minus debits should equal the closing balance. If it does not, one half misread something. FastBankConvert, which is getting ready to open, says on its homepage that it reads the layout of each statement rather than relying on a fixed list of banks, and warns you before download if balances do not add up.

When not to build templates at all

If you handle statements from many banks, maintaining templates becomes a job in itself, since every redesign breaks one. In that case a converter that reads layouts without per-bank templates saves hours. If you upload statements to such a tool, read how to judge whether uploading a PDF to an online converter is safe first.

All posts in Choosing a converter