MonitorMoney is a simple monitor to handle private expenses. With two given dates, it allows to perform different analyses, print statements or show graphs (cf. Screenshots below).
- Download the repository:
git clone https://github.com/sljrobin/MonitorMoney
- Create and activate a Python virtual environment:
virtualenv create venv
source venv/bin/activate/
- Install the requirements with
pip3
:pip install -r requirements.txt
- Edit the
preferences.json
file - Dates of months can be edited as follow:
"2019":{
"september":{
"start":"2019-08-23",
"end":"2019-09-24"
}
}
- Expense categories can be added as follow:
"categories":{
"income":[
"salary",
"savings",
"taxes"
],
"rent":[]
}
By default, statements are stored as <statement_name>.json
in data/statements/<ISO country code>/<bank>/
Different actions are available (cf. below). They can be performed by calling the file monimoney.py
(e.g. python3 monimoney.py generate --rule=2019-Dec
) or with the Makefile
(e.g. make generate --rule=2019-Dec
)
create
: shows the different categories and subcategories and generates the JSON for the database. The generated JSON needs to be manually copied and pasted.generate
: with dates defined in thepreferences.json
file, this action generates rules forMakefile
.statement
: shows all transactions of a statement.analysis
: calculates totals and shows an analysis of a statement.
make generate month=<yyyy-mmm>
python3 monimoney.py generate --rule=<yyyy-mmm>
make generate month=2019-Dec
python3 monimoney.py generate --rule=2019-Dec
make <yyyy-mmm_statement>
make <yyyy-mmm_statement-all>
python3 monimoney.py statement --start=<yyyy-mm-dd> --end=<yyyy-mm-dd> --statement=<path>
python3 monimoney.py statement --start=<yyyy-mm-dd> --end=<yyyy-mm-dd> --all
make 2019-sep_statement
make 2019-sep_statement-all
python3 monimoney.py statement --start=2019-01-01 --end=2020-01-01 --statement=./data/statements/gb/hsbc/account.json
python3 monimoney.py statement --start=2019-01-01 --end=2020-01-01 --all
make <yyyy-mmm_analysis>
make <yyyy-mmm_analysis-all>
python3 monimoney.py analysis --start=<yyyy-mm-dd> --end=<yyyy-mm-dd> --statement=<path>
python3 monimoney.py analysis --start=<yyyy-mm-dd> --end=<yyyy-mm-dd> --all
make 2019-sep_analysis
make 2019-sep_analysis-all
python3 monimoney.py analysis --start=2019-01-01 --end=2020-01-01 --statement=./data/statements/gb/hsbc/account.json
python3 monimoney.py analysis --start=2019-01-01 --end=2020-01-01 --all
The following actions are still in development.
make convert
: converts savings in GBP to EURmake edit
: opens all statements for editingmake graph
: creates a graph of savingsmake last
: starts the last analysis of the current month for the preferred account- Note: this rule needs to be edited every month accordingly