Penny is inspired by, but incompatible with, Ledger by John Wiegley. It is a double-entry accounting system which reads your accounting data from plain-text files that you maintain. Tools allow you to query your data from the command line.
Penny should work on any recent UNIX system.
Why I wrote this thing and how it compares to Ledger and to hledger
Installing Penny is hard, sorry! It is written in Haskell, a cutting-edge functional language. This means that you need the GHC Haskell compiler. That alone will cost you at least 700 MB of disk space (though in this age of terabyte disks, maybe this isn't such a big deal.)
Here are the steps you can take to install Penny:
cabal install pennyas root, or
cabal install --user pennyas a non-privileged user.
cabal installdoes not install the documentation; to do that, find out where
cabal installdownloaded the
pennytarball (usually this will be in
./install-docs. That will put the manpages in the correct places.
If you have problems installing Penny, let me know and I'll see if I can help.
Most of Penny's documents are written in roff for consumption by your UNIX man page reader; they are also here for your convenience. I use tbl in the man pages, but apparently those tables are not showing up in the HTML version, sorry. They are just showing up as empty images. To get the full effect of the tables, look at the PDF versions instead.
Some of the files below are plain text files. Some of these contain UTF-8 text, which might not display properly in your web browser. If you see garbage characters, just save the file and view it in a proper text viewer or editor instead.
penny-basics.7 (PDF)- START HERE - gets you started in Penny
starter.pny - sample Penny file format
penny-examples.7 (PDF) - more examples of penny usage
penny-commodities.7 (PDF) - how to use Penny to track commodities
stocks.pny - sample ledger file with stocks
stocks-realized.pny - stocks after you have realized a capital gain or loss by selling them.
penny-selloff.1 (PDF) - using Penny to calculate capital gains and losses from commodity sales
penny-custom.7 (PDF) - how you can write a custom Penny binary with all your settings; requires rudimentary Haskell knowledge
penny.1 (PDF) - has all options for the main penny program, in exhaustive detail
penny-suite.7 (PDF) - lists all Penny man pages and most documentation
more-file-format-details.pny - a Penny ledger file showing more features of the file format.
penny-diff.1 (PDF) - like diff, but for Penny
penny-fit.7 (PDF) - can help you automatically import transactions from your bank, though it will require rudimentary Haskell knowledge.
penny-reconcile.1 (PDF) - can help you when reconciling your bank accounts
penny-reprint (PDF) - tidies up ledger files
Hackage is a repository of Haskell packages, sort of like CPAN if you are familiar with that.
Surely there are no bugs in this software! But if you find some, or if you just have some nifty idea and you want me to look at it, the best way to do it is by using git and Github. You can also email me. I can't lie, it takes me forever to respond to emails, so I apologize in advance. The best thing about Github is that you can fork the code and go off on your merry way; Penny's BSD style license is no impediment to that and believe me, if you do that I won't be offended.
Start by rummaging around in the Haddock documentation for penny-lib, though it is not as good as it should be. Start at the top and work your way down through each level of the tree.
I develop this software because I find it useful; it's the classic "itch-scratching" kind of thing. So if nobody uses it, I really won't mind. Buf if you do use it, and you want to let me know - even if it's just to say "gnucash, hledger, and Mint are all better, what are you thinking, but there are some interesting ideas buried in here" - then feel free to let me know on Github or by email.