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
nathanj (author)
Fri Jul 10 17:09:11 -0700 2009
jwiegley (committer)
Mon Jul 13 05:34:46 -0700 2009
ledger /
name age message
file .gitignore Loading commit data...
file .gitmodules Mon Oct 27 18:59:02 -0700 2008 Added more planning files. [jwiegley]
file LICENSE Mon Jan 19 21:53:31 -0800 2009 Increased copyright range to include 2009. [jwiegley]
file Makefile.am Tue Oct 21 13:11:16 -0700 2008 Updated internal version number to 2.6.2. [jwiegley]
file NEWS Wed Jan 21 14:55:20 -0800 2009 Updated NEWS file. [jwiegley]
file README Fri Jan 30 21:04:57 -0800 2009 Update the link to the mailing list in the README [mpalmer]
file TODO
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 autogen.sh
file balance.cc
file balance.h Thu Jul 17 18:22:24 -0700 2008 Added helper methods for comparing a balance to... [jwiegley]
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
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
submodule data - e4eb5c2
file datetime.cc
file datetime.h
file debug.cc
file debug.h
file derive.cc Sun Jul 20 17:31:53 -0700 2008 When using the "entry" command with an unknown ... [jwiegley]
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
file fdstream.hpp
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 Tue Jan 20 16:56:03 -0800 2009 Increased copyright range to include 2009. [jwiegley]
file ledger.h
file ledger.texi Sat Jan 24 01:23:37 -0800 2009 Corrected one of the examples. [jwiegley]
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
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
file reconcile.cc
file reconcile.h
file report.cc
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
directory tests/
file textual.cc
file textual.h
file timeclock.el
file timing.h
file util.h
file valexpr.cc
file valexpr.h
file value.cc
file value.h
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:

    http://groups.google.com/group/ledger-cli

You can also find help at the #ledger channel on the IRC server
irc.freenode.net.