Skip to main content

Integrations / Safaricom M-Pesa Daraja

M-Pesa integration for ERPNext, reconciled to the ledger

STK Push at the till, C2B collections that reconcile themselves to Payment Entries, and B2C payouts, all posting to the real ledger instead of a side spreadsheet.

SafaricomM-Pesa DarajaIn production

Why this matters now

Mobile money is the dominant payment rail in East African B2C, but most businesses reconcile M-Pesa statements to their books by hand at month end. Unmatched collections become revenue leakage and audit findings.

What the integration covers

STK Push at point of sale

Customer-initiated payment prompts from POS and invoices, with the confirmation callback matched to the sale automatically.

C2B auto-reconciliation

Paybill and till collections post as Payment Entries against the right customer and invoice. The Kimzone Autospares implementation reconciles M-Pesa C2B automatically across 35,000+ SKUs of trade.

B2C payouts

Refunds, farmer settlements and supplier payouts initiated from ERPNext with approval workflows and full audit trail.

Bank transfer support

Stanbic bank transfer integration alongside Daraja, so mobile money and bank rails live in one payments layer.

Ledger-first design

Every movement is a real Payment Entry or Journal Entry. Reconciliation reports show unmatched items daily, not at month end.

How we deliver

From discovery to verified go-live

01

Daraja onboarding

We register or configure your Daraja app, shortcodes and callbacks with Safaricom, including the security credentials for production.

02

Flow mapping

STK, C2B and B2C flows are mapped to your document types: which collections settle which invoices, and who approves payouts.

03

Sandbox validation

Every flow is exercised against the Daraja sandbox with callback handling, duplicate protection and timeout behaviour verified.

04

Go-live and reconciliation

Production cutover with daily reconciliation reports comparing M-Pesa statements to ledger entries from day one.

Frequently asked questions

Does this work outside Kenya?

M-Pesa Daraja covers Safaricom markets, and the same payments layer supports other rails per country: MTN MoMo and Airtel Money integrations follow the same ledger-first pattern. We scope the right rail per market during discovery.

How are duplicate or orphan payments handled?

Callbacks are idempotent, and collections that cannot be matched to an invoice or customer land in a suspense workflow for review instead of disappearing. Daily reconciliation reports surface unmatched items immediately.

Is this in production today?

Yes. Kimzone Autospares runs M-Pesa C2B auto-reconciliation live, and Toysam Distributors runs the integrated POS stack. Both case studies are published with the operational details.

Scope your M-Pesa Daraja integration

A discovery call covers your document flows, registration status with Safaricom, and a delivery plan with verification criteria. We reply within one working day.

Book a Call