All work
Client name redacted pending case study approval

Ledger reconciliation for a Series A fintech, shipped in 13 days

A Series A fintech closed its books by hand every month. We built the reconciliation engine that turned a three-day manual process into a dashboard.

Duration
13 days
Engagement
sprint
Team size
2
AI time saved
41%
Stack
Next.js, Stripe, Postgres, Supabase

The brief

The client moved money between their own ledger, Stripe, and a banking partner. Once a month, two people spent three days matching transactions across the three systems in a spreadsheet. The brief: replace the spreadsheet with an engine.

The constraint

In a reconciliation tool, a false match is a quiet accounting error that surfaces during diligence. The engine had to refuse to guess. Anything it could not match with certainty had to land in an exceptions queue for a human, not get force-fit.

The approach

We built a deterministic matcher with explicit tiers. Tier one is exact id match. Tier two is amount, date, and counterparty within tight tolerances. Anything that does not clear a tier is an exception. The engine never uses a model and never approximates a money match.

The exceptions queue is the actual product. It groups unmatched items, suggests likely pairs without committing them, and records who resolved each one and why.

The build

Days 1 to 4: the data model, the importers for all three sources, and the matcher tiers. Days 5 to 11: the exceptions queue, the dashboard, and the audit log. Days 12 and 13: deploy, README, handoff.

The outcome

The engine shipped on day 13. It reconciled 100 percent of historical transactions on the first full run and dropped the unexplained items into the exceptions queue, where they belonged. The monthly close went from three days to an afternoon.

0%historical transactions reconciled
0 days to 1monthly close time
0 daysbrief to production
0%AI time saved on build
They told us where AI did not belong, and the money math was top of the list. The engine is deterministic and auditable. Our monthly close went from three days to an afternoon.
VEVP EngineeringVP Engineering, Series A fintech

Start a similar sprint.

Send a one-page brief. If it fits a sprint, you get a fixed price and a ship date back by morning.