Interactive visualization of GnuCash data based on plotly Dash. Currently in pre-alpha state, but already usable.
- reads gnucash XML files
- automatically creates a Sankey graph from transactions, with lots of configuration options
- visualizes assets and expenses over time
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
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
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
.