Invoice OCR that checks its own arithmetic
Drop a PDF or a scanned invoice and get it as data: supplier, customer, invoice number, dates, every line item, VAT and total, ready for Excel or your purchase ledger. Then the part most extractors skip — the line items are added up and checked against the invoice's own net and gross totals, so a misread column is reported instead of quietly booked.
Same plans as statements — one page is one page · 1 page a day without an account · No card
What is extracted
Invoice number and dates
The invoice number, the issue date and the due date. When only payment terms are printed — “net 30”, “7 days” — the due date is computed from the issue date.
Supplier and customer
Both parties and their VAT numbers, read from the letterhead and the “bill to” block. Prose such as “not VAT registered” is not mistaken for an identifier.
Line items
Description, quantity, unit price, VAT rate and amount for each line, from the invoice's own table. Where there is no table structure, the columns are rebuilt from the text layout.
Totals
Subtotal, VAT and total, in the invoice's currency — EUR, USD, GBP and the rest, including European decimal commas.
Payment details
Bank name, IBAN and BIC where the invoice prints them, so a purchase ledger keeps the payment route with the bill.
Notes that change the accounting
Mentions like reverse charge or a supplier that is not VAT registered are surfaced rather than buried in the small print.
One upload, the right pipeline
You do not choose a document type. Rowvert scores what it reads: a long ledger of dated rows with a running balance is a bank statement and goes through reconciliation, Benford and the authenticity checks; an invoice number with payment terms, line items and a total due is an invoice and goes through field extraction. Accountants receive both in the same folder, so the tool should sort them, not the person.
Who this is for
Bookkeepers keying purchase invoices
Supplier bills arrive as PDFs and get typed into Xero or QuickBooks line by line. Convert them instead, and check the totals before they are coded.
Accounts payable
A purchase ledger import needs the supplier, the number, the date, the VAT and the amount. That is exactly the CSV Rowvert writes.
Accounting firms at year end
A client's shoebox of PDFs becomes a spreadsheet, with the invoices that do not add up flagged rather than averaged out.
Anyone reconciling bills to payments
Convert the invoices and the bank statement in the same place, and match one against the other.
Also on Rowvert: supplier statement reconciliation · bank statement conversion to Excel, QuickBooks, Xero, QBO, OFX and QIF · statement analysis · fake statement detection.
Invoice extraction questions
Do invoices cost more than bank statements?
No. One page is one page, whatever the document. The same plans apply: 1 page a day without an account, 5 a day with a free account, then 400 pages for $15 a month.
Do I have to say it is an invoice?
No. Rowvert looks at the document and routes it: a ledger of dated rows with a running balance is treated as a bank statement, an invoice number with a total due and line items is treated as an invoice. You upload the PDF and get the right result.
Does it work on scans and photos?
Yes. Scanned and photographed invoices go through OCR automatically, as statements do. The cleaner the scan, the better the line items come out.
How do I know the extraction is right?
The line items are added up and compared with the invoice's own figures — the net total on a VAT invoice, the total on one without. If they do not match to the cent, the result says so instead of handing you figures that look fine. This is the same principle as the balance reconciliation on statements.
What do I get out?
An Excel workbook with the invoice fields on one sheet and the line items on another, or a CSV with one row per line item and the invoice header repeated on each row — the shape accounting packages expect for a purchase ledger import.
Can I process many invoices at once?
Yes. Drop up to 20 PDFs on the converter and they are processed one after another, each with its own result and downloads.