ex_money

A [work-in-progress] self-hosted personal finance app

Stars
167
Forks
12
Open issues
6
Closed issues
7
Last commit
about 5 years ago
Watchers
167
Total releases
0
Total commits
358
Open PRs
3
Closed PRs
86
Repo URL
Platform
License
isc
Category
Usecase
Offers premium version?
NO
Proprietary?
NO
About

ExMoney

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.

Saltedge

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.

Mobile version

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

More screenshots

Desktop version

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.

Niceties Rules

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

Automatic sync

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.

Interactive providers

ExMoney allows to manually export transactions from banks which require one-time-password as well. For now only otp is supported.

How to use

Before using ExMoney, please make sure that Saltedge supports your bank here.

Please check the wiki page which describes how to use ExMoney.

Current state

Currently ExMoney is a work-in-progress/prototype/'works on my machine' stage.

FAQ Why another personal finance app?

I've written a blog post about ExMoney http://blog.damirca.one/ex-money.

Why only iOS?

I don't have an Android device to test ExMoney on Android. Feel free to add necessary Framework7 styles and test ExMoney on Android.

Why Desktop version does not use React/ES7/Clojurescript/Elm/etc?

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.

Contributing

Contributions welcome! Please feel free to create pull-requests and issues.

License

This software is licensed under the ISC license.

Alternative Projects
No projects found

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.