Reconciling thousands of M-Pesa payments a day
A national distributor collects most of its payments from retailers through M-Pesa Paybill.
Use case · how we solve it 01 · The challenge
What holds organisations back.
- Finance teams matching payments by hand
- Customer credit held up for days
- Month-end close stretching over a week
02 · The solution
PayLink: M-Pesa & bank reconciliation.
M-Pesa and bank payments matched to invoices and posted to your ERP automatically.
03 · How it works
About PayLink The architecture.
- 1M-Pesa notifies the gateway of each payment
HTTPS callback · JSON - 2Bank statements arrive every 15 minutes
SFTP / H2H · MT940 - 3Payments are published as events
Kafka · at-least-once - 4The matching engine consumes each event
Consumer group - 5Every decision is stored for audit
SQL · immutable log - 6Cleared items post to the general ledger
OData · idempotent - 7Exceptions surface for finance review
Near real time
04 · How we deliver
Our lifecycle, step by step.
- Understand
Map payment flows and matching rules
- Design
Connect M-Pesa Daraja and bank feeds
- Develop
Automate matching and ERP posting
- Review & test
Test with months of historical transactions
- Deploy & manage
Go-live with hypercare, then 24×7 support and monthly reviews.
05 · What changes Target outcomes for this scenario. Actual results depend on each organisation's volumes and systems.
Automaticmatching, instead of days by hand
Same daycustomer credit release
1 queuefor true exceptions only
Facing the same challenge?
Book a free discovery call. We'll listen, ask the right questions and suggest a clear next step.