Portfolio ProjectEvidence attached

Invoice Intake Pipeline

A pipeline that extracts structured invoice data, validates it against rules the finance team can read, flags anything suspicious and queues the rest for approval.

OH

Omar Haddad

Data and AI builder

Business problem

Small finance teams re-type invoice data from PDFs into their accounting tool. On a sample of 200 real invoices, manual entry averaged just over three minutes each and produced errors on roughly one in twenty.

Solution

A pipeline that extracts structured invoice data, validates it against rules the finance team can read, flags anything suspicious and queues the rest for approval.

What was built

  • •Intake from an email alias and a drop folder
  • •Field extraction with per-field confidence
  • •Validation rules: totals, VAT, known vendors, date sanity
  • •Duplicate detection on vendor, number and amount
  • •An approval queue with the original PDF side by side

Architecture / workflow

  1. 1Invoice arrives by email or is dropped in a folder
  2. 2Model extracts fields with a confidence value each
  3. 3Rules validate arithmetic, VAT and vendor identity
  4. 4Suspicious or low-confidence invoices are flagged, not guessed
  5. 5Approved records are pushed to the accounting tool

Integrations

GmailQuickBooksSlack

Tools / stack

GeminiPythonPostgres

Screenshots

Screenshot slot
Screenshot slot

Demo

No demo added yet. Builders can attach a short video.

Results

No verified results shared. AgeBridge only displays real, builder-reported outcomes.

Evidence

  • Screenshots · Approval queue with flagged fieldsReal screens from the build, not mockups.
  • Architecture notes · Validation rules and confidence handlingHow data flows and why you designed it that way.

Proof

Proof score

25/100

Add demo video — 60 seconds showing the thing actually running. The single strongest proof.

Not reviewed yet. Evidence is shown exactly as the builder attached it.

Decisions and tradeoffs

  • •Low confidence is surfaced per field, so a human checks one number rather than the whole document.
  • •Arithmetic is checked in code, never by the model. Models are bad at addition and rules are cheap.
  • •Nothing is written to the accounting tool without human approval.

What went wrong

Multi-page invoices with a summary page were extracted twice. Page-level deduplication before extraction solved it.

What I'd do next

Measure the error rate against the manual baseline on the same 200 invoices.

Need something like this?

Talk to the builder behind the project, or build your own version.