# M-Pesa in B2B: stop reconciling payments from SMS

> The markdown twin of <https://sokisoko.com/blog/mpesa-b2b-payment-reconciliation>, served when a client sends
> `Accept: text/markdown`. Keep it in step with the page.

Published 2026-10-02 by Sokisoko.

Put your paybill, till and bank details on every invoice, let buyers report the M-Pesa or bank reference against that invoice, check each reference once, and let reminders pause by themselves when a buyer names a date. Reconciliation then becomes a short queue to confirm instead of an evening with a phone full of SMS.

## Why B2B payments are harder to match

Retail is one sale, one payment. Trade is messier: a director pays three invoices from a personal line, a site manager pays half now and half on delivery, a cheque or RTGS arrives with a reference nobody recognises. A 2026 look at daily M-Pesa reconciliation in Nairobi found manual matching eats 3 to 6 hours a week and still leaves 2 to 4% of transactions unmatched every month.

## A routine that keeps receivables clean

1. **Payment details on every invoice:** paybill and account number, till, or bank, so buyers pay the right place the first time.
2. **The reference travels with the invoice.** Ask buyers to report the M-Pesa code or bank reference against the invoice they are paying, on the web or by replying on WhatsApp.
3. **Each receipt counts once.** A reference already reported is recognised, so the same payment is never applied twice.
4. **Accounts confirms, with the amount.** Your team accepts each claim for the amount actually received; partial payments stay partial.
5. **Reminders that listen.** When a buyer replies “we'll pay on Friday”, reminders for that invoice pause until then instead of nagging someone who has already answered.

## How Sokisoko handles it

- Invoices carry your paybill, till or bank details; buyers pay into your own accounts, as they do today.
- A buyer reports a payment on the storefront, or replies on WhatsApp with the M-Pesa code, and it is filed as a claim against the invoice they were reminded about.
- A reference that was already reported is recognised; your team accepts each claim with the amount received.
- Payment reminders go out by email, SMS and WhatsApp, and pause on a promised date.
- Receivables ageing shows what is still open, by customer.

## Questions people ask

**Does Sokisoko take M-Pesa payments directly?**

Buyers pay into your own paybill, till or bank account, as they already do, and report the reference against the invoice. There is no extra payment provider in between.

**Can a buyer report a payment on WhatsApp?**

Yes. A reply that carries an M-Pesa code, or says a cheque or transfer was made, is filed as a payment claim on the invoice they were reminded about, for your team to confirm.

**Do reminders stop when a buyer promises to pay?**

Yes. A reply naming a day, such as “we'll pay on Friday”, pauses reminders for that invoice until then.

Source: [Daily payment reconciliation for M-Pesa and Airtel: automating the match in Nairobi (2026)](https://kolonell.com/en/blog/daily-payment-reconciliation-mpesa-airtel-nairobi-2026)
