BillToCSV
  1. Drop bills PDF or photo, one bill per file
  2. Check totals Every line and sum proven
  3. Download for QuickBooks or Xero Import-ready CSV

Supplier invoice OCR: what to check before you trust the numbers

OCR turns an invoice image into data, and it can misread digits, decimal points, separators, signs and currency. Before you trust the result, check six things against the paper: the total, each line's quantity × price, the lines against the subtotal, the separators, the currency and dates, and the identifiers. Misread amounts usually break a sum; misread identifiers do not.

  • By BillToCSV
  • 6 min read

General information for bookkeepers, not accounting, tax or legal advice. Rules and software screens differ by country and change over time.

Why OCR output needs checking

OCR does not understand an invoice. It recognises shapes, and some shapes look alike. A faded 3 can pass for an 8, a creased 1 for a 7, and a missing dot turns 15.00 into 1500.

Errors cluster where print is small or faded, where numbers sit in dense tables, where a photo is skewed, and where a page break splits a table. A clean digital PDF generally reads better than a photo of a printout, but neither earns blind trust.

What OCR gets wrong, and the check

Common OCR misreads on supplier invoices and the check for each
Where it goes wrongWhat it looks likeThe check
Look-alike digits 3 and 8, 1 and 7, 5 and 6, 0 and the letter O.Re-multiply and re-add. A changed digit usually breaks a sum.
Decimal points 15.00 read as 1500, or 1.5 read as 15.Compare each line's size with its unit price.
Separators 1.234,56 read as 1.23456, or 1,234 read as 1.234.Check which number style the supplier's country uses.
Signs and credits (45.00), 45.00- or CR read as positive.Check the sign on every credit and discount.
Columns Quantity and unit price swapped, or merged cells.Quantity × unit price must equal the line amount.
Currency A bare $ read as USD when it is CAD or AUD.Look for a code, the supplier's country or tax wording.
Dates 03/04/2026 read as March 4 instead of April 3.Check the supplier's country and any date above 12 on the page.
Pages A line lost at a page break, or a page subtotal read as the total.Count the lines against the paper and use the last page's total.

A routine for every OCR-read invoice

  1. Compare the total

    Read the invoice total on the image, not on the extracted data, and compare it digit by digit.

  2. Spot-check the multiplication

    Quantity × unit price must give the line amount. With few lines, check them all.

  3. Add the lines

    They must equal the subtotal, and the subtotal plus tax and charges must equal the total.

  4. Look at decimals and separators

    Scan the amounts for any that look an order of magnitude off.

  5. Confirm currency and dates

    Look for an ISO code such as CAD. Read each date as a day, a month name and a year.

  6. Check the identifiers

    The invoice number, PO number and supplier name sit outside every sum, so no arithmetic protects them.

A worked example

An invoice has three lines: 10 × 14.50 = 145.00, 4 × 36.00 = 144.00 and 1 × 85.00 = 85.00. The subtotal is 374.00, tax at 8% is 29.92 and the total is 403.92. Here are four misreads, and what catches each.

  • 36.00 read as 38.00. Four times 38.00 is 152.00, not the printed 144.00. The line check fails by 8.00.
  • 85.00 read as 65.00. The lines now add to 354.00 against a subtotal of 374.00. The subtotal check fails by 20.00.
  • 403.92 read as 408.92. Subtotal plus tax is 403.92, not 408.92. The total check fails by 5.00.
  • INV-3871 read as INV-3671. No sum involves the invoice number, so every check passes. Only the paper shows it.

Three slips announce themselves and the fourth does not. That is why the routine ends with the identifiers.

What goes wrong

A misread that still adds up

If the same wrong digit appears in a line and in the sum built from it, the totals still agree. Every arithmetic check shares this gap.

Two errors that cancel

One line over by 10.00 and another under by 10.00 leave the subtotal intact.

Poor images

Skewed photos, glare, faded thermal paper, stamps over figures and handwriting. Rescan before you correct anything.

More than one invoice in a file

A PDF holding several invoices is read as one document. Split it first.

Trusting a tidy table

A neat layout feels reliable, but layout quality says nothing about digit accuracy.

Fixing by guesswork

Overwriting a doubtful figure with a guess adds a new error. Rescan, or ask the supplier for a clean copy.

How BillToCSV helps

BillToCSV runs three arithmetic checks on every bill it reads from a PDF or photo: quantity × unit price per line, lines against the subtotal, and subtotal plus tax and charges against the total. Rows that do not tie turn amber with the numbers shown, and a bill that does not tie starts unticked. It reads both 1,234.56 and 1.234,56, flags dates that could be read two ways, and takes the currency from a code or symbol on the bill. It cannot catch a misread that still adds up, so look at the paper for anything that matters. Free: 1 file per day, up to 10 pages, no account. Files over 10 pages are converted up to page 10 on the free allowance; a page code converts the whole file, up to 150 pages. See pricing.

Questions people ask

How accurate is OCR on supplier invoices?

It varies with image quality, layout and font, and no honest figure fits every invoice. Clean digital PDFs generally read better than photos or faded scans. Plan to check totals on all of them.

What is the difference between a text PDF and a scanned PDF?

A text PDF carries the characters, so they can be extracted exactly. A scanned PDF is a picture of a page and needs OCR, which can misread. If you can select and search the text, it is probably a text PDF, though some scans carry a hidden text layer from earlier OCR.

Can OCR read handwriting?

Not reliably. Handwritten corrections, tips and signatures should be confirmed with the supplier or entered by hand.

Why is the currency sometimes wrong?

A $ sign is used by several currencies, including US, Canadian, Australian and New Zealand dollars. Without a code or other clue, software has to guess. Check the supplier's country and any tax wording such as GST or HST.

Which fields can arithmetic not protect?

Anything outside the sums: invoice number, supplier name, dates, PO number and bank details. Check those against the image or your records.

Should I fix a bad read in the data or rescan?

If the image is poor, rescan or ask the supplier for a clean PDF. If the image is clear and one value is wrong, correct it and run the checks again.