M-Pesa Till Reconciliation Guide
A step-by-step daily routine for reconciling M-Pesa till payments with your sales, catching mismatches early and protecting your shop from fake payments.
By the Ultimate POS team6 min read
For many Kenyan shops, more money now comes in through M-Pesa than through the cash drawer. That's convenient for customers, but it creates a daily job that many owners struggle with: making sure every M-Pesa payment matches a sale, and every sale that was "paid by M-Pesa" really was.
This guide sets out a simple routine for reconciling your till every day, and the habits that stop small mismatches from turning into real losses.
Why M-Pesa and sales don't match
Before fixing the problem, it helps to know where differences come from. The most common causes are:
- Payments confirmed by SMS. A cashier sees a message on their phone — or a customer shows one — and releases the goods. Messages can be misread, belong to a different payment, or be fake.
- Wrong amounts. The customer sends KES 1,500 for a KES 1,550 sale, and nobody notices.
- Payments with no sale. Money arrives, but the sale was never recorded — or was recorded as cash.
- Sales with no payment. A sale is marked "M-Pesa" but the money never came in.
- Reversals. A payment is reversed after the goods have left.
- Timing. Late-evening payments fall on the wrong side of your closing time.
Each one is small on its own. Together, over a month, they add up.
The daily routine
Set aside ten minutes at close of business — every day, not once a month. The longer you wait, the harder it is to remember what happened.
1. Close every till and shift
Each cashier should close their own shift before going home, recording how much cash they hold. Separate shifts make it possible to trace a difference to a person and a time, instead of to "the shop".
2. Get your M-Pesa statement for the day
Download or view the statement for your till or paybill for the same period as your sales report — from your opening time to your closing time.
3. Compare totals first
Compare the total M-Pesa received with the total of sales marked as M-Pesa. If they agree, you are probably done. If they don't, the difference tells you how much you are looking for.
4. Match payment by payment
Work through the differences using:
- amount — look for the exact figure, then for amounts that are close;
- time — payments usually land within a minute or two of the sale; and
- the customer's name or number on the statement.
Mark each payment as matched as you go. What's left are the exceptions.
5. Deal with every exception the same day
For each unmatched item, decide what happened and record it:
- a payment with no sale → find the sale, or ask the cashier on duty;
- a sale with no payment → check for a wrong till number, a failed payment, or a fake message;
- a reversal → record it against the original sale.
Write down what you found. Patterns — the same cashier, the same time of day — are worth acting on.
Habits that prevent problems
- Never release goods on the strength of an SMS alone. Confirm the payment on the till's own record or in your M-Pesa business account.
- Use one till number per shop, displayed clearly at the counter, so customers don't pay the wrong one.
- Give each cashier their own login, so every sale and every payment is linked to a person.
- Reconcile daily. A difference found the same evening is easy to explain; one found at month-end usually isn't.
How a POS with M-Pesa built in helps
Most of the work above exists because the till and M-Pesa don't talk to each other. When M-Pesa is part of the POS, much of it falls away.
With Ultimate POS, the cashier sends an STK push to the customer's phone at checkout, so the customer pays the exact amount to the right account. Incoming payments are matched to the sale, and every transaction is kept in an M-Pesa payment log. Shift cash-ups show what each till should hold, and an audit log shows who did what.
The result: reconciliation becomes a quick check of the exceptions instead of an evening spent with a statement and a highlighter.
Book a free demo to see M-Pesa payments and cash-ups working in Ultimate POS, or read about all our features.