How to record M-Pesa payments so your books match your statement
References, transaction codes, charges and a simple reconciliation routine for paybill and till payments.
M-Pesa is how most Kenyan customers pay. It's fast and convenient, but it creates a bookkeeping problem: dozens of small payments a day, from phone numbers rather than customer names, often with no clear reference to what they're paying for.
If your M-Pesa receipts aren't recorded properly, your books won't match your statement, and you won't know who has paid.
Ask customers to quote a reference
On a paybill, customers type an account number. Use it: ask them to enter the invoice number or their customer code. On your invoices, print the paybill number and the account reference to use.
A till number has no account field, so payments arrive with only a name and phone number. For credit customers, a paybill is easier to reconcile.
Record every payment the same day
Each M-Pesa payment should be recorded as a receipt, with:
- the customer who paid,
- the M-Pesa transaction code (for example, QJK7XY2ABC) as the reference,
- the amount and date,
- and the invoice or invoices it pays.
The transaction code matters most. It's unique, so it prevents the same payment being recorded twice, and it lets anyone find the payment on your M-Pesa statement in seconds.
Treat your M-Pesa account like a bank account
In your books, your paybill or till should have its own account, separate from your bank and petty cash. Money in from customers increases it; transfers to your bank reduce it; Safaricom charges are recorded as an expense.
Then, every week or month, reconcile it: match each line on your M-Pesa statement to a receipt or transfer in your books. Anything left over is either a payment you haven't recorded, or a charge you haven't booked.
Don't forget the charges
Transaction charges and withdrawal fees are small, but over a month they add up, and if you don't record them your M-Pesa balance in the books will drift above the real one. Record them as bank charges.
Payments from unknown numbers
When a payment arrives and you can't tell who it's from, don't guess. Record it to a holding account (often called "unidentified receipts"), message the number to ask what it's for, then move it to the right customer once you know.
How SooBooks helps
SooBooks keeps M-Pesa as its own account in your books. Customers can pay invoices from an M-Pesa prompt on their phone and the payment is recorded against that invoice automatically. Receipts entered by hand take the M-Pesa code as their reference, and the POS records M-Pesa payments at the till. Bank reconciliation lets you match your M-Pesa statement line by line.