Frappe Mpesa Payments
Frappe Mpesa Payments is a custom Frappe application that integrates with Safaricom's Daraja API to bring M-Pesa payment capabilities directly into ERPNext. It is designed for Kenyan businesses that want to automate payment collection from customers and disbursements to suppliers and employees without leaving their ERP system.
What This App Does
The app extends ERPNext with four core payment capabilities:
- Mpesa Express (STK Push): Trigger a payment prompt on a customer's phone directly from a Sales Invoice, Sales Order, or POS session.
- C2B (Customer to Business): Receive and automatically reconcile incoming M-Pesa payments made to your Paybill or Till number.
- B2C (Business to Customer): Disburse payments to employees, suppliers, and borrowers directly to their M-Pesa accounts.
- Transaction Status: Query the real-time status of any M-Pesa transaction using its receipt number.
Who It Is For
This application is intended for ERPNext users operating in Kenya who process payments through Safaricom M-Pesa. It is particularly useful for:
- Businesses collecting payments via Paybill or Till numbers
- Finance teams running payroll or supplier disbursements
- Operations teams needing real-time payment reconciliation
Where to Go Next
| Topic | Description |
|---|---|
| Prerequisites & Dependencies | What you need before installing |
| Installation | How to install on Frappe Cloud or a self-hosted instance |
| Configuration | Setting up Mpesa Settings and Daraja credentials |
| Mpesa Express (STK Push) | Trigger payment prompts from invoices and orders |
| C2B Payments | Receive and reconcile incoming customer payments |
| B2C Disbursements | Pay employees, suppliers, and borrowers via M-Pesa |
| Payment Reconciliation | Match draft Mpesa payments to outstanding invoices |
| Transaction Status Query | Look up the status of any M-Pesa transaction |
| Key DocTypes Reference | Technical reference for all DocTypes in the app |
| Security | How credentials and tokens are managed |
| Troubleshooting | Common problems and how to resolve them |
Last updated 1 day ago
Was this helpful?