


About the client
The client is a high-volume payments and commerce business processing transactions across multiple banks, card processors, and wallet providers. Their finance team was matching settlement files against the general ledger by hand in spreadsheets. As transaction volume grew past a million records a month, matching became the single biggest bottleneck in the close process — and the biggest source of unexplained variances.
96%
Auto-Match Rate
2 Days
Month-End Close
1.4M+
Transactions Matched Monthly
Fintech Company
United States
Finance
Problem Statement
Every settlement cycle produced files in different formats with different identifiers, fee deductions, and timing. Analysts pasted them into spreadsheets and matched line by line, chasing pennies of variance across thousands of rows. Errors were invisible until the auditors found them, and no one could explain how a match decision had been made weeks later.
Format Fragmentation
Each bank and gateway delivered a different file layout, date convention, and fee structure that had to be normalized by hand.
Slow Manual Matching
Analysts spent 60+ hours per cycle matching rows, leaving no time for actual variance investigation.
Unexplained Variances
Partial settlements, split payouts, and FX rounding created breaks nobody could trace back to a source record.
No Audit Trail
Match decisions lived in spreadsheet cells with no history, making audit support painful and error-prone.
Key Challenges


The Solution
We built a dedicated transaction matching platform with a configurable rules engine, fuzzy and many-to-many matching, and an AI-assisted suggestion layer for the residual exceptions. Ingestion adapters normalize every source file on arrival; the engine matches one-to-one, one-to-many, and many-to-many relationships; and everything that cannot be matched with confidence is routed to an exception workspace with suggested pairings and a full decision log.
Key Results
Matching Accuracy
- 96% of transactions auto-matched without human review.
- Fuzzy tolerance rules absorbed fee and FX rounding differences.
- Many-to-many logic resolved split and batched settlements correctly.
Speed & Capacity
- Month-end close reduced from 9 days to 2.
- 1.4M+ monthly transactions processed with no headcount increase.
- New bank or gateway onboarded in days via config, not code.
Control & Audit
- Immutable audit trail on every match, unmatch, and write-off.
- Maker-checker approval on all manual matches above threshold.
- Aging dashboards on open breaks by source, owner, and value.
Our Approach
01. Data Ingestion & Normalization
- Mapped every bank, gateway, and ledger file into one canonical schema
- Built SFTP, API, and file-drop adapters with duplicate detection
- Standardized dates, currencies, fee lines, and reference identifiers
02. Matching Engine Design
- Layered exact, tolerance-based, and fuzzy matching passes
- Added many-to-many logic for split payouts and batched settlements
- Trained an AI suggestion model on historical analyst match decisions
03. Exceptions & Reporting
- Built an exception workspace with suggested matches and bulk actions
- Added maker-checker workflows and write-off controls
- Added maker-checker workflows and write-off controls

Key Modules
Ingestion & Normalization
- Adapters for banks, processors, wallets, and the ERP ledger
- Canonical schema with per-source field mapping
- Duplicate and late-file detection on every import
Matching Engine
- Exact, tolerance, and fuzzy matching passes
- One-to-one, one-to-many, and many-to-many resolution
- AI-suggested pairings for residual exceptions
Exception Management
- Prioritized break queue by value and age
- Bulk match, split, and write-off actions
- Maker-checker approval and full decision history
Technologies Used
- Frontend: React.js + TypeScript with virtualized data grids
- Backend: Python + PostgreSQL with a queued matching pipeline
- AI: gradient-boosted match scoring on historical decisions
- Infra: AWS (ECS, RDS, S3) with encryption and role-based access
Fintech Company
Client Thoughts
We used to dread settlement day. Now the engine does the matching overnight and my team walks in to a short list of real exceptions instead of a spreadsheet with a hundred thousand rows. Close went from over a week to two days, and for the first time we can prove exactly why every match was made.
Fintech Company Team

Don't Just Read About Success
Make It Your Reality
You've seen the kind of results we deliver.
If you're facing similar challenges or planning your next big move, let's connect and explore how we can help.






