A Kenyan restaurant, whether a Westlands bistro, a Kilifi beach shack, or an Eldoret nyama choma joint, has a payment pattern the retail duka does not: the customer eats first and pays after, orders can be split across diners, and tips are part of the flow. This guide addresses that shape. If you also do delivery, add the online-business rail on top, see M-PESA for online businesses.
What a restaurant actually needs from M-PESA
- Post-consumption payment. The waiter reads out the till, the diner pays, the confirmation SMS lands before the diner walks out. Any friction here costs you the tip and the return visit.
- Table matching. The bill sits on the table. The M-PESA settlement lands on your phone. You need a bridge.
- Split bills and multiple senders. A four-person table might pay in three transactions of KES 900, KES 900, and KES 1,800. Your rail must handle that cleanly.
- Tips as a separate flow. Not part of the KRA-taxable sale, but staff want them fast.
- Tab or bar credit patterns. Some venues run a tab that the customer closes at the end. This is where a POS-to-M-PESA integration earns its rent.
Recommended setup: till, POS, paybill, or Pochi
- Buy Goods till alone. Fine for a small cafe or coffee-shop. Waiters read the till, customers pay, staff confirm on the till line.
- Buy Goods till + POS integration (recommended for a full restaurant). The POS (Zed, Craft Silicon iVeri, Pesapal Sabi, Kwara for members-owned) creates the bill with a unique reference. The customer scans a QR or types the till plus reference. Settlement lands with metadata that maps 1:1 to a closed bill.
- Paybill. Only useful if you also invoice for events, weddings, or corporate catering. Not a good primary rail for dine-in because senders pay a fee.
- Pochi la Biashara. Only for a one-person hawker-style setup (a mama mboga running a mkokoteni-and-kiosk lunch stall, say). See Pochi complete guide. Not for a proper restaurant.
Charges you will actually pay
On Buy Goods, the customer pays zero. The merchant fee band for a typical restaurant bill (KES 1,001 to 2,500) is KES 22 to KES 32 per transaction. Full band-by-band table in M-PESA charges 2026.
Setup steps
Condensed. Full walkthrough in how to register an M-PESA till (2026).
- Get KRA PIN, county Single Business Permit, health inspection certificate, and business bank account.
- Apply for a Buy Goods till through the Safaricom Business app, m-pesaforbusiness.co.ke, or a Safaricom Shop.
- Sign the Lipa na M-PESA merchant agreement.
- If integrating a POS, tell the till registration officer up front: they will provision the API keys the POS vendor needs.
- Live in 5 to 7 working days. Print the till at every table, on the bill, and behind the bar.
Reconciliation notes specific to restaurants
Restaurants have three reconciliation pain points that retail does not. Solve them deliberately:
- Table-number matching. Two working patterns: (1) the shilling-suffix pattern, KES 2,405 = table 5, KES 2,412 = table 12. Free, works with a plain till. (2) POS-integrated QR code with the bill number encoded. Better data, needs vendor spend.
- Split-bill reconciliation. Do not force the diners into a single sender. Accept two or three payments to the till. Cross-check the sum matches the bill before releasing the table.
- Shift close. A restaurant shift covers lunch or dinner. At close, screenshot the running till balance, subtract the opening balance from the shift, compare with the tally roll. Anything over 1 percent variance goes into a variance log for the owner.
Tips, service charge, and staff pay-outs
Tips are the most misunderstood M-PESA flow in Kenyan hospitality. Two clean patterns:
- Cash tips. Simple. Cash box, end-of-shift distribution. Not on the till, not in the till reconciliation. Not taxable at your (owner) end.
- M-PESA tip added to the bill. Diner adds KES 200 to the KES 2,400 bill. The KES 2,600 lands on the till. The manager pays out KES 200 in cash at end of shift, tagged in the shift log. This keeps the tip out of the KRA-taxable revenue.
Avoid letting waiters take tips to their personal M-PESA on the same payment as the bill (i.e. bill goes to till, tip goes to waiter's personal number). That is the pattern that leaks the bill to the waiter, not just the tip.
Common problems and how to fix them
- Diner walks before the SMS lands. M-PESA is normally instant, but network dips at peak hours happen. Waiters can dial *234# to confirm the till balance in real time. If the network is down, take the diner's phone number and a copy of the M-PESA transaction ID.
- Wrong amount sent. Diner meant KES 2,412 (table 12) but sent KES 2,142. If under, ask for a top-up. If over, refund cash from the till at the end of the meal.
- Diner sent to a similar till number. The other merchant has to reverse. Meanwhile, the diner may need to pay you again and get refunded later. Print the till number in big, clear font.
- Peak-hour queue at the counter. A POS-integrated bar-code / QR flow removes the "waiter reads out digits" step. Worth the vendor cost above about 200 covers a day.
- Complaints about slow settlement. Buy Goods settles T+1 to your bank by default. Turn on instant settlement in the Business app if you need cash for daily supplier restocking.
KRA and eTIMS for hospitality
Restaurants cross the VAT threshold (KES 5 million turnover) fast, especially any venue serving alcohol. Once VAT-registered:
- Every bill needs an eTIMS invoice. The POS must integrate with the TIMS device or eTIMS API.
- VAT is 16 percent on food service; alcoholic drinks carry additional excise (specific rates per litre).
- The catering levy (2 percent of turnover) applies to any classified restaurant.
- Corporation tax for limited companies is 30 percent on taxable profit.
- PAYE, NSSF, SHIF, and Housing Levy apply to your staff.
Under the VAT threshold (small cafe, kibanda), turnover-tax at 3 percent of gross sales applies from KES 1 million upwards, filed monthly on iTax by the 20th.
Worked example: a KES 1.8M-a-month Westlands bistro
A 45-cover bistro doing lunch + dinner, six days a week, average of 60 covers a day. Split of tickets across bands:
| Band | Tickets / month | Avg ticket | Fee per ticket | Monthly M-PESA cost |
|---|---|---|---|---|
| KES 101 to 500 (coffee, single drink) | 250 | KES 350 | KES 5 | KES 1,250 |
| KES 501 to 1,000 (lunch plate) | 400 | KES 750 | KES 11 | KES 4,400 |
| KES 1,001 to 1,500 (dinner for one) | 350 | KES 1,300 | KES 22 | KES 7,700 |
| KES 1,501 to 2,500 (dinner for two) | 280 | KES 2,100 | KES 32 | KES 8,960 |
| KES 2,501 to 3,500 (drinks + food, group) | 150 | KES 3,000 | KES 43 | KES 6,450 |
| Total | 1,430 | KES 1,260 avg | KES 28,760 |
M-PESA cost as a share of M-PESA turnover: about 1.6 percent. A Visa or Mastercard mix at 2.75 percent average on the same KES 1.8M would cost KES 49,500, excluding the KES 3,000 to KES 5,000 monthly terminal rental. The till (plus optional POS integration at KES 2,000 to KES 4,000 monthly) is materially cheaper.
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
See also: M-PESA for retail shops · M-PESA for salons and barbershops · Business hub.