Your AP inbox is a firehose of PDFs. Every vendor has its own layout — line items in a different place, tax labelled three different ways, a total that may or may not reconcile — and today a person opens each one and keys it into the accounting system by hand. It is slow, it is thankless, and the mistakes are the expensive kind: a transposed total, a bill paid twice, an invoice that quietly never got entered at all. FluidGrids turns that firehose into a workflow that does the keying for you.
It starts at the inbox. A Gmail trigger watches your AP address and fires a run the moment an invoice lands, carrying the email and its attachment into the flow. A PDF-extract node pulls the raw text out of the attachment — the layout-agnostic step that regex never survives — and hands it to an AI agent node running Claude on its chat-model port. The agent reads the invoice the way a person would and returns the fields that matter: vendor, invoice number, PO, line items, subtotal, tax, total, due date — plus how confident it is.
Then comes the part that makes this trustworthy instead of merely clever. A structured parser pins the model's answer to strict JSON, so the next node receives typed fields, not prose. A validation node does the arithmetic your team does by reflex — subtotal plus tax should equal total — checks that nothing required is missing, and runs a duplicate guard against every invoice you've already seen. Only when all of that passes, and the agent's own confidence clears your threshold, does an if-branch send the invoice down the clean path: posted straight to QuickBooks (or any accounting API), logged to an audit sheet, done. No human ever touched it.
And when something is off — the math doesn't reconcile, the scan was smudged and the model says so, the same vendor-and-number combination is already in your ledger — the workflow does not guess and does not fail silently. It routes the invoice to a Slack review channel with the reason attached: which check tripped, what the confidence was, which prior invoice it matched. Your reviewer starts with context, not a raw PDF, and the double-payment you most fear never leaves the building.
Every invoice, posted or held, lands in a Google Sheets audit ledger, and because this is an ordinary FluidGrids workflow, every run is inspectable node by node. When an invoice is held, you open its run and see exactly what text the model read, what JSON it returned, and which assertion failed — no black box, full paper trail. The routine majority clears itself; the exceptions surface with their reasoning; your people stop being data-entry clerks and start handling only the cases that actually need a human.
Do it yourself
Build an AP workflow that reads invoice emails, extracts fields with an AI agent, validates the math and duplicates, and posts clean bills to accounting while routing exceptions to a human.
Open My Workflows and click New to start a blank workflow.
You should see: A blank canvas opens with the node palette visible.
Ready to make this your story?



