SC
Articles
Building a Financial Reconciliation Platform, Not a Matching Engine

Building a Financial Reconciliation Platform, Not a Matching Engine

Most reconciliation projects start by trying to match two records. Then real financial data arrives and reconciliation stops being a matching problem and becomes a workflow problem.

·5 min read
Software Architecture
Finance
Reconciliation
Solution Design

Most reconciliation projects start with a simple assumption.

Find two records with matching references and mark them as reconciled.

That sounds reasonable until real-world financial data arrives.

The ERP says one thing. The payment provider says another. The settlement report says something else. The bank statement tells a different story.

And finance teams need answers before month-end closes.

At that point, reconciliation stops being a matching problem and becomes a workflow problem.

The Simplified View

Most discussions about reconciliation look something like this:

ERP

Bank

The expectation is straightforward.

An invoice exists in the ERP.

A payment appears in the bank.

Match them.

Done.

Unfortunately, real financial systems are rarely that simple.

The Real World

A single customer payment may appear across multiple systems.

ERP
CRM
Payment Provider
Settlement Report
Bank Statement

Each system represents a different perspective of the same financial event.

The ERP represents what should happen.

The payment provider represents what was processed.

Settlement reports represent what is expected to settle.

The bank statement represents actual cash movement.

These views often disagree.

The goal of reconciliation is not just finding matches.

It is explaining those differences.

Payment Success Does Not Mean Settlement Success

One of the most common misconceptions is treating successful payment collection as the end of the workflow.

Consider a payment of ₹10,000.

Payment Provider:

Payment Success
₹10,000

Settlement Report:

Gross Amount      ₹10,000
Gateway Fee         ₹250
GST                  ₹45
Net Settlement     ₹9,705

Bank Statement:

₹9,705

A naive reconciliation system reports a mismatch.

A useful reconciliation system understands the relationship between gross collections, fees, taxes, and net settlements.

In financial operations, matching amounts is rarely enough.

Understanding the transaction lifecycle is far more important.

Reconciliation Is Not a Single Pass

Early reconciliation systems often assume a binary outcome.

Matched
Not Matched

In practice, financial workflows need richer states.

Matched
Force Matched
Pending
Refund
Provider Charge
Mismatch

This distinction becomes critical as transaction volume grows.

Some transactions can be matched immediately.

Others require additional context.

Others require human review.

And some become reconciled only after more data arrives.

This changes reconciliation from a one-time activity into an iterative workflow.

Why Pending Matters

One lesson that surprised me was how valuable the Pending state becomes.

Many transactions initially appear unmatched because:

  • Settlement reports arrive later
  • Exchange rates change
  • References are missing
  • External systems are delayed
  • Additional provider data is not yet available

Treating these transactions as failures creates operational noise.

Instead, a better approach is:

Ingest

Match

Pending

Enrichment

Reconciliation Again

Over time, many pending transactions become valid matches without manual intervention.

The ability to revisit and re-evaluate decisions turned out to be more important than improving the matching algorithm itself.

Missing References Are Normal

Most matching examples assume a common identifier exists everywhere.

Reality is messier.

ERP:

INV-123

Payment Provider:

PAY-456

Bank:

UTR-789

There is no shared key.

This forces reconciliation systems to combine multiple signals:

  • Amount
  • Date
  • Customer
  • Invoice
  • Settlement Batch
  • Payment Reference

A single field is rarely enough.

Successful reconciliation often depends on combining weak signals into a strong conclusion.

Exact Matching Is Not Enough

Another common mistake is relying entirely on exact matches.

Financial systems frequently require:

  • Tolerance-based matching
  • Many-to-one matching
  • Partial settlement handling
  • Refund reconciliation
  • Fee reconciliation

A robust reconciliation platform usually employs multiple matching strategies rather than a single matching rule.

The challenge is not finding one algorithm.

The challenge is deciding which algorithm should be trusted under which circumstances.

Matching Is Only Half the Problem

Most engineering effort initially goes into matching.

Eventually, a different realization emerges.

Matching is not the product.

Exception management is.

The real questions become:

  • Why did a match fail?
  • Who should investigate it?
  • What evidence exists?
  • How should it be resolved?
  • What audit trail should be preserved?

Without clear workflows around exceptions, even accurate matching engines become difficult to operate.

Finance teams care less about algorithm sophistication and more about explainability.

Reconciliation Ends in Accounting

Another lesson is that reconciliation does not end when records are matched.

Eventually the outcome needs to flow into downstream accounting systems.

Payment Data

Reconciliation

Review

Approval

Accounting Export

A technically correct match has little value if the result cannot be consumed by the rest of the financial workflow.

The export path is part of the architecture.

Not an afterthought.

Lessons Learned

Reconciliation Is a Workflow Problem

Matching is only one stage of the process.

Operational workflows matter just as much.

Payment Success and Settlement Success Are Different Events

Collection and settlement should be treated independently.

Pending Is a Valid State

Not every transaction can be resolved immediately.

Systems should be designed to accommodate uncertainty.

Explainability Builds Trust

Finance teams trust systems they can understand.

Opaque matching logic creates operational friction.

Data Quality Is Usually the Real Problem

Matching engines often get blamed for issues originating in source systems.

Exact Matching Scales Poorly

As transaction complexity grows, multiple matching strategies become necessary.

Final Thoughts

The hardest part of reconciliation is not matching records.

It is building a system that can explain why records did or did not match, accommodate incomplete information, support human review, and ultimately produce accounting-ready outcomes.

Once transaction volume grows, reconciliation stops being a data problem.

It becomes an operational platform.

And designing that platform is far more interesting than designing a matching engine.

Also on Dev.to · Medium.

ShareXLinkedIn