No description
Find a file
2008-04-13 02:41:17 -04:00
scripts *** empty log message *** 2008-04-13 02:40:48 -04:00
acprep Separate out the arguments, to be more compatible. 2008-04-13 02:41:10 -04:00
amount.cc *** empty log message *** 2008-04-13 02:41:17 -04:00
amount.h *** empty log message *** 2008-04-13 02:41:17 -04:00
balance.cc Changes to support building with gcc 2.95. 2008-04-13 02:40:57 -04:00
balance.h updated to version 2.0 2008-04-13 02:40:47 -04:00
binary.cc *** empty log message *** 2008-04-13 02:41:17 -04:00
binary.h (write_binary_journal): Removed unused "files" parameter. 2008-04-13 02:40:52 -04:00
config.cc Changed the --begin and --end switches to rely on interval parsing to 2008-04-13 02:41:17 -04:00
config.h Added support for "--pager PROGRAM". A likely way to define it in 2008-04-13 02:41:00 -04:00
configure.in *** empty log message *** 2008-04-13 02:41:12 -04:00
datetime.cc Added input_format' array, and made formats' external. 2008-04-13 02:41:10 -04:00
datetime.h Added input_format' array, and made formats' external. 2008-04-13 02:41:10 -04:00
debug.cc updated to version 2.0 2008-04-13 02:40:47 -04:00
debug.h updated to version 2.0 2008-04-13 02:40:47 -04:00
derive.cc (derive_new_entry): Backed out a change which caused the "from" 2008-04-13 02:41:16 -04:00
derive.h updated to version 2.0 2008-04-13 02:40:47 -04:00
emacs.cc *** empty log message *** 2008-04-13 02:41:11 -04:00
emacs.h Added an Emacs formatter, accessible with the new "emacs" command. 2008-04-13 02:40:56 -04:00
error.h updated to version 2.0 2008-04-13 02:40:47 -04:00
fdstream.hpp Whitespace changes. 2008-04-13 02:41:01 -04:00
format.cc (parse_elements): The format codes %b and %e can be used to display 2008-04-13 02:41:12 -04:00
format.h (class format_account): Fixed initialization order 2008-04-13 02:41:14 -04:00
gnucash.cc Record the beginning/ending line and position of entries parsed within 2008-04-13 02:41:13 -04:00
gnucash.h updated to version 2.0 2008-04-13 02:40:47 -04:00
journal.cc (export_journal): Added basket' member for journals, and beg_line' 2008-04-13 02:41:13 -04:00
journal.h (class entry_base_t): Added beg_line' and end_line' members. 2008-04-13 02:41:13 -04:00
ledger.el (ledger-do-reconcile): Only allow toggling of reconcilation entries 2008-04-13 02:41:11 -04:00
ledger.h Added an Emacs formatter, accessible with the new "emacs" command. 2008-04-13 02:40:56 -04:00
ledger.texi Changed manual to note that --end is now inclusive. 2008-04-13 02:41:17 -04:00
ledger.vim *** empty log message *** 2008-04-13 02:41:04 -04:00
LICENSE updated to version 2.0 2008-04-13 02:40:47 -04:00
main.cc (chain_xact_handlers): When budgeting and forecasting are being used, 2008-04-13 02:41:12 -04:00
main.py Added missing colons. 2008-04-13 02:41:08 -04:00
Makefile.am (HAVE_LIBOFX_VALUE): Added LIBOFX support to the Python build. 2008-04-13 02:41:00 -04:00
mask.cc Changes to support building with gcc 2.95. 2008-04-13 02:40:57 -04:00
mask.h updated to version 2.0 2008-04-13 02:40:47 -04:00
NEWS *** empty log message *** 2008-04-13 02:41:13 -04:00
ofx.cc Removed unused code. 2008-04-13 02:41:13 -04:00
ofx.h Added preliminary support for OFX, using libofx. Needs much 2008-04-13 02:40:55 -04:00
option.cc (process_environment): If the environment tag is NULL (which is really 2008-04-13 02:41:04 -04:00
option.h updated to version 2.0 2008-04-13 02:40:47 -04:00
parser.cc updated to 2.02 2008-04-13 02:40:48 -04:00
parser.h updated to version 2.0 2008-04-13 02:40:47 -04:00
py_eval.cc (initialize_ledger_for_python): Added initialization call for the 2008-04-13 02:41:02 -04:00
py_eval.h updated to version 2.0 2008-04-13 02:40:47 -04:00
pyfstream.h bug fix 2008-04-13 02:41:02 -04:00
pyledger.cc updated to version 2.0 2008-04-13 02:40:47 -04:00
pyledger.h updated to version 2.0 2008-04-13 02:40:47 -04:00
qif.cc (parse): Negate QIF amounts for which a category is specified, since 2008-04-13 02:41:13 -04:00
qif.h updated to version 2.0 2008-04-13 02:40:47 -04:00
quotes.cc Changes to support building with gcc 2.95. 2008-04-13 02:40:57 -04:00
quotes.h updated to version 2.0 2008-04-13 02:40:47 -04:00
README *** empty log message *** 2008-04-13 02:41:16 -04:00
reconcile.cc Removed incorrect parameter. 2008-04-13 02:41:06 -04:00
reconcile.h Removed the --reconcilable option, since the pending flag is now being 2008-04-13 02:41:05 -04:00
sample.dat updated to version 2.0 2008-04-13 02:40:47 -04:00
setup.py Added OFX library support. 2008-04-13 02:41:01 -04:00
textual.cc (parse): Removed some unnecessary code which was actually causing 2008-04-13 02:41:15 -04:00
textual.h (test): Added a test for the presence of <?xml... in the input stream; 2008-04-13 02:41:07 -04:00
timeclock updated to version 2.0 2008-04-13 02:40:47 -04:00
timeclock.el updated to version 2.0 2008-04-13 02:40:47 -04:00
timing.h updated to version 2.0 2008-04-13 02:40:47 -04:00
util.h Added a fix for FreeBSD, so that Ledger can compile there. 2008-04-13 02:40:59 -04:00
valexpr.cc Added the capability for value expression regexps targetted at 2008-04-13 02:40:59 -04:00
valexpr.h Added the capability for value expression regexps targetted at 2008-04-13 02:40:59 -04:00
value.cc updated to version 2.0 2008-04-13 02:40:47 -04:00
value.h updated to version 2.0 2008-04-13 02:40:47 -04:00
walk.cc (operator): Rearranged some code and added an assert. 2008-04-13 02:41:16 -04:00
walk.h (subtotal_transactions::operator()): Changed the usage of the 2008-04-13 02:41:15 -04:00
xml.cc minor bit twiddling 2008-04-13 02:41:07 -04:00
xml.h Moved `format_xml_entries' to xml.cc. 2008-04-13 02:41:03 -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 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):

    xmlparse
    xmltok

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.


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.