package icon

UPI Expense Tracker

Offline UPI expense tracker: auto-captures payments, no cloud or tracking
New in version 1.1.5
Build-only release: no user-facing changes.

The APK no longer embeds the dependency-metadata block that the Android build tools add by default.
It is an opaque, app-store-oriented record of the app's dependency tree that cannot be checked
against the public source code. Removing it lets F-Droid accept this release and publish it signed
with the developer's own key.
A wallet you glance at.

UPI Expense Tracker is a 100% offline personal expense tracker for UPI payments. It quietly
captures every payment you make, sorts it into categories, and shows your daily, weekly, and
monthly spend plus an at-a-glance available balance — on the home screen and in home-screen
widgets. There is no account, no cloud, no ads, and no tracking. Everything stays on your phone.

WHAT IT DOES

* Captures payments automatically. An Accessibility Service reads the on-screen payment
confirmation from your UPI app (Google Pay, PhonePe, Paytm, CRED) and your bank's payment SMS,
then records the amount, payee, and time. Duplicates are removed by the bank reference number.
* Shows your spend. This-week and this-month totals, a spend chart, recent transactions, and
automatic categories such as Food, Groceries, Transport, and Bills.
* Available-balance wallet. A manual baseline minus your captured spends, which you can re-anchor
to the real figure any time.
* Home-screen widgets for spend, available balance, and a monthly budget.
* Budgets. Set a monthly cap and watch it fill on the home card and a widget.

PRIVACY — NOTHING LEAVES YOUR PHONE

The INTERNET permission is actively stripped from the app, so it is incapable of sending any data
off the device. There is no cloud, no analytics, no crash reporting, and no third-party tracking;
your data lives in a local database only. CSV export is local and shared by you manually. The
donate button simply opens a payment page in your browser — there is no payment SDK in the app.

PERMISSIONS

* Accessibility Service — reads the UPI app's payment-confirmation screen to capture a payment.
Required for automatic capture; you can also add payments manually.
* Receive SMS — reads incoming bank payment messages for the reference number and credits. This
is the delivery broadcast only; it does not read your existing SMS inbox.
* Location (fine/coarse) — optional, only to pin where a payment happened for the Insights map.
No background location.
* Post notifications — optional budget-nudge alerts.
* Ignore battery optimizations — optional, so the capture service is not killed in the background.

This is a single-user app you install for yourself. Because it reads payment screens and SMS, it
is not permitted on the Google Play Store and is distributed only through open-source channels.

Free and open source under the GNU GPL v3.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 1.1.5 (7) suggested Added on Jul 18, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 12 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • receive text messages (SMS)
      Allows the app to receive and process SMS messages. This means the app could monitor or delete messages sent to your device without showing them to you.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • com.goushik.upiwallet.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 24 MiB PGP Signature | Build Log