Invoice extraction with review and ERP sync
A vision-model invoice extraction tool with side-by-side human review, duplicate detection, mailbox ingestion and supplier-validated sync to accounting systems.
The challenge
Accounts-payable teams re-key supplier invoices that arrive in many layouts and through shared mailboxes. Duplicates and unknown suppliers slip through, and corrections made by reviewers are rarely fed back.
What we built
Invoices are uploaded as PDFs or collected from connected Gmail or IMAP mailboxes by a background worker. A Gemini vision model extracts header fields and line items, and a validation step checks the output. Reviewers see the PDF beside editable fields, and their corrections are recorded. Duplicate detection uses an invoice hash with fuzzy vendor matching. For Xero, the supplier must exist in the ledger before a draft bill is created; OAuth connection and token refresh are implemented, and connectors for other ERPs exist in code.
Key capabilities
- Single and batch PDF upload plus Gmail/IMAP ingestion
- Vision-model extraction of header fields and line items with expense categorisation
- Split-screen PDF viewer and editable extraction form
- Duplicate detection with vendor-name normalisation and fuzzy matching
- Correction capture and translation of invoice data
- Xero OAuth integration with supplier-existence check before bill creation
What it delivers
- A reviewer confirms or corrects extracted data before anything is sent to the ledger
- Bills are created only for suppliers already known to the accounting system
- Reviewer corrections are stored, giving a basis for improving extraction
- Duplicate invoices are flagged before they reach accounts payable
Have a similar backlog?
Most of our work started as a single painful workflow. Tell us yours.


