How to Accept M-Pesa Payments on Invoices in Kenya (Step-by-Step Guide)
If you run a business in Kenya, you already know one thing: M-Pesa is king.
From small shops to large enterprises, most customers prefer paying via M-Pesa because it’s fast, convenient, and widely trusted. But here’s the problem many businesses face:
Clients delay payments
You have to manually follow up
Payment confirmations take time
Reconciling payments with invoices is messy
This is where invoice automation with M-Pesa integration comes in.
In this guide, you’ll learn how to accept M-Pesa payments directly from invoices using tools like Zoho Books — and how to fully automate your payment process.
Why M-Pesa Is Essential for Kenyan Businesses
M-Pesa is not just a payment method — it’s the backbone of Kenya’s digital economy.
Key reasons why every business should integrate M-Pesa:
✔ Over 90% of Kenyan adults use M-Pesa
✔ Customers prefer mobile payments over cash
✔ Payments are instant and secure
✔ Works across all business sizes
If your invoices don’t support M-Pesa directly, you’re:
❌ Making it harder for clients to pay
❌ Increasing delays in cash flow
❌ Losing potential revenue
What Is Invoice Payment Automation?
Invoice payment automation means:
👉 Your client receives an invoice
👉 They click a “Pay Now” button
👉 Enter their phone number
👉 Get an M-Pesa prompt (STK Push)
👉 Enter their PIN
👉 Payment is confirmed instantly
And the best part?
✔ The system automatically marks the invoice as PAID
✔ No manual confirmation needed
✔ No back-and-forth communication
Tools That Support M-Pesa Invoice Payments
To achieve this, you need software that supports:
Invoice creation
Payment gateway integration
Automation
One of the best tools for this in Kenya is:
👉 Zoho Books
Why Zoho Books?
✔ Supports M-Pesa integration
✔ Easy to use
✔ Affordable for SMEs
✔ Automates invoicing and accounting
✔ Professional invoice templates
Other tools exist, but Zoho Books stands out because it is well-optimized for Kenyan businesses, especially when it comes to M-Pesa.
Step-by-Step: How to Accept M-Pesa Payments on Invoices
Let’s break it down into simple steps.
Step 1: Set Up Your Zoho Books Account
First, create your Zoho Books account and configure:
Business name
Currency (KES)
Company details
Make sure everything reflects your real business information.
Step 2: Get M-Pesa API Credentials (Daraja)
To enable automated payments, you need access to Safaricom’s Daraja API.
You will need:
Consumer Key
Consumer Secret
Passkey
Business Shortcode (Paybill recommended)
👉 Important:
Use a Paybill (Business Shortcode) instead of a Till number for best results.
Step 3: Connect M-Pesa to Zoho Books
Inside Zoho Books:
Go to Settings
Click Online Payments
Select M-Pesa (Safaricom)
Enter your API credentials
Save configuration
Once done, your system is now ready to accept payments.
Step 4: Create an Invoice
Now create a professional invoice:
Add customer details
Add products/services
Set amount
Add due date
Make sure:
✔ M-Pesa payment option is enabled
Step 5: Send Invoice to Client
Send the invoice via:
Email
Link
Your client will receive a message with a “Pay Now” button.
Step 6: Customer Pays via STK Push
Here’s what happens on the client’s side:
They click Pay Now
Enter their phone number
Receive M-Pesa prompt
Enter PIN
Payment is completed instantly.
Step 7: Automatic Payment Confirmation
Once payment is made:
✔ Invoice is marked as PAID
✔ Transaction is recorded
✔ No manual work required
This is where the real power of automation comes in.
Paybill vs Till: Which One Should You Use?
This is a common question in Kenya.
Paybill (Recommended)
✔ Supports account/reference number
✔ Easier to match payments to invoices
✔ Fully compatible with automation systems
✔ Works perfectly with Zoho Books
Till Number (Buy Goods)
❌ No reference field
❌ Harder to match payments
❌ Not always reliable for automation
Final Recommendation:
👉 Use Paybill for business automation and invoicing
Benefits of Accepting M-Pesa Payments on Invoices
1. Faster Payments
Clients can pay instantly — no delays, no excuses.
2. Improved Cash Flow
You receive money quicker, helping your business grow.
3. Professional Image
Your business looks modern and trustworthy.
4. Reduced Manual Work
No more:
Checking messages
Matching payments manually
Following up clients
5. Better Record Keeping
All transactions are tracked automatically.
Common Mistakes to Avoid
❌ Using Manual Payment Instructions Only
“Send to Paybill 123456…” is outdated and inefficient.
❌ Not Automating Invoice Tracking
Manual tracking leads to errors and missed payments.
❌ Using Till Instead of Paybill
This can break your automation workflow.
❌ Skipping Customer Experience
Make it easy for customers to pay — one click is all it should take.
❌ Not Training Your Team
Ensure everyone understands how the system works.
