Your statement never leaves your phone or computer
Everything happens inside this page, in your browser. Your PDF and password are not uploaded, there is no server, no account and no tracking. The only thing remembered on your device is the category choices you make (for example “JOHN DOE → Other”) — never the statement itself.
How can I check that?
- This is one plain HTML file. Use “View source” to read every line.
- The page carries a security policy that forbids it from making any network connection (
connect-src 'none'), so it technically cannot send data anywhere. - Open your browser’s developer tools → Network tab, then load a statement. Nothing is sent.
- The only things fetched are two public libraries when the page opens: PDF.js (reads the PDF) and Chart.js (draws charts).
- Closing or refreshing the page erases the statement from memory.
1. Add your statement
Where do I get my statement?
- Dial *334# → My Account → M-PESA Statement → Request Statement. You can also use the M-PESA app or the MySafaricom app.
- Choose a Full Statement (a mini statement lists only a few transactions) and the period you want.
- Enter your email address. Safaricom emails you the PDF and sends the PDF password by SMS.
- Open the email on this device, save the PDF, then add it here with the password.
Menu names change from time to time. If yours look different, search for “statement” in the app or menu.
No luck with the PDF? Paste a CSV instead
The sample is entirely made up. A password-protected sample PDF (password demo1234) is in the sample folder next to this file.
Highlights
Where your money went
Money out by category
Monthly money in vs out
Fees shown separately. Tap a month to zoom in.
What the fees cost
Fees compared with the amount moved, by type
Recurring payments
Top 10 you sent money to
Send money, Paybill and Buy Goods. Tap one to see its transactions.
Top 10 you received from
Tap one to see its transactions.
Transactions
Tap a transaction to change its category.
| Date | Details | Category | Amount (KES) |
|---|