Skip to content
Guide

How M-Pesa paybills actually work

The technical and regulatory anatomy of a Kenyan paybill: settlement flow, why fees vary by transaction size, the difference between Paybill and Buy Goods, and how account formats are decided.

9 min read Updated 26 April 2026by paybillke editorial

Most Kenyans use paybills several times a month without ever wondering what happens between pressing send and the SMS confirmation. The mechanics matter — they explain why fees vary with amount, why some paybills are free, why account-number formats differ between KPLC and a school, and why some paybills work on Airtel Money and others don't.

Three different products under one menu

The Lipa na M-Pesa menu has three distinct payment surfaces, and the difference matters a lot more than the UI suggests:

  • Pay Bill — 6 to 7 digit business numbers used for billing. The customer pays the M-Pesa fee. This is what KPLC, banks, government services, schools, and Sportybet use.
  • Buy Goods and Services (Till) — 5 to 7 digit numbers used at retail merchants. The merchant pays the M-Pesa fee. This is what Naivas, Carrefour, restaurants, and most physical merchants use.
  • Pochi la Biashara — Safaricom's personal till for individual sellers — boda riders, side hustles, small home businesses. Linked to a personal phone number rather than a business registration.

Picking the wrong one matters. Sending to a Till expecting it to work like a Paybill (with an account number) won't deliver the right result. The directory pages on paybillke tag every entry with its primary type so you don't have to guess.

What actually happens when you press send

From the moment you press send to the moment the recipient sees the money, four things happen in roughly one second:

  1. Your phone sends a USSD or app instruction to Safaricom's M-Pesa gateway.
  2. The gateway debits your M-Pesa wallet (the digital float held against a trust account at KCB), applies the transaction fee, and sends an SMS confirmation back to you with a unique transaction code (e.g., ABC12DEF345).
  3. The gateway credits the receiving paybill's settlement account at the merchant's partner bank. For paybill 888880 (KPLC), that account is held at a specific commercial bank under KPLC's name. For Equity's Eazzy Pay paybill 247247, it's an internal Equity account.
  4. The merchant's system polls the gateway, sees your transaction, marks the corresponding bill as paid (matching by your account-number reference), and ideally sends you a receipt.

Step 4 is where most paybill problems live. If you used the wrong account number — typed your meter number wrong, used your old account number, or paid with a different family member's reference — the paybill operator received the money but doesn't know what bill to clear. It sits in suspense until you call them with your transaction code.

Why fees are bracketed (and why Paybill costs less than Send Money)

M-Pesa fees aren't a percentage — they're bucketed by amount. Send any amount between KES 501 and KES 1,000 to another M-Pesa user and the fee is KES 13. Send any amount between KES 1,001 and KES 1,500 and it's KES 23. The brackets are an artifact of how Safaricom originally set up the system and have stuck through every revision.

Crucially, Paybill fees are lower than Send Money fees for the same amount. That's because the receiving business pays a portion of the cost as part of their merchant agreement with Safaricom — they want to make it cheap for you to pay them. Buy Goods (Till) is free to the customer for the same reason taken to its conclusion: the merchant pays the whole thing.

Calculator preview

What Paybill costs in 2026

AmountM-Pesa feeTotal cost
KES 50FreeKES 50
KES 200KES 5KES 205
KES 1,000KES 10KES 1,010
KES 5,000KES 34KES 5,034
KES 20,000KES 62KES 20,062
Open full calculator with currency conversion

The 15% excise duty (paid to KRA) is bundled into every fee shown here — what you see is what you pay. Government-classified paybills (KRA, eCitizen, NSSF, HELB, SHA) are zero-rated for excise, which is why some government services show “Free” even at high amounts.

Account-format design — the underrated piece

Every paybill specifies the account-number format it expects. KPLC wants your KPLC account number (printed on the bill). Nairobi Water wants your account number. KRA wants your Payment Registration Number (PRN) from iTax. A university wants your student number. A SACCO wants your member number.

The format isn't arbitrary — it's the matching key the receiving system uses to figure out which bill you're paying. Get it right and the bill clears in seconds. Get it wrong and you're calling support with your transaction code.

Each paybill page on paybillke shows the expected account format with a hint. We also flag entries where the format is unusual — for example, NTSA payments via eCitizen use an eCitizen invoice number, not your driving licence number, even though the service is about your licence.

Why some paybills work on Airtel Money and others don't

Most Kenyan paybills are technically M-Pesa paybills — they were issued by Safaricom under the Lipa na M-Pesa programme. Airtel Money customers can pay them via the cross-network interoperability that Safaricom and Airtel finalised in 2023 — but only if the receiving merchant has explicitly enabled Airtel Money acceptance.

In practice, most major paybills (banks, utilities, government, top-tier betting and lending) have enabled it. Smaller paybills often haven't. The directory shows which networks each paybill accepts — see KPLC for an example with both M-Pesa and Airtel Money, versus a smaller paybill that's M-Pesa-only.

Zero-rated paybills (the “free” ones)

A small number of paybills are zero-rated — meaning Safaricom waives the customer fee entirely. These are typically:

  • Government paybills via eCitizen (paybill 206206) — a deliberate policy decision to remove friction from public-service payments.
  • Specific public-utility partnerships — historically including some KPLC bands.
  • Charity paybills during emergencies — Kenya Red Cross's short code 21000 has been zero-rated during specific national appeals.

Zero-rating isn't announced as policy and isn't guaranteed long-term. The calculator shows the standard 2026 schedule; specific zero-rated arrangements are flagged in the relevant paybill page's notes.

When things go wrong — and what you can do

Two failure modes account for almost all paybill problems:

  1. Wrong account number — money landed at the right paybill, wrong customer. Solution: contact the paybill operator with your M-Pesa transaction code. They can usually re-allocate within 1-3 working days.
  2. Wrong paybill entirely — money landed at a different business. This is much harder. You need to call Safaricom on 100 (free from a Safaricom line) within 7 days to request a reversal. Success isn't guaranteed and depends on whether the receiving paybill has already withdrawn the funds.

Understanding paybills is mostly about understanding which of the three products you're using and what the receiving system expects. The rest is plumbing — well-engineered plumbing, but still plumbing.

Authoritative sources

Curated external sources we cite. Open in a new tab.