Typing invoices into an accounting system is dull, slow work, and it is exactly the kind of work people assume AI has already solved. It mostly has. Modern models can read a scanned or photographed invoice and pull out the supplier, date, invoice number, line items, tax and total with good accuracy. But “mostly” is a dangerous word when the output is money. This article explains where AI invoice reading is dependable, where it slips, and how to set it up so the slips are caught before they reach your books.
What it does well
AI invoice reading is strongest on the parts of an invoice that follow a pattern.
- Header fields. Supplier name, invoice number, invoice date, due date and your purchase order number are usually read correctly, even when every supplier lays out the page differently. This is the big change from older template-based scanning, which needed a separate template for each supplier.
- Totals and tax. The grand total, subtotal and tax amounts are normally printed clearly and labelled, so they come out well.
- Clean digital PDFs. An invoice generated by accounting software and sent as a PDF is the easy case. The text is already there; the model only has to understand it.
- Mixed layouts. It copes with invoices where the line items sit in a table, a list or loose text, which is common with small local suppliers who make invoices in a word processor.
For a business that receives a steady stream of digital invoices from regular suppliers, this alone can remove most of the typing.
Where it slips
The errors are predictable, which is useful, because predictable errors can be checked for.
- Poor photos. A phone picture of a crumpled bill taken at an angle under a tube light is still hard. Faded thermal paper receipts are harder.
- Handwriting. Handwritten invoice books, still common with smaller suppliers and transport providers, are read unevenly. Numbers like 1 and 7, or 5 and 6, get confused.
- Line items that wrap. When a product description runs onto two lines, the model sometimes splits it into two items or attaches the quantity to the wrong row.
- Number formats. Commas and decimal points, “Rs.”, “LKR” and “/=” all appear on local invoices. A misread separator can turn 12,500.00 into 1,250,000.
- Confident filling of gaps. If a field is missing, a model may supply a plausible value rather than leave it blank. A missing invoice number can come back as something that looks like one.
The last one matters most. A blank field is harmless because someone notices it. A made-up field looks normal and passes straight through.
The checks that make it safe
You do not fix these problems by hoping for a better model. You fix them with arithmetic and rules that run after the reading.
- Sum the lines. Quantity times unit price for every line should equal the line total, and the line totals plus tax should equal the grand total. If they do not, the invoice goes to a person. This single check catches many reading errors.
- Compare with what you expected. If you raised a purchase order, the invoice should match it in supplier, items and roughly in amount. If you know a supplier’s usual range, an invoice ten times larger than normal should be flagged.
- Check for duplicates. Same supplier, same invoice number, or same amount on the same date: flag it. Paying the same invoice twice is a common and avoidable loss.
- Require “not found” over guesses. Instruct the agent to return an empty value when it cannot see a field, and treat any empty required field as a reason for human review.
- Keep the image next to the data. Whoever reviews should see the original invoice beside the extracted fields, so checking takes seconds.
With these checks, the question changes from “is the AI accurate?” to “how many invoices need a human look?” That is a question you can measure every week.
A worked example of the time involved
Say an accounts clerk enters 400 invoices a month and each takes about four minutes to type and check. That is roughly 27 hours a month. If the agent reads every invoice and the checks send one in four to a person, the clerk now reviews 100 invoices properly and glances over the other 300 for perhaps thirty seconds each. The typing disappears; the judgement stays. The exact figures will differ for you, and in the first months the review share will be higher while you tune the rules.
What it should never do
Reading an invoice is not approving it. The agent should extract, check and flag. It should not mark an invoice as approved, change a supplier’s bank details, or schedule a payment. Any change to where money goes, especially a supplier suddenly sending “new bank details”, must be confirmed by a person through a separate channel such as a phone call to a known number.
It is also not worth setting up if you handle a few dozen invoices a month. At that volume, careful manual entry is cheaper than building and maintaining the checks. The value appears when volume is high or when invoices arrive from many suppliers in many formats.
A sensible first step is to collect fifty real invoices from the last quarter, including the ugly ones, and test any tool against them before you commit. Count how many pass the arithmetic check untouched. That number tells you more than any demonstration.