Insights · Collections
How to reconcile M-Pesa paybill payments
A practical M-Pesa statement reconciliation routine for Kenyan businesses - review customer matches, resolve unclear references and keep receipts and balances accurate.
On this page 6 sections
To reconcile M-Pesa paybill payments, compare the provider's statement with your customer records, review the proposed matches and record only payments you can identify. Keep unresolved receipts visible until you have enough evidence to place them.
This guide is for Kenyan water schemes, waste collectors and invoicing businesses receiving payments against customer accounts. It covers a statement-based routine, including the checks that prevent duplicate receipts and mistaken reminders.
Make the payment reference easy to use
Put the customer's account number or the invoice number beside the paybill on every bill and reminder. Use the same reference consistently so customers do not have to choose between a house number, a meter number and a nickname.
| Reference on the payment | What to check |
|---|---|
WTR-0142 |
Confirm the corresponding account and its unpaid charges |
INV-202610-0031 |
Confirm the invoice and remaining balance |
0142 jay |
Check with the customer; do not assume it is an exact account match |
water |
Ask for the transaction receipt and the account being paid |
| A phone number | Verify whose account was paid, especially if someone paid for a relative |
A reference can help identify a payment, but it is not proof on its own. Amount, receipt number and customer confirmation can all matter when a row is ambiguous.
Download the provider's statement
Use the M-Pesa business statement for the period you are reconciling. SMS alerts are useful notifications, but they are not a substitute for reviewing the full account activity.
Keep the original statement. Note the covered dates, opening and closing balances, charges and reversals. A payment import helps update customer records; checking the provider balance is a separate part of reconciliation.
Choose a regular schedule that fits your volume. Weekly reviews can keep the exceptions manageable. If you download overlapping periods, check that receipts already recorded are not entered again.
Review matches before recording payments
BillGrid's statement import helps identify customer payments and surfaces rows needing attention. Review the customer, invoice or account, amount and receipt before confirming the payments.
Illustrative statement row. Receipt EXAMPLE001 shows KES 2,350 paid against reference WTR-0142. Confirm it belongs to that account, check whether it is already recorded and review how it will affect the balance. If the reference is unclear, leave it unresolved while you ask the payer. These details are examples, not an actual M-Pesa receipt.
Don't assume a shortened, misspelled or annotated account reference will match automatically. Check the proposed result. For customers with several services, review which account or invoice received the payment rather than assuming every balance has cleared.
Deal with exceptions explicitly
The amount exceeds the bill
Confirm whether it covers several bills, an advance or a mistaken payment. Record the confirmed payment against the appropriate account or invoice, and check where the remaining credit sits. Do not promise a cash refund or automatically transfer it to another person's account.
The amount is below the bill
Record a confirmed part-payment and check the balance still due. Waiting for the second payment makes it harder to explain the account history.
Nobody recognizes the payment
Keep it unresolved, retain the statement row and contact the customer when there is a credible lead. Do not assign a payment merely because its amount resembles someone's balance. Avoid posting payer details in a public group to find the owner.
The row is not a customer payment
An owner top-up, provider charge, supplier payment or reversal needs its own treatment. Do not force it onto an invoice to make the customer-payment list shorter. A reversal also needs checking against any receipt already recorded.
Confirm receipts and balances
After recording a payment, check that the customer balance and receipt agree with what you confirmed. Send receipts through the channels available for that customer. When importing historical records, avoid sending duplicate notifications for payments already acknowledged.
Compare the amount applied to invoices with the money received. They need not be equal: advances may remain as credit, and some receipts may settle older bills.
Keep a regular reconciliation routine
| Task | Check before finishing |
|---|---|
| Download the statement | The dates cover the whole review period |
| Review proposed matches | Customer, account, amount and receipt make sense |
| Investigate exceptions | Unresolved and non-customer rows remain identifiable |
| Record confirmed payments | No receipt is counted twice |
| Review the balances | Advances, allocations, charges and reversals are understood |
| Send receipts | The customer receives an accurate acknowledgement |
This describes BillGrid's statement-based workflow, not a limitation of M-Pesa itself. Other payment setups can provide direct transaction notifications. For the differences between ways to pay, read M-Pesa STK push, pay links or paybill, or explore collections.