Your M-Pesa statement, decoded.

The full M-Pesa statement is a password-protected PDF with a receipt number, completion time, details, status, Paid In, Withdrawn, and balance per row — plus separate rows for charges. Here is how to request it, unlock it, and read it.

Getting the full statement

The full statement — as opposed to the last-handful mini statement — covers a period you choose and arrives by email as a PDF. Request it from the M-PESA app’s statements section, or by dialling *334# and following the statements menu. Pick whole months, and request as far back as your analysis needs.

The password is usually your ID number

The PDF arrives password-protected because email is not a private channel. For M-Pesa the password is usually your national ID number — the one registered with Safaricom. Nobody else can recover or reset it for you; if it does not open the file, Safaricom support is the only door.

Reading the columns

Each row is one transaction: Receipt No. is its unique code (the same one from the confirmation SMS, useful when disputing a transaction), Completion Time is when it settled, Details says what happened and with whom, and Transaction Status is almost always Completed. Money lives in two unsigned columns — Paid In for money arriving, Withdrawn for money leaving — followed by the running Balance.

Charges are their own rows

M-Pesa reports fees as separate transactions — a transfer and its charge appear as two rows with two receipt numbers. That means summing the Withdrawn column mixes real spending with fees; separating them is exactly the kind of arithmetic a categorized dashboard does for you, and it is where most people discover what their year of charges actually totalled.

Turning the PDF into something useful

Drop the statement into PesaInsights: the analyzer builds a categorized spending dashboard — fees split out, months stacked into one view, duplicates merged — and the converter writes Excel, CSV, OFX, QIF, IIF, or JSON from the same rows. Parsing runs in your browser; the password-protected PDF is unlocked in server memory over HTTPS, then discarded.

Convert a statement · Analyze a statement · Help & FAQ · Privacy promise