Spends

Every rupee, accounted for. Automatically.

Spends turns the bank and UPI messages already on your phone into a complete, private record of where your money goes. No bank login. No typing.

v1.0.0 · 39.8 MB · Android · Free

Three steps. Then nothing to do.

There's no account to create and no bank to connect. Spends works from the alerts your bank and payment apps already send you.

  1. Install Spends

    Download the app and open it. Android asks you to allow installs from your browser, once.

  2. Allow SMS and notifications

    SMS access lets Spends read bank alerts. Notification access catches GPay, PhonePe, Paytm and bank-app alerts. Messages from personal numbers are ignored.

  3. Your history appears

    Spends reads every message you've ever received, newest month first. After that, each payment appears the moment its alert arrives, even with the app closed.

Automatic capture

It reads the messages. You read the summary.

Counted

  • Debits and credits
  • Refunds
  • Card spends, including foreign currency
  • ATM withdrawals and EMIs
  • Recharges and payment receipts

Ignored

  • OTPs
  • Payment requests
  • Reminders
  • Promotions
  • Failed payments
99.6%

accurate at telling real payments from everything else. The on-device model was trained on 15,000 hand-labelled Indian bank and UPI messages. When it isn't sure, a rule-based parser takes over.

One payment, one entry. The bank SMS, the app notification and the payee's receipt for the same payment are merged. Transfers between your own accounts and credit card or pay-later bill payments are recognised, so they don't count as spending.

Insights

See the month before it ends.

How this month compares with the same point last month, which categories moved, and where you're likely to land.

  • A month-end forecast based on how you're spending so far
  • Recurring payments like rent, subscriptions and EMIs, found automatically
  • Trends and category changes over time
  • Any custom date range

Merchants & categories

Name things once.

Banks write “SWIGGY LIMITED BLR”. You write “Swiggy”, once, and every future payment follows.

  • Rename a merchant and every payment to it updates
  • Merge merchants that are really the same place
  • Set a category once for all payments to a merchant
  • Make your own categories with a name, colour and icon

The small things, done properly.

Search everything

Every payment you've ever made, searchable by merchant, category, note or amount.

Notes and attachments

Add a note, or attach a photo or PDF of the bill or invoice, to any payment.

Privacy mode

Tap the eye and every amount is hidden. Useful on the metro.

The month at a glance

A daily chart and a category breakdown for every month, going back as far as your messages do.

Payment alerts, if you want them

An optional notification each time a payment is recorded.

Yours, visually

Your wallpaper as a soft, blurred backdrop. Light and dark.

Export

Your data, in files anything can read.

Export everything to one zip: a CSV for spreadsheets, JSON Lines for scripts, and a README that explains every field, written so a spreadsheet or an AI agent can make sense of it straight away.

Import the same zip back into Spends on a new phone.

Privacy

Your money stays on your phone.

Your messages, amounts and merchants are read and stored on your phone. There's no account to create, no bank login and no cloud sync. Here is exactly what that means.

Stays on your phone

  • The SMS and notifications Spends reads
  • Amounts, merchants, categories and notes
  • Photos and PDFs you attach
  • The model that reads your messages. It runs on the device.

Sent, anonymously

Anonymous usage analytics through Mixpanel: which screens and features get used, and counts. Never message text, amounts, merchant names or personal details.

You can turn analytics off in Settings at any time.

SMS
To read bank and card alerts. Messages from personal numbers are ignored.
Notification access
To catch payment alerts from UPI and bank apps such as GPay, PhonePe and Paytm.
Notifications (optional)
To tell you when a payment is recorded, if you turn that on.

The details are in the privacy policy.

Questions

Is it safe to install an app from outside the Play Store?

Installing an app directly (sideloading) is safe when you trust where it comes from. Download Spends only from spends.abdus.net, and you can check that the file matches the SHA-256 checksum published below.

Android will ask you to allow installs from your browser. You can switch that off again afterwards. Spends isn't on the Play Store yet.

Why does it need SMS access?

Your bank sends an SMS for almost every payment, and those messages are where Spends gets amounts, merchants and dates. It reads them on your phone and ignores messages from personal numbers.

Notification access does the same for UPI and bank apps that alert you with a notification rather than an SMS.

Does it work with my bank?

Spends is built and tested on Indian bank and UPI message formats, including ICICI, HSBC, SBI, HDFC, Axis, Kotak, slice, Simpl and Jio. Other banks usually work too.

If a payment is missed or read wrongly, please write to abdus@abdus.net.

What data leaves my phone?

Only anonymous usage analytics, sent through Mixpanel: which screens and features are used, and counts. Never message text, amounts, merchant names or personal details. You can turn it off in Settings.

Your messages, payments, notes and attachments are processed and stored on your phone only. There's no account and no cloud sync.

Can I export my data?

Yes. Spends exports everything to a zip with a CSV, a JSON Lines file and a README explaining each field. You can import the same zip back, for example on a new phone.

Is it free?

Yes. Spends is free, and there's no account to sign up for.

Install Spends

About two minutes, on your Android phone.

  1. Download the app

    Tap Download on your phone. Your browser may warn that this type of file can be harmful; choose Download anyway.

  2. Allow installs from your browser

    Open the file. If Android asks, tap Settings and turn on Allow from this source, then go back and tap Install.

  3. Allow SMS access

    Open Spends and allow it to read SMS, so it can find your bank alerts.

  4. Turn on notification access

    If Android says Restricted setting, open App info → ⋮ → Allow restricted settings, then turn notification access on again. Android does this for apps installed outside the Play Store.

  5. Wait a moment

    Your history fills in, newest month first. Optionally, allow notifications to hear about each payment.

v1.0.0 · 39.8 MB · Android

Verify the download

e861e766d474d62f84e040f2056303a99b9964aeee02e5002ce5768b604b9a40

Check it on a computer. The result should match exactly.

macOS or Linux:

shasum -a 256 spends-1.0.0.apk

Windows:

certutil -hashfile spends-1.0.0.apk SHA256