This is a dash app that allows me to visualitze my financial data. This includes expenses, incomes, EBIT, liquid and investments.
It is intended only for personal use. There is another repository (expensor) with a similar dash app for public use. However, if you want, you can use the code of this app or fragments of it.
It takes personal information from dropbox and uses dash login to verify the identity.
Installation and usage
Download the code
git clone https://github.com/villoro/expensor_personal.git
pip install -r requirements.txt
Register a dropbox app (Documentation)
Set environment variables
- EXPENSOR_DROPBOX_TOKEN: dropbox token (from the previously registered app)
- EXPENSOR_USER: user for login
- EXPENSOR_PASSWORD: password for login
Make sure you have the data needed inside the dropbox app (see section
Run the app
Log in using
In order to set up the app you will need three excel files inside the dropbox app folder:
- your_app/Money Lover/YYYY-MM-DD.xlsx
- your_app/config.yml (optional)
Money Lover/YYYY-MM-DD.xlsx file
The first excel file will be a raw export from Money Lover android app. The dash app will scan the
Money Lover folder and take the newest excel file based on it's name.
This excel file needs the following columns:
Note that expenses will have negative amounts and incomes positive ones.
This file should have the following sheets:
This will have the money in each account for each month. It should have
Total as columns followed by one column per each account. For example:
|Date||Total||ING Account||ING Deposit||Revolut|
invest_m and worth_m sheets
This will be a list of the money invested (invest_m) and the value of the investments (worth_m) at each month per each investment account. Those can be different from the ones listed in
This is a list of all possible categories for the transactions listed in
Money Lover/YYYY-MM-DD.xlsx file. It will show if they are Expenses or Incomes and the color that should be used when plotting. For example:
|Name||Type||Color Name||Color index|
This allows to set custom colors and group accounts in plots. It can group:
As a key for the first level it should have the name of the group it wants to classify (
investment). Then it can have as many groups as wanted where each should have the following keys:
- color_name: name of the color
- color_index: color intensity
- accounts: accounts this group includes
liquid: 0 - Liquid: color_name: blue color_index: 100 accounts: - ING Account - Revolut 1 - Savings: color_name: blue color_index: 300 accounts: - ING Deposit
All available colors can be found at Meterial Design Guidline.
Some screenshots (with personal data hidden):
The content of this repository is licensed under a MIT.
Branches and commits use some prefixes to keep everything better organized.
- f/: features
- r/: releases
- h/: hotfixs
- [NEW] new features
- [FIX] fixes
- [REF] refactors
- [PYL] pylint improvements
- [TST] tests