Public sector · Bank reconciliation · ERP

Automating the reconciliation of bank payments with invoices for a public sector supplier

The move from manual processing in Excel to a centralized, automated platform: instead of manually reviewing more than 7,000 invoices a year, the company now has a system that reconciles payments automatically, detects missing transactions and ensures high accounting accuracy.

Context and challenge

A large services company receives dozens of bank payments every day, each of which must be matched to a specific invoice. The bank only provides a general list of transactions without the invoice number, which makes the process entirely manual.

Before the solution was implemented, the accounting department worked in Excel and faced problems such as:

  • no centralized structure and manual reconciliation of data;
  • lost pending invoices and difficulty finding them;
  • daily overload for staff and a high risk of errors;
  • significant delays in the period-end close.

With more than 580 invoices a month and more than 7,000 transactions a year, this process was becoming inefficient, slow and unreliable.

Main challenge: to move from a fragmented process in Excel to a unified digital platform, where payments are reconciled with invoices automatically, quickly and transparently.

Business objectives

The key objectives were defined together with the company:

  • Reduce manual work by 50–70%.
  • Eliminate lost invoices and human error.
  • Ensure 100% transparency in the process.
  • Leave Excel behind and migrate to a centralized digital system.
  • Reduce payment processing time to a few minutes.
  • Create a self-learning mechanism to improve accuracy over time.

Solution: an intelligent system for automated payment reconciliation

A unified platform was developed that fully automates the process:

  • uploading Norma43 bank statements;
  • retrieving pending invoices from the ERP;
  • reconciling transactions with invoices using three independent matching methods;
  • presenting suggestions to the accountant for validation;
  • sending approved matches back to the ERP;
  • storing the transaction history and learning from the company's own data.

Three independent matching methods

A. Search by invoice number (regex)

If an invoice number is detected in the payment reference, the match is identified instantly. The label shown is: “Invoice number found”.

B. Matching by amounts and combinations

The algorithm analyzes multiple scenarios:

  • full matches;
  • partial payments;
  • combinations of several invoices using optimized backtracking.

C. “Client Fingerprints”

The system analyzes historical data and extracts unique patterns for each client using clustering techniques and ML algorithms such as DBScan, which makes it possible to identify matches from each client's payment behavior.

How the system works

1. Norma43 upload

File upload → cleaning → standardization → storage in PostgreSQL.

2. Retrieving pending invoices (ERP)

The up-to-date list of open invoices is retrieved via API.

3. Reconciliation algorithms

The three methods (invoice number, amounts and client fingerprints) run in parallel.

4. Interface for the accountant (Streamlit)

The platform makes it possible to:

  • view the list of payments;
  • analyze suggested matches;
  • understand the logic used by the system;
  • approve, correct or reject results.

5. Integration with the ERP

Approved matches are sent to the ERP automatically. The system builds a transaction history and updates the client fingerprints.

6. Management via API

The backend runs the processing as a pipeline:
Upload → Update → Clean → Matching → Clean → Return Predictions.

Project implementation stages

The project was completed in 8 weeks, following this structure:

Stage 1 — Process analysis

  • audit of the current Excel model;
  • identification of the causes of lost invoices;
  • design of a new architecture.

Stage 2 — Backend

  • Norma43 upload;
  • data standardization;
  • ERP integration;
  • creation of the database structure.

Stage 3 — Reconciliation algorithm

  • regex search;
  • amounts and combinations logic;
  • client fingerprints.

Stage 4 — Streamlit interface

  • dashboard;
  • explanation of the matching logic;
  • validation and correction tools.

Stage 5 — Integration and learning

  • sending to the ERP;
  • updating historical data;
  • recalculating behavior patterns.

Difficulties and solutions

  • Complex, heterogeneous text in Norma43 → solved through standardization and cleaning.
  • Combinatorial reconciliation logic → optimized backtracking implemented.
  • Replacing Excel → design of a clear, intuitive visual interface.
  • Strict ERP requirements → deep integration and data protection.
  • Guaranteeing no invoices are lost → mandatory check of “leftovers”.

Results achieved

  • Processing time cut by up to 70%
    Manual work was almost entirely replaced by automation.
  • Greater accuracy and no errors
    The algorithm doesn't get tired and doesn't make human errors.
  • Zero lost invoices
    The system always shows pending invoices.
  • Excel eliminated
    All work is centralized on a single platform.
  • Speed: minutes instead of hours
    After the Norma43 upload, matches appear almost immediately.
  • Self-learning system
    Accuracy increases with every validation cycle.
  • Complete transaction history
    Every reconciliation is recorded for analysis and audit.

Conclusion

In just 8 weeks, a modern, automated bank reconciliation system was built that:

  • processes tens of thousands of transactions;
  • saves dozens of hours of work every month;
  • eliminates errors and information loss;
  • is fully integrated with the ERP;
  • becomes more accurate with every use.

An ideal solution for companies that handle a high volume of payments and want to increase the accuracy, speed and transparency of their financial processes

Automated bank reconciliation

More case studies

See all case studies