Your inbox already knows where your money went.
SMS Organiser reads the bank messages already sitting on your Android phone and turns them into accounts, balances, transactions and bill reminders — while sorting everything else into OTP, bills, orders, travel, promotions and spam. Built for Indian banks and UPI.
Android 8.0+ · No ads, no trackers
- 30+
- Indian banks recognised
- 18
- payment rails parsed
- 0
- messages uploaded by default
Last reported balance
₹14,46,318
Money in
₹86,400
Money out
₹41,207
ICICI XX0085
Savings · balance on 31 Aug
ICICI XX0017
Savings · balance on 31 Aug
HDFC XX7788
Savings · balance on 30 Aug
Amazon
UPI · ICICI XX0085
−₹1,299.00
2:14 PM
Salary
NEFT · ICICI XX0017
+₹25,000.00
11:02 AM
BESCOM
NACH · HDFC XX7788
−₹2,480.00
Yesterday
Bank SMS formats recognised out of the box
What it does
An SMS app that understands what it is reading
Every message is normalised, attributed to a sender, classified into a category and — when it is from a bank — parsed into a transaction. All of it on the device, in the background, as messages arrive.
Eleven categories, not one inbox
Banking, transactional, OTP, bills, orders, travel, government, promotional, personal, spam and other. Correct a message once and the app keeps your answer.
Accounts and cards, found for you
Masked tails from your messages become real accounts, grouped bank by bank, each with the last balance that bank reported and the moment it said so.
Transactions with structure
Amount, direction, rail, merchant, UPI ID, UTR, account tail, balance after — extracted with deterministic rules, versioned so an upgrade can re-derive old messages.
OTP, front and centre
One-time codes are detected, surfaced for a one-tap copy, hidden once expired, kept out of every financial total — and never uploaded, at all, ever.
Bills before they are late
Card dues, electricity, mobile, broadband, FASTag, EMIs, insurance and subscription renewals, with amount, provider and due date pulled out of the message.
Search that speaks money
Search by text, sender, bank, amount, merchant, UTR, UPI ID, the last four digits of an account, or a date. Full-text indexed on the device, fast at 100,000 messages.
Spam scored, never silently binned
Unknown senders, link floods, phishing shapes and sender reputation feed a score. Suspect messages are flagged and set aside — the app never deletes them for you.
A real messaging app
Threads, read and unread, star, archive, pin, mute, block, multi-select and sending. It can be your default SMS app, not a second inbox beside one.
Optional web dashboard
Turn on sync, per category, and read the same accounts, transactions and analytics on a laptop. Leave it off and the app is complete without an account.
Every category the app sorts into
Banking Debits, credits, balances and card activity.
Transactional Confirmations, statements and service alerts.
OTP One-time codes, surfaced fast and never uploaded.
Bills Card dues, electricity, broadband, EMIs, insurance.
Orders Purchases, dispatches and delivery updates.
Travel PNRs, boarding passes, cab and hotel bookings.
Government UIDAI, EPFO, income tax, RTO and civic alerts.
Promotional Offers and sales, grouped by the brand sending them.
Personal Actual people, kept out of the noise.
Spam Scored, flagged, and never silently deleted.
Other Anything the rules cannot place with confidence.
How to use it
Four steps, and then it runs itself
There is nothing to categorise by hand, no rules to write, and no bank login to hand over. The app works with what your bank already sends you.
- 1
Install and grant SMS access
The app asks to become your default SMS app before it asks for anything else, because that is what Google Play requires of an app that reads messages — and it tells you why, in plain words, on the screen where it asks.
- 2
Your history is organised, in batches
Existing messages are imported and classified with a progress bar you can walk away from. It resumes where it stopped if you close the app, and you can keep using it while it runs.
- 3
New messages sort themselves
Each arriving SMS is normalised, attributed, categorised, matched to a bank parser and turned into a transaction if it is one — then the inbox, the balances and the reminders update on their own.
- 4
Open the web dashboard, if you want one
Create an account, choose which categories may leave the phone, scan the pairing code, and the same data appears on your laptop. Skip this entirely and nothing changes on the phone.
Banking intelligence
From “Acct XX0085 credited with INR 25,000” to a ledger
Each bank has its own SMS templates, and they change. So parsing is rule-first and versioned: sender ID mapping, then per-bank templates, then a generic parser, each result stamped with the parser that produced it and a confidence score.
Bank-wise grouping. Accounts and cards sit under the bank that issued them, with a per-bank total that excludes card outstandings.
Last reported balance. Never called a live balance. Always shown with the account, the bank, and the timestamp of the message it came from.
Every rail. UPI, IMPS, NEFT, RTGS, ATM, POS, Debit Card, Credit Card and ten more.
Re-derivable. When a parser improves, the app re-reads your stored messages and corrects what it got wrong — your manual corrections survive.
Incoming message
Dear Customer, Acct XX0085 is credited with INR 25,000.00 on 25-Aug-26 from raj@okicici. UPI Ref 512345678901. Avl Bal INR 1,93,457.73 - ICICI Bank
{
"bank": "ICICI Bank",
"accountLast4": "0085",
"transactionType": "CREDIT",
"amount": 25000.00,
"currency": "INR",
"mode": "UPI",
"upiId": "raj@okicici",
"referenceNumber": "512345678901",
"balanceAfter": 193457.73,
"transactionDate": "2026-08-25",
"parserId": "icici:upi_credit",
"parserVersion": 2,
"confidenceScore": 0.95
}Try it
Paste one of your own bank messages
This is a trimmed version of the same rule set, running in your browser. Nothing you type is sent anywhere — which is the whole point of the design.
Runs in your browser. Nothing you type here is sent anywhere.
Structured result
10 fields extracted- Bank
- ICICI Bank
- Category
- Banking
- Direction
- CREDIT
- Amount
- ₹25,000.00
- Payment mode
- UPI
- Account
- XX0085
- UPI ID
- raj@okicici
- Reference
- 512345678901
- Reported balance
- ₹1,93,457.73
- Date
- 25 Aug 26
Last reported balance. The app never calls this a live balance — it is the figure your bank stated in this message, at the moment it stated it.
Use cases
Who it is for
Anyone whose bank talks to them by SMS — which, in India, is very nearly everyone.
You want to know where the month went
Money in and money out for the current month, spending by merchant and by rail, and every transaction searchable by amount. No bank login, no statement download, no manual tagging.
You run several accounts and cards
Three ICICI accounts, an HDFC salary account and two cards stop being a memory exercise. Each one carries its own last reported balance and its own activity.
You keep missing due dates
Card dues, electricity, broadband, FASTag top-ups, EMIs and insurance premiums are pulled out of the messages that announce them and lined up by date.
You are drowning in promotions
Offers group by the brand that sent them, and a sender you never want to hear from again can be muted or blocked in two taps — without losing the receipts you do want.
You need the OTP, now
Codes surface immediately with a one-tap copy and disappear when they expire, instead of being buried under six promotional messages that arrived in the meantime.
You are a freelancer or run a small business
Client payments arrive as UPI and IMPS credits. Filter to credits, search a UTR, and reconcile against your invoices — from the phone or from the web dashboard.
Privacy
The phone does the thinking
Classification and parsing run entirely on the device. There is no server in the loop unless you create an account and switch sync on, and even then you choose what may leave — one category at a time.
Never leaves your phone
- Message bodies, unless you switch that category on yourself
- One-time codes — not switchable, not ever
- Personal messages, off by default
- Full card or account numbers (the app only ever sees masked tails)
- Your contacts, location or advertising identifiers
Only if you turn it on
- Parsed transactions: amount, direction, rail, merchant, date
- Bank balances as last reported, with their timestamps
- Transactional messages, if you turn that category on
- Promotional messages, if you turn that category on
- Device name and last-sync time, so you can revoke a session
App lock
PIN or biometric, plus an option to block screenshots and hide balances.
Encrypted transport
TLS everywhere, keys in the Android Keystore, tokens rotated on every refresh.
Device control
See every signed-in device, rename it, revoke it, or sign them all out at once.
Web dashboard
The same picture, on a bigger screen
Sign in on the web and you get the accounts, transactions and analytics your phone derived — read-only, scoped to exactly the categories you allowed, and revocable from either end.
- Bank-wise balances and a single total you can hide with one click
- Filterable, paginated transaction table with rail and merchant
- Monthly credit and debit, spend by merchant, spend by payment mode
- Device list with last-sync time and one-click revoke
- Per-category sync switches you can change at any time
Total reported
₹14,46,318
This month in
₹86,400
This month out
₹41,207
Monthly debit
FAQ
Questions worth asking about an app that reads your SMS
Does SMS Organiser read my messages on a server?
No. Classification and parsing happen on the phone, in the background, using rules that ship with the app. There is no server involved unless you create an account and switch on web sync, and even then only the categories you choose are uploaded.
Do I need to give you my bank login?
Never. The app has no connection to any bank. It reads the SMS alerts your bank already sends you, which is why the figures it shows are described as “last reported balance” rather than a live balance.
Is the balance shown my real balance?
It is the balance your bank stated in its most recent message, along with the moment it said so. If you moved money through an app that did not trigger an SMS, the figure will be behind. The app always shows the timestamp next to the number so you can judge that for yourself.
What happens to my OTPs?
They are detected, shown for a quick copy, hidden once they expire, excluded from every financial total, and never uploaded. That last part is not a setting — there is no switch that turns it on.
Why does it ask to be my default SMS app?
Google Play only allows an app to read the SMS inbox if it is genuinely an SMS app. So SMS Organiser is a full messaging app — threads, sending, notifications — and asks for the default role before requesting the restricted permissions, exactly the way the policy requires.
Which banks are supported?
Thirty-plus Indian banks have recognised sender IDs and message templates, including ICICI, HDFC, SBI, Axis, IDFC FIRST, Kotak, IndusInd, PNB, BoB, Canara and Yes Bank. Anything else falls through to a generic parser, and unrecognised messages are kept as messages rather than guessed at.
Do I need an account to use the app?
No. The Android app is complete on its own. An account only exists so that the web dashboard has something to show, and you can create one later or never.
Is it free? Are there ads?
The app has no ads, no trackers and no analytics SDK. It does not read your contacts or your location.
Can I delete my synced data?
Yes. Turning a category off stops new uploads, revoking a device ends its session immediately, and deleting your account removes the synced copy. What is on the phone stays on the phone either way.
Stop scrolling for the message you need
An Android SMS app for India that reads your bank messages on the device, sorts every message into a category, and turns bank alerts into accounts, balances and transactions. Nothing is uploaded unless you switch it on.
Android 8.0+ · No ads, no trackers