Giter Site home page Giter Site logo

monitormoney's Introduction

MonitorMoney

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).

Screenshots

Analysis

Statement

Graph

Getting started

Installation

  • 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 Preferences

"2019":{ 
  "september":{
    "start":"2019-08-23",
    "end":"2019-09-24"
  }
}
  • Expense categories can be added as follow:
"categories":{ 
  "income":[ 
    "salary",
    "savings",
    "taxes"
  ],
  "rent":[]
}

Edit Statement

By default, statements are stored as <statement_name>.json in data/statements/<ISO country code>/<bank>/

Usage

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 the preferences.json file, this action generates rules for Makefile.
  • statement: shows all transactions of a statement.
  • analysis: calculates totals and shows an analysis of a statement.

Action: generate

Commands

  • make generate month=<yyyy-mmm>
  • python3 monimoney.py generate --rule=<yyyy-mmm>

Examples

  • make generate month=2019-Dec
  • python3 monimoney.py generate --rule=2019-Dec

Action: statement

Commands

  • 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

Examples

  • 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

Action: analysis

Commands

  • 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

Examples

  • 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

Other Actions (with Makefile only)

The following actions are still in development.

  • make convert: converts savings in GBP to EUR
  • make edit: opens all statements for editing
  • make graph: creates a graph of savings
  • make last: starts the last analysis of the current month for the preferred account
    • Note: this rule needs to be edited every month accordingly

monitormoney's People

Contributors

sljrobin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.