Most AI demos for finance look great until the numbers have to add up. A model that is 97% right on bank statements is still wrong on three lines out of a hundred, and in bookkeeping one wrong line means the books don't close.
I spent about 15 years building large systems, most recently as a solution architect and engineering manager on fraud-decisioning platforms at Capital One. When I started building FinMoment, an AI bookkeeping pipeline, I brought one rule from that world with me: the system is allowed to be unsure, but it is never allowed to guess.
Here are the five design rules that came out of it. They apply to any AI agent that touches money, invoices or documents people rely on.
The pipeline is: upload, then OCR, then extraction, then a review queue, then deterministic validation, then human approval, then export (CSV, Excel or Tally XML).
The language model does the parts it is good at: reading messy statements and receipts, and turning them into structured fields. It does not decide whether the result is correct. That is done by plain code with rules that can't be talked out of an answer.
The most useful check is also the simplest: balances must reconcile. Opening balance plus credits minus debits has to equal the closing balance, for every page of every statement. If it doesn't, something was misread, skipped or duplicated, and the run stops there instead of producing a nice-looking file that's wrong.
A check like this catches errors a confidence score never will, because the model can be very confident and still be wrong.
When a field is unclear (a smudged amount, an ambiguous date, a merchant name the model can't place), it goes to a review queue instead of being filled in with a best guess. The person sees exactly which fields need attention, not a whole document to re-check.
This is the difference between "AI that saves time" and "AI that creates a second job of checking the AI".
Every transaction is labelled and linked to the line it came from. When an accountant asks "where did this come from?", the answer is one click away. Without that, nobody can audit the output, and output nobody can audit is output nobody can trust.
FinMoment has an MCP endpoint, so Claude can drive the pipeline. The final approval step is human-only. I run the product with a team of 13 Claude Code agents, and the same pattern applies there: done-checks, CI and deploy gates, and approval gates that only a human can pass.
Agents are fast and tireless. They are also confidently wrong sometimes. Gates are how you keep the speed without inheriting the mistakes.
Before picking a model, write down three things:
If you can answer those, the model choice matters much less than people think. I help teams build this kind of AI automation: document and invoice extraction, bookkeeping workflows, and Claude agents with approval gates and audit trails, usually on AWS or a Next.js/Supabase stack. If you're working on something similar, I'm happy to walk you through FinMoment on a call. You can find me on Upwork: https://www.upwork.com/freelancers/~0146d40003db2cffd3
Originally published on LinkedIn.