The verdict in three sentences
Manual reconciliation of mobile money collections costs a merchant 6 to 9 hours a week and leaks an average 2.3 % of revenue between the statement and the till. An engine that cross-matches reference + amount + timestamp auto-clears 95 % of lines and flags only the exceptions. At a budget of 350,000 to 600,000 FCFA, the tool pays for itself in under two months on recovered hours and caught discrepancies alone.
Why spreadsheet matching fails
M-Pesa, MTN MoMo and cards do not speak the same language: different settlement delays, different statement formats, fees deducted at different moments. The owner retypes hundreds of lines by hand, forgets collection fees, and confuses two payments of the same amount. The 2.3 % gap is not theft: it is accounting entropy.
The fix is a unique identifier per order (merchant reference) sent to every provider, then returned in the webhook or statement. The engine compares three keys and labels each line *reconciled*, *to review* or *missing*.
| Source | Settlement delay | Collection fee | Matching method |
|---|---|---|---|
| M-Pesa | T+1 | 1 to 1.5 % | Webhook + merchant reference |
| MTN MoMo | T+1 | 1 to 1.3 % | Webhook + amount/timestamp |
| Card (Visa/Master) | T+1 to T+2 | 1.8 to 2.5 % | PSP API + transaction ID |
| Cash till | Instant | 0 % | Manual keyed entry |
| Bank transfer | T+1 to T+3 | Flat 500-1,000 FCFA | Narrative + reference |
What the engine actually does
A reliable webhook must handle *retries*: most providers resend the notification up to 3 times over 24 h if your server does not return 200. Without idempotency you count the same payment three times. The module must therefore de-duplicate on transaction ID and store every attempt.
| Function | Without engine | With engine |
|---|---|---|
| Lines reconciled / day | 40-60 by hand | 500+ automatic |
| Weekly time | 6-9 h | 20-30 min |
| Revenue gap | 2.3 % | < 0.3 % |
| Double-debit detection | Random | Immediate |
| Input format | Downloaded CSV | API + CSV fallback |
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
David runs a hardware store in Nairobi and collects 4,200,000 FCFA a month: 55 % M-Pesa, 30 % MoMo, 15 % card. His matching gap runs at 2.3 %, roughly 96,600 FCFA/month lost or misallocated. He spends 7 h/week reconciling, valued at 2,500 FCFA/h, i.e. 70,000 FCFA/month. A 480,000 FCFA module returns those 166,600 FCFA every month: it pays back in under three months, then it is pure gain.
FAQ
How much does a multi-wallet reconciliation module cost? Budget 350,000 to 600,000 FCFA depending on the number of providers and whether webhook APIs exist. Each extra connector typically adds 80,000 to 150,000 FCFA.
Do I need an API, or is CSV enough? A webhook API gives real-time reconciliation; CSV is an acceptable daily fallback. With CSV only, the time to detect a gap goes from minutes to 24 h.
Is M-Pesa's settlement delay a problem? No, as long as the engine separates *payment confirmed* from *funds available*. You see the sale immediately, but cash lands at T+1.
How do I avoid counting a payment twice? Through idempotency: each transaction ID is processed once, even if the webhook arrives 3 times in 24 h. This is the module's most critical point.
How fast does it pay off? For 4 M FCFA/month revenue with a 2.3 % gap, payback lands in under 3 months, reconciliation hours included.
Let's talk about your project. We audit your M-Pesa, MoMo and card flows, then quote your reconciliation engine. WhatsApp +221 77 596 93 33.
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.
