Inspiration

Financial reconciliation is a critical but often time-consuming process. Businesses receive payments through banks while maintaining separate internal ledgers and invoice records. Matching these records manually becomes difficult when transaction descriptions differ, payments are split, or multiple invoices are settled together.

We built ReconAI to automate this process and make reconciliation faster, more accurate, and explainable.

What it does

ReconAI is an AI-powered financial reconciliation engine that matches bank transactions with internal ledger entries and invoice records.

Instead of relying only on exact matching, ReconAI uses a multi-stage approach:

  • Pass 1 — Exact Matching: Matches transactions using strong identifiers and exact amounts.
  • Pass 2 — Fuzzy Matching: Handles variations in names, descriptions, references, and transaction details.
  • Pass 2B — Split-Payment Detection: Identifies cases where one payment corresponds to multiple ledger or invoice entries.
  • Pass 3 — LLM-Assisted Matching: Uses Claude to analyze grouped candidate records and resolve complex reconciliation cases that traditional rules cannot confidently match.

The system also produces structured reconciliation results, making it easier to identify matched, partially matched, and unmatched transactions.

How we built it

We built ReconAI in Python using a modular reconciliation pipeline. Synthetic datasets representing bank statements, internal ledgers, invoices, and ground-truth matches were generated to test the system.

The reconciliation engine progressively applies deterministic rules, fuzzy matching, split-payment detection, and finally LLM-assisted reasoning for difficult cases. This layered approach allows simple transactions to be resolved quickly while reserving AI reasoning for ambiguous cases.

Anthropic's Claude API is integrated into the final reasoning stage to evaluate grouped candidates and determine the most likely reconciliation.

Challenges

One of the biggest challenges was handling real-world-style ambiguity. Two transactions may refer to the same payment but contain different descriptions, while a single bank payment may settle multiple invoices.

Another challenge was designing the system so that the LLM was not unnecessarily used for every transaction. We addressed this by creating a multi-pass pipeline where deterministic and fuzzy matching handle straightforward cases first, and the LLM is used only when additional reasoning is required.

What we learned

Through this project, we learned how combining traditional data-processing techniques with LLM reasoning can create a more reliable AI system. We also learned that AI works best when it is used as part of a structured pipeline rather than as the only decision-maker.

ReconAI demonstrates how intelligent automation can reduce repetitive reconciliation work while still providing a clear and systematic process for financial matching.

Built With

  • anthropic
  • artificial
  • claude
  • data
  • financial
  • fuzzy
  • intelligence
  • learning
  • llm
  • machine
  • matching
  • pandas
  • processing
  • python
  • technology
Share this project:

Updates

Submission history