A Kenyan retail shop, whether a Nairobi kiosk, a rural duka, or a city-centre hardware counter, has a distinctive M-PESA profile: hundreds of small tickets per day, multiple staff at the counter, and near-zero appetite for reconciliation friction. This guide is written for that shape of business. If you invoice customers, run trade credit, or sell online, jump to our M-PESA for online businesses or register-paybill guides instead.
What a retail shop actually needs from M-PESA
Retail is not a generic use case. The pattern is: high transaction count, low average ticket, staff at the till, live foot traffic, and a queue behind the next customer. Anything that slows the payment by more than a few seconds costs you real money in walked-out sales.
- Speed at the counter. The till number is short (5 to 7 digits), staff quote it verbally or point to a printed card, customer types the amount, done in under 20 seconds.
- Zero customer-side fee. Buy Goods is free to the sender. Paybill is not: senders pay KES 10 to KES 108 depending on the band. Ask a customer to pay a fee to buy tomatoes and they walk.
- Clean daily reconciliation. One till, one closing balance, one daily statement. Staff cannot "lose" a payment to a personal number.
- Multi-user handling. Multiple staff at multiple counters must be able to check whether a payment landed without needing the owner's phone.
- KRA-ready records. The till statement is exportable for eTIMS and turnover-tax filing.
Recommended setup: till, paybill, Pochi or POS
For a standard Kenyan retail shop:
- Buy Goods till (Lipa na M-PESA). The default. Free for customers, tiered merchant fee, T+1 bank settlement, multi-user access via the Business app or *234#. This is what 90 percent of retail shops in Kenya should run.
- Pochi la Biashara. Only if you are a sole trader running a hawker-style or single-owner setup with no staff and no KRA PIN yet. See the Pochi complete guide. Pochi caps at your personal M-PESA limits and does not scale to a stocked shop.
- Paybill. Only if you also invoice customers or accept deposits with a reference number. Paybill charges the sender, which drops conversion at the counter.
- Card POS (KCB, Equity, Pesapal, Craft Silicon). Add on top of the till only if you are on a high street with tourist or expat traffic. Never as your primary rail.
Charges you will actually pay
Under the current Safaricom Lipa na M-PESA tariff, the merchant fee on Buy Goods is:
- KES 0 to 100: free.
- KES 101 to 500: KES 5.
- KES 501 to 1,000: KES 11.
- KES 1,001 to 1,500: KES 22.
- KES 1,501 to 2,500: KES 32.
- KES 2,501 to 3,500: KES 43.
- KES 3,501 to 5,000: KES 55.
Full band-by-band table in our M-PESA charges 2026 guide. The customer pays nothing. You (the merchant) absorb the fee on settlement.
Setup steps
Full walkthrough in how to register an M-PESA till (2026). The condensed version:
- Company or sole-prop KRA PIN, business permit, business bank account.
- Apply via the Safaricom Business app, m-pesaforbusiness.co.ke, or a Safaricom Shop.
- Sign the Lipa na M-PESA merchant agreement. Approval in 5 to 7 working days.
- Receive till number and PIN. Link settlement bank.
- Print till number at every counter. Train staff on the confirmation-SMS check.
Reconciliation notes specific to retail
The classic retail failure mode is the shift handover. Morning staff clocks out, the till drawer contains cash plus SMS confirmations on the till line, and evening staff takes over without a clean cut-off. Do this:
- End of every shift, take a screenshot of the running till balance from the Business app.
- Reset an internal shift counter (a simple ruled book works). Cash count + M-PESA delta = expected sales for the shift, subject to any refunds.
- Weekly, download the till statement CSV and match against stock movement. Any gap over 1 percent is worth investigating.
- Never let staff use their personal phone to accept M-PESA on your behalf. This is the single biggest source of shrinkage in Kenyan retail.
Common problems and how to fix them
- Customer paid but no SMS arrived. Check the till statement in the Business app or dial
*234#. If the M-PESA network was up, the payment landed. Give the customer their goods, then follow up. - Wrong till number entered. Customer paid to a nearby duka. The other merchant must reverse (call Safaricom 234 to initiate). Turnaround is 24 to 48 hours.
- Duplicate charge. Customer thinks the first attempt failed, pays again. Reverse the second one through *234# option 4.
- Staff pocketing payments to a personal number. Fix with signage, PIN control, and the daily shift reconciliation above. Do not rely on trust alone.
- Till PIN lockout. The Business app lets the owner reset the operator PIN without a shop visit.
KRA and eTIMS implications for retail
Every M-PESA sale is a taxable sale. KRA has direct visibility into merchant tills through the Safaricom data-share agreement introduced in 2024. Do not assume you can under-declare. The practical rules:
- Turnover under KES 1 million a year. No mandatory turnover-tax or VAT registration. Keep records anyway.
- Turnover KES 1 million to 25 million. Turnover-tax at 3 percent of gross monthly sales, filed by the 20th of the next month via iTax.
- Turnover above KES 5 million. VAT registration is mandatory. Every M-PESA sale needs an eTIMS invoice. Use eTIMS Lite (USSD/app) or a certified TIMS device.
- Corporation tax for limited companies, 30 percent on taxable profit, filed annually.
Worked example: a KES 900,000-a-month Nairobi duka
Imagine a shop in Kayole doing about KES 900,000 in M-PESA sales per month, split across the Buy Goods bands as follows. This is a realistic profile from a real duka we walked through:
| Band | Tickets / month | Avg ticket | Fee per ticket | Monthly M-PESA cost |
|---|---|---|---|---|
| KES 101 to 500 (sachet groceries, phone credit) | 900 | KES 250 | KES 5 | KES 4,500 |
| KES 501 to 1,000 (small basket) | 400 | KES 700 | KES 11 | KES 4,400 |
| KES 1,001 to 1,500 (family shop) | 200 | KES 1,200 | KES 22 | KES 4,400 |
| KES 1,501 to 2,500 (bulk pack) | 80 | KES 2,000 | KES 32 | KES 2,560 |
| Total | 1,580 | KES 570 avg | KES 15,860 |
M-PESA cost is roughly 1.76 percent of monthly M-PESA turnover at this profile. Card processing (Visa or Mastercard) at 2.5 to 3.5 percent + terminal rent would run about KES 25,000 to KES 32,000 for the same volume. The till pays for itself many times over.
More business rail guides
Curated external sources we cite. Open in a new tab.
M-Pesa Buy Goods (Till) Calculator
Till number transaction calculator from a merchant perspective.
mpesa.or.ke · calculator
Fuliza for Business Calculator
B2B Fuliza fees for merchants who use Fuliza for Business.
mpesa.or.ke · calculator
M-Pesa Bulk Payments Calculator
B2C bulk-disbursement fees for businesses paying many recipients.
mpesa.or.ke · calculator
Next in the series: M-PESA for restaurants and cafes · M-PESA for online businesses · M-PESA for schools · Business hub.