How to collect rent by M-Pesa Paybill and match every payment
Most tenants in Kenya already pay rent by M-Pesa. The hard part is not receiving the money, it is knowing who paid, for which house, and for which month. If you have ever scrolled through M-Pesa messages at the end of the month trying to match "KES 12,000 from JOHN" to a unit, this guide is for you.
Paybill, Till or personal number?
- Personal M-Pesa number: easy to start, but every payment looks the same and tenants send money with no reference. Fine for two or three units, painful after that.
- Till number (Buy Goods): no account number field, so you can only identify the tenant by the phone number that paid. Works if each tenant always pays from the same phone.
- Paybill: the tenant enters an account number with every payment. This is the best option for rent because the account number tells you exactly which unit the money is for.
Safaricom issues Paybill and Till numbers to registered businesses. If you manage property through a company or a registered business name, apply through Safaricom's M-Pesa for Business channels.
Use the unit number as the account number
Tenants make fewer mistakes when the account number is short and already familiar. The house or unit number ("A4", "B12", "G7") works far better than a tenant ID or a long code. Put it on the tenancy agreement, on the invoice and on a sticker inside the door.
In the app every active lease gets an account number (the unit number by default). It is printed on every invoice and reminder, so tenants always see the right Paybill and account number.
Matching payments automatically
When your Paybill is connected through Safaricom's Daraja API, Safaricom sends a notification for every payment: amount, M-Pesa code, phone number and the account number the tenant typed. A rent system can then:
- Look up the active lease with that account number.
- If the account number is wrong, try the phone number that paid against your tenants' phone numbers.
- Apply the money to the tenant's oldest unpaid invoice first, and keep any overpayment as credit for next month.
- Email the tenant a receipt with their new balance.
Anything that cannot be matched (a stranger's payment, a typo in both account and phone) should wait in a review list rather than being guessed. You assign it to the right tenant in one click and the receipt goes out then.
Let tenants pay from a prompt
With Lipa na M-Pesa Online (often called STK push), the tenant taps Pay in their portal and an M-Pesa prompt appears on their phone with your Paybill, the account number and the amount already filled in. They only enter their PIN. This removes typing mistakes completely.
Cash and bank payments still count
Some tenants will always pay cash to the caretaker or deposit at the bank. Record those against the tenant with the receipt or bank reference so balances stay correct. For M-Pesa payments you record by hand, always capture the 10-character M-Pesa code so the same payment can never be entered twice.
Checklist
- Get a Paybill registered to your business.
- Give every unit a short, unique account number.
- Connect the Paybill to your rent system with Daraja keys (see how to get Daraja keys).
- Send invoices that show the Paybill and account number every month.
- Review unmatched payments weekly.
Try it free
Invoices, M-Pesa to your own Paybill, reminders and caretaker access. Free for up to 10 units.
Create your free account