Budgetify

Budgetify · Automatic tracking

Automatic UPI and bank SMS expense tracking, entirely on your phone

The reason most budgeting apps fail is manual entry — nobody keeps it up for more than a fortnight. In India you do not have to: your bank already texts you every UPI payment, card swipe, ATM withdrawal and transfer. The information is already on your phone. Budgetify reads it there, and only there.

The short answer

You can track UPI and card spending automatically without ever handing over a bank login or granting an Account Aggregator consent — by parsing the transaction SMS your bank already sends. Done on-device, this needs no network access at all.

Three ways apps get your transactions, and what each costs you

MethodWhat you hand overWhere your data goes
Bank login / screen scraping Your net-banking credentials To whoever operates the scraper
Account Aggregator consent Regulated read access to your accounts To the app's servers, under the consent you signed
On-device SMS parsing SMS read permission, nothing else Nowhere — it is parsed where it already sits

The third row is the only one where no credential and no consent artefact exists to be misused, because no third party is ever involved.

How the parsing actually works

Sender matching, not keyword guessing
Messages are matched against a built-in list of over 1,600 Indian bank and payment sender IDs — including SBI Card and cooperative banks — rather than scanning every message for rupee symbols. A message from a friend mentioning ₹500 is not a transaction and is never treated as one.
Regulation-aware filtering
TRAI routes commercial SMS with -S, -T and -P suffixes on the sender ID. Promotional (-P) traffic is dropped outright, which is what stops "get a loan of ₹5,00,000" from being logged as income.
Knowing what is not a transaction
OTPs, monthly statements, failed payments, autopay reminders, balance alerts and credit-card approval offers quoting a limit are all recognised and rejected. Getting these wrong is how trackers end up showing a ₹4,00,000 "income" that was really a card limit.
Honest uncertainty
When a message is ambiguous, the entry is flagged for review rather than quietly guessed at, and the running total tells you how much of it is still unchecked.
Deletion that sticks
A deleted transaction leaves a tombstone, so the next background scan does not helpfully resurrect it.

Is granting SMS permission safe?

It is a fair question, and the honest answer is: it depends on whether the app can transmit what it reads. Android's SMS permission covers the whole inbox — there is no narrower version to grant. So the meaningful safeguard is not the app's promise, it is whether the app has any route out.

Budgetify ships without Android's INTERNET permission. Whatever it reads, it cannot send — the operating system refuses the connection. That is checkable in under a minute from the Play listing or with adb: here is how.

If you would rather not grant SMS access at all, deny it. Budgetify then works as an ordinary manual expense tracker, and every other feature is unchanged.

Common questions

Do I need to keep the app open for it to catch transactions?

No. It listens for incoming messages in real time and also runs scheduled background scans, so a payment made while the app is closed is still picked up. On first run it reads your existing inbox, so your history is populated from day one rather than starting empty.

Which banks are supported?

Over 1,600 Indian bank and payment sender IDs, spanning the major private and public banks, SBI Card, and a long tail of cooperative and regional banks. If yours is missing or a format changes, entries can be added by hand and the templates are refined in updates.

Why did some transactions not get picked up?

The usual cause is that the bank sent an RCS chat message rather than a plain SMS. RCS messages live in a different system that no third-party Android app can read — a platform limitation, not a parser gap. Statement-style summaries and messages without a clear amount are also skipped by design.

Does it use AI or send messages somewhere to be interpreted?

No. Parsing is rule-based and runs locally: bank-specific templates, sender matching and filters. There is no model call, no server-side step, and nothing to send anywhere — the app has no network permission.

Can it separate my own transfers from real spending?

Yes. Self-transfers and investment contributions are excluded from spending totals, and settling up with a friend is recorded as neither income nor expense, so repayments do not distort your figures.

Get it

Budgetify on Google Play — free, no account, no ads, six Indian languages. See also the offline expense tracker overview.