summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2009-02-23 19:07:30 -0400
committerJohn Wiegley <johnw@newartisans.com>2009-02-23 19:07:30 -0400
commit944c63e6f26d1f05ba6f63c60f510d3796872f3e (patch)
treee1fc54319c2c42c16a64e95930acaca063658863 /doc
parent057506ab6dddbfb75d1bb29289602f375ca57df5 (diff)
downloadfork-ledger-944c63e6f26d1f05ba6f63c60f510d3796872f3e.tar.gz
fork-ledger-944c63e6f26d1f05ba6f63c60f510d3796872f3e.tar.bz2
fork-ledger-944c63e6f26d1f05ba6f63c60f510d3796872f3e.zip
The Great Renaming, Part II
The last commit did not contain the majority of changes because of a slight mishap. This contains the real changeset.
Diffstat (limited to 'doc')
-rw-r--r--doc/README45
-rw-r--r--doc/grammar.y44
-rw-r--r--doc/ledger.111
-rw-r--r--doc/ledger.texi854
-rw-r--r--doc/sample.dat4
5 files changed, 479 insertions, 479 deletions
diff --git a/doc/README b/doc/README
index e9191c82..8f83ef39 100644
--- a/doc/README
+++ b/doc/README
@@ -6,47 +6,44 @@
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.
+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:
+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.
+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:
+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").
+(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:
+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:
+If you need to specify multiple include or library paths, then do this:
./configure CPPFLAGS="-I<PATH1> -I<PATH2>" LDFLAGS="-L<PATH1> -L<PATH2>"
@@ -58,8 +55,8 @@ Once configure is done running, just type:
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:
+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
diff --git a/doc/grammar.y b/doc/grammar.y
index fd58cd01..018e7391 100644
--- a/doc/grammar.y
+++ b/doc/grammar.y
@@ -24,7 +24,7 @@
* INT1 -- a one digit wide number
*
* Except for 1) the 'spacer' production (see below), 2) EOL, and 3) the
- * WHITESPACE required to begin a transaction, whitespace is otherwise
+ * WHITESPACE required to begin a posting, whitespace is otherwise
* ignored.
*
* Yes, this grammar is confusing and not so happy for machine readers,
@@ -36,7 +36,7 @@
/*
* Journals
*
- * A journal is a file which primarily contains entries, among other elements.
+ * A journal is a file which primarily contains xacts, among other elements.
*/
journal:
@@ -47,7 +47,7 @@ journal:
journal_item:
whitespace
directive |
- entry |
+ xact |
;
whitespace:
@@ -83,7 +83,7 @@ char_directive:
'D' amount | /* sets display parameters for a commodity */
'A' TEXT | /* sets the "default balancing account" */
'C' commodity '=' amount | /* specifies a commodity conversion */
- 'P' date time commodity amount | /* a pricing history entry */
+ 'P' date time commodity amount | /* a pricing history xact */
'N' commodity | /* commodity's price is never downloaded */
'Y' INT4 | /* sets the default year for date parsing */
'-' '-' STRING TEXT | /* specify command-line options in the file */
@@ -100,20 +100,20 @@ commodity:
STRING ;
/*
- * Entries
+ * Xacts
*
- * Entries are the atomic units of accounting, which are composed of
- * multiple transactions between accounts, so long as it all balances in
+ * Xacts are the atomic units of accounting, which are composed of
+ * multiple postings between accounts, so long as it all balances in
* the end.
*/
-entry: plain_entry |
- periodic_entry |
- automated_entry ;
+xact: plain_xact |
+ periodic_xact |
+ automated_xact ;
-plain_entry:
+plain_xact:
date date_opt status_opt code_opt FULLSTRING note_opt EOL
- transactions ;
+ postings ;
status_opt: status | /* epsilon */ ;
status: '*' | '!' | /* epsilon */ ;
@@ -128,9 +128,9 @@ note: ';' TEXT ;
/* ---------------------------------------------------------------------- */
-periodic_entry:
+periodic_xact:
'~' period_expr note_opt EOL
- transaction transactions ;
+ posting postings ;
/*
* A period expression has its own sub-grammar, which I don't quite have
@@ -142,9 +142,9 @@ period_expr: FULLSTRING ;
/* ---------------------------------------------------------------------- */
-automated_entry:
+automated_xact:
'=' value_expr note_opt EOL
- transaction transactions ;
+ posting postings ;
/*
* Value expressions are a algebraic math expressions very similar to
@@ -183,21 +183,21 @@ amount:
amount_expr: amount | value_expr ;
/*
- * Transactions
+ * Postings
*
- * Transactions are the fundamental unit of accounting, and represent
+ * Postings are the fundamental unit of accounting, and represent
* the movement of commodities to or from an account. Thus, paying off
- * your credit card consists of two balancing transactions: one that
+ * your credit card consists of two balancing postings: one that
* withdraws money from your checking account, and another which pays
* money to your credit institution.
*/
-transactions:
- transaction transactions |
+postings:
+ posting postings |
/* epsilon */
;
-transaction:
+posting:
WHITESPACE status_opt account values_opt note_opt EOL;
account_name: FULLSTRING ;
diff --git a/doc/ledger.1 b/doc/ledger.1
index 5598ee8e..8e9e42ff 100644
--- a/doc/ledger.1
+++ b/doc/ledger.1
@@ -60,7 +60,6 @@ are also accepted.
The synonym
.Nm lisp
is also accepted.
-.It Nm entry Oo Ar date Oc
.It Nm equity Oo Ar query Oc
.It Nm prices Oo Ar query Oc
.It Nm pricesdb Oo Ar query Oc
@@ -73,6 +72,10 @@ and
are also accepted.
.It Nm reload
Used solely by the
+.It Nm xact Oo Ar date Oc
+The synonym
+.Nm entry
+is also accepted.
.Tn REPL ,
and causes an immediate reloading of all journal files in the session.
.It Nm stats Oo Ar query Oc
@@ -190,7 +193,7 @@ appeared in the original journal file.
.It Fl \-set-price Ar EXPR
.It Fl \-sort Ar EXPR Pq Fl S
.It Fl \-sort-all
-.It Fl \-sort-entries
+.It Fl \-sort-xacts
.It Fl \-start-of-week Ar STR
.It Fl \-strict
.It Fl \-subtotal Pq Fl s
@@ -238,7 +241,7 @@ Query on the payee, rather than the account.
.It Nm note Ar regex Pq \&= Ns Ar regex
Query on anything found in an item's note.
.It Nm code Ar regex Pq \&# Ns Ar regex
-Query on the entry's optional code (which can be any string the user wishes).
+Query on the xact's optional code (which can be any string the user wishes).
.It Ar term Nm and Ar term
Query terms are joined by an implicit OR operator. You can change this to AND
by using that keyword. For example, to show food expenditures occurring at
@@ -294,7 +297,6 @@ for example:
.It Nm display_total
.It Nm end_line
.It Nm end_pos
-.It Nm entry
.It Nm filename
.It Nm format_date
.It Nm has_meta
@@ -307,6 +309,7 @@ for example:
.It Nm partial_account
.It Nm payee
.It Nm pending
+.It Nm post
.It Nm print
.It Nm quantity
.It Nm quoted
diff --git a/doc/ledger.texi b/doc/ledger.texi
index 8279f4c9..a95a381b 100644
--- a/doc/ledger.texi
+++ b/doc/ledger.texi
@@ -95,7 +95,7 @@ company's name. The ultimate aim of keeping a checkbook ledger is to
know how much money is available to spend. That's really the aim of
all ledgers.
-What computers add is the ability to walk through these transactions,
+What computers add is the ability to walk through these postings,
and tell you things about your spending habits; to let you devise
budgets and get control over your spending; to squirrel away money
into virtual savings account without having to physically move money
@@ -109,7 +109,7 @@ of all your accounts, not just checking. In such a ledger, you record
not only who gets paid---in the case of a debit---but where the money
came from. In a checkbook ledger, its assumed that all the money
comes from your checking account. But in a general ledger, you write
-transaction two-lines: the source account and target account.
+posting two-lines: the source account and target account.
@emph{There must always be a debit from at least one account for every
credit made to another account}. This is what is meant by
``double-entry'' accounting: the ledger must always balance to zero,
@@ -122,7 +122,7 @@ general ledger you need to record a payment to Pacific Bell for your
monthly phone bill. The cost is $23.00, let's say, and you want to
pay it from your checking account. In the general ledger you need to
say where the money came from, in addition to where it's going to.
-The entry might look like this:
+The transaction might look like this:
@smallexample
9/29 BAL Pacific Bell $-200.00 $-200.00
@@ -137,17 +137,17 @@ The first line shows a payment to Pacific Bell for $23.00. Because
there is no ``balance'' in a general ledger---it's always zero---we
write in the total balance of all payments to ``Pacific Bell'', which
now is $223.00 (previously the balance was $200.00). This is done by
-looking at the last entry for ``Pacific Bell'' in the ledger, adding
+looking at the last transaction for ``Pacific Bell'' in the ledger, adding
$23.00 to that amount, and writing the total in the balance column.
And the money came from ``Checking''---a withdrawal of $23.00---which
leaves the ending balance in ``Checking'' at $77.00. This is a very
manual procedure; but that's where computers come in...
-The transaction must balance to $0: $23 went to Pacific Bell, $23 came
+The posting must balance to $0: $23 went to Pacific Bell, $23 came
from Checking. There is nothing left over to be accounted for, since
the money has simply moved from one account to another. This is the
basis of double-entry accounting: that money never pops in or out of
-existence; it is always a transaction from one account to another.
+existence; it is always a posting from one account to another.
Keeping a general ledger is the same as keeping two separate ledgers:
One for Pacific Bell and one for Checking. In that case, each time a
@@ -160,16 +160,16 @@ deal with multiple accounts.
Enter the beauty of computerized accounting. The purpose of the
Ledger program is to make general ledger accounting simple, by keeping
track of the balances for you. Your only job is to enter the
-transactions. If a transaction does not balance, Ledger displays an
-error and indicates the incorrect transaction.@footnote{In some
-special cases, it automatically balances this entry for you.}
+postings. If a posting does not balance, Ledger displays an
+error and indicates the incorrect posting.@footnote{In some
+special cases, it automatically balances this transaction for you.}
In summary, there are two aspects of Ledger use: updating the ledger
data file, and using the Ledger tool to view the summarized result of
-your entries.
+your transactions.
And just for the sake of example---as a starting point for those who
-want to dive in head-first---here are the ledger entries from above,
+want to dive in head-first---here are the ledger transactions from above,
formatting as the ledger program wishes to see them:
@smallexample
@@ -203,7 +203,7 @@ mathematically tricks you need to better understand your spending
patterns. Without a good ledger, no tool, however smart, can help
you.
-The Ledger program aims at making ledger entry as simple as possible.
+The Ledger program aims at making ledger transaction as simple as possible.
Since it is a command-line tool, it does not provide a user interface
for keeping a ledger. If you like, you may use GnuCash to maintain
your ledger, in which case the Ledger program will read GnuCash's data
@@ -211,21 +211,21 @@ files directly. In that case, read the GnuCash manual now, and skip
to the next chapter.
If you are not using GnuCash, but a text editor to maintain your
-ledger, read on. Ledger has been designed to make data entry as
+ledger, read on. Ledger has been designed to make data transaction as
simple as possible, by keeping the ledger format easy, and also by
automagically determining as much information as possible based on the
-nature of your entries.
+nature of your transactions.
For example, you do not need to tell Ledger about the accounts you
-use. Any time Ledger sees a transaction involving an account it knows
+use. Any time Ledger sees a posting involving an account it knows
nothing about, it will create it. If you use a commodity that is new
to Ledger, it will create that commodity, and determine its display
characteristics (placement of the symbol before or after the amount,
display precision, etc) based on how you used the commodity in the
-transaction.
+posting.
Here is the Pacific Bell example from above, given as a Ledger
-transaction:
+posting:
@smallexample
9/29 (100) Pacific Bell
@@ -245,8 +245,8 @@ amount, if it is the same as the first line:
Assets:Checking
@end smallexample
-For this entry, Ledger will figure out that $-23.00 must come from
-@samp{Assets:Checking} in order to balance the entry.
+For this transaction, Ledger will figure out that $-23.00 must come from
+@samp{Assets:Checking} in order to balance the transaction.
@section Building the program
@@ -293,12 +293,12 @@ ledger [OPTIONS...] COMMAND [ARGS...]
Command options must always precede the command word. After the
command word there may appear any number of arguments. For most
commands, these arguments are regular expressions that cause the
-output to relate only to transactions matching those regular
-expressions. For the @command{entry} command, the arguments have a
+output to relate only to postings matching those regular
+expressions. For the @command{transaction} command, the arguments have a
special meaning, described below.
The regular expressions arguments always match the account name that a
-transaction refers to. To match on the payee of the entry instead,
+posting refers to. To match on the payee of the transaction instead,
precede the regular expression with @samp{--}. For example, the
following balance command reports account totals for rent, food and
movies, but only those whose payee matches Freddie:
@@ -334,12 +334,12 @@ separately.
@subsection register
-The @command{register} command displays all the transactions occurring
+The @command{register} command displays all the postings occurring
in a single account, line by line. The account regexp must be
specified as the only argument to this command. If any regexps occur
after the required account name, the register will contain only those
-transactions that match. Very useful for hunting down a particular
-transaction.
+postings that match. Very useful for hunting down a particular
+posting.
The output from @command{register} is very close to what a typical
checkbook, or single-account ledger, would look like. It also shows a
@@ -354,11 +354,11 @@ order to plot either the amount or total column, respectively.
@subsection print
-The @command{print} command prints out ledger entries in a textual
+The @command{print} command prints out ledger transactions in a textual
format that can be parsed by Ledger. They will be properly formatted,
and output in the most economic form possible. The ``print'' command
also takes a list of optional regexps, which will cause only those
-transactions which match in some way to be printed.
+postings which match in some way to be printed.
The @command{print} command can be a handy way to clean up a ledger
file whose formatting has gotten out of hand.
@@ -367,15 +367,15 @@ file whose formatting has gotten out of hand.
The @command{output} command is very similar to the @command{print}
command, except that it attempts to replicate the specified ledger
-file exactly. The format of the command is:
+file epostly. The format of the command is:
@example
ledger -f FILENAME output FILENAME
@end example
Where @file{FILENAME} is the name of the ledger file to output. The
-reason for specifying this command is that only entries contained
-within that file will be output, and not an included entries (as can
+reason for specifying this command is that only transactions contained
+within that file will be output, and not an included transactions (as can
happen with the @command{print} command).
@subsection xml
@@ -384,7 +384,7 @@ The @command{xml} command outputs results similar to what
@command{print} and @command{register} display, but as an XML form.
This data can then be read in and processed. Use the
@option{--totals} option to include the running total with each
-transaction.
+posting.
@subsection emacs
@@ -393,14 +393,14 @@ directly by Emacs Lisp. The format of the sexp is:
@example
((BEG-POS CLEARED DATE CODE PAYEE
- (ACCOUNT AMOUNT)...) ; list of transactions
- ...) ; list of entries
+ (ACCOUNT AMOUNT)...) ; list of postings
+ ...) ; list of transactions
@end example
@subsection equity
The @command{equity} command prints out accounts balances as if they
-were entries. This makes it easy to establish the starting balances
+were transactions. This makes it easy to establish the starting balances
for an account, such as when @ref{Archiving previous years}.
@subsection prices
@@ -414,13 +414,13 @@ There is also a @command{pricesdb} command which outputs the same
information as @command{prices}, but does in a format that can be
parsed by Ledger.
-@subsection entry
+@subsection xact
-The @command{entry} commands simplifies the creation of new entries.
-It works on the principle that 80% of all transactions are variants of
-earlier transactions. Here's how it works:
+The @command{xact} commands simplifies the creation of new transactions.
+It works on the principle that 80% of all postings are variants of
+earlier postings. Here's how it works:
-Say you currently have this transaction in your ledger file:
+Say you currently have this posting in your ledger file:
@smallexample
2004/03/15 * Viva Italiano
@@ -430,11 +430,11 @@ Say you currently have this transaction in your ledger file:
@end smallexample
Now it's @samp{2004/4/9}, and you've just eating at @samp{Viva
-Italiano} again. The exact amounts are different, but the overall
-form is the same. With the @command{entry} command you can type:
+Italiano} again. The epost amounts are different, but the overall
+form is the same. With the @command{xact} command you can type:
@example
-ledger entry 2004/4/9 viva food 11 tips 2.50
+ledger xact 2004/4/9 viva food 11 tips 2.50
@end example
This produces the following output:
@@ -446,27 +446,27 @@ This produces the following output:
Liabilities:MasterCard $-13.50
@end smallexample
-It works by finding a past transaction matching the regular expression
+It works by finding a past posting matching the regular expression
@samp{viva}, and assuming that any accounts or amounts specified will
-be similar to that earlier transaction. If Ledger does not succeed in
-generating a new entry, an error is printed and the exit code is set
+be similar to that earlier posting. If Ledger does not succeed in
+generating a new transaction, an error is printed and the exit code is set
to @samp{1}.
There is a shell script in the distribution's @file{scripts} directory
-called @file{entry}, which simplifies the task of adding a new entry
-to your ledger. It launches @command{vi} to confirm that the entry
+called @file{xact}, which simplifies the task of adding a new transaction
+to your ledger. It launches @command{vi} to confirm that the transaction
looks appropriate.
-Here are a few more examples of the @command{entry} command, assuming
-the above journal entry:
+Here are a few more examples of the @command{xact} command, assuming
+the above journal transaction:
@example
-ledger entry 4/9 viva 11.50
-ledger entry 4/9 viva 11.50 checking # (from `checking')
-ledger entry 4/9 viva food 11.50 tips 8
-ledger entry 4/9 viva food 11.50 tips 8 cash
-ledger entry 4/9 viva food $11.50 tips $8 cash
-ledger entry 4/9 viva dining "DM 11.50"
+ledger xact 4/9 viva 11.50
+ledger xact 4/9 viva 11.50 checking # (from `checking')
+ledger xact 4/9 viva food 11.50 tips 8
+ledger xact 4/9 viva food 11.50 tips 8 cash
+ledger xact 4/9 viva food $11.50 tips $8 cash
+ledger xact 4/9 viva dining "DM 11.50"
@end example
@node Options, Period expressions, Commands, Quick Reference
@@ -513,7 +513,7 @@ output.
@option{--init-file FILE} (@option{-i FILE}) causes FILE to be read by
ledger before any other ledger file. This file may not contain any
-transactions, but it may contain option settings. To specify options
+postings, but it may contain option settings. To specify options
in the init file, use the same syntax as the command-line. Here's an
example init file:
@@ -536,36 +536,36 @@ putting the option into your init file. The @option{--no-cache}
option causes Ledger to always ignore the binary cache.
@option{--account NAME} (@option{-a NAME}) specifies the default
-account which QIF file transactions are assumed to relate to.
+account which QIF file postings are assumed to relate to.
@subsection Report filtering
-These options change which transactions affect the outcome of a
+These options change which postings affect the outcome of a
report, in ways other than just using regular expressions:
-@option{--current}(@option{-c}) displays only entries occurring on or
+@option{--current}(@option{-c}) displays only transactions occurring on or
before the current date.
@option{--begin DATE} (@option{-b DATE}) constrains the report to
-entries on or after @var{DATE}. Only entries after that date will be
+transactions on or after @var{DATE}. Only transactions after that date will be
calculated, which means that the running total in the balance report
-will always start at zero with the first matching entry. (Note: This
+will always start at zero with the first matching transaction. (Note: This
is different from using @option{--display} to constrain what is
displayed).
@option{--end DATE} (@option{-e DATE}) constrains the report so that
-entries on or after @var{DATE} are not considered. The ending date
+transactions on or after @var{DATE} are not considered. The ending date
is inclusive.
@option{--period STR} (@option{-p STR}) sets the reporting period
-to @var{STR}. This will subtotal all matching entries within each
+to @var{STR}. This will subtotal all matching transactions within each
period separately, making it easy to see weekly, monthly, quarterly,
-etc., transaction totals. A period string can even specify the
+etc., posting totals. A period string can even specify the
beginning and end of the report range, using simple terms like ``last
june'' or ``next month''. For more using period expressions, see
@ref{Period expressions}.
-@option{--period-sort EXPR} sorts the transactions within each
+@option{--period-sort EXPR} sorts the postings within each
reporting period using the value expression @var{EXPR}. This is most
often useful when reporting monthly expenses, in order to view the
highest expense categories at the top of each month:
@@ -574,28 +574,28 @@ highest expense categories at the top of each month:
ledger -M --period-sort -At reg ^Expenses
@end example
-@option{--cleared} (@option{-C}) displays only transactions whose entry
+@option{--cleared} (@option{-C}) displays only postings whose transaction
has been marked ``cleared'' (by placing an asterix to the right of the
date).
-@option{--uncleared} (@option{-U}) displays only transactions whose
-entry has not been marked ``cleared'' (i.e., if there is no asterix to
+@option{--uncleared} (@option{-U}) displays only postings whose
+transaction has not been marked ``cleared'' (i.e., if there is no asterix to
the right of the date).
-@option{--real} (@option{-R}) displays only real transactions, not
-virtual. (A virtual transaction is indicated by surrounding the
+@option{--real} (@option{-R}) displays only real postings, not
+virtual. (A virtual posting is indicated by surrounding the
account name with parentheses or brackets; see the section on using
-virtual transactions for more information).
+virtual postings for more information).
-@option{--actual} (@option{-L}) displays only actual transactions, and
-not those created due to automated transactions.
+@option{--actual} (@option{-L}) displays only actual postings, and
+not those created due to automated postings.
-@option{--related} (@option{-r}) displays transactions that are
-related to whichever transactions would otherwise have matched the
+@option{--related} (@option{-r}) displays postings that are
+related to whichever postings would otherwise have matched the
filtering criteria. In the register report, this shows where money
went to, or the account it came from. In the balance report, it shows
-all the accounts affected by entries having a related transaction.
-For example, if a file had this entry:
+all the accounts affected by transactions having a related posting.
+For example, if a file had this transaction:
@smallexample
2004/03/20 Safeway
@@ -610,22 +610,22 @@ And the register command was:
ledger -r register food
@end example
-The following would be output, showing the transactions related to the
-transaction that matched:
+The following would be output, showing the postings related to the
+posting that matched:
@smallexample
2004/03/20 Safeway Expenses:Cash $-20.00 $-20.00
Assets:Checking $85.00 $65.00
@end smallexample
-@option{--budget} is useful for displaying how close your transactions
+@option{--budget} is useful for displaying how close your postings
meet your budget. @option{--add-budget} also shows unbudgeted
-transactions, while @option{--unbudgeted} shows only those.
+postings, while @option{--unbudgeted} shows only those.
@option{--forecast} is a related option that projects your budget into
the future, showing how it will affect future balances.
@xref{Budgeting and forecasting}.
-@option{--limit EXPR} (@option{-l EXPR}) limits which transactions
+@option{--limit EXPR} (@option{-l EXPR}) limits which postings
take part in the calculations of a report.
@option{--amount EXPR} (@option{-t EXPR}) changes the value expression
@@ -640,35 +640,35 @@ used for the ``totals'' column in the @command{register} and
@subsection Output customization
-These options affect only the output, but not which transactions are
+These options affect only the output, but not which postings are
used to create it:
-@option{--collapse} (@option{-n}) causes entries in a
-@command{register} report with multiple transactions to be collapsed
-into a single, subtotaled entry.
+@option{--collapse} (@option{-n}) causes transactions in a
+@command{register} report with multiple postings to be collapsed
+into a single, subtotaled transaction.
-@option{--subtotal} (@option{-s}) causes all entries in a
+@option{--subtotal} (@option{-s}) causes all transactions in a
@command{register} report to be collapsed into a single, subtotaled
-entry.
+transaction.
@option{--by-payee} (@option{-P}) reports subtotals by payee.
@option{--comm-as-payee} (@option{-x}) changes the payee of every
-transaction to be the commodity used in that transaction. This can be
+posting to be the commodity used in that posting. This can be
useful when combined with other options, such as @option{-s}.
@option{--empty} (@option{-E}) includes even empty accounts in the
@command{balance} report.
-@option{--weekly} (@option{-W}) reports transaction totals by the
+@option{--weekly} (@option{-W}) reports posting totals by the
week. The week begins on whichever day of the week begins the month
-containing that transaction. To set a specific begin date, use a
+containing that posting. To set a specific begin date, use a
period string, such as @samp{weekly from DATE}. @option{--monthly}
-(@option{-M}) reports transaction totals by month; @option{--yearly}
-(@option{-Y}) reports transaction totals by year. For more complex
+(@option{-M}) reports posting totals by month; @option{--yearly}
+(@option{-Y}) reports posting totals by year. For more complex
period, using the @option{--period} option described above.
-@option{--dow} reports transactions totals for each day of the week.
+@option{--dow} reports postings totals for each day of the week.
This is an easy way to see if weekend spending is more than on
weekdays.
@@ -682,12 +682,12 @@ expressions}.
@option{--wide} (@option{-w}) causes the default @command{register}
report to assume 132 columns instead of 80.
-@option{--head} causes only the first N entries to be printed. This
+@option{--head} causes only the first N transactions to be printed. This
is different from using the command-line utility @command{head}, which
-would limit to the first N transactions. @option{--tail} outputs only
-the last N entries. Both options may be used simultaneously. If a
+would limit to the first N postings. @option{--tail} outputs only
+the last N transactions. Both options may be used simultaneously. If a
negative amount is given, it will invert the meaning of the flag
-(instead of the first five entries being printed, for example, it
+(instead of the first five transactions being printed, for example, it
would print all but the first five).
@option{--pager} tells Ledger to pass its output to the given pager
@@ -695,10 +695,10 @@ program---very useful when the output is especially long. This
behavior can be made the default by setting the @env{LEDGER_PAGER}
environment variable.
-@option{--average} (@option{-A}) reports the average transaction
+@option{--average} (@option{-A}) reports the average posting
value.
-@option{--deviation} (@option{-D}) reports each transaction's
+@option{--deviation} (@option{-D}) reports each posting's
deviation from the average. It is only meaningful in the
@command{register} and @command{prices} reports.
@@ -718,19 +718,19 @@ programs, which could plot the date, analyze it, etc.
report so that it output nothing but the date and totals column,
without commodities.
-@option{--display EXPR} (@option{-d EXPR}) limits which transactions
+@option{--display EXPR} (@option{-d EXPR}) limits which postings
or accounts or actually displayed in a report. They might still be
calculated, and be part of the running total of a register report, for
example, but they will not be displayed. This is useful for seeing
-last month's checking transactions, against a running balance which
-includes all transaction values:
+last month's checking postings, against a running balance which
+includes all posting values:
@example
ledger -d "d>=[last month]" reg checking
@end example
The output from this command is very different from the following,
-whose running total includes only transactions from the last month
+whose running total includes only postings from the last month
onward:
@example
@@ -805,13 +805,13 @@ users basic reporting needs:
Reports commodity totals (this is the default)
@item -B, --basis
-Reports the cost basis for all transactions.
+Reports the cost basis for all postings.
@item -V, --market
Reports the last known market value for all commodities.
@item -g, --performance
-Reports the net gain/loss for each transaction in a @command{register}
+Reports the net gain/loss for each posting in a @command{register}
report.
@item -G --gain
@@ -929,7 +929,7 @@ Format strings may be used to change the output format of reports.
They are specified by passing a formatting string to the
@option{--format} (@option{-F}) option. Within that string,
constructs are allowed which make it possible to display the various
-parts of an account or transaction in custom ways.
+parts of an account or posting in custom ways.
Within a format strings, a substitution is specified using a percent
character (@samp{%}). The basic format of all substitutions is:
@@ -946,7 +946,7 @@ width is given, the substituted text will never be wider than this,
and will be truncated to fit. Here are some examples:
@example
-%-P An entry's payee, left justified
+%-P a transaction's payee, left justified
%20P The same, right justified, at least 20 chars wide
%.20P The same, no more than 20 chars wide
%-.20P Left justified, maximum twenty chars wide
@@ -989,24 +989,24 @@ the five first in that expression, so that the commodity doesn't get
stripped from the total.
@item [DATEFMT]
-Inserts the result of formatting a transaction's date with a date
-format string, exactly like those supported by @code{strftime}. For
+Inserts the result of formatting a posting's date with a date
+format string, epostly like those supported by @code{strftime}. For
example: @samp{%[%Y/%m/%d %H:%M:%S]}.
@item S
-Insert the pathname of the file from which the entry's data was read.
+Insert the pathname of the file from which the transaction's data was read.
@item B
-Inserts the beginning character position of that entry within the file.
+Inserts the beginning character position of that transaction within the file.
@item b
-Inserts the beginning line of that entry within the file.
+Inserts the beginning line of that transaction within the file.
@item E
-Inserts the ending character position of that entry within the file.
+Inserts the ending character position of that transaction within the file.
@item e
-Inserts the ending line of that entry within the file.
+Inserts the ending line of that transaction within the file.
@item D
By default, this is the same as @samp{%[%Y/%m%/d]}. The date format
@@ -1015,24 +1015,24 @@ Using @samp{%D} gives the user more control over the way dates are
output.
@item d
-This is the same as the @samp{%D} option, unless the entry has an
+This is the same as the @samp{%D} option, unless the transaction has an
effective date, in which case it prints
@samp{[ACTUAL_DATE=EFFECtIVE_DATE]}.
@item X
-If a transaction has been cleared, this inserts @samp{*} followed by a
+If a posting has been cleared, this inserts @samp{*} followed by a
space; otherwise nothing is inserted.
@item Y
This is the same as @samp{%X}, except that it only displays a state
-character if all of the member transactions have the same state.
+character if all of the member postings have the same state.
@item C
-Inserts the checking number for an entry, in parentheses, followed by
+Inserts the checking number for a transaction, in parentheses, followed by
a space; if none was specified, nothing is inserted.
@item P
-Inserts the payee related to a transaction.
+Inserts the payee related to a posting.
@item a
Inserts the optimal short name for an account. This is normally used
@@ -1044,30 +1044,30 @@ Inserts the full name of an account.
@item W
This is the same as @samp{%A}, except that it first displays the
-transaction's state @emph{if the entry's transaction states are not
+posting's state @emph{if the transaction's posting states are not
all the same}, followed by the full account name. This is offered as
a printing optimization, so that combined with @samp{%Y}, only the
minimum amount of state detail is printed.
@item o
-Inserts the ``optimized'' form of a transaction's amount. This is
+Inserts the ``optimized'' form of a posting's amount. This is
used by the print report. In some cases, this inserts nothing; in
-others, it inserts the transaction amount and its cost. It's use is
+others, it inserts the posting amount and its cost. It's use is
not recommend unless you are modifying the print report.
@item n
-Inserts the note associated with a transaction, preceded by two spaces
+Inserts the note associated with a posting, preceded by two spaces
and a semi-colon, if it exists. Thus, no none becomes an empty
string, while the note @samp{foo} is substituted as @samp{ ; foo}.
@item N
-Inserts the note associated with a transaction, if one exists.
+Inserts the note associated with a posting, if one exists.
@item /
The @samp{%/} construct is special. It separates a format string
-between what is printed for the first transaction of an entry, and
-what is printed for all subsequent transactions. If not used, the
-same format string is used for all transactions.
+between what is printed for the first posting of a transaction, and
+what is printed for all subsequent postings. If not used, the
+same format string is used for all postings.
@end table
@node Value expressions, File format, Format strings, Quick Reference
@@ -1081,11 +1081,11 @@ calculate values used by the program for many different purposes:
The values displayed in reports
@item
For predicates (where truth is anything non-zero), to determine which
-transactions are calculated (@option{-l}) or displayed (@option{-d}).
+postings are calculated (@option{-l}) or displayed (@option{-d}).
@item
For sorting criteria, to yield the sort key.
@item
-In the matching criteria used by automated transactions.
+In the matching criteria used by automated postings.
@end enumerate
Value expressions support most simple math and logic operators, in
@@ -1104,18 +1104,18 @@ contains. If it contains multiple commodities, only one of them must
exceed 100 units.
Display predicates are also very handy with register reports, to
-constrain which entries are printed. For example, the following
-command shows only entries from the beginning of the current month,
-while still calculating the running balance based on all entries:
+constrain which transactions are printed. For example, the following
+command shows only transactions from the beginning of the current month,
+while still calculating the running balance based on all transactions:
@example
ledger -d "d>[this month]" register checking
@end example
This advantage to this command's complexity is that it prints the
-running total in terms of all entries in the register. The following,
+running total in terms of all transactions in the register. The following,
simpler command is similar, but totals only the displayed
-transactions:
+postings:
@example
ledger -b "this month" register checking
@@ -1125,8 +1125,8 @@ ledger -b "this month" register checking
Below are the one letter variables available in any value expression.
For the register and print commands, these variables relate to
-individual transactions, and sometimes the account affected by a
-transaction. For the balance command, these variables relate to
+individual postings, and sometimes the account affected by a
+posting. For the balance command, these variables relate to
accounts---often with a subtle difference in meaning. The use of each
variable for both is specified.
@@ -1147,26 +1147,26 @@ not specified, the current report style's value expression is used.
This is always the present moment/date.
@end table
-@subsubsection Transaction/account details
+@subsubsection Posting/account details
@table @code
@item d
-A transaction's date, as the number of seconds past the epoch. This
+A posting's date, as the number of seconds past the epoch. This
is always ``today'' for an account.
@item a
-The transaction's amount; the balance of an account, without
+The posting's amount; the balance of an account, without
considering children.
@item b
-The cost of a transaction; the cost of an account, without its
+The cost of a posting; the cost of an account, without its
children.
@item v
-The market value of a transaction, or an account without its children.
+The market value of a posting, or an account without its children.
@item g
-The net gain (market value minus cost basis), for a transaction or an
+The net gain (market value minus cost basis), for a posting or an
account without its children. It is the same as @samp{v-b}.
@item l
@@ -1174,41 +1174,41 @@ The depth (``level'') of an account. If an account has one parent,
it's depth is one.
@item n
-The index of a transaction, or the count of transactions affecting an
+The index of a posting, or the count of postings affecting an
account.
@item X
-1 if a transaction's entry has been cleared, 0 otherwise.
+1 if a posting's transaction has been cleared, 0 otherwise.
@item R
-1 if a transaction is not virtual, 0 otherwise.
+1 if a posting is not virtual, 0 otherwise.
@item Z
-1 if a transaction is not automated, 0 otherwise.
+1 if a posting is not automated, 0 otherwise.
@end table
@subsubsection Calculated totals
@table @code
@item O
-The total of all transactions seen so far, or the total of an account
+The total of all postings seen so far, or the total of an account
and all its children.
@item N
-The total count of transactions affecting an account and all its
+The total count of postings affecting an account and all its
children.
@item B
-The total cost of all transactions seen so far; the total cost of an
+The total cost of all postings seen so far; the total cost of an
account and all its children.
@item V
-The market value of all transactions seen so far, or of an account and
+The market value of all postings seen so far, or of an account and
all its children.
@item G
The total net gain (market value minus cost basis), for a series of
-transactions, or an account and its children. It is the same as
+postings, or an account and its children. It is the same as
@samp{V-B}.
@end table
@@ -1262,25 +1262,25 @@ with or without a commodity. Use this for decimal values.
@item /REGEXP/
@item W/REGEXP/
A regular expression that matches against an account's full name. If
-a transaction, this will match against the account affected by the
-transaction.
+a posting, this will match against the account affected by the
+posting.
@item //REGEXP/
@item p/REGEXP/
-A regular expression that matches against an entry's payee name.
+A regular expression that matches against a transaction's payee name.
@item ///REGEXP/
@item w/REGEXP/
A regular expression that matches against an account's base name. If
-a transaction, this will match against the account affected by the
-transaction.
+a posting, this will match against the account affected by the
+posting.
@item c/REGEXP/
-A regular expression that matches against the entry code (the text
+A regular expression that matches against the transaction code (the text
that occurs between parentheses before the payee name).
@item e/REGEXP/
-A regular expression that matches against a transaction's note, or
+A regular expression that matches against a posting's note, or
comment field.
@item (EXPR)
@@ -1305,52 +1305,52 @@ how it should be interpreted. Allowable initial characters are:
@table @code
@item NUMBER
-A line beginning with a number denotes an entry. It may be followed
+A line beginning with a number denotes a transaction. It may be followed
by any number of lines, each beginning with whitespace, to denote the
-entry's account transactions. The format of the first line is:
+transaction's account postings. The format of the first line is:
@example
DATE[=EDATE] [*|!] [(CODE)] DESC
@end example
If @samp{*} appears after the date (with optional effective date), it
-indicates the entry is ``cleared'', which can mean whatever the user
+indicates the transaction is ``cleared'', which can mean whatever the user
wants it t omean. If @samp{!} appears after the date, it indicates d
-the entry is ``pending''; i.e., tentatively cleared from the user's
+the transaction is ``pending''; i.e., tentatively cleared from the user's
point of view, but not yet actually cleared. If a @samp{CODE} appears
in parentheses, it may be used to indicate a check number, or the type
-of the transaction. Following these is the payee, or a description of
-the transaction.
+of the posting. Following these is the payee, or a description of
+the posting.
-The format of each following transaction is:
+The format of each following posting is:
@example
ACCOUNT AMOUNT [; NOTE]
@end example
The @samp{ACCOUNT} may be surrounded by parentheses if it is a virtual
-transactions, or square brackets if it is a virtual transactions that
+postings, or square brackets if it is a virtual postings that
must balance. The @samp{AMOUNT} can be followed by a per-unit
-transaction cost, by specifying @samp{@@ AMOUNT}, or a complete
-transaction cost with @samp{@@@@ AMOUNT}. Lastly, the @samp{NOTE} may
-specify an actual and/or effective date for the transaction by using
+posting cost, by specifying @samp{@@ AMOUNT}, or a complete
+posting cost with @samp{@@@@ AMOUNT}. Lastly, the @samp{NOTE} may
+specify an actual and/or effective date for the posting by using
the syntax @samp{[ACTUAL_DATE]} or @samp{[=EFFECTIVE_DATE]} or
@samp{[ACTUAL_DATE=EFFECtIVE_DATE]}.
@item =
-An automated entry. A value expression must appear after the equal
+An automated transaction. A value expression must appear after the equal
sign.
After this initial line there should be a set of one or more
-transactions, just as if it were normal entry. If the amounts of the
-transactions have no commodity, they will be applied as modifiers to
-whichever real transaction is matched by the value expression.
+postings, just as if it were normal transaction. If the amounts of the
+postings have no commodity, they will be applied as modifiers to
+whichever real posting is matched by the value expression.
@item ~
-A period entry. A period expression must appear after the tilde.
+A period transaction. A period expression must appear after the tilde.
After this initial line there should be a set of one or more
-transactions, just as if it were normal entry.
+postings, just as if it were normal transaction.
@item !
A line beginning with an exclamation mark denotes a command directive.
@@ -1363,7 +1363,7 @@ Include the stated ledger file.
@item !account
The account name is given is taken to be the parent of all
-transactions that follow, until @samp{!end} is seen.
+postings that follow, until @samp{!end} is seen.
@item !end
Ends an account block.
@@ -1374,10 +1374,10 @@ A line beginning with a colon indicates a comment, and is ignored.
@item Y
If a line begins with a capital Y, it denotes the year used for all
-subsequent entries that give a date without a year. The year should
+subsequent transactions that give a date without a year. The year should
appear immediately after the Y, for example: @samp{Y2004}. This is
useful at the beginning of a file, to specify the year for that file.
-If all entries specify a year, however, this command has no effect.
+If all transactions specify a year, however, this command has no effect.
@item P
Specifies a historical price for a commodity. These are usually found
@@ -1399,7 +1399,7 @@ N SYMBOL
@item D AMOUNT
Specifies the default commodity to use, by specifying an amount in the
-expected format. The @command{entry} command will use this commodity
+expected format. The @command{transaction} command will use this commodity
as the default when none other can be determined. This command may be
used multiple times, to set the default flags for different
commodities; whichever is seen last is used as the default commodity.
@@ -1498,13 +1498,13 @@ We can see that in @samp{Assets} there is $1,480.00, and 50 shares of
Apple stock. There is also a negative grand total. Usually the grand
total is zero, which means that all accounts balance@footnote{It is
impossible for accounts not to balance in ledger; it reports an error
-if a transaction does not balance}. In this case, since the 50 shares
+if a posting does not balance}. In this case, since the 50 shares
of Apple stock cost $1,500.00 dollars, then these two amounts balance
each other in the grand total. The extra $2.00 comes from a virtual
-transaction being added by the automatic entry at the top of the file.
-The entry is virtual because the account name was surrounded by
-parentheses in an automatic entry. Automatic entries will be
-discussed later, but first let's remove the virtual transaction from
+posting being added by the automatic transaction at the top of the file.
+The transaction is virtual because the account name was surrounded by
+parentheses in an automatic transaction. Automatic transactions will be
+discussed later, but first let's remove the virtual posting from
the balance report by using the @option{--real} option:
@example
@@ -1524,7 +1524,7 @@ Now the report is:
50 AAPL
@end smallexample
-Since the liability was a virtual transaction, it has dropped from the
+Since the liability was a virtual posting, it has dropped from the
report and we see that final total is balanced.
But we only know that it balances because @file{sample.dat} is quite
@@ -1550,7 +1550,7 @@ With the basis cost option, the grand total has disappeared, as it is
now zero. The confirms that the cost of everything balances to zero,
@emph{which must always be true}. Reporting the real basis cost
should never yield a remainder@footnote{If it ever does, then
-generated transactions are involved, which can be removed using
+generated postings are involved, which can be removed using
@option{--actual}}.
@subsection Sub-account balances
@@ -1664,10 +1664,10 @@ account totals, by far the most powerful of Ledger's reporting tools
is the @command{register} command. In fact, internally both commands
use the same logic, but report the results differently:
@command{balance} shows the summary totals, while @command{register}
-reports each transaction and how it contributes to that total.
+reports each posting and how it contributes to that total.
Paradoxically, the most basic form of @command{register} is almost
-never used, since it displays every transaction:
+never used, since it displays every posting:
@example
ledger reg
@@ -1698,7 +1698,7 @@ reports:
50 AAPL
@end smallexample
-This rather verbose output shows every account transaction in
+This rather verbose output shows every account posting in
@file{sample.dat}, and how it affects the running total. The final
total is identical to what we saw with the plain @command{balance}
command. To see how things really balance, we can use @samp{--real
@@ -1728,7 +1728,7 @@ Here we see that everything balances to zero in the end, as it must.
@subsection Specific register queries
The most common use of the register command is to summarize
-transactions based on the account(s) they affect. Using
+postings based on the account(s) they affect. Using
@file{sample.dat} as as example, we could look at all book purchases
using:
@@ -1756,39 +1756,39 @@ Reports:
2004/05/29 Credit card company Liabilities:MasterCard $20.00 $20.00
@end smallexample
-There are many reporting options for tailoring which transactions are
+There are many reporting options for tailoring which postings are
found, and also how to summarize the various amounts and totals that
result. These are plumbed in greater depth below.
-@section Selecting transactions
+@section Selecting postings
Although the easiest way to use the register is to report all the
-transactions affecting a set of accounts, it can often result in more
+postings affecting a set of accounts, it can often result in more
information than you want. To cope with an ever-growing amount of
data, there are several options which can help you pinpoint your
-report to exactly the transactions that interest you most. This is
+report to epostly the postings that interest you most. This is
called the ``calculation'' phase of Ledger. All of its related
options are documented under @option{--help-calc}.
@subsection By date
-@c -c, --current show only current and past entries (not future)
+@c -c, --current show only current and past transactions (not future)
-@option{--current}(@option{-c}) displays entries occurring on or
-before the current date. Any entry recorded for a future date will be
+@option{--current}(@option{-c}) displays transactions occurring on or
+before the current date. Any transaction recorded for a future date will be
ignored, as if it had not been seen. This is useful if you happen to
-pre-record entries, but still wish to view your balances in terms of
+pre-record transactions, but still wish to view your balances in terms of
what is available today.
@c -b, --begin DATE set report begin date
@c -e, --end DATE set report end date
@option{--begin DATE} (@option{-b DATE}) limits the report to only
-those entries occurring on or after @var{DATE}. The running total in
-the register will start at zero with the first transaction, even if
-there are earlier entries.
+those transactions occurring on or after @var{DATE}. The running total in
+the register will start at zero with the first posting, even if
+there are earlier transactions.
-To limit the display only, but still add earlier transactions to the
+To limit the display only, but still add earlier postings to the
running total, use the display expression @samp{-d 'd>=[DATE]'}):
@example
@@ -1802,7 +1802,7 @@ Reports:
2004/05/27 Credit card company Assets:Bank:Checking $-20.00 $2,980.00
@end smallexample
-In this example, the displayed transactions start from @samp{5/14},
+In this example, the displayed postings start from @samp{5/14},
but the calculated total starts from the beginning of @samp{may}.
@option{--end DATE} (@option{-e DATE}) states when reporting should
@@ -1822,7 +1822,7 @@ ledger -b "last month" bal
@end example
@c -p, --period STR report using the given period
-@c --period-sort EXPR sort each report period's entries by EXPR
+@c --period-sort EXPR sort each report period's transactions by EXPR
To constrain the report to a specific time period, use
@option{--period} (@option{-p}). A time period may have both a
@@ -1855,61 +1855,61 @@ This command is identical to:
ledger -p "monthly in 2004" reg ^expenses
@end example
-The transactions within a period may be sorted using
+The postings within a period may be sorted using
@option{--period-sort}, which takes a value expression. This is
similar to the @option{--sort} option, except that it sorts within
-each period entry, rather than sorting all transactions in the report.
+each period transaction, rather than sorting all postings in the report.
See the documentation on @option{--sort} below for more details.
@subsection By status
-By default, all regular transactions are included in each report. To
-limit the report to certain kinds of transactions, use one or more of
+By default, all regular postings are included in each report. To
+limit the report to certain kinds of postings, use one or more of
the following options:
@table @option
@item -C, --cleared
-Consider only cleared transactions.
+Consider only cleared postings.
@item -U, --uncleared
-Consider only uncleared and pending transactions.
+Consider only uncleared and pending postings.
@item -R, --real
-Consider only real (non-virtual) transactions.
+Consider only real (non-virtual) postings.
@item -L, --actual
-Consider only actual (non-automated) transactions.
+Consider only actual (non-automated) postings.
@end table
-Cleared transactions are indicated by an asterix placed just before
-the payee name in a transaction. The meaning of this flag is up to
-the user, but typically it means that an entry has been seen on a
-financial statement. Pending transactions use an exclamation mark in
+Cleared postings are indicated by an asterix placed just before
+the payee name in a posting. The meaning of this flag is up to
+the user, but typically it means that a transaction has been seen on a
+financial statement. Pending postings use an exclamation mark in
the same position, but are mainly used only by reconciling software.
-Uncleared transactions are for things like uncashed checks, credit
+Uncleared postings are for things like uncashed checks, credit
charges that haven't appeared on a statement yet, etc.
-Real transactions are all non-virtual transactions, where the account
+Real postings are all non-virtual postings, where the account
name is not surrounded by parentheses or square brackets. Virtual
-transactions are useful for showing a transfer of money that never
+postings are useful for showing a transfer of money that never
really happened, like money set aside for savings without actually
transferring it from the parent account.
-Actual transactions are those not generated, either as part of an
-automated entry, or a budget or forecast report. A useful of when you
-might like to filter out generated transactions is with a budget:
+Actual postings are those not generated, either as part of an
+automated transaction, or a budget or forecast report. A useful of when you
+might like to filter out generated postings is with a budget:
@example
ledger --budget --actual reg ^expenses
@end example
-This command outputs all transactions affecting a budgeted account,
+This command outputs all postings affecting a budgeted account,
but without subtracting the budget amount (because the generated
-transactions are suppressed with @option{--actual}). The report shows
+postings are suppressed with @option{--actual}). The report shows
how much you actually spent on budgeted items.
@subsection By relationship
-@c -r, --related calculate report using related transactions
+@c -r, --related calculate report using related postings
-Normally, a register report includes only the transactions that match
+Normally, a register report includes only the postings that match
the regular expressions specified after the command word. For
example, to report all expenses:
@@ -1923,8 +1923,8 @@ This reports:
2004/05/29 Book Store Expenses:Books $20.00 $20.00
@end smallexample
-Using @option{--related} (@option{-r}) reports the transactions that
-did not match your query, but only in entries that otherwise would
+Using @option{--related} (@option{-r}) reports the postings that
+did not match your query, but only in transactions that otherwise would
have matched. This has the effect of indicating where money came
from, or when to:
@@ -1940,12 +1940,12 @@ Reports:
@subsection By budget
-@c --budget generate budget entries based on FILE
+@c --budget generate budget transactions based on FILE
There is more information about budgeting and forecasting in
@ref{Budgeting and forecasting}. Basically, if you have any period
-entries in your ledger file, you can use these options. A period
-entry looks like:
+transactions in your ledger file, you can use these options. A period
+transaction looks like:
@example
~ Monthly
@@ -1953,13 +1953,13 @@ entry looks like:
Income:Salary
@end example
-The difference from a regular entry is that the first line begins with
+The difference from a regular transaction is that the first line begins with
a tilde (~), and instead of a payee there's a period expression
-(@ref{Period expressions}). Otherwise, a period entry is in every
-other way the same as a regular entry.
+(@ref{Period expressions}). Otherwise, a period transaction is in every
+other way the same as a regular transaction.
-With such an entry in your ledger file, the @option{--budget} option
-will report only transactions that match a budgeted account. Using
+With such a transaction in your ledger file, the @option{--budget} option
+will report only postings that match a budgeted account. Using
@file{sample.dat} from above:
@example
@@ -1969,36 +1969,36 @@ ledger --budget reg ^income
Reports:
@smallexample
-2004/05/01 Budget entry Income:Salary $500.00 $500.00
+2004/05/01 Budget transaction Income:Salary $500.00 $500.00
2004/05/14 Pay day Income:Salary $-500.00 0
@end smallexample
-The final total is zero, indicating that the budget matched exactly
+The final total is zero, indicating that the budget matched epostly
for the reported period. Budgeting is most often helpful with period
reporting; for example, to show monthly budget results use
@option{--budget -p monthly}.
-@c --add-budget show all transactions plus the budget
-@c --unbudgeted show only unbudgeted transactions
+@c --add-budget show all postings plus the budget
+@c --unbudgeted show only unbudgeted postings
-The @option{--add-budget} option reports all matching transactions in
-addition to budget transactions; while @option{--unbudgeted} shows
+The @option{--add-budget} option reports all matching postings in
+addition to budget postings; while @option{--unbudgeted} shows
only those that don't match a budgeted account. To summarize:
@table @option
@item --budget
-Show transactions matching budgeted accounts.
+Show postings matching budgeted accounts.
@item --unbudgeted
-Show transactions matching unbudgeted accounts.
+Show postings matching unbudgeted accounts.
@item --add-budget
-Show both budgeted and unbudgeted transactions together (i.e., add the
-generated budget transactions to the regular report).
+Show both budgeted and unbudgeted postings together (i.e., add the
+generated budget postings to the regular report).
@end table
-@c --forecast EXPR generate forecast entries while EXPR is true
+@c --forecast EXPR generate forecast transactions while EXPR is true
A report with the @option{--forecast} option will add budgeted
-transactions while the specified value expression is true. For
+postings while the specified value expression is true. For
example:
@example
@@ -2009,14 +2009,14 @@ Reports:
@smallexample
2004/05/14 Pay day Income:Salary $-500.00 $-500.00
-2004/12/01 Forecast entry Income:Salary $-500.00 $-1,000.00
-2005/01/01 Forecast entry Income:Salary $-500.00 $-1,500.00
+2004/12/01 Forecast transaction Income:Salary $-500.00 $-1,000.00
+2005/01/01 Forecast transaction Income:Salary $-500.00 $-1,500.00
@end smallexample
The date this report was made was November 5, 2004; the reason the
-first forecast entry is in december is that forecast entries are only
+first forecast transaction is in december is that forecast transactions are only
added for the future, and they only stop after the value expression
-has matched at least once, which is why the January entry appears. A
+has matched at least once, which is why the January transaction appears. A
forecast report can be very useful for determining when money will run
out in an account, or for projecting future cash flow:
@@ -2040,7 +2040,7 @@ of the above command (in November 2004) is:
@subsection By value expression
-@c -l, --limit EXPR calculate only transactions matching EXPR
+@c -l, --limit EXPR calculate only postings matching EXPR
Value expressions can be quite complex, and are treated more fully in
@ref{Value expressions}. They can be used for limiting a report with
@@ -2054,8 +2054,8 @@ ledger -l '(/income/&d>=[aug])|(/expenses/&d>=[oct])' reg
The basic form of this value expression is @samp{(A&B)|(A&B)}. The
@samp{A} in each part matches against an account name with
@samp{/name/}, while each @samp{B} part compares the date of the
-transaction (@samp{d}) with a specified month. The resulting report
-will contain only transactions which match the value expression.
+posting (@samp{d}) with a specified month. The resulting report
+will contain only postings which match the value expression.
@c -t, --amount EXPR use EXPR to calculate the displayed amount
@c -T, --total EXPR use EXPR to calculate the displayed total
@@ -2063,14 +2063,14 @@ will contain only transactions which match the value expression.
Another use of value expressions is to calculate the amount reported
for each line of a register report, or for computing the subtotal of
each account shown in a balance report. This example divides each
-transaction amount by two:
+posting amount by two:
@example
ledger -t 'a/2' reg ^exp
@end example
The @option{-t} option doesn't affect the running total, only how the
-transaction amount is displayed. To change the running total, use
+posting amount is displayed. To change the running total, use
@option{-T}. In that case, you will likely want to use the total
(@samp{O}) instead of the amount (@samp{a}):
@@ -2080,8 +2080,8 @@ ledger -T 'O/2' reg ^exp
@section Massaging register output
-Even after filtering down your data to just the transactions you're
-interested in, the default reporting method of one transaction per
+Even after filtering down your data to just the postings you're
+interested in, the default reporting method of one posting per
line is often still too much. To combat this complexity, it is
possible to ask Ledger to report the details to you in many different
forms, summarized in various ways. This is the ``display'' phase of
@@ -2089,10 +2089,10 @@ Ledger, and is documented under @option{--help-disp}.
@subsection Summarizing
-@c -n, --collapse register: collapse entries with multiple transactions
+@c -n, --collapse register: collapse transactions with multiple postings
-When multiple transactions relate to a single entry, they are reported
-as part of that entry. For example, in the case of @file{sample.dat}:
+When multiple postings relate to a single transaction, they are reported
+as part of that transaction. For example, in the case of @file{sample.dat}:
@example
ledger reg -- book
@@ -2106,9 +2106,9 @@ Reports:
(Liabilities:Taxes) $-2.00 $-2.00
@end smallexample
-All three transactions are part of one entry, and as such the entry
-details are printed only once. To report every entry on a single
-line, use @option{-n} to collapse entries with multiple transactions:
+All three postings are part of one transaction, and as such the transaction
+details are printed only once. To report every transaction on a single
+line, use @option{-n} to collapse transactions with multiple postings:
@example
ledger -n reg -- book
@@ -2149,18 +2149,18 @@ But if the @option{-s} option is added, the result becomes:
Assets:Brokerage $1,500.00 $2,980.00
@end smallexample
-When account subtotaling is used, only one entry is printed, and the
-date and name reflect the range of the combined transactions.
+When account subtotaling is used, only one transaction is printed, and the
+date and name reflect the range of the combined postings.
@c -P, --by-payee show summarized totals by payee
-With @option{-P}, transactions relating to the same payee are
-combined. In this case, the date of the combined entry is that of the
-latest transaction.
+With @option{-P}, postings relating to the same payee are
+combined. In this case, the date of the combined transaction is that of the
+latest posting.
@c -x, --comm-as-payee set commodity name as the payee, for reporting
-@option{-x} changes the payee name for each transaction to be the same
+@option{-x} changes the payee name for each posting to be the same
as the commodity it uses. This can be especially useful combined with
other options, like @option{-P}. For example:
@@ -2230,7 +2230,7 @@ Reports:
@c -S, --sort EXPR sort report according to the value expression EXPR
-The transactions displayed in a report are shown in the same order as
+The postings displayed in a report are shown in the same order as
they appear in the ledger file. To change the order and sort a
report, use the @option{--sort} option. @option{--sort} takes a value
expression to determine the value to sort against, making it possible
@@ -2253,7 +2253,7 @@ ledger --sort -T reg ^exp # reverse sort by amount total
ledger --sort UT reg ^exp # sort by abs amount total
@end example
-The @option{--sort} options sorts all transactions in a report. If
+The @option{--sort} options sorts all postings in a report. If
periods are used (such as @option{--monthly}), this can get somewhat
confusing. In that case, you'll probably want to sort within periods
using @option{--period-sort} instead of @option{--sort}.
@@ -2266,10 +2266,10 @@ acolumns, instead of 80. You are more likely then to see full payee
and account names, as well as properly formatted totals when
long-named commodities are used.
-If you want only the first or last N entries to be printed---which can
-be very useful for viewing the last 10 entries in your checking
+If you want only the first or last N transactions to be printed---which can
+be very useful for viewing the last 10 transactions in your checking
account, while also showing the cumulative balance from all
-entries---use the @option{--head} and/or @option{--tail} options. The
+transactions---use the @option{--head} and/or @option{--tail} options. The
two options may be used simultaneously, for example:
@example
@@ -2285,11 +2285,11 @@ ledger --pager /usr/bin/less reg checking
@subsection Averages and percentages
-@c -A, --average report average transaction amount
+@c -A, --average report average posting amount
To see the running total changed to a running average, use
-@option{-A}. The final transaction's total will be the overall
-average of all displayed transactions. The works in conjunction with
+@option{-A}. The final posting's total will be the overall
+average of all displayed postings. The works in conjunction with
period reporting, so that you can see your monthly average expenses
with:
@@ -2332,7 +2332,7 @@ ledger -%s -S T bal ^expenses
@c --totals in the "xml" report, include running total
-Normally in the @command{xml} report, only transaction amounts are
+Normally in the @command{xml} report, only posting amounts are
printed. To include the running total under a @samp{<total>} tag, use
@option{--totals}. This does not affect any other report.
@@ -2347,9 +2347,9 @@ to Gnuplot. To show only the date and running total, use @option{-J}.
@subsection Display by value expression
-@c -d, --display EXPR display only transactions matching EXPR
+@c -d, --display EXPR display only postings matching EXPR
-With @option{-d} you can decide which transactions (or accounts in the
+With @option{-d} you can decide which postings (or accounts in the
balance report) are displayed, according to a value expression. The
computed total is not affected, only the display. This can be very
useful for shortening a report without changing the running total:
@@ -2512,7 +2512,7 @@ ledger balance expenses -food
@section Reporting percentages
-There is no built-in way to report transaction amounts or account
+There is no built-in way to report posting amounts or account
balances in terms of percentages
@node Ledger in Practice, , Ledger Tutorial, Top
@@ -2529,8 +2529,8 @@ balances in terms of percentages
* Dealing with Petty Cash::
* Working with multiple funds and accounts::
* Archiving previous years::
-* Virtual transactions::
-* Automated transactions::
+* Virtual postings::
+* Automated postings::
* Using Emacs to Keep Your Ledger::
* Using GnuCash to Keep Your Ledger::
* Using timeclock to record billable time::
@@ -2545,12 +2545,12 @@ is often different from the layman's understanding. To avoid
confusion, Ledger uses only subtractions and additions, although the
underlying intent is the same as standard accounting principles.
-Recall that every transaction will involve two or more accounts.
+Recall that every posting will involve two or more accounts.
Money is transferred from one or more accounts to one or more other
-accounts. To record the transaction, an amount is @emph{subtracted}
+accounts. To record the posting, an amount is @emph{subtracted}
from the source accounts, and @emph{added} to the target accounts.
-In order to write a Ledger entry correctly, you must determine where
+In order to write a Ledger transaction correctly, you must determine where
the money comes from and where it goes to. For example, when you are
paid a salary, you must add money to your bank account and also
subtract it from an income account:
@@ -2594,7 +2594,7 @@ Assets are money that you have, and Liabilities are money that you
owe. ``Liabilities'' is just a more inclusive name for Debts.
An Asset is typically increased by transferring money from an Income
-account, such as when you get paid. Here is a typical entry:
+account, such as when you get paid. Here is a typical transaction:
@smallexample
2004/09/29 My Employer
@@ -2692,11 +2692,11 @@ need to track two separate things: 1) The fact that the money should
be reimbursed to you, and 2) What the expense account was, so that you
can later determine where your company is spending its money.
-This kind of transaction is best handled with mirrored transactions in
+This kind of posting is best handled with mirrored postings in
two different files, one for your personal accounts, and one for your
company accounts. But keeping them in one file involves the same
-kinds of transactions, so those are what is shown here. First, the
-personal entry, which shows the need for reimbursement:
+kinds of postings, so those are what is shown here. First, the
+personal transaction, which shows the need for reimbursement:
@smallexample
2004/09/29 Circuit City
@@ -2705,8 +2705,8 @@ personal entry, which shows the need for reimbursement:
@end smallexample
This is the same as above, except that you own Company XYZ, and are
-keeping track of its expenses in the same ledger file. This entry
-should be immediately followed by an equivalent entry, which shows the
+keeping track of its expenses in the same ledger file. This transaction
+should be immediately followed by an equivalent transaction, which shows the
kind of expense, and also notes the fact that $100.00 is now payable
to you:
@@ -2716,11 +2716,11 @@ to you:
Company XYZ:Accounts Payable:Your Name
@end smallexample
-This second entry shows that Company XYZ has just spent $100.00 on
+This second transaction shows that Company XYZ has just spent $100.00 on
software, and that this $100.00 came from Your Name, which must be
paid back.
-These two entries can also be merged, to make things a little clearer.
+These two transactions can also be merged, to make things a little clearer.
Note that all amounts must be specified now:
@smallexample
@@ -2759,12 +2759,12 @@ generate accurate reports of your company's expenditures. It is more
verbose than just paying for things with your personal assets, but it
gives you a very accurate information trail.
-The advantage to keep these doubled entries together is that they
+The advantage to keep these doubled transactions together is that they
always stay in sync. The advantage to keeping them apart is that it
-clarifies the transfer's point of view. To keep the transactions in
-separate files, just separate the two entries that were joined above.
+clarifies the transfer's point of view. To keep the postings in
+separate files, just separate the two transactions that were joined above.
For example, for both the expense and the pay-back shown above, the
-following four entries would be created. Two in your personal ledger
+following four transactions would be created. Two in your personal ledger
file:
@smallexample
@@ -2797,7 +2797,7 @@ And two in your company ledger file:
the file are children of that account. In this case it means that all
activity in the file relates to Company XYZ).
-After creating these entries, you will always know that $100.00 was
+After creating these transactions, you will always know that $100.00 was
spent using your MasterCard on behalf of Company XYZ, and that Company
XYZ spent the money on computer software and paid it back about two
weeks later.
@@ -2812,7 +2812,7 @@ October, sorted by total:
ledger -b "last oct" -s -S T bal ^expenses
@end example
-From left to right the options mean: Show entries since October, 2003;
+From left to right the options mean: Show transactions since October, 2003;
show all sub-accounts; sort by the absolute value of the total; and
report the balance for all expenses.
@@ -2827,7 +2827,7 @@ ledger -M --period-sort t reg ^expenses
Now, you might wonder where the money came from to pay for these
things. To see that report, add @option{-r}, which shows the
-``related account'' transactions:
+``related account'' postings:
@example
ledger -M --period-sort t -r reg ^expenses
@@ -2835,8 +2835,8 @@ ledger -M --period-sort t -r reg ^expenses
But maybe this prints too much information. You might just want to
see how much you're spending with your MasterCard. That kind of query
-requires the use of a display predicate, since the transactions
-calculated must match @samp{^expenses}, while the transactions
+requires the use of a display predicate, since the postings
+calculated must match @samp{^expenses}, while the postings
displayed must match @samp{mastercard}. The command would be:
@example
@@ -2844,9 +2844,9 @@ ledger -M -r -d /mastercard/ reg ^expenses
@end example
This query says: Report monthly subtotals; report the ``related
-account'' transactions; display only related transactions whose
+account'' postings; display only related postings whose
account matches @samp{mastercard}, and base the calculation on
-transactions matching @samp{^expenses}.
+postings matching @samp{^expenses}.
This works just as well for report the overall total, too:
@@ -2854,7 +2854,7 @@ This works just as well for report the overall total, too:
ledger -s -r -d /mastercard/ reg ^expenses
@end example
-The @option{-s} option subtotals all transactions, just as @option{-M}
+The @option{-s} option subtotals all postings, just as @option{-M}
subtotaled by the month. The running total in both cases is off,
however, since a display expression is being used.
@@ -2888,7 +2888,7 @@ report -j -M reg ^expenses # monthly expenses
report -J reg checking # checking account balance
report -J reg ^income ^expenses # cash flow report
-# net worth report, ignoring non-$ transactions
+# net worth report, ignoring non-$ postings
report -J -l "Ua>=@{\$0.01@}" reg ^assets ^liab
@@ -2901,10 +2901,10 @@ report -J -l "Ua>=@{\$0.01@}" -d "d>=[last feb]" reg ^assets ^liab
The last report uses both a calculation predicate (@option{-l}) and a
display predicate (@option{-d}). The calculation predicates limits
-the report to transactions whose amount is greater than $1 (which can
-only happen if the transaction amount is in dollars). The display
-predicate limits the entries @emph{displayed} to just those since last
-February, even those entries from before then will be computed as part
+the report to postings whose amount is greater than $1 (which can
+only happen if the posting amount is in dollars). The display
+predicate limits the transactions @emph{displayed} to just those since last
+February, even those transactions from before then will be computed as part
of the balance.
@node Budgeting and forecasting, Commodities and Currencies, Typical queries, Ledger in Practice
@@ -2916,8 +2916,8 @@ Keeping a budget allows you to pay closer attention to your income and
expenses, by reporting how far your actual financial activity is from
your expectations.
-To start keeping a budget, put some period entries at the top of your
-ledger file. A period entry is almost identical to a regular entry,
+To start keeping a budget, put some period transactions at the top of your
+ledger file. A period transaction is almost identical to a regular transaction,
except that it begins with a tilde and has a period expression in
place of a payee. For example:
@@ -2938,7 +2938,7 @@ place of a payee. For example:
Assets
@end smallexample
-These two period entries give the usual monthly expenses, as well as
+These two period transactions give the usual monthly expenses, as well as
one typical yearly expense. For help on finding out what your average
monthly expense is for any category, use a command like:
@@ -2948,7 +2948,7 @@ ledger -p "this year" -MAs bal ^expenses
The reported totals are the current year's average for each account.
-Once these period entries are defined, creating a budget report is as
+Once these period transactions are defined, creating a budget report is as
easy as adding @option{--budget} to the command-line. For example, a
typical monthly expense report would be:
@@ -2977,15 +2977,15 @@ You can also use these flags with the @command{balance} command.
Sometimes it's useful to know what your finances will look like in the
future, such as determining when an account will reach zero. Ledger
-makes this easy to do, using the same period entries as are used for
+makes this easy to do, using the same period transactions as are used for
budgeting. An example forecast report can be generated with:
@example
ledger --forecast "T>@{\$-500.00@}" register ^assets ^liabilities
@end example
-This report continues outputting transactions until the running total
-is greater than $-500.00. A final transaction is always output, to
+This report continues outputting postings until the running total
+is greater than $-500.00. A final posting is always output, to
show you what the total afterwards would be.
Forecasting can also be used with the balance report, but by date
@@ -3093,7 +3093,7 @@ Whenever a commodity is purchased using a different commodity (such as
a share of common stock using dollars), it establishes a price for
that commodity on that day. It is also possible, by recording price
details in a ledger file, to specify other prices for commodities at
-any given time. Such price entries might look like those below:
+any given time. Such price transactions might look like those below:
@smallexample
P 2004/06/21 02:17:58 TWCUX $27.76
@@ -3115,7 +3115,7 @@ example of this is time. Whether tracked in terms of minutes, hours
or days, it should be possible to convert between the various forms.
Doing this requires the use of commodity equivalencies.
-For example, you might have the following two transactions, one which
+For example, you might have the following two postings, one which
transfers an hour of time into a @samp{Billable} account, and another
which decreases the same account by ten minutes. The resulting report
will indicate that fifty minutes remain:
@@ -3187,7 +3187,7 @@ acquired them online. The only purpose for choosing one kind of
source account over another is for generate more informative reports
later on. The more you know, the better analysis you can perform.
-If you later sell some of these items to another player, the entry
+If you later sell some of these items to another player, the transaction
would look like:
@smallexample
@@ -3202,12 +3202,12 @@ Sturm Brightblade.
@node Understanding Equity, Dealing with Petty Cash, Accounts and Inventories, Ledger in Practice
@section Understanding Equity
-The most confusing entry in any ledger will be your equity account---
+The most confusing transaction in any ledger will be your equity account---
because starting balances can't come out of nowhere.
When you first start your ledger, you will likely already have money
in some of your accounts. Let's say there's $100 in your checking
-account; then add an entry to your ledger to reflect this amount.
+account; then add a transaction to your ledger to reflect this amount.
Where will money come from? The answer: your equity.
@smallexample
@@ -3243,7 +3243,7 @@ confusing figure from the total.
Something that stops many people from keeping a ledger at all is the
insanity of tracking small cash expenses. They rarely generate a
-receipt, and there are often a lot of small transactions, rather than
+receipt, and there are often a lot of small postings, rather than
a few large ones, as with checks.
One solution is: don't bother. Move your spending to a debit card,
@@ -3308,7 +3308,7 @@ should reflect the same overall expenses and cash flow. It's simply
where the money resides that differs.
This situation can be handled one of two ways. The first is using
-virtual transactions to represent the fact that money is moving to and
+virtual postings to represent the fact that money is moving to and
from two kind of accounts at the same time:
@smallexample
@@ -3322,8 +3322,8 @@ from two kind of accounts at the same time:
[Assets:Checking] $-500.00
@end smallexample
-The use of square brackets in the second entry ensures that the
-virtual transactions balance to zero. Now money can be spent directly
+The use of square brackets in the second transaction ensures that the
+virtual postings balance to zero. Now money can be spent directly
from a fund at the same time as money is drawn from a physical
account:
@@ -3350,7 +3350,7 @@ the real accounts:
ledger --real bal
@end example
-If more asset accounts are needed as the source of a transaction, just
+If more asset accounts are needed as the source of a posting, just
list them as you would normally, for example:
@smallexample
@@ -3361,10 +3361,10 @@ list them as you would normally, for example:
(Funds:School) $-100.00
@end smallexample
-The second way of tracking funds is to use entry codes. In this
+The second way of tracking funds is to use transaction codes. In this
respect the codes become like virtual accounts that embrace the entire
-set of transactions. Basically, we are associating an entry with a
-fund by setting its code. Here are two entries that desposit money
+set of postings. Basically, we are associating a transaction with a
+fund by setting its code. Here are two transactions that desposit money
into, and spend money from, the @samp{Funds:School} fund:
@smallexample
@@ -3378,15 +3378,15 @@ into, and spend money from, the @samp{Funds:School} fund:
@end smallexample
Note how the accounts now relate only to the real accounts, and any
-balance or registers reports will reflect this. That the entries
+balance or registers reports will reflect this. That the transactions
relate to a particular fund is kept only in the code.
How does this become a fund report? By using the
@option{--code-as-payee} option, you can generate a register report
-where the payee for each transaction shows the code. Alone, this is
+where the payee for each posting shows the code. Alone, this is
not terribly interesting; but when combined with the
@option{--by-payee} option, you will now see account subtotals for any
-transactions related to a specific fund. So, to see the current
+postings related to a specific fund. So, to see the current
monetary balances of all funds, the command would be:
@smallexample
@@ -3402,10 +3402,10 @@ ledger --code-as-payee -P reg ^Expenses -- School
Both approaches yield different kinds of flexibility, depending on how
you prefer to think of your funds: as virtual accounts, or as tags
-associated with particular entries. Your own tastes will decide which
+associated with particular transactions. Your own tastes will decide which
is best for your situation.
-@node Archiving previous years, Virtual transactions, Working with multiple funds and accounts, Ledger in Practice
+@node Archiving previous years, Virtual postings, Working with multiple funds and accounts, Ledger in Practice
@section Archiving previous years
After a while, your ledger can get to be pretty large. While this
@@ -3422,7 +3422,7 @@ that make it very simple: @command{print}, and @command{equity}.
Let's take an example file, with data ranging from year 2000 until
2004. We want to archive years 2000 and 2001 to their own file,
leaving just 2003 and 2004 in the current file. So, use
-@command{print} to output all the earlier entries to a file called
+@command{print} to output all the earlier transactions to a file called
@file{ledger-old.dat}:
@smallexample
@@ -3437,7 +3437,7 @@ ledger -f ledger.dat -b 2002 print > x
mv x ledger.dat
@end example
-However, now the current file contains @emph{only} transactions from
+However, now the current file contains @emph{only} postings from
2002 onward, which will not yield accurate present-day balances,
because the net income from previous years is no longer being tallied.
To compensate for this, we must append an equity report for the old
@@ -3465,18 +3465,18 @@ any electronic statements received during the year. In the arena of
organization, just keep in mind this maxim: Do whatever keeps you
doing it.
-@node Virtual transactions, Automated transactions, Archiving previous years, Ledger in Practice
-@section Virtual transactions
+@node Virtual postings, Automated postings, Archiving previous years, Ledger in Practice
+@section Virtual postings
-A virtual transaction is when you, in your mind, see money as moving
+A virtual posting is when you, in your mind, see money as moving
to a certain place, when in reality that money has not moved at all.
There are several scenarios in which this type of tracking comes in
handy, and each of them will be discussed in detail.
-To enter a virtual transaction, surround the account name in
+To enter a virtual posting, surround the account name in
parentheses. This form of usage does not need to balance. However,
-if you want to ensure the virtual transaction balances with other
-virtual transactions in the same entry, use square brackets. For
+if you want to ensure the virtual posting balances with other
+virtual postings in the same transaction, use square brackets. For
example:
@smallexample
@@ -3502,40 +3502,40 @@ for a trip. It will appear as though the money has been moved from
the account into @samp{Savings:Trip}, although no money has actually
moved anywhere.
-When balances are displayed, virtual transactions will be factored in.
+When balances are displayed, virtual postings will be factored in.
To view balances without any virtual balances factored in, using the
@option{-R} flag, for ``reality''.
-@node Automated transactions, Using Emacs to Keep Your Ledger, Virtual transactions, Ledger in Practice
-@section Automated transactions
+@node Automated postings, Using Emacs to Keep Your Ledger, Virtual postings, Ledger in Practice
+@section Automated postings
As a Bahá'í, I need to compute Huqúqu'lláh whenever I acquire assets.
It is similar to tithing for Jews and Christians, or to Zakát for
-Muslims. The exact details of computing Huqúqu'lláh are somewhat
+Muslims. The epost details of computing Huqúqu'lláh are somewhat
complex, but if you have further interest, please consult the Web.
Ledger makes this otherwise difficult law very easy. Just set up an
-automated transaction at the top of your ledger file:
+automated posting at the top of your ledger file:
@smallexample
-; This automated entry will compute Huqúqu'lláh based on this
-; journal's transactions. Any that match will affect the
+; This automated transaction will compute Huqúqu'lláh based on this
+; journal's postings. Any that match will affect the
; Liabilities:Huququ'llah account by 19% of the value of that
-; transaction.
+; posting.
= /^(?:Income:|Expenses:(?:Business|Rent$|Furnishings|Taxes|Insurance))/
(Liabilities:Huququ'llah) 0.19
@end smallexample
-This automated transaction works by looking at each transaction in the
+This automated posting works by looking at each posting in the
ledger file. If any match the given value expression, 19% of the
-transaction's value is applied to the @samp{Liabilities:Huququ'llah}
+posting's value is applied to the @samp{Liabilities:Huququ'llah}
account. So, if $1000 is earned from @samp{Income:Salary}, $190 is
added to @samp{Liabilities:Huqúqu'lláh}; if $1000 is spent on Rent,
$190 is subtracted. The ultimate balance of Huqúqu'lláh reflects how
much is owed in order to fulfill one's obligation to Huqúqu'lláh.
When ready to pay, just write a check to cover the amount shown in
-@samp{Liabilities:Huququ'llah}. That entry would look like:
+@samp{Liabilities:Huququ'llah}. That transaction would look like:
@smallexample
2003/01/01 (101) Baha'i Huqúqu'lláh Trust
@@ -3544,7 +3544,7 @@ When ready to pay, just write a check to cover the amount shown in
@end smallexample
That's it. To see how much Huqúq is currently owed based on your
-ledger entries, use:
+ledger transactions, use:
@example
ledger balance Liabilities:Huquq
@@ -3571,7 +3571,7 @@ ledger -Q -T "/Liab.*Huquq/?(O/P@{2.22 AU@}<=@{-1.0@}&O):O" -s bal liab
@end smallexample
In some cases, you may wish to refer to the account of whichever
-transaction matched your automated entry's value expression. To do
+posting matched your automated transaction's value expression. To do
this, use the special account name @samp{$account}:
@smallexample
@@ -3581,10 +3581,10 @@ this, use the special account name @samp{$account}:
@end smallexample
This example causes 10% of the matching account's total to be deferred
-to the @samp{Savings} account---as a balanced virtual transaction,
+to the @samp{Savings} account---as a balanced virtual posting,
which may be excluded from reports by using @option{--real}.
-@node Using Emacs to Keep Your Ledger, Using GnuCash to Keep Your Ledger, Automated transactions, Ledger in Practice
+@node Using Emacs to Keep Your Ledger, Using GnuCash to Keep Your Ledger, Automated postings, Ledger in Practice
@section Using Emacs to Keep Your Ledger
In the Ledger tarball is an Emacs module, @file{ledger.el}. This
@@ -3607,31 +3607,31 @@ Now when you edit your ledger file, it will be in
@table @strong
@item C-c C-a
-For quickly adding new entries based on the form of older ones (see
+For quickly adding new transactions based on the form of older ones (see
previous section).
@item C-c C-c
-Toggles the ``cleared'' flag of the transaction under point.
+Toggles the ``cleared'' flag of the posting under point.
@item C-c C-d
-Delete the entry under point.
+Delete the transaction under point.
@item C-c C-r
-Reconciles an account by displaying the transactions in another
+Reconciles an account by displaying the postings in another
buffer, where simply hitting the spacebar will toggle the pending flag
-of the transaction in the ledger. Once all the appropriate
-transactions have been marked, press C-c C-c in the reconcile buffer
-to ``commit'' the reconciliation, which will mark all of the entries
+of the posting in the ledger. Once all the appropriate
+postings have been marked, press C-c C-c in the reconcile buffer
+to ``commit'' the reconciliation, which will mark all of the transactions
as cleared, and display the new cleared balance in the minibuffer.
@item C-c C-m
-Set the default month for new entries added with C-c C-a. This is
-handy if you have a large number of transactions to enter from a
+Set the default month for new transactions added with C-c C-a. This is
+handy if you have a large number of postings to enter from a
previous month.
@item C-c C-y
-Set the default year for new entries added with C-c C-a. This is
-handy if you have a large number of transactions to enter from a
+Set the default year for new transactions added with C-c C-a. This is
+handy if you have a large number of postings to enter from a
previous year.
@end table
@@ -3640,28 +3640,28 @@ available:
@table @strong
@item RET
-Visit the ledger file entry corresponding to the reconcile entry.
+Visit the ledger file transaction corresponding to the reconcile transaction.
@item C-c C-c
-Commit the reconcialation. This marks all of the marked transactions
+Commit the reconcialation. This marks all of the marked postings
as ``cleared'', saves the ledger file, and then displays the new
cleared balance.
@item C-l
-Refresh the reconcile buffer by re-reading transactions from the
+Refresh the reconcile buffer by re-reading postings from the
ledger data file.
@item SPC
-Toggle the transaction under point as cleared.
+Toggle the posting under point as cleared.
@item a
-Add a new entry to the ledger data file, and refresh the reconcile
-buffer to include its transactions (if the entry is added to the same
+Add a new transaction to the ledger data file, and refresh the reconcile
+buffer to include its postings (if the transaction is added to the same
account as the one being reconciled).
@item d
-Delete the entry related to the transaction under point. Note: This
-may result in multiple transactions being deleted.
+Delete the transaction related to the posting under point. Note: This
+may result in multiple postings being deleted.
@item n
Move to the next line.
@@ -3671,8 +3671,8 @@ Move to the previous line.
@item C-c C-r
@item r
-Attempt to auto-reconcile the transactions to the entered balance. If
-it can do so, it will mark all those transactions as pending that
+Attempt to auto-reconcile the postings to the entered balance. If
+it can do so, it will mark all those postings as pending that
would yield the specified balance.
@item C-x C-s
@@ -3713,7 +3713,7 @@ timelog file.
Each in/out event may have an optional description. If the ``in''
description is a ledger account name, these in/out pairs may be viewed
-as virtual transactions, adding time commodities (hours) to that
+as virtual postings, adding time commodities (hours) to that
account.
For example, the command-line version of the timeclock tool could be
@@ -3733,7 +3733,7 @@ i 2004/10/06 15:21:00 ClientOne category
o 2004/10/06 15:21:10 waited for ten seconds
@end smallexample
-Ledger parses this directly, as if it had seen the following entry:
+Ledger parses this directly, as if it had seen the following transaction:
@smallexample
2004/10/06 category
@@ -3751,7 +3751,7 @@ to accounts receivable:
ClientOne -0.00277h @@ $35.00
@end smallexample
-The above transaction converts the clocked time into an invoice for
+The above posting converts the clocked time into an invoice for
the time spent, at an hourly rate of $35. Once the invoice is paid,
the money is deposited from the receivable account into a checking
account:
@@ -3766,7 +3766,7 @@ And now the time spent has been turned into hard cash in the checking
account.
The advantage to using timeclock and invoicing to bill time is that
-you will always know, by looking at the balance report, exactly how
+you will always know, by looking at the balance report, epostly how
much unbilled and unpaid time you've spent working for any particular
client.
@@ -3784,7 +3784,7 @@ accounting ledger, with the attached prefix @samp{Billable}:
!include /home/johnw/.timelog
!end
-; Here follows this fiscal year's transactions for the company.
+; Here follows this fiscal year's postings for the company.
2004/11/01 (INV#1) ClientOne, Inc.
Receivable:ClientOne $0.10
@@ -3808,47 +3808,47 @@ The general format used for Ledger data is:
@smallexample
<?xml version="1.0"?>
<ledger>
- <entry>...</entry>
- <entry>...</entry>
- <entry>...</entry>...
+ <xact>...</xact>
+ <xact>...</xact>
+ <xact>...</xact>...
</ledger>
@end smallexample
The data stream is enclosed in a @samp{ledger} tag, which contains a
-series of one or more entries. Each @samp{entry} describes the entry
-and contains a series of one or more transactions:
+series of one or more transactions. Each @samp{xact} describes the transaction
+and contains a series of one or more postings:
@smallexample
-<entry>
+<xact>
<en:date>2004/03/01</en:date>
<en:cleared/>
<en:code>100</en:code>
<en:payee>John Wiegley</en:payee>
- <en:transactions>
- <transaction>...</transaction>
- <transaction>...</transaction>
- <transaction>...</transaction>...
- </en:transactions>
-</entry>
+ <en:postings>
+ <posting>...</posting>
+ <posting>...</posting>
+ <posting>...</posting>...
+ </en:postings>
+</xact>
@end smallexample
The date format for @samp{en:date} is always @samp{YYYY/MM/DD}. The
@samp{en:cleared} tag is optional, and indicates whether the
-transaction has been cleared or not. There is also an
-@samp{en:pending} tag, for marking pending transactions. The
+posting has been cleared or not. There is also an
+@samp{en:pending} tag, for marking pending postings. The
@samp{en:code} and @samp{en:payee} tags both contain whatever text the
user wishes.
-After the initial entry data, there must follow a set of transactions
-marked with @samp{en:transactions}. Typically these transactions will
+After the initial transaction data, there must follow a set of postings
+marked with @samp{en:postings}. Typically these postings will
all balance each other, but if not they will be automatically balanced
into an account named @samp{<Unknown>}.
-Within the @samp{en:transactions} tag is a series of one or more
-@samp{transaction}'s, which have the following form:
+Within the @samp{en:postings} tag is a series of one or more
+@samp{posting}'s, which have the following form:
@smallexample
-<transaction>
+<posting>
<tr:account>Expenses:Computer:Hardware</tr:account>
<tr:amount>
<value type="amount">
@@ -3858,16 +3858,16 @@ Within the @samp{en:transactions} tag is a series of one or more
</amount>
</value>
</tr:amount>
-</transaction>
+</posting>
@end smallexample
-This is a basic transaction. It may also be begin with
+This is a basic posting. It may also be begin with
@samp{tr:virtual} and/or @samp{tr:generated} tags, to indicate virtual
-and auto-generated transactions. Then follows the @samp{tr:account}
-tag, which contains the full name of the account the transaction is
+and auto-generated postings. Then follows the @samp{tr:account}
+tag, which contains the full name of the account the posting is
related to. Colons separate parent from child in an account name.
-Lastly follows the amount of the transaction, indicated by
+Lastly follows the amount of the posting, indicated by
@samp{tr:amount}. Within this tag is a @samp{value} tag, of which
there are four different kinds, each with its own format:
@@ -3950,8 +3950,8 @@ the same data.
Everything begins with a journal file---the anatomy of which is covered
in detail in chapter one. To review: a @emph{journal} contains one or
-more @emph{entries}, each of which refers to two or more
-@emph{transactions}. A @emph{transaction} specifies that a given
+more @emph{transactions}, each of which refers to two or more
+@emph{postings}. A @emph{posting} specifies that a given
@emph{amount} is added to, or subtracted from, an @emph{account}.
(@emph{Accounts} may be nested hierarchically by separating the elements
using a colon). Lastly, an @emph{amount} is a figure representing a
@@ -3960,17 +3960,17 @@ these terms, which are all used extensively throughout this chapter:
@table @emph
@item journal
-A journal is a data file containing a series of entries.
-
-@item entry
-An entry relates a group of two or more transactions, with the absolute
-constraint that the total sum of an entry's transactions must equal
-zero. That is, every entry in a journal must @emph{balance} to zero.
+A journal is a data file containing a series of transactions.
@item transaction
-Transactions record how commodities are moved between accounts. If you
-spent money on a movie ticket, for example, such an entry would have two
-transactions: One to show how the money was taken from your wallet, and
+a transaction relates a group of two or more postings, with the absolute
+constraint that the total sum of a transaction's postings must equal
+zero. That is, every transaction in a journal must @emph{balance} to zero.
+
+@item posting
+Postings record how commodities are moved between accounts. If you
+spent money on a movie ticket, for example, such a transaction would have two
+postings: One to show how the money was taken from your wallet, and
another to show how it was applied to your movie expenses.
@item account
@@ -3999,7 +3999,7 @@ difficult one. All that's required is a proper understanding of how
Ledger views your data, and how it prepares it for reporting.
After Ledger reads a journal file, it creates an in-memory
-representation reflecting the order and composition of those entries.
+representation reflecting the order and composition of those transactions.
@chapter Value expressions
@@ -4023,7 +4023,7 @@ reporting data to the user:
@end enumerate
The calculations in step two are specified by the user, such as when a
-transaction's value might contain mathematical operators. The
+posting's value might contain mathematical operators. The
calculations in step four are implied in the transformations, for
example when the @option{--average} option is used.
@@ -4062,8 +4062,8 @@ mask_t
journal_t
account_t
-entry_t
-transaction_t
+xact_t
+post_t
parser_t
@section Reporting
diff --git a/doc/sample.dat b/doc/sample.dat
index 5fdc98d1..002d20ee 100644
--- a/doc/sample.dat
+++ b/doc/sample.dat
@@ -34,10 +34,10 @@ N $
Liabilities:MasterCard
2004/05/27 (100) Credit card company
- ; This is an entry note!
+ ; This is an xact note!
; Sample: Value
Liabilities:MasterCard $20.00
- ; This is a transaction note!
+ ; This is a posting note!
; Sample: Another Value
; :MyTag:
Assets:Bank:Checking