STATEMENT OF WORK · PARVEZ AHMED · PAGE 1 OF 1

Parvez Ahmed — AI engineer, financial operations

Messy financial documents in. Validated, reconciled data out.

Extraction pipelines, deterministic validation, and transaction matching — built the way back-office systems have to be built: with the accuracy numbers published, including the bad ones.

Reconciliation report — claims vs. public evidence

ClaimEvidenceStatus
Extraction accuracy is measured, not vibed DocVal held-out eval, 100 docs never used for tuning: transaction F1 published split by source — 0.92 synthetic / 0.12 real scans at $0.005/doc. Regression gate in CI on every push. ✓ MATCHED
Reconciliation is the moat, not a feature ReconMatch held-out, never tuned: 95.4% auto-match at precision 1.00, pair F1 0.976. Tiered deterministic matching — explainable, no black box. ✓ MATCHED
Validation should be arithmetic, not an LLM judging an LLM Every DocVal extraction must satisfy balance continuity: opening + every transaction = closing, row by row. Pure functions over a typed schema. Try it live. ✓ MATCHED
Ships production systems inside a real bank 16-microservice document-validation platform, ML matching for reconciliation, RAG in production — at a global bank, under compliance constraints. Not open-sourceable. ● PRIVATE — ask me

3 of 4 claims auto-matched against public artifacts. 1 break: evidence held privately. No unmatched claims.

Artifacts — live, tested, numbered

DocVal

Bank-statement extraction + validation pipeline

Native PDF or scan in; typed, validated transactions out. Hybrid routing — deterministic parsing when a text layer exists, vision-LLM per page when it doesn't — landing in one Pydantic schema, checked by a balance-continuity validator no model can sweet-talk.

Held-out txn F1
0.92 syn / 0.12 scans
Header accuracy
0.89
Cost per document
$0.005

ReconMatch

Transaction matching + break resolution

Statement lines vs. internal ledger: exact, date-windowed, and split-matching tiers, deterministic and greedy — every match explainable. Unmatched lines get classified breaks with suggested resolutions, so ops attention goes only where trust ran out.

Auto-match rate
95.4% @ P 1.00
Pair F1
0.976
Held-out, never tuned
50 sets × 40 entries

The eval case study

How I measure accuracy in document-extraction pipelines

Schema enforcement, deterministic validation, held-out evals with cost tracked next to accuracy — and what the harness caught that vibes never would: output-cap truncation, temperature-0 nondeterminism, provider flakiness, and a third-party benchmark whose own scorer was broken.

Layers of trust
schema → arithmetic → eval
Regression gate
CI, every push, ±1pt

Background

Day job: shared-services engineering at a global bank — where I built a 16-microservice document-validation platform, trained ML matching models for reconciliation (TLM/SmartStream world), and shipped RAG in production under real compliance constraints.

The artifacts above are that experience rebuilt in the open, on synthetic and public data, where the numbers can be checked.

Open items

If your ops team drowns in statements, invoices, or reconciliation breaks — let's talk.