I use GnuCash [1] with non-compressed save files enabled so that I can store changes on Git. It works flawlessly for me: I can edit accounts across different computers, get the full force of a mature accounting package to do my finances, and can use/write scripts that plot some statistics using various bindings (e.g. Python) [2].