From retyping every invoice by hand to data that validates itself.

SYSTEM / INVOICEFLOW

ROLE / BUILD

STATUS / ● ACTIVE

VIDEO DEMO

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
INTAKE / Three separate channels (email, upload, webhook), no shared handling
02
EXTRACTION / OCR text alone still produces silent errors: wrong amount, mismatched vendor
03
VALIDATION / No check that survives a workflow bug or gets skipped under load

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

  1. 01How it works
  2. 02Supported invoice formats
  3. 03Handling exceptions
✓ DOCUMENTED✓ SELF-MAINTAINED

05 / IMPROVE

SYSTEM / INVOICEFLOW

V1
manual review of every field
CURRENT
validated automatically, exceptions only

STATUS / ● ACTIVE

This system is still evolving.