Work

AI with controlsWorking prototype

AI that matches invoices but cannot approve its own payments

Accounts payable workflow · working prototype

How an invoice is matched and approved Selected workflow with illustrative amounts; the control model is as built
0payments the AI can approve beyond its limit
AIreads and matchesDeterministic ruleoutside the modelNamed approversigns over the limitINV-2291SupplierAmountLine items$4,200PO-1042SupplierAmountLine itemsmatchedlimit $10,000limitWITHIN LIMIT · POSTEDno prompt can change thiswaitingsignedauthority verified by signaturenot needed within the limitAudit ledgerINV-2291 matched to PO-1042 · 3 of 3 fieldsINV-2291 $4,200 within limit · postedINV-2304 matched to PO-1057 · 3 of 3 fieldsINV-2304 $48,000 over limit · haltedINV-2304 approved · signature verified · posted
AI-assistedDeterministic controlHuman decisionException / friction
An invoice arrives

The question

AI can read an invoice and match it to a purchase order quickly and accurately. The reason finance teams hesitate is not accuracy. It is control: what stops the AI, or someone talking to it, from approving a payment it should not?

I built this prototype to show one answer to that question, so that clients can see the control model working before they trust it with real money.

How it works

The design separates what the AI is good at from what it must never be allowed to decide.

  • The AI reads the invoice and matches it against the purchase order
  • Approval limits are checked by fixed rules that run outside the AI, so no prompt or conversation can change them
  • Anything within the limit is posted; anything over it stops and waits for a named approver to sign
  • The approver’s authority is itself signed and verifiable, not a setting the AI can read and reinterpret
  • Every step is written to an audit trail, with personal data hashed rather than stored in the clear

Why it matters

The same pattern applies to any consequential decision you might want AI to help with: the AI prepares, a rule decides whether a person is needed, and the person decides. It is how I design every AI step in a client roadmap.

Built with

Node and TypeScript with no runtime dependencies, Ed25519-signed authority, SQLite audit ledger, Anthropic API with an offline deterministic fallback for testing

Have a challenge like this one?

A free 20-minute conversation about your business, what is getting in the way, and what it would take to fix it.

Working withAsia-Pacific, the Middle East and Europe, remote or on site
Based inIndonesia (UTC+7)