Case study / Fintech

A payment matching platform

Addis Ababa / 2025

A payments checking tool that closes the month in an afternoon. It matches Telebirr, CBE Birr, and card payments against the bank record, with proof of every change.

Sector
Payments and financial services
What we did
Design, payment checks, reports
Built with
Next.js, Python, PostgreSQL, Redis
Timeline
12 weeks, 4 people
Payments ledger with matched payments, volume bars, and an availability ring
Payments ledger / checking run Every movement linked to an original file
The short version

The finance team checked three payment channels by hand in spreadsheets. We built one tool that matches every payment to the right record and shows the proof. The monthly close went from three days to one afternoon.

The problem

The finance team checked three payment channels by hand in spreadsheets. Every month end meant three days of copy, paste, and hunting for a gap of 40 birr. By the time a mismatch was found, the trail was cold and the explanation lived in someone's inbox.

An audit was coming. The team needed every payment traceable to the original file, without adding another full time analyst.

What we changed

We mapped the monthly close step by step, then automated the parts that were mechanical: importing files, cleaning up the data, matching, and a short list of anything that needs a person. Nothing is approved automatically. A person reviews every uncertain pair.

  • Importing files from each payment channel
  • Automatic matching, with a person checking anything uncertain
  • A short list of payments that need a person, with a record of every change
  • Approval by the right person, and a month that cannot be edited after closing

What we built

Importing payment files
Automatic payment matching
A list for a person to review
A record of every change
Month end report
Who can see what
Every original file kept
Finance team training

The result

A full check now takes 3.2 seconds instead of three days of manual work. The month end close moved to one afternoon, and every number on the report can be traced back to the file it came from.

3.2sPayment check
99.95%Uptime
0Payments left unchecked

“Month end went from three days to one afternoon. The record of every change is the part our board actually cares about.”

Finance director Payments company, Addis Ababa

What happens next

The platform now handles the full close. The next phase adds a checking view for agents and a daily exception digest, both built on the same record of every change.

Your version

Make every payment easy to check.

If a close takes days, the problem is the steps between people. We can map them and remove the copies.