How PesaTrack works

From an M-PESA SMS arriving on your phone to a categorised expense inside a budget — end to end, on the device.

  1. 1. An SMS arrives

    M-PESA or NCBA sends you the usual transaction SMS. Android's SMS broadcast delivers it to every app with the receive permission — one of those is PesaTrack.

    Sender: MPESA
  2. 2. The parser reads it — nothing else

    PesaTrack's SmsReceiver checks the sender. Only MPESA and NCBA are processed; every other message is ignored at the receiver level. The matching parser extracts amount, recipient, date, transaction code, and the transaction cost.

    KES 240 · Uber · MK7X4A2B
  3. 3. Auto-categorisation runs

    Three passes, in order — keyword rules, learned recipient mappings, then payment-type heuristics. If nothing matches, the row lands in UNCATEGORIZED with a soft notification so you can tag it when convenient.

    Transport
  4. 4. Budgets and analytics update

    The Budgets screen shows the remaining amount and days left. The Analytics screen updates category totals, the trend line, the savings-rate card, and the income-vs-spend overlay. All in real time. No round-trip to a server.

    KES 3,160 left · 12 days
  5. 5. Nothing leaves the device

    The row lives in a local Room database. Analytics — if you opted in — receives only anonymous events like "opened Analytics screen". No amounts, no recipients, no category names, no note text. See Privacy.

    Room DB · v15

Try it

Install from Google Play, grant the SMS permission, and the next M-PESA transaction is in the app.

Get on Google Play