Invoice and receipt data extraction

Invoices, purchase orders, vendor bills, receipts and expense claims, read into fields you can total and reconcile.

Statements tell you money moved. Invoices and receipts tell you why. Karchu reads both sides of that story, so a payment in the bank can sit next to the invoice it settles and the receipt that proves what was bought.

What Karchu reads

DocumentFields captured
Sales invoice issuedCustomer, invoice number, issue date, due date, tax amount and rate, currency, total
Purchase invoice receivedSupplier, invoice number, dates, tax, order reference, total
Purchase orderSupplier, order reference, expected date, committed amount
Vendor billSupplier, bill reference, due date, amount
ReceiptMerchant, date, tax where printed, payment method, total
Expense claimClaimant, dates, per line amounts, total
Invoice register exportOne row per invoice, using the same field mapping

File types

PDF, including scanned PDF, plus JPG, PNG, HEIC and WEBP photographs, and CSV, TSV, XLS, XLSX or ODS register exports. Digital PDFs are read from their text layer, which is exact. Scans and photographs go through OCR, which is very good and not perfect, so every extracted field carries a confidence indication.

Where extraction gets hard

  • Layout variety. No two invoice templates put the total in the same place, and plenty put two totals on the page.
  • Tax presentation. Some invoices show tax per line, some once at the bottom, some inclusive with no separate figure at all.
  • Multiple references. An invoice number, an order number, a delivery note number and a customer account number can all appear together.
  • Thermal receipts. Faded print, curled paper and shadows cost accuracy, and there is no software cure for a receipt that has genuinely faded away.
  • Credit notes. A negative invoice is not a payment, and treating it as one distorts both totals.

Karchu's approach to all of these is the same: read what is printed, mark anything derived as derived, and show low confidence rather than hiding it. The methodology page explains how accuracy is measured.

Practical workflow

  1. Upload the month's invoices, bills and receipts, individually or as a ZIP.
  2. Review anything flagged as low confidence, and correct fields inline where the document is hard to read.
  3. Upload the bank or processor statement for the same period.
  4. Match payments to invoices using amount, date and reference.
  5. Export the result, or read the totals in pay in and pay out.

Related pages

Frequently asked questions

What fields come out of an invoice?
Counterparty, invoice number, issue date, due date, tax amount and tax rate where printed, currency, and the total. Order references are kept when the invoice quotes a purchase order.
Does it work on a photographed receipt?
Yes, through OCR, and quality follows the photo. A flat, well lit receipt reads reliably. A creased thermal receipt photographed at an angle in poor light will produce lower confidence, and Karchu says so rather than presenting a guess as a fact.
Can I upload a register export instead of individual invoices?
Yes. An invoice register exported from accounting software or a spreadsheet is read as a table, one row per invoice, using the same field mapping.
Are purchase orders and vendor bills supported?
Yes. Purchase orders and bills are read for supplier, order reference, amount and expected date, so committed spend can be seen next to what has actually been paid.
Is tax separated from the total?
When the document states a tax amount or a tax rate, it is kept as its own field. When it does not, Karchu leaves the field empty rather than back calculating a figure that might be wrong.
Which plan is this part of?
The Business plan.