ledger/doc
John Wiegley d84638045a Added note to docs about "primary" commodities
Whenever a commodity is exchanged for another in a posting, one of the
two is considered "primary", and the other secondary.  Primariness of a
commodity is remembered, since the --market option only renders balances
into secondary commodities, never primaries.  To render primaries, use
the --exchange=COMMODITY option.

In all of the following examples, the P commodity is considered primary
and the S is secondary (the P at the beginning of the line indicates a
price-setting directive):

    2009/01/01 Sample 1a
        Assets:Brokerage:Stocks                100 S
        Assets:Brokerage:Cash                 -100 P

    P 2009/01/15 00:00:00 S 2 P

    2009/02/01 Sample 2a
        Assets:Brokerage:Stocks                100 S @ 1 P
        Assets:Brokerage:Cash

    P 2009/02/01 00:00:00 S 4 P

    2009/03/01 Sample 3a
        Assets:Brokerage:Stocks                100 S @@ 100 P
        Assets:Brokerage:Cash

    P 2009/03/01 00:00:00 S 8 P

    2009/04/01 Sample 4a
        Assets:Brokerage:Cash                  100 P
        Assets:Brokerage:Stocks               -100 S {1 P}

    P 2009/04/01 00:00:00 S 16 P
2009-02-24 03:56:27 -04:00
..
Doxyfile Changed the doxygen generation options to be a lot cleaner looking. 2009-01-31 15:43:30 -04:00
grammar.y The Great Renaming, Part II 2009-02-23 19:07:30 -04:00
INSTALL Moved several documentation files into the 'doc' directory. 2008-08-07 23:25:42 -04:00
ledger.1 Removed the largely useless --performance option 2009-02-24 03:47:23 -04:00
ledger.texi Added note to docs about "primary" commodities 2009-02-24 03:56:27 -04:00
LICENSE Increased copyright range to include 2009. 2009-01-20 01:53:31 -04:00
LICENSE-irrxml Switched over to using irrxml for parsing XML, rather than expat. 2009-01-24 04:49:58 -04:00
LICENSE-sha1 Renamed license file for sha1. 2009-01-23 19:50:08 -04:00
LICENSE-utfcpp Added support for Unicode text in Ledger files, thanks to 'utfcpp', which can 2009-01-23 19:50:00 -04:00
NEWS Some reformatting of the NEWS file 2009-02-19 15:03:21 -04:00
README The Great Renaming, Part II 2009-02-23 19:07:30 -04:00
sample.dat The Great Renaming, Part II 2009-02-23 19:07:30 -04:00

			  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 postings.  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").

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.