Skip to content

Feature

POS with M-Pesa: record the code or send a prompt from the till

Wave POS takes M-Pesa two ways. The cashier can type the M-Pesa code from the customer’s confirmation message into the sale, which works even offline. Or, with the shop’s own ZetuPay account connected, the till sends an M-Pesa prompt (STK push) to the customer’s phone: they enter their PIN and the payment is recorded on the sale by itself.

14 days free · No card needed

At a glance

  • Record the M-Pesa code

    Type the code from the customer’s message into the sale. It works offline, alongside every other payment method.

  • Send an M-Pesa prompt

    The customer enters their PIN on their own phone and the payment lands on the sale by itself.

  • Split payments

    Part cash, part M-Pesa, or any mix of cash, M-Pesa, card, bank, cheque and account in one sale.

  • M-Pesa in every total

    Shift reports, the dashboard and the payments report show M-Pesa apart from cash.

How does a POS take M-Pesa?

In Wave POS, there are two ways: record the payment with its M-Pesa code, or send a prompt from the till so the customer pays on their own phone. Both put the payment on the sale under M-Pesa, so your shift and daily totals show M-Pesa apart from cash.

Most shops use both. Codes work for customers who have already paid to your Till Number or Paybill, and when the internet is down. Prompts save typing and remove wrong amounts when the connection is up. The M-Pesa payments guide compares the ways a shop can take M-Pesa in more detail.

Recording the M-Pesa code at the till

The customer pays to your Till Number or Paybill as they always have, and the cashier types the code from the confirmation message into the sale. The code is optional. If it is typed, Wave POS checks that it looks like an M-Pesa code (such as SJK4H7Y2PL) and keeps it with the payment, where it shows on the sale.

This works offline, because nothing has to reach the internet at that moment. See offline selling for everything else that keeps working when the network drops.

A typed code is a record, not a confirmation. Wave POS does not read your M-Pesa statement, so the cashier should see the payment arrive on the shop’s phone before handing over the goods.

Sending an M-Pesa prompt (STK push) from the till

The cashier enters the customer’s phone number and the amount, the till sends a prompt to that phone, the customer enters their M-Pesa PIN, and the payment is added to the sale on its own. Nobody types a code, and the amount cannot be mistyped by the customer.

  1. Connect your ZetuPay account. ZetuPay is a Kenyan payments provider. The shop connects its own account in Settings, and prompt payments go to that account.
  2. Choose M-Pesa at the till. Enter the customer’s phone number and the amount, and send the prompt.
  3. The customer enters their PIN. The till waits for the answer. When the payment comes through, it is recorded on the sale with its M-Pesa code.
  4. If they cancel or do not answer, the till says so. Send the prompt again, or let the customer pay to your Till Number and type the code instead.

Prompts need an internet connection and are for whole shillings. While the till is offline, the cashier records M-Pesa by code.

Split payments: a worked example

One sale can be paid with several methods, and each part is recorded under its own method. A customer in Eldoret buys:

Item Quantity Price Total
Sugar, 2 kg 3 KSh 290 KSh 870
Cooking oil, 5 litres 2 KSh 1,450 KSh 2,900
Maize flour, 2 kg 4 KSh 180 KSh 720
Sale total KSh 4,490

They pay KSh 1,000 in cash and the rest, KSh 3,490, by M-Pesa prompt. The receipt shows both payments. The cash drawer expects KSh 1,000 more, not KSh 4,490, and the shift report adds KSh 3,490 to M-Pesa. When the cashier counts the drawer at close, M-Pesa never gets mixed into the cash.

Where M-Pesa shows up after the sale

M-Pesa appears in every total that matters, always apart from cash.

  • Shift close. The shift report printed at close lists takings by payment method. The cashier counts only the cash, and you check the M-Pesa figure against your M-Pesa statement. The cash drawer reconciliation guide walks through it.
  • Payments report. What each method took, including M-Pesa, for any dates and branch, exported to Excel, CSV or PDF.
  • Dashboard. Today’s payments by method, next to sales by hour and top products.

Fixing M-Pesa mistakes

Mistakes are corrected, never deleted, so the figures still add up afterwards.

  • A sale charged the wrong way. Void the whole sale, which puts its stock back, or take a return. Refunds can go to any payment method, so a customer who paid by M-Pesa can be refunded the right way.
  • An account payment recorded by mistake. When a customer pays towards their balance and the payment goes on the wrong account or for the wrong amount, it is reversed. The reversal adds the opposite entry and the original stays on the customer’s ledger. More on accounts in customer credit.

You can try both ways of taking M-Pesa on your own shop with a free trial.

Questions

Questions shop owners ask

Can a POS send an M-Pesa STK push?

Yes. Wave POS can send an M-Pesa prompt to the customer’s phone from the till. The customer enters their PIN and the payment is recorded on the sale by itself. It needs an internet connection and the shop’s own ZetuPay account, connected in Settings.

Where does the money from M-Pesa prompts go?

To the shop’s own ZetuPay account. ZetuPay is a Kenyan payments provider, and the shop connects its own account in Settings. Wave POS sends the prompt and records the payment on the sale; the money goes to your account, not through Wave POS.

Can I keep using my Till Number or Paybill?

Yes. Customers keep paying to your Till Number or Paybill, and the cashier types the M-Pesa code into the sale. This works offline too. M-Pesa prompts are an extra way to take payment, through your ZetuPay account, when the till is online.

Does Wave POS confirm typed M-Pesa codes?

No. A typed code is checked only to see that it looks like an M-Pesa code. Wave POS does not read your M-Pesa statement, so confirm the payment on the shop’s phone before handing over goods, or use an M-Pesa prompt, which is recorded only once the customer has paid.

Can a customer pay part cash and part M-Pesa?

Yes. One sale can be split across cash, M-Pesa, card, bank transfer, cheque and customer account. Each part is recorded under its own method, so the drawer expects only the cash part and the shift report shows the M-Pesa part separately.

Anything else? Ask us — we answer on WhatsApp and by email.

Ready when the queue is.

Open your first till today. 14 days free, and your products, sales and settings stay when you choose a plan.