public
Description: Double-entry accounting system with a command-line reporting interface
Homepage: http://www.newartisans.com/software/ledger.html
Clone URL: git://github.com/jwiegley/ledger.git
ledger /
name age message
file LICENSE Loading commit data...
file Makefile.am
file NEWS
file README
file acprep
file amount.cc
file amount.h
file amounts.cc Sat Apr 12 23:41:28 -0700 2008 (read_binary_journal): Fixed a tiny memory leak... [jwiegley]
file balance.cc
file balance.h
file binary.cc
file binary.h
file config.cc Sat Apr 12 23:41:33 -0700 2008 Made separate modules for the csv command, sinc... [jwiegley]
file config.h Sat Apr 12 23:41:33 -0700 2008 Made separate modules for the csv command, sinc... [jwiegley]
file configure.in
file csv.cc Sat Apr 12 23:41:33 -0700 2008 Made separate modules for the csv command, sinc... [jwiegley]
file csv.h Sat Apr 12 23:41:33 -0700 2008 Made separate modules for the csv command, sinc... [jwiegley]
file datetime.cc
file datetime.h
file debug.cc Sat Apr 12 23:41:29 -0700 2008 Added much better error location. [jwiegley]
file debug.h
file derive.cc
file derive.h Sat Apr 12 23:40:47 -0700 2008 updated to version 2.0 [jwiegley]
file emacs.cc
file emacs.h
file error.h Sat Apr 12 23:41:32 -0700 2008 *** empty log message *** [jwiegley]
file fdstream.hpp Sat Apr 12 23:41:01 -0700 2008 Whitespace changes. [jwiegley]
file format.cc
file format.h
file gnucash.cc
file gnucash.h Sat Apr 12 23:41:23 -0700 2008 Made several changes to the parsing infrastruct... [jwiegley]
file journal.cc
file journal.h
file ledger.el
file ledger.h
file ledger.texi
file ledger.vim
file main.cc
file mask.cc
file mask.h
file ofx.cc
file ofx.h Sat Apr 12 23:41:23 -0700 2008 Made several changes to the parsing infrastruct... [jwiegley]
file option.cc
file option.h
file parser.cc
file parser.h
file qif.cc Sat Apr 12 23:41:32 -0700 2008 Reworked the way date/times are handled. [jwiegley]
file qif.h Sat Apr 12 23:41:23 -0700 2008 Made several changes to the parsing infrastruct... [jwiegley]
file quotes.cc Sat Apr 12 23:41:32 -0700 2008 Reworked the way date/times are handled. [jwiegley]
file quotes.h Sat Apr 12 23:41:32 -0700 2008 Reworked the way date/times are handled. [jwiegley]
file reconcile.cc
file reconcile.h Sat Apr 12 23:41:32 -0700 2008 Reworked the way date/times are handled. [jwiegley]
file report.cc Sat Apr 12 23:41:32 -0700 2008 Added elision styles. [jwiegley]
file report.h Sat Apr 12 23:41:32 -0700 2008 Reworked the way date/times are handled. [jwiegley]
file sample.dat Sat Apr 12 23:40:47 -0700 2008 updated to version 2.0 [jwiegley]
directory scripts/
file setup.py
file startup.cc Sat Apr 12 23:41:29 -0700 2008 Added a DATETIME value type. [jwiegley]
file test.py Sat Apr 12 23:41:29 -0700 2008 Added much better error location. [jwiegley]
directory tests/
file textual.cc
file textual.h Sat Apr 12 23:41:29 -0700 2008 *** empty log message *** [jwiegley]
file timeclock.el
file timing.h
file util.h Sat Apr 12 23:40:59 -0700 2008 Added a fix for FreeBSD, so that Ledger can com... [jwiegley]
file valexpr.cc
file valexpr.h
file value.cc
file value.h Sat Apr 12 23:41:32 -0700 2008 *** empty log message *** [jwiegley]
file walk.cc
file walk.h
file xml.cc
file xml.h
README
        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<INCLUDE-PATH>  LDFLAGS=-L<LIBRARY-PATH>

If you need to specify multiple include or library paths, then do
this:

    ./configure CPPFLAGS="-I<PATH1> -I<PATH2>"  LDFLAGS="-L<PATH1> -L<PATH2>"

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.