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 .gitignore Fri Feb 20 19:53:19 -0800 2009 Added ignore file entries [jwiegley]
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 Wed Jan 21 14:53:52 -0800 2009 Changed the order in which options are processe... [jwiegley]
file acprep Wed Sep 17 02:48:06 -0700 2008 Added autogen.sh. [jwiegley]
file amount.cc Wed Sep 17 02:06:28 -0700 2008 When printing lot dates, never include a time. [jwiegley]
file amount.h Sat Jul 26 20:55:06 -0700 2008 Added a simple optimization to the way amount s... [jwiegley]
file amounts.cc Sat Apr 12 23:41:28 -0700 2008 (read_binary_journal): Fixed a tiny memory leak... [jwiegley]
file autogen.sh Fri Oct 30 15:38:09 -0700 2009 Moved autoconf-related files into tools This m... [jwiegley]
file balance.cc Sat Apr 12 23:41:32 -0700 2008 Reworked the way date/times are handled. [jwiegley]
file balance.h Thu Jul 17 18:22:24 -0700 2008 Added helper methods for comparing a balance to... [jwiegley]
file binary.cc Sat Jul 26 20:54:35 -0700 2008 Increased binary cache file internal version nu... [jwiegley]
file binary.h Sat Apr 12 23:41:23 -0700 2008 Made several changes to the parsing infrastruct... [jwiegley]
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 Tue Oct 21 13:11:16 -0700 2008 Updated internal version number to 2.6.2. [jwiegley]
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]
submodule data - e4eb5c2 Mon Aug 25 21:14:51 -0700 2008 Added a note about needing to merge in levin's ... [jwiegley]
file datetime.cc Thu Jul 17 03:19:40 -0700 2008 Added several more date/time fixes from Nathan ... [jwiegley]
file datetime.h Wed Sep 17 02:06:17 -0700 2008 Permit date_t to be constructed by a datetime_t. [jwiegley]
file debug.cc Sat Apr 12 23:41:29 -0700 2008 Added much better error location. [jwiegley]
file debug.h Sat Apr 12 23:41:32 -0700 2008 Reworked the way date/times are handled. [jwiegley]
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 Tue Jul 29 02:37:35 -0700 2008 fix beg_line bug [levindu]
file emacs.h Sat Apr 12 23:40:56 -0700 2008 Added an Emacs formatter, accessible with the n... [jwiegley]
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 Tue Jan 20 16:55:12 -0800 2009 Correctly output space if %2.2X is used. [jwiegley]
file format.h Sat Apr 12 23:41:32 -0700 2008 Added elision styles. [jwiegley]
file gnucash.cc Thu Jul 17 18:26:41 -0700 2008 slanack: The problem was that <split:quantity> ... [jwiegley]
file gnucash.h Sat Apr 12 23:41:23 -0700 2008 Made several changes to the parsing infrastruct... [jwiegley]
file journal.cc Wed Sep 17 02:05:26 -0700 2008 When automatically associating lot details with... [jwiegley]
file journal.h Wed Sep 17 02:05:49 -0700 2008 Removed "note" field in entry_t, since that fea... [jwiegley]
file ledger.el Tue Jan 20 16:56:03 -0800 2009 Increased copyright range to include 2009. [jwiegley]
file ledger.h Sat Apr 12 23:41:33 -0700 2008 Made separate modules for the csv command, sinc... [jwiegley]
file ledger.texi Sat Jan 24 01:23:37 -0800 2009 Corrected one of the examples. [jwiegley]
file ledger.vim Fri Jan 30 21:06:15 -0800 2009 I have improved the vim syntax file for ledger,... [Stefan Karrmann]
file main.cc Wed Jan 21 14:53:52 -0800 2009 Changed the order in which options are processe... [jwiegley]
file mask.cc Sat Apr 12 23:41:29 -0700 2008 Added much better error location. [jwiegley]
file mask.h Sat Apr 12 23:41:29 -0700 2008 Added much better error location. [jwiegley]
file ofx.cc Sat Apr 12 23:41:29 -0700 2008 *** empty log message *** [jwiegley]
file ofx.h Sat Apr 12 23:41:23 -0700 2008 Made several changes to the parsing infrastruct... [jwiegley]
file option.cc Wed Jan 21 14:53:52 -0800 2009 Changed the order in which options are processe... [jwiegley]
file option.h Wed Jan 21 14:53:52 -0800 2009 Changed the order in which options are processe... [jwiegley]
file parser.cc Wed Jan 21 14:53:52 -0800 2009 Changed the order in which options are processe... [jwiegley]
file parser.h Sat Apr 12 23:41:29 -0700 2008 *** empty log message *** [jwiegley]
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 Sat Apr 12 23:41:32 -0700 2008 Reworked the way date/times are handled. [jwiegley]
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/ Sat Apr 12 23:41:31 -0700 2008 Added a new script that enables use of Ledger a... [jwiegley]
file setup.py Tue Oct 21 13:11:16 -0700 2008 Updated internal version number to 2.6.2. [jwiegley]
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/ Wed May 07 23:50:05 -0700 2008 Changed from using .cvsignore to .gitignore. [jwiegley]
file textual.cc Wed Sep 17 02:13:42 -0700 2008 Do not adjust display precision when parsing a ... [jwiegley]
file textual.h Sat Apr 12 23:41:29 -0700 2008 *** empty log message *** [jwiegley]
file timeclock.el Tue Aug 05 15:05:49 -0700 2008 Moved around most of the files so that source c... [jwiegley]
file timing.h Sat Apr 12 23:41:29 -0700 2008 Added a DATETIME value type. [jwiegley]
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 Sat Aug 09 04:17:59 -0700 2008 Revert "Added the concept of "balance setting t... [jwiegley]
file valexpr.h Sat Aug 09 04:17:59 -0700 2008 Revert "Added the concept of "balance setting t... [jwiegley]
file value.cc Sat Jul 19 13:52:16 -0700 2008 When converting datetime_t to a long, I now nee... [jwiegley]
file value.h Sat Apr 12 23:41:32 -0700 2008 *** empty log message *** [jwiegley]
file walk.cc Sat Jul 19 13:52:16 -0700 2008 When converting datetime_t to a long, I now nee... [jwiegley]
file walk.h Sat Jul 26 20:55:17 -0700 2008 Another quick optimization that cuts down on me... [jwiegley]
file xml.cc Sat Apr 12 23:41:32 -0700 2008 Reworked the way date/times are handled. [jwiegley]
file xml.h Wed Sep 17 02:05:59 -0700 2008 Increased xml output version to 2.6. [jwiegley]
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.