From retyping every invoice by hand to data that validates itself.
SYSTEM / INVOICEFLOW
ROLE / BUILD
STATUS / ● ACTIVE
01 / DIAGNOSE
The underlying problem is common in operations-heavy teams: invoices arrive as email attachments, uploads, or raw documents, and someone re-types the same fields into a spreadsheet and an accounting system by hand, slow, and it doesn't scale with volume. A mistyped total or a skipped invoice is exactly the kind of error that costs real money later.
02 / DESIGN
FINDINGS
- 01
- 02
- 03
RECOMMENDATION
Normalize every intake channel to one shape before anything else runs. Extract structured fields with OCR + an LLM, but keep the checks that must never be wrong (duplicates, arithmetic, missing fields) as database constraints, not orchestration logic, so they can't be silently bypassed. Anything the model is uncertain about routes to a human; nothing uncertain auto-approves.
CONSIDERED AND REJECTED
- OCR only, no separate validation layer
- Rejected: OCR alone still produces silent errors (wrong amount, mismatched vendor); validation is what actually removes the manual re-checking work.
- Partial auto-approval when only some fields are uncertain
- Rejected: a wrong auto-approval is treated as strictly worse than an extra manual review, so any flag at all routes the whole invoice to review rather than approving around it.
03 / BUILD
01 / INTAKE
02 / EXTRACTION
03 / VALIDATION
04 / ERROR HANDLING
04 / ENABLE
SYSTEM HANDBOOK
- 01How it works
- 02Supported invoice formats
- 03Handling exceptions
05 / IMPROVE
SYSTEM / INVOICEFLOW
- V1
- manual review of every field
- CURRENT
- validated automatically, exceptions only
STATUS / ● ACTIVE
This system is still evolving.