Skip to content
Cover illustration with the caption: The highlighter has officially retired
Phillip Mwaniki Automation

M-Pesa Reconciliation: From Three Days of Squinting to Three Minutes

Ask any accountant in Kenya about M-Pesa reconciliation and watch one eye begin to twitch. Here is how it sounds at month-end in one office.

"Who is JOHN K 0722 and why did he pay 4,350?"

"No idea. Check the invoices."

"There is no invoice for 4,350."

"Maybe it is two invoices. Or one invoice minus a discount. Or a deposit."

"Or maybe John K is just generous."

This is the sound of month-end at a busy distribution company in Nakuru, where Mutua and Chebet spend roughly three days each month matching M-Pesa payments to invoices. They have a printed statement, a spreadsheet of open invoices and a yellow highlighter that has been asked to do far too much.

Why M-Pesa Reconciliation Is So Painful

M-Pesa is wonderful for collecting money. Customers love it, it is instant, and nobody has to carry cash through town. But from an accounting point of view, a busy paybill or till can be a firehose of small, loosely labelled payments.

The usual headaches look like this:

  • Customers type the wrong account number, or none at all

  • One payment covers three invoices, or three payments cover one

  • The name on the statement is the payer, not the customer

  • Partial payments and overpayments need to be tracked

  • Reversals and charges muddy the totals

Doing this by hand means reading every line, guessing, asking around, and hoping. It is slow, it is error-prone, and it means your customer balances are only accurate for about one day a month.

The Fix Starts Before the Payment

Most reconciliation pain is created at the moment a payment is made, not at month-end. If you can give customers a clear, unique reference to use, matching becomes almost automatic. Some practical steps:

  • Put a unique account number or invoice number on every invoice

  • Use the customer number consistently, not a vague word like SHOP

  • Send payment requests that pre-fill the reference where possible

  • Tell customers, kindly and repeatedly, which reference to use

You will never get perfect compliance. Somebody will always pay to account number ASANTE. But moving from mostly guesses to mostly matches changes everything.

Let the System Do the Matching

The bigger win is connecting your M-Pesa collections directly to your records instead of relying on downloaded statements. When payments arrive through an integration, each one can be checked instantly against open invoices.

A good automated setup will:

  • Receive each payment notification as it happens

  • Match it to an invoice using the reference, amount and customer

  • Mark the invoice as paid or partly paid

  • Flag anything it cannot match for a human to review

  • Keep a clean trail you can show your auditor

That flagged list is where Mutua and Chebet now spend their time. Instead of examining every single payment, they look only at the handful the system was unsure about. Three days of squinting becomes a few minutes of decisions over chai.

Real-Time Balances Change How You Work

Once reconciliation is automatic, something interesting happens. Your sales team can see in real time whether a customer has paid before releasing an order. Your accounts team stops sending reminders to people who settled yesterday. Your director can check collections on a Sunday evening without calling anyone, which is either a blessing or a curse depending on the director.

It also reduces a quieter risk. When reconciliation happens once a month, odd transactions can hide for weeks. When it happens continuously, anything strange shows up quickly.

A Word on Tools

You can build this with a developer and the M-Pesa APIs, or you can use a platform that has already done the hard part. PesaVista combines collections, payouts and invoices in one place, so payments land already matched to the invoices they belong to.

And John K?

It turned out John K was paying for two orders at once, minus a small credit from a returned carton. A human figured that out in about a minute, because the system had already matched the other two hundred payments and left only John for review. The highlighter has been retired with full honours.

If your month-end still involves a printed statement and a highlighter, talk to Philsoft about connecting your paybill straight to your books.

← All posts