Welcome to Ledger the command-line accounting program Introduction ============ Ledger is an accounting program which is invoked from the command-line using a textual ledger file. To start using Ledger, you will need to create such a file containing your financial transactions. A sample has been provided in the file "sample.dat". See the documentation (ledger.pdf, or ledger.info) for full documentation on creating a ledger file and using Ledger to generate reports. Once you have such a file -- you might call it "ledger.dat" -- you can start looking at balances and account registers using commands like the following: ledger -f ledger.dat balance assets:checking ledger -f ledger.dat register expenses:food This assumes, of course, that like the sample file you use account names such as "Assets:Checking" and "Expenses:Food". If you use other account names, you will need to vary the reporting commands you use accordingly. Building ======== To build Ledger, you will need a fairly modern C++ compiler (gcc 2.95 will not work), and at least these two libraries installed: gmp GNU multi-precision library pcre Perl regular expression library (On some GNU/Linux systems, the packages you need to install are called "gmp-dev" and "pcre-dev"). If you wish to read Gnucash data files, you will also need two XML libraries, which may or may not be available in a single package (it depends on your distribution): libexpat, or libxmlparse and libxmltok Once you have determined where the headers and libraries for the above packages are installed, run the script "configure", passing those paths. If you installed everything under /usr/local, you can probably just type "./configure". Otherwise, do this: ./configure CPPFLAGS=-I LDFLAGS=-L If you need to specify multiple include or library paths, then do this: ./configure CPPFLAGS="-I -I" LDFLAGS="-L -L" Once configure is done running, just type: make install Mailing List and IRC ==================== If you need help on how to use Ledger, or run into problems, you can join the Ledger mailing list at the following Web address: https://lists.sourceforge.net/lists/listinfo/ledger-discuss You can also find help at the #ledger channel on the IRC server irc.freenode.net. Building Ledger as a Python Module ================================== If you have Python 2.2 or higher installed, and Boost.Python, then Ledger can also be built as a Python module if --enable-python is passed to the configure script. This means you can interact with your Ledger data from Python, making it easier to write custom reports. This feature is mostly undocumented in version 2.0, although main.py gives a working example.