TemplatesGet a demo →Book a meeting

Invoice fields read exactly as written, blanks left blank

Attach an invoice and the flow returns the fields your ledger needs, from invoice number and supplier to tax, total and purchase order. Anything the document doesn’t contain comes back empty, and an invoice with no reference goes to accounts payable.

Finance · A document or recording is attached · 5 stepsA person is asked at “Ask a person”

AI Factory · Invoice reader · run 1220a real run on synthetic data · recorded Sep 11, 2026
A fileThe document6 ms
Pull out fieldsRead the invoice2.4 s
If / elseDid it find a reference?5 ms
Answer shownThe fields
Ask a personAsk a person
4 of 5 steps ran2.4 s end to end<$0.001 model costDrag the canvas, or any step, to move it around.
Asked: “A synthetic supplier invoice is attached.”

invoice_number: INV-20931
supplier: Example Office Supplies Ltd

invoice_date: 28 August 2026

due_date: 27 September 2026

net_amount: 1,244.00

tax_amount: 248.80

total_amount: 1,492.80

currency: GBP

purchase_order: PO-4471

Why teams run it

Accounts payable keys the same fields from every invoice by hand, and each supplier lays them out differently. Tools that fill in a missing purchase order with their best guess are worse than the typing, because the error only appears at reconciliation.

How it is governed

  • It refuses to guess: a field not in the document comes back empty.
  • An unreadable invoice waits for a person rather than passing through.
  • It extracts only; nothing is posted to your ledger.
  • Every document read and decision made is kept in the run history.
Who runs it
Accounts payable teams; Financial controllers; Shared service center managers.
What you supply
Nothing — it reads the document in front of it.
What “a person approves” looks like in the product: the run stops, the banner says what approving will do, and until someone decides, nothing leaves the system. A demo workspace on synthetic data.

From template to a live agent

The same builder, tests and release review apply to a template as to anything built from scratch.

Open it as a working flow
Every step, source, branch and approval is already in place, and every one of them can be changed before it runs on your data.
Prove it before it ships
An evaluation set can gate the release, so a change that breaks an answer never reaches anyone. A question it cannot answer from the sources leaves the gate unproven, not passed.
Keep a person on the decisions
A run that needs a decision stops and says exactly what approving will do, and who it is waiting for.
Publish where people work
A form, an embedded widget, Microsoft Teams or a scheduled batch — with its own access and limits per deployment.
What teams usually change
Add or rename fields to match your ledger’s import format; Check a different field, such as requiring a purchase order; Name the team that checks invoices the flow can’t read.
Step 02, in the product: an evaluation set that gates the release. A question it cannot answer from the sources leaves the gate unproven, not passed. A demo workspace on synthetic data.

Questions buyers ask

Does it post the invoice to our ledger?
No. It returns the fields for your team or your import process to use; the template contains no step that writes to a finance system. That keeps the posting decision with the people who own the ledger.
What about photos or scans of invoices?
The step reads the text in a PDF, Word or text file. An image with no text layer yields no fields, so it takes the path to accounts payable instead of returning empty values silently.
What does it need before it works?
Nothing beyond the document itself, which is why it is one of the quickest templates to trial. Most teams only change the field list to match their ledger.

See it run on your own data

We open it in the builder, point it at a sample of your documents and systems, and run it with you.