Invoice OCR · data extraction

Invoice OCR and invoice data extraction: every field read, every total checked.

OCR gets the characters off the page. Invoice data extraction is knowing which characters are the supplier’s VAT number, which lines are items, and whether those items add up to the printed total. Pileform reads the header, every line item and the tax breakdown, then recomputes the arithmetic before anything is handed to you.

Invoice OCR gets the characters off the page; invoice data extraction also knows which of them are the supplier, the VAT number and the line items. Pileform transcribes every field as printed, then deterministic code recomputes the lines against the subtotal and total in integer cents. An invoice that does not reconcile is read again or flagged, never forced.

Start free

Why plain OCR is not invoice extraction.

An OCR engine returns text. An invoice needs structure: the supplier rather than the customer, the VAT number with its country prefix, the line items rather than the payment terms, and the rate that applies to each line. Most invoice OCR stops at a header and a total, and when one line is misread the total can still look right while the VAT behind it is wrong. That is where a Cyprus return goes astray, which is why the per-line rate decision has a page of its own on Cyprus VAT software.

Pileform treats reading and calculating as two separate jobs. The reading step transcribes what is printed and never corrects a number. Deterministic code then parses every amount into integer cents and reconciles the lines against the subtotal and the total. If they do not reconcile, the original image is read again from scratch; a page that is still uncertain is re-read at higher resolution, and the new result is kept only if it scores better. Whatever still does not add up is flagged, never forced. The extracted invoice then feeds invoice automation in Cyprus and, once reviewed, posts to Xero or QuickBooks.

How an invoice is extracted.

  1. One document, however many pages

    Every page is rasterised, continuation pages are detected and merged, and the document type is decided: invoice, credit note, proforma, receipt or bank statement, each sent to the pipeline that reads it.

  2. Transcribed as printed

    Supplier, VAT number, address, invoice number, dates, currency and every line item, with descriptions kept in the source language. The transcription copies what is on the page; it does not tidy, round or correct.

  3. Computed, not guessed

    Money becomes integer cents. Line sums are checked against the subtotal, discounts, service charge, tax breakdown and total, and each rate is checked against the tax registry for the supplier’s jurisdiction.

  4. Ready or flagged

    Each invoice carries an extraction confidence and advisory warnings. Inferred fields are tinted yellow and failed reconciliations red, so every row reaches the review queue saying which of the two states it is in.

The fields that come off one invoice.

Structured data per document and per line, with the confidence and the warnings that say how far to trust it.

Supplier
Name, VAT or tax ID with the country prefix preserved, address, and a country inferred from the VAT ID, then the address, then the currency, then the language
Document
Type, invoice number, dates, currency as an ISO code, detected language, and the pricing mode: inclusive, exclusive, no tax, reverse charge or unknown
Totals
Subtotal, discounts, service charge, total tax with a per-rate breakdown, total, amount paid and balance due
Line items
SKU, description in the source language, quantity, unit, unit price, line discount, line tax rate, amount, and suggested debit and credit codes
Where it goes
An Excel workbook with the invoice embedded, CSV, webhooks and API-key access for your own systems, or posting to Xero, QuickBooks, Business Central, BTMS or Esoft after review

Who needs the data, not just the text.

  • Accounting practices

    Supplier invoices from many clients in many layouts, read into one structure, so reviewing them is the same job whichever client sent them.

  • Finance teams with their own systems

    The extracted fields as CSV, pushed by webhook or pulled with an API key, when invoice data feeds something besides a ledger.

  • Businesses with foreign suppliers

    Invoices from 55 jurisdictions in up to eleven languages, each line checked against its own country’s rates rather than forced into a Cyprus one.

Invoice OCR, answered.

It depends on the document, so no single figure is quoted. What is fixed is the output: each row is either ready to post or flagged yellow for review, every amount is computed by code rather than taken as a finished figure, and a page that cannot be read becomes a flagged placeholder instead of disappearing.

Line items. Every line keeps its SKU, description in the original language, quantity, unit, unit price, discount, tax rate and amount, beside the header fields and a per-rate tax breakdown. The lines are what the totals are reconciled against.

Yes. PDF and images (JPG, PNG, TIFF, BMP, WEBP, HEIC, GIF), scanned, photographed or digital, with no preprocessing. A multi-page invoice scanned as separate sheets is merged back into one document.

The original image is read again, and an uncertain page gets a further pass at higher resolution. If the lines still do not reconcile with the printed total, the invoice is flagged red for a person. A figure is never adjusted to make the sum work; a cash-rounding gap goes in its own Adjustment column.

Yes. The Excel workbook is always yours, CSV export is there when nothing is connected, and webhooks and an API key let your own systems receive the extracted data.

Send the invoices plain OCR gets wrong.

A free account comes with 30 free processing pages that do not expire and needs no card. Upload the scans, the multi-page ones and the foreign ones, and read what comes back.

Start free