Achekam

Kenyan school fees paid to your M-Pesa paybill

How a Kenyan school can have M-Pesa paybill fee payments matched to the right invoice, what waits for a person, and when to send a prompt instead.

By Achekam · · 4 min read · For Education businesses in Kenya

school fees paybill M-Pesa reconciliation

Ask any bursar in Kenya what the first week of term looks like and the answer is the same: an M-Pesa statement hundreds of lines long, and a fee register that has to be updated from it by hand. Parents type whatever they think of in the account field. One uses the admission number, another the child's first name, a third simply writes "fees". Each line has to be traced to a family before the register is right, and until it is, the school cannot say who has paid.

Most of that work disappears when the paybill and the fee invoices speak the same language. This article explains how to set that up in Achekam, what still needs a person, and the other ways a shilling invoice can be settled.

Register the paybill or till once, properly

Achekam can register your school's paybill or Buy Goods till so that Safaricom tells Achekam about every payment made to it. Two things have to be in place first.

  • Go-Live with Safaricom. To take M-Pesa in production, the school completes Safaricom's Go-Live for its short code and then enters its own production short code, passkey and Daraja keys in Achekam. Safaricom e-mails the production passkey after Go-Live. The steps are covered in more detail in going live with M-Pesa in Kenya.
  • One registration per short code. Registering the address Safaricom sends notifications to is a one-time step per short code. Changing it later needs two operators in the M-Pesa org portal, so decide who those two people are before you start. Safaricom's Daraja page on Customer To Business (C2B) sets out the rules those notification addresses must follow, the one-time production registration and the go-live steps.

Safaricom does not sign these payment notifications. Achekam protects them with a secret address and by checking that they come from Safaricom's own source addresses.

Parents quote the invoice number as the account

The matching rule is simple, and it is the whole trick: a payment that quotes an open shilling invoice number as its account number is receipted against that invoice automatically. The parent pays, the invoice shows the payment, and the bursar does nothing.

The rule is the invoice number, not the admission number, not the child's name and not the class. So the message to parents has to be just as simple:

  • Put the invoice number at the top of the fee letter and in the e-mail that carries the invoice, with the paybill number beside it.
  • Say plainly: "Account number: your invoice number, exactly as printed."
  • Where one family has two children with two invoices, ask for two payments, one per invoice number.
  • Repeat it on every statement, because the parent who reads the instruction in January has forgotten it by May.

Expect most, not all, parents to follow it. That is why the next step matters.

The payments that wait for a person

Any payment that does not quote an open invoice number is not guessed at. It waits in a list, a suspense list, for a person to allocate. That covers payments quoting an admission number, a name, a typo in the invoice number, or the number of an invoice that has already been paid in full.

Leaving those for the end of term rebuilds the old problem. A short daily routine keeps the list small:

  1. Open the waiting list each morning.
  2. For each payment, look at the phone number and the account text the parent typed. Most can be placed at a glance.
  3. Allocate it to the right family's invoice. If one payment covers two children, it can be spread across both invoices.
  4. Where you cannot tell, phone the number before allocating anything.
  5. If a parent paid more than the invoice needs, the surplus stays as credit on their account; see what to do with overpaid fees.

Sending a prompt to the parent's phone instead

Sometimes a parent is at the front desk, or on the phone, and wants to pay there and then. Rather than reading the paybill number aloud, the bursar can send an M-Pesa payment prompt to the parent's phone for the shilling invoice, to the school's paybill or till. The parent enters their PIN and the payment is confirmed with Safaricom before it counts on the invoice.

A few details to know before you rely on prompts:

  • Whole shillings only. The prompt requests whole shillings. Any cents on the invoice stay due, so a fee set with cents leaves a small balance behind. Pricing fees in whole shillings avoids that.
  • One prompt a minute per phone. If the parent dismisses the first prompt, wait before sending another to the same number.
  • Late notifications are still caught. If Safaricom's notification never arrives, Achekam still picks the payment up, because the server asks M-Pesa about open payments on a schedule and while the pay page is open.

Other ways a shilling invoice can be paid

Not every parent pays by M-Pesa, and sponsors and employers often pay by transfer. A shilling invoice in Achekam can be paid through M-Pesa, Pesapal, Paystack, Flutterwave, Peach or a bank transfer, provided the school has set up that gateway with its own account. A gateway that does not settle shillings is refused for a shilling invoice.

Refunds work differently from payments. Achekam does not refund or reverse M-Pesa payments: the school makes the refund in its M-Pesa org portal and then records it in Achekam, so the parent's account and the books agree.

What to do this week

Before next term's invoices go out, confirm your Go-Live status and keys, register the paybill, and rewrite the fee letter so the invoice number is impossible to miss. Then pick the person who clears the waiting list each morning. The first term will still need some phone calls; by the second, the register should largely keep itself.

General guidance only, not advice on your own circumstances. Tax and payroll rules change: check the current position with the authority or your adviser.

Related articles

More on Education

See how Achekam handles it with your own records: create your account