M-Pesa Reconciliation for Retailers: The Daily Close Done Right
The 20-minute evening routine that keeps a Kenyan shop honest — reconciling cash, M-Pesa, and card against the system, shift by shift, so variances die young.
Ask a struggling retailer for last Tuesday's takings and you get an estimate. Ask a disciplined one and you get four numbers that agree: what the system says was sold, what the drawer held, what M-Pesa collected, and what the card terminal settled. The daily close is where those four numbers meet — and every day they don't, a small leak gets a day older and a day harder to trace.
The close, step by step
- 1. Close the shift in the system — sales stop against that drawer; the system states its expected takings by payment method.
- 2. Count the cash — blind, before seeing the expected figure. Counting toward a known target produces the target.
- 3. Pull the M-Pesa till statement — the day's collections on your till number, from the statement, not from memory of confirmation messages.
- 4. Match the card settlement — terminal batch total against system card sales.
- 5. Record the variance, by method, by name — cash short 240 bob on Jane's shift is a data point; "we're sometimes short" is a culture.
- 6. Bank/secure the cash and sign off — the close isn't done until the money is out of the drawer and the numbers are in the record.
M-Pesa: the reconciliation that everyone skips
Mobile money feels self-reconciling — every payment has a confirmation SMS, so what could go wrong? Plenty:
- Payments to the wrong number — a customer pays the attendant's personal line "because the till was slow". That sale is now invisible.
- Fake confirmation screens — the SMS-looking screenshot is a known scam; only the till statement is truth.
- Reversals after the customer left — a payment reversed post-departure shows in the statement, not in the memory.
- Unmatched payments — money received with no corresponding system sale is as bad as the reverse; it means selling happened off the record.
One rule that prevents most of it
Organizational money only touches organizational numbers. No staff personal lines for customer payments, ever, including "just this once during the rush". The exception becomes the channel.
What the numbers tell you over time
| Pattern | Likely cause | Move |
|---|---|---|
| Small cash shortages, one shift, recurring | Counter-level pilfering or sloppy change | Named attribution + till discipline; it usually stops when measured |
| M-Pesa short vs system | Payments diverted to personal numbers | Statement-to-sales matching; check the slow-till excuse |
| System short vs money collected | Sales made off-system, money pocketed then partially banked | Every-sale-through-the-till enforcement; see the shrinkage guide |
| Perfect reconciliation, always, to the shilling | The count is being done toward the target | Reinstate blind counts; spot-audit a close unannounced |
The daily close is the counter-level layer of a larger stack: shrinkage control covers the stock side, and multi-branch visibility extends the same discipline across locations. A system with per-shift reconciliation built in turns the whole routine into a guided 20 minutes.
What AWRA OpsHub does today
- A cash session per counter and cashier, holding opening float, cash sales, cash drops, expected cash, counted cash and the variance.
- Named opener and closer with timestamps, so a shift belongs to people.
- Cash drops recorded individually, so mid-shift removals are not a mystery at close.
- M-Pesa collection recorded against the sale, and a consolidated payments register across methods.
- eTIMS fiscalisation on POS sales.
More we can add to your workspace
- An enforced blind count at the till. The inventory module already withholds the expected figure from the person counting; bringing the same enforcement to the till is the build, and until then the discipline that makes the variance meaningful is procedural.
- Bank reconciliation, with a statement import, so matching a day's M-Pesa or bank settlement against recorded takings stops being manual.
- Till-level float policy enforcement, and no maximum-cash-in-drawer rule.
The mechanics of the close are genuinely all here, including the parts most systems skip — cash drops and a named closer. The one that decides whether the number means anything is the blind count: if the cashier can see what the drawer should hold before counting it, the variance measures honesty rather than accuracy. Treat that as a procedural control until it is enforced.
Anything above that you need, we can build for you
Everything listed above as something we can add describes what ships in the standard product today — it is a starting point, not a limit on what AWRA OpsHub can do for your organisation. Kenya's eTIMS integration and its maintained payroll engine are both in the product because clients needed them and commissioned them; neither appeared by itself, and the same door is open for whatever you just read about. One qualification so this is worth what it claims: a small number of things on this blog we deliberately leave to a specialist rather than build — a statutory ledger we will not sign our name to, a rule that would decide a tax question for you, a clinical or member-funds record that belongs in a regulated system — and where that is true the post says so in those words. Everything else is a scope, a timeline and a price.
The operational work, which is what most commissions actually are
An extra approval stage in a chain that does not match the standard one, a custom field set on employees or assets that only your sector needs, an expiry that has to block an order rather than send an email, a report your board asks for in a shape nothing produces, or a scanner or weighbridge feeding the goods-in door. These are the commissions we are asked for most often and the smallest ones we quote — and unlike a revenue-authority pipeline, none of them waits on a regulator.
The module-shaped additions, which are the ones readers ask for most often
A price list with real discount authority, a customer-facing quotation that expires, a bill of materials or recipe costing, a staff advance that is issued, acquitted and chased, a member or unit ledger, a matching rule that holds a payment. Each of these is a build rather than a setting, and each has been quoted before — a bigger piece of work than a custom field, with a written spec and a date instead of a roadmap slide.
The report, document or pack nothing currently produces
The board pack in the shape your board actually asks for, a donor or funder layout, an invoice or receipt template carrying what your regulator or your customer expects, a dataset the report builder cannot reach yet. Usually the fastest thing on this list to deliver, because the data is already in the system.
Systems, rails and hardware you already run
The accounting package, CRM, online store, core banking or custom database you intend to keep — connected through our API so a fact is entered once and appears everywhere it is needed. Plus the physical edge: a scanner, a scale, a weighbridge or a till peripheral feeding the door it belongs to.
How it works: you describe the requirement, we return a written scope, timeline and cost, and once agreed it is built into your environment and maintained as part of the product. Nothing here waits on a regulator or a published specification, which is why operational builds are the ones we quote fastest. Tell us the requirement that would otherwise rule us out — that is a better first conversation than a demo.
Tell us what your operation needsClose tonight in 20 minutes
Expected takings by method, cash drops recorded, and variance by shift and by name — every day, every branch.
See the daily close in AWRAFrequently asked questions
Should we reconcile daily or is weekly enough?
Daily, per shift. A variance found the same day has a short list of explanations; the same variance found Friday has five days of them. Weekly reconciliation is not a lighter version of the control — it is a different, much weaker one.
What variance level should trigger action?
Set a written threshold (many shops use KES 100–200 per shift) below which variances are logged but not investigated, and above which same-day explanation is required. Zero-tolerance on paper becomes tolerance-of-everything in practice; a realistic threshold gets enforced.
How do we reconcile M-Pesa without waiting for month-end statements?
Use the daily till statement — available same-day for organizational till numbers — and match it against system-recorded mobile payments per shift. If your process depends on the month-end statement, you are running thirty days blind.
Who should perform the close — the cashier or someone else?
The cashier counts, a second person verifies — supervisor, owner, or the incoming shift. Self-verified closes work right up until they don't. In a one-person shop, the discipline is the blind count plus an unannounced periodic audit by the owner.