Most explanations of invoice OCR are written for large accounts payable departments with purchase orders, ERP systems and a team that does nothing but process supplier invoices. A small business on QuickBooks Online or Xero has a different question. A supplier emails a PDF on Tuesday. What has to happen for that PDF to become a correct bill in the books, and what should a person still look at?
This guide answers that question in plain terms, for QuickBooks Online and Xero side by side. See the 90 second demo if you would rather watch it happen first.
Table of contents
- What invoice OCR is: a definition, and how reading a page differs from posting a bill
- How it works: the five stages from a supplier's email to a bill or a hold
- Field mapping: every field, side by side on a QuickBooks Online bill and a Xero bill
- Template OCR vs AI extraction: what each one costs you when a new supplier appears
- Bills vs receipts: why a receipt is matched before anything new is created
- What gets held: the checks that stop a document and the reason behind each
- Small business vs firm: one set of books, or many clients from one queue
- Accuracy: the published numbers from our own test, and what they leave out
- Scans and photos: what happens to a page with no text layer
- Line items: why each line gets its own account
- Email capture: reading invoices where they actually arrive
- Low confidence: what a careful system does with a doubtful field
- OCR vs AP automation: where reading stops and paying starts
- Is it worth it: a simple test based on where your month goes
Skim for the section you need, or read it through once.
What is invoice OCR?
Invoice OCR is software that reads a supplier invoice, whether a PDF, a scan or a phone photo, and turns what is printed on it into structured fields: the vendor, invoice number, dates, line items, tax and total. Invoice OCR automation then checks those fields and creates the bill in your accounting system.
Reading the page is the first half. Posting a correct bill is the half that saves time.
OCR stands for optical character recognition, which on its own only turns an image of text into text. What people want from invoice OCR is more: the number in the bottom corner understood as the total, the date under the logo understood as the invoice date, and "Net 30" turned into a real due date.
The second half is where small businesses feel the difference. Extracted fields in a spreadsheet still have to reach QuickBooks Online or Xero, matched to a vendor and coded to an account. Invoice OCR automation closes that loop: it finds the vendor already in your file, puts each line on an account, attaches the PDF and creates the bill. A person reviews only the documents the checks stop.
Comparing products rather than learning the mechanics? Our roundup of invoice OCR software groups the tools by job, and what invoice automation is covers the wider category.
How does invoice OCR work?
An invoice passes through five stages. It arrives, usually as an email attachment. It is sorted into invoice, receipt, credit memo, statement or noise. Its fields are read. Those fields are checked against each other and against your books. Then it is either posted as a bill in QuickBooks Online or Xero, or held for a person with the reason shown.
Each stage can fail on its own, which is why it helps to know all five.
1. It arrives. Most supplier invoices come by email, so the first question to ask any product is where it picks documents up.
2. It is sorted. An inbox holds bills, receipts, credit memos, vendor statements, quotes and newsletters. Each needs a different record, or none, so the type is decided before anything is created.
3. Its fields are read. Vendor, invoice number, dates, each line, tax and total. Terms such as "Net 30" plus the invoice date become a dated due date.
4. It is checked. Does the subtotal plus tax equal the total? Was this bill processed already? Is it addressed to your company? Is the vendor one you already pay?
5. It posts or it waits. A bill that passes becomes a bill in your ledger with the PDF attached. One that fails waits on a review screen with its reason.
Where does each invoice field land in QuickBooks Online and Xero?
The same fields land in almost the same places. The vendor becomes the QuickBooks vendor or the Xero contact, the invoice number becomes the bill number or reference, the dates become the bill date and due date, and each line goes to an account from your chart of accounts. The main difference is status: a QuickBooks bill posts open, while a Xero bill is created as a draft.
The table below shows each field side by side.
| On the invoice | QuickBooks Online bill | Xero bill |
|---|---|---|
| Supplier name | Vendor, matched to one already in your file | Contact, matched to one already in your organisation |
| Invoice number | Bill no. | Reference |
| Invoice date | Bill date | Date |
| Terms or due date | Due date, worked out from the written terms and the invoice date | Due date, worked out the same way |
| Line descriptions and amounts | Category lines, each on an account from your chart of accounts | Line items, each on an account from your chart of accounts |
| Tax | Carried on the bill so its total matches the invoice | Carried on the bill so its total matches the invoice |
| Total | Bill total | Total |
| The PDF | Attached to the bill | Attached to the bill |
| Status once created | Open in accounts payable, since a QuickBooks bill has no draft state | Draft in Bills to pay, waiting for your approval |
| Project | Can be tagged on the bill (QuickBooks only) | Not available, since project tagging is QuickBooks only |
Two rows deserve a note. The vendor row keeps books clean over time: "Bramblewick Lumber" and "Bramblewick Lumber Supply Co." should land on the one vendor you already have. The status row is a real difference between the ledgers. In QuickBooks Online the bill is live in accounts payable as soon as it posts. In Xero it stays a draft until someone approves it, which gives Xero users a natural second look. The walkthroughs for QuickBooks Online and Xero show each record as it appears in the ledger. Book a demo on your own invoices to see the mapping against your own chart of accounts.
Template OCR vs AI extraction: what changes for a small business
Template OCR finds each field by its position on a known layout. AI extraction reads the page for meaning, as a person would. The difference shows up when a new supplier sends its first invoice, or an old one changes its design.
With templates, someone draws the layout once per supplier: invoice number top right, total at the foot of the right column. On those suppliers it is fast and consistent. The cost arrives later. A business adding suppliers every month, or a firm with many clients, spends time maintaining layouts, and a supplier that switches billing software can break its template with no error message. The field still fills in, with the wrong number.
AI extraction needs no layout per supplier, so a new supplier's invoice is read the first time it arrives. It copes with terms written in words, a total labelled "Balance due" on one invoice and "Amount payable" on the next, and tax per line or once at the bottom. The tradeoff is that its output is a judgement, so the checks after extraction matter more. DocStreamAI uses AI extraction and pairs it with the checks described below. Our guide to automated document processing explains the OCR, IDP and AI layers in more depth.
Is a receipt read the same way as an invoice?
A receipt is read much like an invoice, but it is handled differently because the money has already left. DocStreamAI reads the merchant, date, total, tax and card last four, then looks for a transaction already in your QuickBooks Online or Xero books. An exact match on merchant, amount and date gets the receipt attached. Anything else follows your setting.
That is why sorting the document comes before reading it.
A receipt records money already spent, usually on a card, and that payment is often already in your books. A new expense would count it twice, so the receipt is matched first. When nothing matches, a per-provider setting decides. On Manual, where every connection starts, the receipt waits and you create the record yourself. On Hybrid, the expense is created when the merchant is already in your books and the paying account can be worked out. On Automatic, it is created as soon as nothing matches. The record is an Expense in QuickBooks Online and Spend Money in Xero, with a line per item and the receipt attached.
Credit memos become a vendor credit in QuickBooks Online or a draft credit note in Xero. For the full picture, see bill vs expense in QuickBooks Online and Xero.
What gets held for review, and why?
DocStreamAI holds a document for a person when it is a duplicate of a bill already processed, when an invoice has no due date, when the subtotal plus tax does not equal the total, when the company name on it is not yours, or when the account it was coded to came back low confidence. Depending on your setting, a new vendor or unknown sender is held too.
Each check catches a specific, common mistake.
Duplicates. Suppliers resend invoices and colleagues forward the same email. A bill matching one already processed is held even on Automatic. Our guide to duplicate invoices covers how they get in.
No due date. An invoice with no due date and no terms is usually a quote or a purchase order. Posting it would put money in accounts payable that you do not owe yet.
Totals that do not add up. Either a field was misread or the invoice itself is wrong. Both deserve a look.
Not your company. Invoices addressed to someone else reach shared inboxes too.
Low confidence coding. When the account chosen for a line is a guess, a person picks it.
On top of these, the submission setting decides what goes through alone. Manual holds everything. Hybrid, recommended for most, posts only when both the sender and the vendor are recognised. The checks above run in every setting, on QuickBooks Online and Xero alike.
Invoice OCR for a small business vs a bookkeeping firm
A single business needs one thing: its own invoices read and posted to its own QuickBooks Online or Xero file. A bookkeeping firm needs the same thing for every client, kept apart, with one place to see what is waiting.
For a business owner the setup is short. Connect Gmail or Outlook, or forward supplier mail to your intake address. Connect QuickBooks Online or Xero, which brings in your vendor list. Start on Manual, review the first batch, then move to Hybrid once regular suppliers go through cleanly.
A firm chooses the accountant option at sign-up, which builds a multi-client workspace. Each client gets its own workspace with separate documents, integrations, settings and intake address, which the business owner claims. The firm sees new, in review and approved counts for every client in one feed, and opens a client's workspace to review and submit. Whether documents post automatically or wait is chosen per client, so a careful client and a high-volume one can run differently. The firm setup walkthrough shows each screen. To put a number on the hours either way, estimate your own time saved.
How accurate is invoice OCR?
In our own published test, DocStreamAI read 98.3% of fields correctly: 6,584 of 6,695 fields across the 515 documents scored field by field. 95.9% of those documents had every key field right, and 98.6% of records were classified correctly. The test emailed 558 documents to five client companies of one firm account and was scored on October 2, 2026.
Those are the only accuracy numbers we quote, and the full method is public.
The test was built to be hard: scans, phone photos, faxes, credits with the minus sign in the wrong place, and eighteen kinds of deliberate trap. In it, 25 of 25 vendor statements were kept out of the books. The "every key field right" figure leaves out line descriptions, quantities and unit prices, as the report says. The eight records it got wrong are published one by one on the misses page.
Two limits are worth stating plainly. The test posted to QuickBooks companies. Reading works the same for both ledgers, but there is no published Xero run yet, so the posting results describe QuickBooks only. And field accuracy alone is a weak way to judge any tool: what matters is whether the wrong fields are held or posted. The full accuracy report shows both.
Can invoice OCR read scanned or photographed invoices?
Yes. A scan, fax or phone photo saved as a PDF is a picture of a page with no text layer, so every character is read from the image itself before any field on it can be found. In our published test, 216 scanned PDFs scored 98.3% of fields read correctly, level with text PDFs, and 95.2% of them had every key field right, against 96.4% for text PDFs.
Image quality is still the variable you control most.
The scans in that test were deliberately rough: speckle and skew, photos taken at an angle, faxes, and photocopies with a dark band down one edge. Habits still help. Photograph a paper invoice flat, in good light, with all four corners in frame, and save a multi-page scan as one PDF in page order. Fully handwritten invoices were not part of the test, so expect those to be reviewed.
Does invoice OCR read line items, or only the total?
Good invoice OCR reads each line: its description, quantity, unit price and amount. That matters because a single invoice often covers different kinds of cost. A supplier bill with lumber, a delivery fee and equipment rental should put each line on its own account, so your profit and loss shows where the money went instead of one lump in one category.
Lines are also where most reading errors live.
DocStreamAI codes each line to an account from your chart of accounts, in QuickBooks Online and Xero alike. Categorization can run per document or line by line, and per-vendor settings can pre-assign a default category for suppliers that always bill the same thing.
Can invoice OCR pull invoices straight from email?
It can if the tool watches the inbox. DocStreamAI monitors connected Gmail and Outlook inboxes and also gives each organization its own forwarding address, so supplier invoices are picked up where they already arrive. Each attachment is sorted on its own, and an email with no invoice in it, such as a newsletter or a payment reminder, creates nothing.
Capture is where most of the time actually goes.
Finding, downloading and filing attachments takes longer each month than reading six fields off them, and a tool that starts at an upload screen leaves that part with you. One email can also carry a receipt and an invoice together, and each needs its own record. Watch how inbox capture works in the short demo.
What happens when invoice OCR is unsure about a field?
A careful system holds the document and shows you why, instead of posting a guess. In DocStreamAI a document waits on the review screen when a check fails or the account coding came back low confidence. You correct the field, confirm it, and it posts. A held bill does not reach QuickBooks Online or Xero until a person has looked at the doubtful part.
The cost of a held document is seconds. The cost of a wrong posted one is a search at month end.
Over time the queue should shrink. As regular suppliers become known vendors, Hybrid lets them through, and what remains is the genuinely unusual mail.
Is invoice OCR the same as accounts payable automation?
No. Invoice OCR is one part of accounts payable automation. It covers getting the invoice read and recorded as a bill. Accounts payable automation also covers approving bills, scheduling and making payments, and sometimes matching against purchase orders. A small business can automate the reading and recording step and keep paying bills the way it does today.
Most small businesses start with the reading step because it is the most repetitive one.
DocStreamAI covers capture, reading and recording, and bills are paid however you pay them today. Our guide to the accounts payable process walks through the full cycle.
Is invoice OCR worth it for a small business?
It usually is once supplier invoices arrive every week and someone spends real time each month finding them, filing them and recording them. The test is simple: count the supplier invoices and receipts in a typical month and the hours spent getting them into the books, including the searching at month end. If those hours matter, it is worth a trial on your own invoices.
A small volume with one supplier rarely needs it.
The value shows up at month end, which no longer starts with a search through the inbox. Start with one inbox and one ledger, review the first batch, and widen the automation once the results earn it.

