/cashdash

💰 Interactive visualization of GnuCash data based on plotly Dash.

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

CashDash

License: AGPL v3 Code style: black

Interactive visualization of GnuCash data based on plotly Dash. Currently in pre-alpha state, but already usable.

Features

  • reads gnucash XML files
  • automatically creates a Sankey graph from transactions, with lots of configuration options
  • visualizes assets and expenses over time

Installation

You need Python 3.7+. Clone the repository, then run:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install git+https://github.com/fovea1959/gnucashxml

Usage

Run python app.py PATH_TO_GNUCASH_XML_FILE and navigate to http://localhost:8080.

Try the included sample! python app.py cashdash/resources/sample_books/gnucash_xml.gnucash

Optional dependencies

By default, the cvxpy library is used to compute Sankey links from complex split transactions. minizinc can be used as an optional replacement which is slower but should be more precise. In this case you need python 3.8+. Install minizinc via

snap install minizinc --classic

or check alternative installation options on their website.

To use it, run the app via --backend minizinc.