# Document reading | InvoiceIQ by Analytos

> Text PDFs are parsed structure-first. Scans and photographs are read by OCR and vision. Every value keeps its position on the page, so a reviewer can see…

Canonical URL: https://invoiceiq.analytos.ai/features/document-reading

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.

[Book a walkthrough](https://invoiceiq.analytos.ai/contact)[See how coding works](https://invoiceiq.analytos.ai/features/coding)

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

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.

[Book a walkthrough](https://invoiceiq.analytos.ai/contact)

More of the platform

[Deterministic codingGL, class and department decided by rules your team owns.](https://invoiceiq.analytos.ai/features/coding)

[Rules in plain EnglishWritten in a sentence, backtested on your history before going live.](https://invoiceiq.analytos.ai/features/rules)

[Inbox & postingExactly-once email intake, a shared queue, a log of every posting.](https://invoiceiq.analytos.ai/features/inbox-and-posting)
