Digital Africa11 min read

M-Pesa statement reconciliation: 7 errors that break your books (2026)

Mohamed Bah·Fondateur, Kolonell
August 25, 2026
Share:
M-Pesa statement reconciliation: 7 errors that break your books (2026)

M-Pesa statement reconciliation: 7 errors that break your books (2026)

Digital Africa

The verdict in three sentences

Most lines that refuse to match come from two culprits: fees booked gross instead of net, and cancelled or reversed transactions. The fix isn't to match harder but to normalise before matching. In 2026 a clean rule set moves the anomaly rate from 3-8 % to under 1 % and shrinks the close from 2 days to 3 hours.

The 7 error classes

Before blaming the software for bad matching, understand where the gaps come from. Seven classes recur systematically on mobile-money statements.

#ErrorCauseFix
1Gross vs net feeamount shown before feesnormalise on net
2Reversalscancelled then replayedflag and exclude
3Partial refundscredited ≠ debitedmatch by reference
4Timezone driftUTC vs local timestampforce one time zone
5Duplicate referencessame ref on 2 linessequential suffix
6Roundingcents vs whole unit±1 tolerance
7Till vs Paybilltwo M-Pesa accounts mixedsplit the channels

On M-Pesa, till fees range between 0 and 0.55 % by tier — enough to create a systematic gap if you compare gross to net.

Before / after normalisation

The impact of a rule set is dramatic. Here is the order of magnitude observed on a typical 2026 monthly close.

MetricBefore rulesAfter rules 2026
Flagged lines3 to 8 %< 1 %
Close duration~2 days~3 hours
Unexplained gapsfrequentrare
Reversals handledmanualauto-excluded
Trust in the numberslowhigh

The secret: apply the 7 fixes upfront, once, then let the matching engine work on already-clean data.

Need a professional website?

Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.

Mini case study

Grace runs a hair salon in Nairobi with two M-Pesa accounts (one Till, one Paybill). Her monthly close took 2 days because 6 % of lines didn't match: she compared the displayed gross to the net amounts credited, and mixed Till and Paybill. After splitting the channels and normalising on net, her anomalies fell to 0.7 %. Her close now takes 3 hours, and she caught 3 reversals of 12,000 KES she had wrongly counted as revenue.

FAQ

Why do gross/net fees cause so many gaps? Because the statement often shows what the customer paid, while your bank receives the net after fees. Comparing the two creates a systematic gap equal to the fee.

How do I handle reversals cleanly? Flag them with a dedicated status and exclude them from revenue. Never treat them as cancelled sales buried in the pile — it's the number-one source of wrong books.

Is timezone drift really a problem? Yes. A payment at 23:45 local can appear the next day in UTC, breaking your daily matching window. Force a single time zone everywhere.

What anomaly rate should I target after cleanup? Under 1 %. Above 2 %, a rule is almost always unapplied — usually mixed Till vs Paybill or rounding.

Do I need software or is a spreadsheet enough? Under 100 transactions a day, a spreadsheet with well-set rules is enough. Beyond that, an automated engine avoids human error and month-end fatigue.

Let's talk about your project. We can set your 7 normalisation rules and make your close reliable. WhatsApp +221 77 596 93 33.

Tags:#reconciliation#M-Pesa#releve#comptabilite#erreurs#till number#2026#Kenya
Share:

Mohamed Bah

Fondateur, Kolonell

Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.