ExMoney
is a [work-in-progress] self-hosted web application which helps you to track your personal finances.
It's built around Spectre API so ExMoney
can export bank transactions for you.
The list of available banks you can find here.
The main idea behind ExMoney
is to have free, open source application which can help to track personal finances at(almost) no cost.
ExMoney
is written in Elixir using Phoenix framework,
the app on production consumes very little of RAM and it should work just fine on Heroku free plan.
Spectre API is a Financial Data Aggregation Platform.
It allows to export bank transactions automatically which allows ExMoney
to solve the main flaw of most personal finance apps —
need to enter every single transaction.
Spectre API provides 'Test' mode using which it's possible to have connections with up to 10 providers(banks) for free.
ExMoney
has a mobile version for an iPhone. The mobile version is built using Framework7.
ExMoney
is supposed to run as Standalone web app(i.e. Add to Home Screen
in Safari).
Currently mobile version looks like this
ExMoney
has a desktop version which is not ready yet, however it provides some Settings
to manage providers(banks), accounts, categories, etc.
The desktop version is built using Bootstrap and utilizes default Dashboard
template.
Currently ExMoney
has two types of Rules which can be applied for every incoming transaction from Spectre API:
-
a rule to reassign category which has been assigned automatically by Spectre API
In case of automatically assigned category does not make sense it's possible to reassign category based on transaction's description and payee fields. -
a rule to detect withdraw transaction and to create appropriate 'Income' transaction in a 'Cash' account
If a bank does not require one-time-password/captcha/etc to log in, ExMoney
will run a periodic job to export transactions for you.
ExMoney
will run a job to export transactions from a bank every hour.
Also ExMoney
disables this task during the nights to not violate Heroku's free plan limitations.
ExMoney
allows to manually export transactions from banks which require one-time-password as well.
For now only otp
is supported.
Before using ExMoney
, please make sure that Saltedge
supports your bank here.
Please check the wiki page which describes how to use ExMoney
.
Currently ExMoney
is a work-in-progress/prototype/'works on my machine' stage.
I've written a blog post about ExMoney http://blog.damirca.one/ex-money.
I don't have an Android device to test ExMoney
on Android. Feel free to add necessary Framework7 styles and test ExMoney
on Android.
I'm a backend developer, I don't know frontend part, I don't know how to js/html/css, so I took the most easiest approach to build a frontend.
Contributions welcome! Please feel free to create pull-requests and issues.
This software is licensed under the ISC license.