Reading an invoice that was never meant to be read by a machine
A PDF invoice contains no field names. It contains glyphs at coordinates. Everything you see — that INV-2026-00418 is the invoice number, that 1488.69 is the amount due — is something you infer from where the words sit relative to their labels. This tool does the same inference, and it shows its work.
What it looks for
- Vendor — the largest, topmost block on page one that is not the document type word and not a labelled field.
- Invoice number, invoice date, due date, PO number — found by label. The label vocabulary covers English, German, French, Spanish, Portuguese, Russian, Chinese, Japanese and Arabic, so a Rechnungsnummer or a Fecha de vencimiento is recognised as readily as an Invoice No.
- Tax identifier — EU VAT shapes (
DE123456789,FR12345678901,IT12345678901) plus labelled GST, ABN, EIN, NIF and CNPJ forms. - IBAN — matched by shape and then checked with the ISO 13616 mod-97 checksum. A number that passes the checksum is reported with high confidence; one that fails is still shown, flagged, because a typo in a bank account is worth seeing.
- Subtotal, tax and total — the label is located and the last money-shaped token on that line is taken, so
VAT 19% 237.69yields 237.69 rather than 19. - Line items — every table on the page is scored against description / quantity / unit price / amount synonyms, and the best match wins. The summary rows at the foot of the table are separated out, because they are totals, not items.
Dates are not always knowable
2026-03-14 and March 14, 2026 are unambiguous. 03/04/2026 is not — it is 3 April in most of the world and 4 March in the United States. Rather than pick one and pretend, the tool reports the date as written and marks it ambiguous.
Everything is editable
Pattern matching is never perfect and you know your own invoices. Every field is an input you can correct, and clicking one highlights exactly where on the page the value came from, so you can check it against the original in one glance. Line-item rows can be edited or deleted before export.
Export as JSON, for a bookkeeping import, or as CSV.
What this is not
It is not a reader for structured e-invoicing formats such as ZUGFeRD/Factur-X, UBL or XRechnung. Those carry a real machine-readable payload and deserve a real parser. This is for the ordinary PDF invoice that carries nothing but ink.
Privacy
Invoices are commercially sensitive, so nothing is uploaded: the file is opened, read and exported entirely inside your browser, with no network requests during processing.
Tiny Online Tools







