Skip to content
Back to work

AI for Financial Reconciliation

Machine learning that classifies bank transactions into accounting entries — built into the platform the operators already used, not into a tool beside it.

Client work — source not public

Type
AI & ML
Period
2023
Status
In production
Role
AI & Software Engineer

The problem

Bank reconciliation is trivial one movement at a time and enormous in aggregate. An operator looks at a bank movement, recognises what it is, and assigns it to an accounting entry — then does it again, several hundred times, every month. Most of those decisions are mechanical, and the person making them has been making the same ones for years.

What I built

A model that learns from the ledger already sitting there: years of reconciled movements are a labelled dataset that costs nothing to collect. It proposes an entry for each new movement with a confidence beside it — high confidence is accepted at a glance, low confidence goes to the operator instead of being guessed at. Every correction feeds back in, so the model follows the business rather than freezing on the day it was trained.

The decision I would defend hardest is where it runs: inside the reconciliation screen the operators already used, not in a separate tool with a better model that nobody would open.

Where it stands

In production at Tecnos Group, on real books. Batches that took hours of manual matching became minutes of review, and the operator kept the last word on every entry — which is both the correct design for a ledger and the reason they were willing to use it.

What I did

  • Designed and trained the classification model matching bank movements to accounting entries
  • Built the pipeline from raw bank exports to a structured, labelled training set
  • Integrated inference into the existing accounting platform, inside the screen operators already worked in
  • Added an operator feedback loop so corrections became training data instead of being lost

Impact

  • Reconciliation that took hours of manual matching per batch became minutes of review
  • Ran in production on real financial data

Stack

  • .NET
  • ML ML.NET
  • SQL SQL Server
  • Feedback loop

Recognise one of these problems?

If any of this looks like the system you are living with, that is usually a good place to start a conversation.