The verdict in three sentences
Reconciliation is proving that every franc collected at an operator matches a real order in your system. In 2026, a merchant accepting Paystack, Flutterwave and M-Pesa (or Wave, Orange Money and MTN) juggles three statement formats and three different settlement delays. A single ledger mapping each operator reference to the order, with automatic detection of gaps > 500 FCFA, replaces the manual hunt for lost cents.
Three operators, three settlement windows
The classic trap: a payment confirmed on the customer side is not necessarily credited to your merchant account the same day. Each operator has its own window.
| Operator | Statement format | Settlement (2026 ballpark) | Reference to map |
|---|---|---|---|
| Wave | CSV / API | T+1 | Wave transaction ID |
| Orange Money | Portal / export | T+1 to T+2 | OM reference |
| MTN MoMo | API / statement | T+1 to T+3 | Financial Transaction ID |
| Paystack | Dashboard / API | T+1 to T+2 | Paystack reference |
| Flutterwave | API | T+1 to T+2 | Flw ref / tx_ref |
| M-Pesa | Portal / API | T+1 | Receipt number |
Without mapping, a valid but not-yet-settled payment looks like a "loss"; with the ledger it is simply marked pending settlement and drops off the alert once credited.
The single ledger and gap detection
The principle: each order generates an expected line (amount, operator, reference). Each imported statement generates a received line. The engine matches by reference and flags three cases.
| Case | Meaning | Action |
|---|---|---|
| Exact match | Order = statement | None |
| Gap < 500 FCFA | Rounding / micro-fee | Auto tolerance |
| Gap > 500 FCFA | Real anomaly | Investigate |
| Received, no order | Orphan payment | Attach |
| Order, no receipt | Unsettled or failed | Chase / cancel |
A 500 FCFA tolerance threshold avoids drowning the team in micro fee gaps while catching real anomalies. Healthy target: fewer than 1 % of lines in anomaly after 48 h.
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
Fatou runs an online store in Dakar accepting Wave, OM and MTN, 600 orders/month for 6 000 000 FCFA. Before the ledger, her accountant spent ~6 hours a month reconciling three exports and let ~15 000 FCFA of unexplained gaps slip through. With the single ledger: automatic matching, 4 lines flagged (0.7 %), handled in 20 minutes. Unexplained gaps down to 0 FCFA and 5.5 hours saved each month.
FAQ
Why doesn't a confirmed payment show on my account immediately? Because settlement follows a T+1 to T+3 window depending on the operator. The ledger marks it "pending" instead of "missing".
What gap threshold should trigger an alert? A 500 FCFA threshold is a good compromise: it ignores rounding and micro-fees but catches real anomalies.
Can you reconcile several operators in one table? Yes, that's the whole point of the single ledger: Paystack, Flutterwave, M-Pesa (or Wave, OM, MTN) feed the same normalised table.
What about an orphan payment with no order? Attach it manually via the reference or customer number; if nothing matches, it goes to the refund queue.
How long to set up reconciliation? A working core integrates in 1 to 3 weeks, automated imports and gap rules included.
Let's talk about your project. We'll build your multi-operator ledger and gap alerts in one week. 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.

