Document reading
Read every line
and show its source
Every line of every invoice is read, from a clean PDF or a scan, and checked against the printed total.
What it reads
Header, lines, and the shape of the table
Every header field
Invoice number, dates, due date, vendor, totals, subtotal, tax, credits, balance due, PO number, payment terms, bill-from and bill-to, job or site segment — and a prepaid “do not pay” detection.
Every line, with its box
Description, quantity, unit price, amount, SKU, unit of measure, dates, project, hours, per-line account signal, page number and bounding box — so the UI can highlight the value on the PDF.
Who it is from
The vendor is identified by a fingerprint of the first page’s text and its column headers. A vendor with a profile takes a tuned prompt and column map automatically next time.
Self-healing
It knows how many rows there should be
Table detection gives a ground-truth row count before extraction starts. A gap-fill pass recovers rows the count says are missing, mangled PO numbers are repaired against the invoice’s own printed text, and missing dates are recovered from raw text.
- Verification pass with an automatic correction-and-retry loop
- Every read reconciled against the printed total
- Anything that fails is flagged for a human, with the reason recorded
- VendorAcme Utilitiesfingerprint
- Invoice #INV-1001p.1
- Line 2East site · 980.50p.1 · box
- Total2,956.25printed
Vendor profiles
The second invoice from a vendor is easier than the first
A profile holds a tuned extraction prompt, a column map, the required fields and examples. Once a vendor has one, the same vendor’s next invoice takes the high-accuracy path without anyone doing anything.
- Learned by fingerprint: vendor name plus column-header signature
- Statements, credits, receipts and prepayments recognised and routed, not coded by mistake
- Scans and photographs inside a PDF are read by OCR and vision
Reading,
answered
Send it inside a PDF. Upload takes a PDF; a scanned or photographed page inside that PDF is read by OCR and vision. Emailed attachments accept a configurable extension list.
The composed total has to equal the printed total or the document is flagged rather than posted. The verification pass and the row-count check catch most misreads before that; the golden rule catches the rest.
Gemini and OpenAI clients, behind one extraction interface. Models read the document; they never make the accounting decision at posting time.
See your own invoices read
Bring the ugliest scan you have. We will show you every value, where it came from, and whether it reconciles.