Integración

Bank-reconciliation engine

Cut bank-reconciliation matching from centuries to minutes

Cliente
Bank-reconciliation platform (fintech)
Rol
Reconciliation & banking solutions developer (intern)
Período
ene 2025 – jun 2025

Resultados

centuries → minutes Matching runtime
50+ Critical defects fixed
10+ Automated flows
$90M Annual revenue served

The problem

The platform reconciles large volumes of bank and ledger records for a financial operation with roughly $90M in annual revenue. At its core sits a matching problem: pair every transaction with its counterpart across statements, ledgers and third-party systems. Done naïvely, that match is NP-hard: the pairing space explodes, and a brute-force run is measured in centuries, not minutes. This was never a tuning problem. It was a modelling problem.

Context

I joined as a reconciliation & banking solutions developer (intern) on a live platform: a 100K+ LOC codebase fed by SAP, REST APIs and internal client systems over batch jobs and real-time webhooks. The constraint hierarchy was strict and non-negotiable: correctness first, then speed, then maintainability. A wrong or double-posted match isn’t a glitch; it’s a real-money defect.

Approach

The win wasn’t faster hardware. It was a better model of the problem.

The leverage at scale is in the problem model: a sharper heuristic and idempotent integration beat raw compute.

  • Heuristic search. I reframed the match as a guided search that prunes the combinatorial space aggressively while preserving financial accuracy, collapsing runs from centuries into minutes.
  • AI anomaly clustering. On top of the deterministic matcher, I added unsupervised text clustering to surface anomalies across large ledgers, the cases that rule-based checks quietly miss.
  • Resilient integration. Every inbound path (SAP, REST, internal APIs, batch and webhooks) was wrapped in validation, traceability, retries and idempotency, so a partial failure never double-posts or drops a record.

What shipped

  • 10+ automated reconciliation flows, replacing manual, error-prone steps.
  • 50+ critical defects resolved across a large, live codebase.
  • A service generator/analyzer that accelerated the migration toward microservices and made new services cheaper to stand up.

Outcome

Matching runtime dropped from centuries to minutes, and stability, availability and financial accuracy all rose on a system moving real money at scale. A reconciliation that had been effectively intractable became a routine, trustworthy job.

What I’d carry forward

When the naïve approach is computationally impossible, the answer is rarely a bigger machine: it’s a better model of the problem, paired with integration that’s safe to retry. Get those two right and “impossible” quietly becomes “routine.”

Construido con

C#.NETMS SQL ServerSAPRESTWebhooks