- Roadmap
- Replace GObject and GLib dependencies in the core
- Scheme minimzation
- Register rewrite
- Eliminate deprecated widgets and libraries
- Remove module system
- Model-View-Controller Pattern
- Testing
- Database and QOF
- Reports
- Release Schedule
- 6.0 - 2026-01-04 - (?)
- 5.x - 2023-03-28 - 2025-12-21(?)
- 4.x - 2020-06-28 - 2023-03-26
https://wiki.gnucash.org/wiki/Building_On_Linux
it appears that running make check with a previous version of gnucash installed can lead to errors...
sudo apt install libdbd-sqlite3 # XXX: unneeded if using built-in xml file format
sudo apt build-dep gnucash
git clone https://github.com/Gnucash/gnucash
cd gnucash
#git checkout 5.12
git checkout 5.13
mkdir build
cd build
# if python bindings desired:
cmake -DCMAKE_INSTALL_PREFIX=$HOME/.local -DWITH_PYTHON=on ..
# if python bindings not desired:
#cmake -DCMAKE_INSTALL_PREFIX=$HOME/.local ..
make
make check
make install
https://wiki.gnucash.org/wiki/Building_On_Linux
sudo apt build-dep gnucash-docs
git clone https://github.com/Gnucash/gnucash-docs
cd gnucash-docs
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$HOME/.local ..
make
make install
- at gnucash.org/docs (gzipped xml)
- at piecash repository (sqlite inside)
- Tutorial on multiple currency accounting - Peter Selinger
-
python bindings (including examples and tests)
~/src/gnucash/bindings/python- https://lists.gnucash.org/pipermail/gnucash-devel/2008-July/023431.html
- https://wiki.gnucash.org/wiki/Python_Bindings
- https://code.gnucash.org/docs/STABLE/python_bindings_page.html
- https://code.gnucash.org/docs/STABLE/group__python__bindings.html
- https://code.gnucash.org/docs/STABLE/group__python__bindings__examples.html
- https://codigoparallevar.com/blog/2023/programmatic-access-to-gnucash-using-python/
- examples
- book, accounts, transactions, splits
- simple_test.py
- price db
- get_quotes.pl - fetches quotes and such via network using Finance::Quotes
- quotes_historic.py - reads values from file and adds to price db (import)
- priceDB_test.py - reads values from price db and prints out (export)
- price_database_example.py - reads values from price db and prints out (export)
- book, accounts, transactions, splits
-
guile bindings(?) and custom reports
~/src/gnucash/bindings/guile- https://wiki.gnucash.org/wiki/Custom_Reports - Scheme, Guile, Samples, etc.
-
gnucash-cli
- stable interface for doing things with gnucash?
- fetching quotes via the net
- report related functionality
-
source for csv export
~/src/gnucash/gnucash/import-export/csv-exp/csv-transactions-export.cpp
-
source for Split, Transaction, Account, gnc-pricedb, gnc-commodity, etc.
~/src/gnucash/libgnucash/engine/*.cpp
-
build TAGS file at ~/src/gnucash using:
make -f Makefile.TAGS etags.files- some error output but ok?make -f Makefile.TAGS TAGS
-
retrieving quotes and currency info
- perl's Finance::Quote module is used but...
- Online Quotes
- A.1 Finance::Quote Sources
- How can I install Perl modules without root privileges? - make it possible to use non-root install of perl module
- https://metacpan.org/pod/local::lib#The_bootstrapping_technique
- invocations for arranging for Finance::Quote
sudo apt install liblocal-lib-perlecho 'eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"' >> ~/.bashrcsource ~/.bashrcperl -MCPAN -Mlocal::lib -e 'CPAN::install(Finance::Quote)'perl -MCPAN -Mlocal::lib -e 'CPAN::install(JSON::Parse)'
-
possibly worth examining
~/src/gnucash/README~/src/gnucash/README.dependencies~/src/gnucash/HACKING~/src/gnucash/NEWS~/src/gnucash/contrib~/src/gnucash/util
-
import csv of exported gnucash csv
- how to import a csv of transactions
- Export & import within GnuCash
- tldr; doesn't seem like it works well -- write code to do import using python bindings instead
- gnucash-importer
- trying to write own may also be useful
-
abbreviations, terms, etc.
- qof - query object framework
- scrubbing
- xacc - old name of gnucash (https://dl.acm.org/doi/fullHtml/10.5555/374638.374646)
-
posts
-
videos
- Personal Budgeting In GnuCash - Beginner's Guide - The Busy Bee Post