lab
Payment Reconciliation
Deterministic payout decomposition and matching, with an auditable queue for human review
What it does
A net Stripe deposit hides revenue, fees, refunds, disputes and FX. This preparation agent decomposes payouts into ledger entries, matches them to bank deposits, and puts unresolved discrepancies into a React exception queue. A person remains the checker; it does not reconcile a ledger vendor account directly.
Payout arithmetic and ledger posting are deterministic. CSV and OFX ingestion, exact and subset-sum matching, a double-entry ledger and separate decision/review audit records support the workflow. Ledger and audit histories are append-only with hash chains, and money uses Decimal rather than float.
The repository documents 167 passing tests and a 600-instance synthetic scenario catalogue. Its L1 report records 100% precision and 81.18% recall against 510 ground-truth pairs. Those are fixture results, not client outcomes or a guarantee on live bank data.
Stack
- Python
- FastAPI
- PostgreSQL
- LangGraph
- React
- pytest
All data in this project is synthetic.
Aneeq Khatri