No description
balance single transaction entries into it. Also, fixed two entry balancing issues. (finalize): If a "catch all" transaction (a transaction with no amount) is present in an entry, it will now balance all unbalanced quantities in the entry. Before its use was much more restricted. (journal_t::add_entry): Set the "journal" pointer before calling the finalize hooks, so that the finalizers have access to the proposed journal the entry wishes to be added to (if it fails, the pointer is cleared). |
||
|---|---|---|
| scripts | ||
| acprep | ||
| acprep.lt | ||
| amount.cc | ||
| amount.h | ||
| balance.cc | ||
| balance.h | ||
| binary.cc | ||
| binary.h | ||
| config.cc | ||
| config.h | ||
| configure.in | ||
| datetime.cc | ||
| datetime.h | ||
| debug.cc | ||
| debug.h | ||
| derive.cc | ||
| derive.h | ||
| emacs.cc | ||
| emacs.h | ||
| error.h | ||
| fdstream.hpp | ||
| format.cc | ||
| format.h | ||
| gnucash.cc | ||
| gnucash.h | ||
| journal.cc | ||
| journal.h | ||
| ledger.el | ||
| ledger.h | ||
| ledger.texi | ||
| ledger.vim | ||
| LICENSE | ||
| main.cc | ||
| main.py | ||
| Makefile.am | ||
| Makefile.lt | ||
| mask.cc | ||
| mask.h | ||
| NEWS | ||
| ofx.cc | ||
| ofx.h | ||
| option.cc | ||
| option.h | ||
| parser.cc | ||
| parser.h | ||
| py_eval.cc | ||
| py_eval.h | ||
| pyfstream.h | ||
| pyledger.cc | ||
| pyledger.h | ||
| qif.cc | ||
| qif.h | ||
| quotes.cc | ||
| quotes.h | ||
| README | ||
| reconcile.cc | ||
| reconcile.h | ||
| sample.dat | ||
| setup.py | ||
| textual.cc | ||
| textual.h | ||
| timeclock | ||
| timeclock.el | ||
| timing.h | ||
| util.h | ||
| valexpr.cc | ||
| valexpr.h | ||
| value.cc | ||
| value.h | ||
| walk.cc | ||
| walk.h | ||
| xml.cc | ||
| xml.h | ||
Welcome to Ledger, a command-line accounting program.
Quick start
===========
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 easy to write custom reports.
This feature is mostly undocumented in version 2.0, although main.py
is a working example.