The UPI tracker that can't leak your data, because it can't reach the internet.
SpendLens is an offline Android expense tracker that reads the payment notifications you already get from UPI and banking apps and quietly turns them into a private spending ledger, stored entirely on your device. No manual data entry, no logins, no cloud, no ads. It captures spends from 19+ UPI and bank apps, can recover months of history from your existing bank SMS, imports CSV statements, and lets you split payments, tag trips, and see where your money actually goes.
Reads payment notifications from 19+ UPI and bank apps using grammatical shape-matching, not fragile app-specific parsing.
Optionally reads existing bank SMS in your inbox to rebuild months or years of past spending.
Bring in bank statements through a file picker for a complete, reconciled picture.
Split a bill among named people with repayment tracking, and amounts that always sum back exactly.
Group spends into tags and trips with date-aware journey progress indicators.
See spending across 7, 30 and 90-day windows by day, merchant, tag, and payment rail.
Every notification and message flows through a small, Android-independent core that reads structure rather than app identity, then dedupes the same payment seen across multiple sources before it ever touches storage.
Merchants are identified through a six-rung resolution ladder (explicit rules, captured name, VPA structure, directory, fuzzy match, then a safe fallback). Money is stored as integer paise to avoid floating-point rounding, and split amounts are balanced to the last paisa (₹1,000 three ways becomes 333.34 / 333.33 / 333.33).
The APK ships with no INTERNET permission, so there is no data-exfiltration path regardless of future code.
The ledger lives in a SQLCipher database with AES-256, its key sealed by the Android Keystore.
No analytics, crash reporting, advertising, accounts, or third-party services. Notification contents are never logged.
The standard build requests only six permissions, none of them classified as dangerous by Android.
Two builds, both signed. Verify against SHA256SUMS.txt from the release if you like. Current release: v0.1.1-alpha.
Reads payment notifications only. The right choice for most people.
Download standard APKAdds SMS reading for historical recovery. Distributed as a direct APK due to SMS policy.
Download full APKThis is an alpha. On install, Google Play Protect may warn about the notification-listener permission; that is expected for an app that reads notifications, and you can approve it to continue. F-Droid submission is prepared and a Play listing (standard build) is coming soon.
Tried the app or have a question? Leave a comment below.