Run a sample, or upload your own invoice (PNG, JPEG or PDF). The saved samples answer instantly; your own upload goes to the live model.
The live model hit today's free-tier quota. The saved samples below still work.
The samples are saved runs: instant, and they use no AI tokens. Upload your own sends that single file to the live AI, so give it a few seconds, and you get 10 free tests a day. We don't store it: your file is read once, kept in your browser for this session only, and never saved on our side.
New invoice
–
→
Extract fields
–
→
Validate
–
→
Write row
–
→
Alert
–
The document that landed in the inbox
Pick a scenario above, or upload a file, to see the invoice here.
What the model read extracted fields and confidence
You'll see the fields it read, how sure it was on each one, and what the rules decided.
# finance-alerts simulated Slack channel
The workflow posts here after each run.
Destination sheet simulated, lives in your browser session
Vendor
Invoice #
Date
Total
Status
Simulated inbox and sheet. In production this runs against Gmail/Drive, Sheets and Slack, or inside n8n/Make.
How it works
The model reads. Code decides.
The money path is plain code, not model judgement. That's on purpose. You want the same answer every time.
Invoice arrives
→
Extract fields (Gemini)
→
Validate in code
→
Write clean row
→
Alert / human review
The model only reads
It pulls vendor, number, date and totals out of the image or PDF, and rates how sure it is on each field.
The rules decide
Code checks the required fields, the date range, whether the totals add up, and whether you've seen this invoice before.
People see edge cases
Clean invoices get logged on their own. Duplicates, broken totals and low-confidence scans stop for a quick human look.
One difference worth naming: this demo shows a confidence score per field, not the quoted line. The quote check that the start page describes runs in the delivery note reader, where a text layer makes it possible to search the file for the quote afterwards. Here the arithmetic is the deterministic part: totals, duplicates and required fields are decided in code, never by the model.
In your business
Where this plugs in
Straight from your inbox
Point it at a Gmail or Outlook label. Invoices get picked up the moment they arrive, nothing to forward by hand.
Own it in n8n or Make
Prefer a visual workflow you control? The same five steps drop into n8n or Make. Or keep it as plain code.
Not just invoices
Receipts, purchase orders, delivery notes. The read, validate and route pattern is the same for all of them.