Quick plug for ledger-cli (and hledger, and beancount). It is a command line tool for double entry bookkeeping in plain text files. All your transactions get recorded in a human readable file, and then you can run pretty complex queries over it. I currently have an envelope budget system set up in it, and even track my mortgage, including compounding the interest.