Android · India · UPI-native
Where your UPI money actually went.
Spentd turns PhonePe, GPay, and bank SMS into a clean expense
ledger — amount, merchant, time — without typing every chai by
hand.
- Offline-first
- On-device OCR
- Optional cloud sync
- Open source · MIT
Android-first
PhonePe & GPay screenshots
Bank & UPI SMS
Passcode lock
INR ledger
Features
A ledger that starts from payment proof you already have.
See the month at a glance
Month totals, category breakdown, this-week chart, and recent
payments — so “I spent too much” becomes a day, not a lecture.
- Debits, credits, and txn count in INR
- Category donut with chip pickers when you edit
- Swipe week ranges for spend patterns
Import without retyping
Three ways in. Mix them. Screenshots stay on the device — only
structured fields sync if you use the cloud API.
-
SMS inbox — bank and UPI alerts, opt-in
auto-import
-
PhonePe & GPay screenshots — on-device OCR
-
Paste or manual — when a template is weird
Search every line item
Browse history, fix merchant or category, delete mistakes. The
list is yours to keep clean.
- Search by merchant on-device
- Debits and credits clearly signed
- Cash wallets for money that never hit UPI
Budget that respects income
Smart budget uses income this month (or a recent average), then
sets spendable money after your savings rate — or pick a fixed
custom amount.
- Pace indicators so you know if you’re over
- Savings rate chips: 10% to 40%
- Room left in the month, not just a red bar
How it works
Install. Import. Track.
-
01
Install the APK
Grab the latest release, allow install from that source, open the
file. Native build for SMS and fast OCR.
-
02
Pull payments in
Consent to SMS if you want auto-import, or pick PhonePe / GPay
screenshots. Review detections before they hit the ledger.
-
03
Live in the ledger
Categories, week bars, budget, cash wallets. Edit freely — no
force-magic categories that always “know.”
Privacy & lock
Your passcode. Your device. Your screenshots.
Sign up with a username and a 6-digit passcode. Leave the app and
you’re on the pin pad again. Biometrics can unlock the local pad
where the OS allows it — they don’t replace the passcode on the
server.
- OCR runs on-device; images are not the upload surface
- Auto-import SMS is opt-in, with a consent screen first
- Cloud sync is structured expense rows only
- No passcode recovery in v1 — export before you forget
Honest limits
- Android-first. iOS isn’t the target for v1.
-
OCR is only as good as the screenshot — review before save.
-
SMS formats differ by bank. Unknown templates may be skipped.
-
No force-magic AI categories. You can always edit a row.
Get Spentd on your phone
Latest APK on GitHub Releases. Open source monorepo is
Paymenttracker — the app on the phone is Spentd.
Self-hosters: Postgres via Docker, API on port 3001. Full setup in
the project README.