Skip to content

mtotschnig/MyExpenses

Repository files navigation

MyExpenses

GPL licenced Android Expense Tracking App.

My Expenses is an Android app designed to keep track of your expenses and incomes, and to export them as QIF files into a desktop finance tool, like Grisbi (Open Source), Gnucash (Open Source), MS Money, Quicken or Wiso Mein Geld.
Works on Android 5.0 and above.

Get it on F-Droid Get it on Google Play

Features

  • Up to five accounts with transfers (unlimited in Contrib version)
  • Define plans (3) for future and recurrent transactions (unlimited in Contrib version)
  • Group transactions per day, week, month, year and display sums per group
  • Two levels of categories (import from Grisbi XML), display distribution of transactions in Contrib version
  • Split transactions (Contrib version)
  • Calculator
  • Export to QIF and CSV (MS Excel), can be automatically shared (via email, FTP, Dropbox, ...) and done in batch in Contrib version
  • Password protection, recoverable with security question in Contrib version
  • Integrated Help
  • Data backup and restore
  • Aggregate financial situation over all accounts with same currency
  • Two themes: light and dark

Credits

My Expenses relies on many Open Source libraries and has borrowed code from other Open Source projects :

and on the contribution of many users that helped make My Expenses available in 34 different languages.

Code has also been contributed by:

  • khris78 (Configuring and applying custom colors to accounts)
  • Ayman Abdelghany (Applying Sonar code quality checks)
  • eltos (Improved Input Dialogs and Color Pickers)
  • tillgraeger implemented several tickets (#640, #704, #638) in the context of his internship.

Build

git clone --depth 1 https://github.com/mtotschnig/MyExpenses.git
cd MyExpenses
export ANDROID_HOME={sdk-dir}
./gradlew build

If gradlew gives you a "Failed to install the following Android SDK packages" error message, the packages can be installed manually with commands such as:

$ANDROID_HOME/cmdline-tools/bin/sdkmanager --install --sdk_root=$ANDROID_HOME "platforms;android-32"
$ANDROID_HOME/cmdline-tools/bin/sdkmanager --install --sdk_root=$ANDROID_HOME "build-tools;30.0.3"

If gradlew errors out with "Could not dispatch a message to the daemon", just re-run the command. This can happen when the system is low on memory. The same is true for the "Gradle build daemon disappeared unexpectedly" error.

Integrate

My Expenses now has experimental support for inserting data from third party apps. See TransactionsContract.java.