POPEX reads your payment notifications and bank SMS right on your phone, turns them into a tidy ledger, and asks you one small question: what was that for?
Rs 1240.00 debited from a/c XX4471 to BLUE TOKAI COFFEE. UPI Ref 5231…
Blue Tokai Coffee · XX4471
Most of your money moves through UPI, and most of that never posts a notification - the bank SMS is the only record. So POPEX watches four rails at once, and anything it can't read is kept for you to teach it, never dropped.
In-app UPI payments post no notification, so the bank's message is the only proof it happened. It also wakes POPEX when the app has been closed.
Reads incoming messages only - never your message history.
Twenty payment apps are watched by default - Paytm, GPay, PhonePe, CRED, Fi, slice and more. Add or remove any of them in one tap.
Chat apps and banks are deliberately not on by default.
Long-press any message and share it into POPEX. A zero-permission way in, and the recovery path when a rail is switched off.
Needs no permission whatsoever.
Cash still exists. The plus button adds anything the phone never saw, in the same few taps as everything else.
Also how you log a payment made on someone else's phone.
The amount and the shop are already filled in. You tap a category and it's filed.
When a notification and a bank SMS describe the same payment, POPEX merges them instead of counting twice.
A message POPEX can't read is kept for seven days so you can turn it into a rule yourself.
What you've spent this month, how it compares to last, where it went, and anything still waiting to be categorised. If a rail has been switched off, a card at the top says so rather than quietly missing payments.
The full ledger, filtered by pending, captured or ignored. Open any row to edit a field, re-categorise it, or read the raw message it came from. Deleting is soft - the row moves to a bin you can pull it back out of.
A budget per category, per month, inherited into every month after it until you change it. You get one nudge at 80% and one at 100% - never a stream of them.
Tell POPEX what you expect to earn each month. It's a declaration, not a transaction - it never touches the ledger, it just gives the monthly summary something to measure what actually arrived against.
Name a target and link your savings transfers to it. Money you put aside stops counting as spending - it's still yours, just moved - and the goal ticks up on its own. Finished goals can be archived without losing the history.
Track what friends owe you without a spreadsheet. Marking a loan paid takes it out of your spending. Marking it forgotten leaves it in, because that money really is gone. Lend to the same person again and a fresh row opens.
Step back through any month: spend by category, income declared against income received, what you lent and got back, what you saved. On the first launch of a new month POPEX writes you a PDF report, ready to share.
Back up to a CSV whenever you like, restore it onto a new phone, or delete everything in one tap. Your backups sit in your own Downloads folder and survive uninstalling the app - which is the whole point when there's no server holding a copy.
Money direction is colour, everywhere in the app, with no exceptions to learn. And one rule sits underneath all the maths.
Debits are coral in every list, every chart and every total. The one place they aren't spending is when they're savings or a transfer between your own accounts.
Salary, refunds and repayments are green. "Rahul paid you ₹45" reads almost exactly like a payment you made - POPEX is built to tell the two apart.
Money that came in is never spending. Ever.
A refund filed under the wrong heading used to be able to inflate your month. Now anything marked income, return or repayment is kept out of the spending total whichever way it was recorded.
The app does not request internet permission. Android will not let it open a connection even if something inside it tried. That single decision is why there are no accounts, no sync, no cloud backup, no analytics, no crash reporting and no third-party SDKs - and why the developer can never receive your data, because there is nowhere for it to go.
The text of an SMS or notification never leaves the database. It isn't even written into your own CSV export.
POPEX reads messages as they arrive and holds no permission to open your inbox and look backwards.
Android's automatic backup is switched off for this app, so your ledger never quietly lands in a Google account.
One tap wipes everything on the device. There is no second copy anywhere to go and ask for.
Three permissions and one special access. Each one is optional, and turning any of them down degrades capture rather than breaking the app.
Not requested: internet, network state, SMS history, sending SMS, location, contacts, camera, microphone, storage, advertising ID or any device identifier.
Not a Western budgeting app with a rupee sign dropped in. POPEX was written around Indian payment habits from the first line: the SMS-first bank flow, the twenty apps people actually pay from, and the way we write numbers.
I built POPEX because I wanted to know where my money went without handing my bank messages to a stranger's server. Everything about the app follows from that: it's free because there's nothing to monetise, it has no account because there's nothing to log into, and it has no internet permission because it genuinely doesn't need one.
If a message from your bank isn't being read properly, send it to me and I'll write a rule for it. That's most of what I do with this project.
amit.gautam@popex.inNo. It holds permission to see messages as they arrive, and it has no permission at all to open your inbox and read older ones. Messages that don't look like a bank transaction are ignored, and the ones that do never leave your phone.
Never. POPEX has no login, no bank linking and no account aggregator. It only reads the messages your bank and payment apps already send you.
There isn't one. There are no ads, no subscriptions and no in-app purchases, and the app cannot send data anywhere to sell. It costs nothing to run because nothing runs on a server.
Back up to a CSV, move the two files across, and restore them on the new phone. The backup lives in your own Downloads folder and survives uninstalling the app, which matters when there's no cloud copy to fall back on.
Any message POPEX couldn't read is held for seven days under Settings, where you can turn it into a rule in a couple of taps and test it against the message right there. Or send it over and I'll add the rule for everyone.
Not yet. iOS gives no app a way to read notifications or SMS, so an iPhone build would be manual entry and the share sheet only. It's planned, but it won't pretend to do the automatic part.
Install it, grant what you're comfortable granting, and let the first week fill itself in. Free, no account, Android 10 and up.