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 venvsource venv/bin/activate/
- Install the requirements with
pip3:pip install -r requirements.txt
- Edit the
preferences.jsonfile - 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.jsonfile, 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-Decpython3 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_statementmake 2019-sep_statement-allpython3 monimoney.py statement --start=2019-01-01 --end=2020-01-01 --statement=./data/statements/gb/hsbc/account.jsonpython3 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_analysismake 2019-sep_analysis-allpython3 monimoney.py analysis --start=2019-01-01 --end=2020-01-01 --statement=./data/statements/gb/hsbc/account.jsonpython3 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


