Where display_account might be '(Expenses:Food)', account will always be
'Expenses:Food'. account is now used by all matching and query
operations, while display_account is used in the various report outputs
(besides balance, which never distinguished virtual accounts).
Fixes F2832452-4521-49A3-B854-F4E12CC4D82E
It allows transactions like the following to auto-balance:
1999/08/16 Sell AAPL
Assets:Broker $585
Expense:Broker:Commissions $15
Assets:Broker -10 AAPL {$30} @ $60
Income:Capital Gains
This is useful for making sure that the column containing the results of
--prepend-format is a consistent width throughout the report (including
those lines where it is not applied).
Fixes 64F9D913-75E1-4830-A3D9-29B72442E68B
Fields are now:
Date,Code,Payee,Account,Commodity,Total,State,Note
Instead of outputting amounts potentially as $1,000.00 (which was an
error anyway), the output is now: $,1000.00. This makes the commodity
available in a separate field, and removes display of thousands markers.
Also, european formatting is always off.
These three reports simply dump an unordered list (with the exception of
payees) shows all accounts, payees, and commodities represented in a
given report. This can be used to easily generate per-entity report,
for example:
ledger payees | \
while read payee; do \
echo ; echo $payee ; \
ledger reg payee "$payee" ; \
done
any() matches an expression against every post in a transaction or
account, and returns true if any of them are true. all() tests if all
are true. For example:
ledger -l 'account =~ /Expense/ & any(account =~ /MasterCard/)' reg
This reports every posting affecting an Expense account (regex match),
but only if some other posting in the same transaction affects the
MasterCard account.
Both functions also take a second boolean argument. If it is false, the
"source" posting is not considered. For example:
ledger -l 'any(/x/, false)'
This matches any posting where a *different* posting in the same
transaction contains the letter 'x'.
The usages are:
--meta=<TAG> prepend value of TAG before every line
--meta-width=<NUM> force the meta column to be NUM wide
--meta=<TAG>:<NUM> shortcut that also applies --meta-width
The payee directive allows for transformation of payee names during the
parsing of a Ledger file. This means you can record the payee name in
one form, but always have it reported in another form. The syntax is
(and will be):
payee PAYEE_NAME REGEXP
or
payee PAYEE_NAME
REGEXP1
REGEXP2
...
The account directive sets the account automatically based on the payee
iff the base account name is Unknown. For example, if you have a bunch
of transaction in Expenses:Unknown, you can assign accounts for several
automatically using:
account ACCOUNT_NAME PAYEE_REGEXP
or
account ACCOUNT_NAME
PAYEE_REGEXP1
PAYEE_REGEXP2
...