parent
9501b43471
commit
079e76a370
@ -92,8 +92,8 @@ m4_define({{_inputoptions_}}, {{
|
|||||||
`--anon`
|
`--anon`
|
||||||
: anonymize accounts and payees
|
: anonymize accounts and payees
|
||||||
|
|
||||||
`--pivot TAGNAME`
|
`--pivot FIELDNAME`
|
||||||
: use some other field/tag for account names
|
: use some other field or tag for the account name
|
||||||
|
|
||||||
`-I --ignore-assertions`
|
`-I --ignore-assertions`
|
||||||
: ignore any failing balance assertions
|
: ignore any failing balance assertions
|
||||||
|
|||||||
@ -77,7 +77,10 @@ This can be followed by any of the following, separated by spaces:
|
|||||||
parentheses)
|
parentheses)
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
(optional) a transaction description (any remaining text until end of
|
(optional) a transaction description (any remaining text until end of
|
||||||
line)
|
line or a semicolon)
|
||||||
|
.IP \[bu] 2
|
||||||
|
(optional) a transaction comment (any remaining text following a
|
||||||
|
semicolon until end of line)
|
||||||
.PP
|
.PP
|
||||||
Then comes zero or more (but usually at least 2) indented lines
|
Then comes zero or more (but usually at least 2) indented lines
|
||||||
representing...
|
representing...
|
||||||
@ -300,6 +303,23 @@ With this scheme, you would use \f[C]\-PC\f[] to see the current balance
|
|||||||
at your bank, \f[C]\-U\f[] to see things which will probably hit your
|
at your bank, \f[C]\-U\f[] to see things which will probably hit your
|
||||||
bank soon (like uncashed checks), and no flags to see the most
|
bank soon (like uncashed checks), and no flags to see the most
|
||||||
up\-to\-date state of your finances.
|
up\-to\-date state of your finances.
|
||||||
|
.SS Description, payee and note
|
||||||
|
.PP
|
||||||
|
As mentioned, a transaction\[aq]s description is the rest of the line
|
||||||
|
following the date and status mark (or, the rest of line until a comment
|
||||||
|
begins).
|
||||||
|
Sometimes called the "narration" in traditional bookkeeping, it can be
|
||||||
|
used for whatever you wish, or left blank.
|
||||||
|
The description can be queried, unlike comments.
|
||||||
|
.PP
|
||||||
|
Including a \f[C]|\f[] (pipe) character in the description will
|
||||||
|
subdivide it into a payee/payer name (on the left) and additional notes
|
||||||
|
(on the right).
|
||||||
|
This is entirely optional, but it can allow more precise
|
||||||
|
.PD 0
|
||||||
|
.P
|
||||||
|
.PD
|
||||||
|
querying and pivoting.
|
||||||
.SS Account names
|
.SS Account names
|
||||||
.PP
|
.PP
|
||||||
Account names typically have several parts separated by a full colon,
|
Account names typically have several parts separated by a full colon,
|
||||||
@ -797,24 +817,6 @@ For example, the following transaction has three tags (\f[C]A\f[],
|
|||||||
.PP
|
.PP
|
||||||
Tags are like Ledger\[aq]s metadata feature, except hledger\[aq]s tag
|
Tags are like Ledger\[aq]s metadata feature, except hledger\[aq]s tag
|
||||||
values are simple strings.
|
values are simple strings.
|
||||||
.SS Implicit tags
|
|
||||||
.PP
|
|
||||||
Some predefined "implicit" tags are also provided:
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[C]code\f[] \- the transaction\[aq]s code field
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[C]description\f[] \- the transaction\[aq]s description
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[C]payee\f[] \- the part of description before \f[C]|\f[], or all of
|
|
||||||
it
|
|
||||||
.IP \[bu] 2
|
|
||||||
\f[C]note\f[] \- the part of description after \f[C]|\f[], or all of it
|
|
||||||
.PP
|
|
||||||
\f[C]payee\f[] and \f[C]note\f[] support descriptions written in a
|
|
||||||
special \f[C]PAYEE\ |\ NOTE\f[] format, accessing the parts before and
|
|
||||||
after the pipe character respectively.
|
|
||||||
For descriptions not containing a pipe character they are the same as
|
|
||||||
\f[C]description\f[].
|
|
||||||
.SS Directives
|
.SS Directives
|
||||||
.SS Account aliases
|
.SS Account aliases
|
||||||
.PP
|
.PP
|
||||||
|
|||||||
@ -71,6 +71,7 @@ File: hledger_journal.5.info, Node: FILE FORMAT, Next: EDITOR SUPPORT, Prev:
|
|||||||
* Postings::
|
* Postings::
|
||||||
* Dates::
|
* Dates::
|
||||||
* Status::
|
* Status::
|
||||||
|
* Description payee and note::
|
||||||
* Account names::
|
* Account names::
|
||||||
* Amounts::
|
* Amounts::
|
||||||
* Virtual Postings::
|
* Virtual Postings::
|
||||||
@ -96,7 +97,9 @@ following, separated by spaces:
|
|||||||
* (optional) a transaction code (any short number or text, enclosed
|
* (optional) a transaction code (any short number or text, enclosed
|
||||||
in parentheses)
|
in parentheses)
|
||||||
* (optional) a transaction description (any remaining text until end
|
* (optional) a transaction description (any remaining text until end
|
||||||
of line)
|
of line or a semicolon)
|
||||||
|
* (optional) a transaction comment (any remaining text following a
|
||||||
|
semicolon until end of line)
|
||||||
|
|
||||||
Then comes zero or more (but usually at least 2) indented lines
|
Then comes zero or more (but usually at least 2) indented lines
|
||||||
representing...
|
representing...
|
||||||
@ -231,7 +234,7 @@ characters in this way. With this syntax, DATE infers its year from the
|
|||||||
transaction and DATE2 infers its year from DATE.
|
transaction and DATE2 infers its year from DATE.
|
||||||
|
|
||||||
|
|
||||||
File: hledger_journal.5.info, Node: Status, Next: Account names, Prev: Dates, Up: FILE FORMAT
|
File: hledger_journal.5.info, Node: Status, Next: Description payee and note, Prev: Dates, Up: FILE FORMAT
|
||||||
|
|
||||||
1.4 Status
|
1.4 Status
|
||||||
==========
|
==========
|
||||||
@ -281,9 +284,26 @@ your bank, '-U' to see things which will probably hit your bank soon
|
|||||||
your finances.
|
your finances.
|
||||||
|
|
||||||
|
|
||||||
File: hledger_journal.5.info, Node: Account names, Next: Amounts, Prev: Status, Up: FILE FORMAT
|
File: hledger_journal.5.info, Node: Description payee and note, Next: Account names, Prev: Status, Up: FILE FORMAT
|
||||||
|
|
||||||
1.5 Account names
|
1.5 Description, payee and note
|
||||||
|
===============================
|
||||||
|
|
||||||
|
As mentioned, a transaction's description is the rest of the line
|
||||||
|
following the date and status mark (or, the rest of line until a comment
|
||||||
|
begins). Sometimes called the "narration" in traditional bookkeeping,
|
||||||
|
it can be used for whatever you wish, or left blank. The description
|
||||||
|
can be queried, unlike comments.
|
||||||
|
|
||||||
|
Including a '|' (pipe) character in the description will subdivide it
|
||||||
|
into a payee/payer name (on the left) and additional notes (on the
|
||||||
|
right). This is entirely optional, but it can allow more precise
|
||||||
|
querying and pivoting.
|
||||||
|
|
||||||
|
|
||||||
|
File: hledger_journal.5.info, Node: Account names, Next: Amounts, Prev: Description payee and note, Up: FILE FORMAT
|
||||||
|
|
||||||
|
1.6 Account names
|
||||||
=================
|
=================
|
||||||
|
|
||||||
Account names typically have several parts separated by a full colon,
|
Account names typically have several parts separated by a full colon,
|
||||||
@ -301,7 +321,7 @@ more spaces* (or newline).
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Amounts, Next: Virtual Postings, Prev: Account names, Up: FILE FORMAT
|
File: hledger_journal.5.info, Node: Amounts, Next: Virtual Postings, Prev: Account names, Up: FILE FORMAT
|
||||||
|
|
||||||
1.6 Amounts
|
1.7 Amounts
|
||||||
===========
|
===========
|
||||||
|
|
||||||
After the account name, there is usually an amount. Important: between
|
After the account name, there is usually an amount. Important: between
|
||||||
@ -356,7 +376,7 @@ format with a commodity directive.
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Virtual Postings, Next: Balance Assertions, Prev: Amounts, Up: FILE FORMAT
|
File: hledger_journal.5.info, Node: Virtual Postings, Next: Balance Assertions, Prev: Amounts, Up: FILE FORMAT
|
||||||
|
|
||||||
1.7 Virtual Postings
|
1.8 Virtual Postings
|
||||||
====================
|
====================
|
||||||
|
|
||||||
When you parenthesise the account name in a posting, we call that a
|
When you parenthesise the account name in a posting, we call that a
|
||||||
@ -391,7 +411,7 @@ is more correct and provides better error checking.
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Balance Assertions, Next: Balance Assignments, Prev: Virtual Postings, Up: FILE FORMAT
|
File: hledger_journal.5.info, Node: Balance Assertions, Next: Balance Assignments, Prev: Virtual Postings, Up: FILE FORMAT
|
||||||
|
|
||||||
1.8 Balance Assertions
|
1.9 Balance Assertions
|
||||||
======================
|
======================
|
||||||
|
|
||||||
hledger supports Ledger-style balance assertions in journal files.
|
hledger supports Ledger-style balance assertions in journal files.
|
||||||
@ -425,7 +445,7 @@ or for reading Ledger files.
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Assertions and ordering, Next: Assertions and included files, Up: Balance Assertions
|
File: hledger_journal.5.info, Node: Assertions and ordering, Next: Assertions and included files, Up: Balance Assertions
|
||||||
|
|
||||||
1.8.1 Assertions and ordering
|
1.9.1 Assertions and ordering
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
hledger sorts an account's postings and assertions first by date and
|
hledger sorts an account's postings and assertions first by date and
|
||||||
@ -444,7 +464,7 @@ can assert intra-day balances.
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Assertions and included files, Next: Assertions and multiple -f options, Prev: Assertions and ordering, Up: Balance Assertions
|
File: hledger_journal.5.info, Node: Assertions and included files, Next: Assertions and multiple -f options, Prev: Assertions and ordering, Up: Balance Assertions
|
||||||
|
|
||||||
1.8.2 Assertions and included files
|
1.9.2 Assertions and included files
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
|
|
||||||
With included files, things are a little more complicated. Including
|
With included files, things are a little more complicated. Including
|
||||||
@ -456,7 +476,7 @@ you'll have to put the assertion in the right file.
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Assertions and multiple -f options, Next: Assertions and commodities, Prev: Assertions and included files, Up: Balance Assertions
|
File: hledger_journal.5.info, Node: Assertions and multiple -f options, Next: Assertions and commodities, Prev: Assertions and included files, Up: Balance Assertions
|
||||||
|
|
||||||
1.8.3 Assertions and multiple -f options
|
1.9.3 Assertions and multiple -f options
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
|
|
||||||
Balance assertions don't work well across files specified with multiple
|
Balance assertions don't work well across files specified with multiple
|
||||||
@ -465,7 +485,7 @@ Balance assertions don't work well across files specified with multiple
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Assertions and commodities, Next: Assertions and subaccounts, Prev: Assertions and multiple -f options, Up: Balance Assertions
|
File: hledger_journal.5.info, Node: Assertions and commodities, Next: Assertions and subaccounts, Prev: Assertions and multiple -f options, Up: Balance Assertions
|
||||||
|
|
||||||
1.8.4 Assertions and commodities
|
1.9.4 Assertions and commodities
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
The asserted balance must be a simple single-commodity amount, and in
|
The asserted balance must be a simple single-commodity amount, and in
|
||||||
@ -484,7 +504,7 @@ for this kind of total balance assertion if there's demand.)
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Assertions and subaccounts, Next: Assertions and virtual postings, Prev: Assertions and commodities, Up: Balance Assertions
|
File: hledger_journal.5.info, Node: Assertions and subaccounts, Next: Assertions and virtual postings, Prev: Assertions and commodities, Up: Balance Assertions
|
||||||
|
|
||||||
1.8.5 Assertions and subaccounts
|
1.9.5 Assertions and subaccounts
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
Balance assertions do not count the balance from subaccounts; they check
|
Balance assertions do not count the balance from subaccounts; they check
|
||||||
@ -507,7 +527,7 @@ $ hledger bal checking --flat
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Assertions and virtual postings, Prev: Assertions and subaccounts, Up: Balance Assertions
|
File: hledger_journal.5.info, Node: Assertions and virtual postings, Prev: Assertions and subaccounts, Up: Balance Assertions
|
||||||
|
|
||||||
1.8.6 Assertions and virtual postings
|
1.9.6 Assertions and virtual postings
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
|
|
||||||
Balance assertions are checked against all postings, both real and
|
Balance assertions are checked against all postings, both real and
|
||||||
@ -517,8 +537,8 @@ query.
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Balance Assignments, Next: Prices, Prev: Balance Assertions, Up: FILE FORMAT
|
File: hledger_journal.5.info, Node: Balance Assignments, Next: Prices, Prev: Balance Assertions, Up: FILE FORMAT
|
||||||
|
|
||||||
1.9 Balance Assignments
|
1.10 Balance Assignments
|
||||||
=======================
|
========================
|
||||||
|
|
||||||
Ledger-style balance assignments are also supported. These are like
|
Ledger-style balance assignments are also supported. These are like
|
||||||
balance assertions, but with no posting amount on the left side of the
|
balance assertions, but with no posting amount on the left side of the
|
||||||
@ -550,7 +570,7 @@ hledger or do the calculations yourself, instead of just reading it.
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Prices, Next: Comments, Prev: Balance Assignments, Up: FILE FORMAT
|
File: hledger_journal.5.info, Node: Prices, Next: Comments, Prev: Balance Assignments, Up: FILE FORMAT
|
||||||
|
|
||||||
1.10 Prices
|
1.11 Prices
|
||||||
===========
|
===========
|
||||||
|
|
||||||
* Menu:
|
* Menu:
|
||||||
@ -561,7 +581,7 @@ File: hledger_journal.5.info, Node: Prices, Next: Comments, Prev: Balance Ass
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Transaction prices, Next: Market prices, Up: Prices
|
File: hledger_journal.5.info, Node: Transaction prices, Next: Market prices, Up: Prices
|
||||||
|
|
||||||
1.10.1 Transaction prices
|
1.11.1 Transaction prices
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
Within a transaction, you can note an amount's price in another
|
Within a transaction, you can note an amount's price in another
|
||||||
@ -622,7 +642,7 @@ $ hledger bal -N --flat -B
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Market prices, Prev: Transaction prices, Up: Prices
|
File: hledger_journal.5.info, Node: Market prices, Prev: Transaction prices, Up: Prices
|
||||||
|
|
||||||
1.10.2 Market prices
|
1.11.2 Market prices
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
Market prices are not tied to a particular transaction; they represent
|
Market prices are not tied to a particular transaction; they represent
|
||||||
@ -651,7 +671,7 @@ P 2010/1/1 € $1.40
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Comments, Next: Tags, Prev: Prices, Up: FILE FORMAT
|
File: hledger_journal.5.info, Node: Comments, Next: Tags, Prev: Prices, Up: FILE FORMAT
|
||||||
|
|
||||||
1.11 Comments
|
1.12 Comments
|
||||||
=============
|
=============
|
||||||
|
|
||||||
Lines in the journal beginning with a semicolon (';') or hash ('#') or
|
Lines in the journal beginning with a semicolon (';') or hash ('#') or
|
||||||
@ -691,7 +711,7 @@ end comment
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Tags, Next: Directives, Prev: Comments, Up: FILE FORMAT
|
File: hledger_journal.5.info, Node: Tags, Next: Directives, Prev: Comments, Up: FILE FORMAT
|
||||||
|
|
||||||
1.12 Tags
|
1.13 Tags
|
||||||
=========
|
=========
|
||||||
|
|
||||||
Tags are a way to add extra labels or labelled data to postings and
|
Tags are a way to add extra labels or labelled data to postings and
|
||||||
@ -730,32 +750,11 @@ example, the following transaction has three tags ('A', 'TAG2',
|
|||||||
|
|
||||||
Tags are like Ledger's metadata feature, except hledger's tag values
|
Tags are like Ledger's metadata feature, except hledger's tag values
|
||||||
are simple strings.
|
are simple strings.
|
||||||
* Menu:
|
|
||||||
|
|
||||||
* Implicit tags::
|
|
||||||
|
|
||||||
|
|
||||||
File: hledger_journal.5.info, Node: Implicit tags, Up: Tags
|
|
||||||
|
|
||||||
1.12.1 Implicit tags
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
Some predefined "implicit" tags are also provided:
|
|
||||||
|
|
||||||
* 'code' - the transaction's code field
|
|
||||||
* 'description' - the transaction's description
|
|
||||||
* 'payee' - the part of description before '|', or all of it
|
|
||||||
* 'note' - the part of description after '|', or all of it
|
|
||||||
|
|
||||||
'payee' and 'note' support descriptions written in a special 'PAYEE |
|
|
||||||
NOTE' format, accessing the parts before and after the pipe character
|
|
||||||
respectively. For descriptions not containing a pipe character they are
|
|
||||||
the same as 'description'.
|
|
||||||
|
|
||||||
|
|
||||||
File: hledger_journal.5.info, Node: Directives, Prev: Tags, Up: FILE FORMAT
|
File: hledger_journal.5.info, Node: Directives, Prev: Tags, Up: FILE FORMAT
|
||||||
|
|
||||||
1.13 Directives
|
1.14 Directives
|
||||||
===============
|
===============
|
||||||
|
|
||||||
* Menu:
|
* Menu:
|
||||||
@ -772,7 +771,7 @@ File: hledger_journal.5.info, Node: Directives, Prev: Tags, Up: FILE FORMAT
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Account aliases, Next: account directive, Up: Directives
|
File: hledger_journal.5.info, Node: Account aliases, Next: account directive, Up: Directives
|
||||||
|
|
||||||
1.13.1 Account aliases
|
1.14.1 Account aliases
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
You can define aliases which rewrite your account names (after reading
|
You can define aliases which rewrite your account names (after reading
|
||||||
@ -797,7 +796,7 @@ be useful for:
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Basic aliases, Next: Regex aliases, Up: Account aliases
|
File: hledger_journal.5.info, Node: Basic aliases, Next: Regex aliases, Up: Account aliases
|
||||||
|
|
||||||
1.13.1.1 Basic aliases
|
1.14.1.1 Basic aliases
|
||||||
......................
|
......................
|
||||||
|
|
||||||
To set an account alias, use the 'alias' directive in your journal file.
|
To set an account alias, use the 'alias' directive in your journal file.
|
||||||
@ -820,7 +819,7 @@ alias checking = assets:bank:wells fargo:checking
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Regex aliases, Next: Multiple aliases, Prev: Basic aliases, Up: Account aliases
|
File: hledger_journal.5.info, Node: Regex aliases, Next: Multiple aliases, Prev: Basic aliases, Up: Account aliases
|
||||||
|
|
||||||
1.13.1.2 Regex aliases
|
1.14.1.2 Regex aliases
|
||||||
......................
|
......................
|
||||||
|
|
||||||
There is also a more powerful variant that uses a regular expression,
|
There is also a more powerful variant that uses a regular expression,
|
||||||
@ -843,7 +842,7 @@ alias /^(.+):bank:([^:]+)(.*)/ = \1:\2 \3
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Multiple aliases, Next: end aliases, Prev: Regex aliases, Up: Account aliases
|
File: hledger_journal.5.info, Node: Multiple aliases, Next: end aliases, Prev: Regex aliases, Up: Account aliases
|
||||||
|
|
||||||
1.13.1.3 Multiple aliases
|
1.14.1.3 Multiple aliases
|
||||||
.........................
|
.........................
|
||||||
|
|
||||||
You can define as many aliases as you like using directives or
|
You can define as many aliases as you like using directives or
|
||||||
@ -859,7 +858,7 @@ following order:
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: end aliases, Prev: Multiple aliases, Up: Account aliases
|
File: hledger_journal.5.info, Node: end aliases, Prev: Multiple aliases, Up: Account aliases
|
||||||
|
|
||||||
1.13.1.4 end aliases
|
1.14.1.4 end aliases
|
||||||
....................
|
....................
|
||||||
|
|
||||||
You can clear (forget) all currently defined aliases with the 'end
|
You can clear (forget) all currently defined aliases with the 'end
|
||||||
@ -870,7 +869,7 @@ end aliases
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: account directive, Next: apply account directive, Prev: Account aliases, Up: Directives
|
File: hledger_journal.5.info, Node: account directive, Next: apply account directive, Prev: Account aliases, Up: Directives
|
||||||
|
|
||||||
1.13.2 account directive
|
1.14.2 account directive
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
The 'account' directive predefines account names, as in Ledger and
|
The 'account' directive predefines account names, as in Ledger and
|
||||||
@ -891,7 +890,7 @@ account expenses:food
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: apply account directive, Next: Multi-line comments, Prev: account directive, Up: Directives
|
File: hledger_journal.5.info, Node: apply account directive, Next: Multi-line comments, Prev: account directive, Up: Directives
|
||||||
|
|
||||||
1.13.3 apply account directive
|
1.14.3 apply account directive
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
You can specify a parent account which will be prepended to all accounts
|
You can specify a parent account which will be prepended to all accounts
|
||||||
@ -927,7 +926,7 @@ supported.
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Multi-line comments, Next: commodity directive, Prev: apply account directive, Up: Directives
|
File: hledger_journal.5.info, Node: Multi-line comments, Next: commodity directive, Prev: apply account directive, Up: Directives
|
||||||
|
|
||||||
1.13.4 Multi-line comments
|
1.14.4 Multi-line comments
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
A line containing just 'comment' starts a multi-line comment, and a line
|
A line containing just 'comment' starts a multi-line comment, and a line
|
||||||
@ -936,7 +935,7 @@ containing just 'end comment' ends it. See comments.
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: commodity directive, Next: Default commodity, Prev: Multi-line comments, Up: Directives
|
File: hledger_journal.5.info, Node: commodity directive, Next: Default commodity, Prev: Multi-line comments, Up: Directives
|
||||||
|
|
||||||
1.13.5 commodity directive
|
1.14.5 commodity directive
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
The 'commodity' directive predefines commodities (currently this is just
|
The 'commodity' directive predefines commodities (currently this is just
|
||||||
@ -968,7 +967,7 @@ commodity INR
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Default commodity, Next: Default year, Prev: commodity directive, Up: Directives
|
File: hledger_journal.5.info, Node: Default commodity, Next: Default year, Prev: commodity directive, Up: Directives
|
||||||
|
|
||||||
1.13.6 Default commodity
|
1.14.6 Default commodity
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
The D directive sets a default commodity (and display format), to be
|
The D directive sets a default commodity (and display format), to be
|
||||||
@ -988,7 +987,7 @@ D $1,000.00
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Default year, Next: Including other files, Prev: Default commodity, Up: Directives
|
File: hledger_journal.5.info, Node: Default year, Next: Including other files, Prev: Default commodity, Up: Directives
|
||||||
|
|
||||||
1.13.7 Default year
|
1.14.7 Default year
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
You can set a default year to be used for subsequent dates which don't
|
You can set a default year to be used for subsequent dates which don't
|
||||||
@ -1014,7 +1013,7 @@ Y2010 ; change default year to 2010
|
|||||||
|
|
||||||
File: hledger_journal.5.info, Node: Including other files, Prev: Default year, Up: Directives
|
File: hledger_journal.5.info, Node: Including other files, Prev: Default year, Up: Directives
|
||||||
|
|
||||||
1.13.8 Including other files
|
1.14.8 Including other files
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
You can pull in the content of additional journal files by writing an
|
You can pull in the content of additional journal files by writing an
|
||||||
@ -1055,81 +1054,81 @@ Tag Table:
|
|||||||
Node: Top78
|
Node: Top78
|
||||||
Node: FILE FORMAT2380
|
Node: FILE FORMAT2380
|
||||||
Ref: #file-format2506
|
Ref: #file-format2506
|
||||||
Node: Transactions2713
|
Node: Transactions2744
|
||||||
Ref: #transactions2836
|
Ref: #transactions2867
|
||||||
Node: Postings3401
|
Node: Postings3551
|
||||||
Ref: #postings3530
|
Ref: #postings3680
|
||||||
Node: Dates4525
|
Node: Dates4675
|
||||||
Ref: #dates4642
|
Ref: #dates4792
|
||||||
Node: Simple dates4707
|
Node: Simple dates4857
|
||||||
Ref: #simple-dates4835
|
Ref: #simple-dates4985
|
||||||
Node: Secondary dates5201
|
Node: Secondary dates5351
|
||||||
Ref: #secondary-dates5357
|
Ref: #secondary-dates5507
|
||||||
Node: Posting dates6920
|
Node: Posting dates7070
|
||||||
Ref: #posting-dates7051
|
Ref: #posting-dates7201
|
||||||
Node: Status8425
|
Node: Status8575
|
||||||
Ref: #status8549
|
Ref: #status8712
|
||||||
Node: Account names10263
|
Node: Description payee and note10426
|
||||||
Ref: #account-names10403
|
Ref: #description-payee-and-note10613
|
||||||
Node: Amounts10890
|
Node: Account names11157
|
||||||
Ref: #amounts11028
|
Ref: #account-names11317
|
||||||
Node: Virtual Postings13129
|
Node: Amounts11804
|
||||||
Ref: #virtual-postings13290
|
Ref: #amounts11942
|
||||||
Node: Balance Assertions14510
|
Node: Virtual Postings14043
|
||||||
Ref: #balance-assertions14687
|
Ref: #virtual-postings14204
|
||||||
Node: Assertions and ordering15583
|
Node: Balance Assertions15424
|
||||||
Ref: #assertions-and-ordering15771
|
Ref: #balance-assertions15601
|
||||||
Node: Assertions and included files16471
|
Node: Assertions and ordering16497
|
||||||
Ref: #assertions-and-included-files16714
|
Ref: #assertions-and-ordering16685
|
||||||
Node: Assertions and multiple -f options17047
|
Node: Assertions and included files17385
|
||||||
Ref: #assertions-and-multiple--f-options17303
|
Ref: #assertions-and-included-files17628
|
||||||
Node: Assertions and commodities17435
|
Node: Assertions and multiple -f options17961
|
||||||
Ref: #assertions-and-commodities17672
|
Ref: #assertions-and-multiple--f-options18217
|
||||||
Node: Assertions and subaccounts18368
|
Node: Assertions and commodities18349
|
||||||
Ref: #assertions-and-subaccounts18602
|
Ref: #assertions-and-commodities18586
|
||||||
Node: Assertions and virtual postings19123
|
Node: Assertions and subaccounts19282
|
||||||
Ref: #assertions-and-virtual-postings19332
|
Ref: #assertions-and-subaccounts19516
|
||||||
Node: Balance Assignments19474
|
Node: Assertions and virtual postings20037
|
||||||
Ref: #balance-assignments19643
|
Ref: #assertions-and-virtual-postings20246
|
||||||
Node: Prices20762
|
Node: Balance Assignments20388
|
||||||
Ref: #prices20897
|
Ref: #balance-assignments20559
|
||||||
Node: Transaction prices20948
|
Node: Prices21678
|
||||||
Ref: #transaction-prices21095
|
Ref: #prices21813
|
||||||
Node: Market prices23251
|
Node: Transaction prices21864
|
||||||
Ref: #market-prices23388
|
Ref: #transaction-prices22011
|
||||||
Node: Comments24348
|
Node: Market prices24167
|
||||||
Ref: #comments24472
|
Ref: #market-prices24304
|
||||||
Node: Tags25585
|
Node: Comments25264
|
||||||
Ref: #tags25705
|
Ref: #comments25388
|
||||||
Node: Implicit tags27134
|
Node: Tags26501
|
||||||
Ref: #implicit-tags27242
|
Ref: #tags26621
|
||||||
Node: Directives27759
|
Node: Directives28023
|
||||||
Ref: #directives27874
|
Ref: #directives28138
|
||||||
Node: Account aliases28067
|
Node: Account aliases28331
|
||||||
Ref: #account-aliases28213
|
Ref: #account-aliases28477
|
||||||
Node: Basic aliases28817
|
Node: Basic aliases29081
|
||||||
Ref: #basic-aliases28962
|
Ref: #basic-aliases29226
|
||||||
Node: Regex aliases29652
|
Node: Regex aliases29916
|
||||||
Ref: #regex-aliases29822
|
Ref: #regex-aliases30086
|
||||||
Node: Multiple aliases30537
|
Node: Multiple aliases30801
|
||||||
Ref: #multiple-aliases30711
|
Ref: #multiple-aliases30975
|
||||||
Node: end aliases31209
|
Node: end aliases31473
|
||||||
Ref: #end-aliases31351
|
Ref: #end-aliases31615
|
||||||
Node: account directive31452
|
Node: account directive31716
|
||||||
Ref: #account-directive31634
|
Ref: #account-directive31898
|
||||||
Node: apply account directive31930
|
Node: apply account directive32194
|
||||||
Ref: #apply-account-directive32128
|
Ref: #apply-account-directive32392
|
||||||
Node: Multi-line comments32787
|
Node: Multi-line comments33051
|
||||||
Ref: #multi-line-comments32979
|
Ref: #multi-line-comments33243
|
||||||
Node: commodity directive33107
|
Node: commodity directive33371
|
||||||
Ref: #commodity-directive33293
|
Ref: #commodity-directive33557
|
||||||
Node: Default commodity34165
|
Node: Default commodity34429
|
||||||
Ref: #default-commodity34340
|
Ref: #default-commodity34604
|
||||||
Node: Default year34877
|
Node: Default year35141
|
||||||
Ref: #default-year35044
|
Ref: #default-year35308
|
||||||
Node: Including other files35467
|
Node: Including other files35731
|
||||||
Ref: #including-other-files35626
|
Ref: #including-other-files35890
|
||||||
Node: EDITOR SUPPORT36023
|
Node: EDITOR SUPPORT36287
|
||||||
Ref: #editor-support36143
|
Ref: #editor-support36407
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
|||||||
@ -75,7 +75,8 @@ This can be followed by any of the following, separated by spaces:
|
|||||||
|
|
||||||
- (optional) a [status](#status) character (empty, `!`, or `*`)
|
- (optional) a [status](#status) character (empty, `!`, or `*`)
|
||||||
- (optional) a transaction code (any short number or text, enclosed in parentheses)
|
- (optional) a transaction code (any short number or text, enclosed in parentheses)
|
||||||
- (optional) a transaction description (any remaining text until end of line)
|
- (optional) a transaction description (any remaining text until end of line or a semicolon)
|
||||||
|
- (optional) a transaction comment (any remaining text following a semicolon until end of line)
|
||||||
|
|
||||||
Then comes zero or more (but usually at least 2) indented lines representing...
|
Then comes zero or more (but usually at least 2) indented lines representing...
|
||||||
|
|
||||||
@ -228,6 +229,18 @@ With this scheme, you would use
|
|||||||
`-U` to see things which will probably hit your bank soon (like uncashed checks),
|
`-U` to see things which will probably hit your bank soon (like uncashed checks),
|
||||||
and no flags to see the most up-to-date state of your finances.
|
and no flags to see the most up-to-date state of your finances.
|
||||||
|
|
||||||
|
## Description, payee and note
|
||||||
|
|
||||||
|
As mentioned, a transaction's description is the rest of the line following the date and status mark
|
||||||
|
(or, the rest of line until a comment begins).
|
||||||
|
Sometimes called the "narration" in traditional bookkeeping, it can be used for whatever you wish,
|
||||||
|
or left blank. The description can be queried, unlike [comments](#comments).
|
||||||
|
|
||||||
|
Including a `|` (pipe) character in the description will subdivide it
|
||||||
|
into a payee/payer name (on the left) and additional notes (on the right).
|
||||||
|
This is entirely optional, but it can allow more precise
|
||||||
|
[querying](/hledger.html#queries) and [pivoting](/hledger.html#pivoting).
|
||||||
|
|
||||||
## Account names
|
## Account names
|
||||||
|
|
||||||
Account names typically have several parts separated by a full colon, from
|
Account names typically have several parts separated by a full colon, from
|
||||||
@ -604,19 +617,6 @@ Tags are like Ledger's
|
|||||||
[metadata](http://ledger-cli.org/3.0/doc/ledger3.html#Metadata)
|
[metadata](http://ledger-cli.org/3.0/doc/ledger3.html#Metadata)
|
||||||
feature, except hledger's tag values are simple strings.
|
feature, except hledger's tag values are simple strings.
|
||||||
|
|
||||||
### Implicit tags
|
|
||||||
|
|
||||||
Some predefined "implicit" tags are also provided:
|
|
||||||
|
|
||||||
- `code` - the transaction's code field
|
|
||||||
- `description` - the transaction's description
|
|
||||||
- `payee` - the part of description before `|`, or all of it
|
|
||||||
- `note` - the part of description after `|`, or all of it
|
|
||||||
|
|
||||||
`payee` and `note` support descriptions written in a special `PAYEE | NOTE` format,
|
|
||||||
accessing the parts before and after the pipe character respectively.
|
|
||||||
For descriptions not containing a pipe character they are the same as `description`.
|
|
||||||
|
|
||||||
## Directives
|
## Directives
|
||||||
|
|
||||||
### Account aliases
|
### Account aliases
|
||||||
|
|||||||
@ -68,59 +68,62 @@ FILE FORMAT
|
|||||||
parentheses)
|
parentheses)
|
||||||
|
|
||||||
o (optional) a transaction description (any remaining text until end of
|
o (optional) a transaction description (any remaining text until end of
|
||||||
line)
|
line or a semicolon)
|
||||||
|
|
||||||
Then comes zero or more (but usually at least 2) indented lines repre-
|
o (optional) a transaction comment (any remaining text following a
|
||||||
|
semicolon until end of line)
|
||||||
|
|
||||||
|
Then comes zero or more (but usually at least 2) indented lines repre-
|
||||||
senting...
|
senting...
|
||||||
|
|
||||||
Postings
|
Postings
|
||||||
A posting is an addition of some amount to, or removal of some amount
|
A posting is an addition of some amount to, or removal of some amount
|
||||||
from, an account. Each posting line begins with at least one space or
|
from, an account. Each posting line begins with at least one space or
|
||||||
tab (2 or 4 spaces is common), followed by:
|
tab (2 or 4 spaces is common), followed by:
|
||||||
|
|
||||||
o (optional) a status character (empty, !, or *), followed by a space
|
o (optional) a status character (empty, !, or *), followed by a space
|
||||||
|
|
||||||
o (required) an account name (any text, optionally containing single
|
o (required) an account name (any text, optionally containing single
|
||||||
spaces, until end of line or a double space)
|
spaces, until end of line or a double space)
|
||||||
|
|
||||||
o (optional) two or more spaces or tabs followed by an amount.
|
o (optional) two or more spaces or tabs followed by an amount.
|
||||||
|
|
||||||
Positive amounts are being added to the account, negative amounts are
|
Positive amounts are being added to the account, negative amounts are
|
||||||
being removed.
|
being removed.
|
||||||
|
|
||||||
The amounts within a transaction must always sum up to zero. As a con-
|
The amounts within a transaction must always sum up to zero. As a con-
|
||||||
venience, one amount may be left blank; it will be inferred so as to
|
venience, one amount may be left blank; it will be inferred so as to
|
||||||
balance the transaction.
|
balance the transaction.
|
||||||
|
|
||||||
Be sure to note the unusual two-space delimiter between account name
|
Be sure to note the unusual two-space delimiter between account name
|
||||||
and amount. This makes it easy to write account names containing spa-
|
and amount. This makes it easy to write account names containing spa-
|
||||||
ces. But if you accidentally leave only one space (or tab) before the
|
ces. But if you accidentally leave only one space (or tab) before the
|
||||||
amount, the amount will be considered part of the account name.
|
amount, the amount will be considered part of the account name.
|
||||||
|
|
||||||
Dates
|
Dates
|
||||||
Simple dates
|
Simple dates
|
||||||
Within a journal file, transaction dates use Y/M/D (or Y-M-D or Y.M.D)
|
Within a journal file, transaction dates use Y/M/D (or Y-M-D or Y.M.D)
|
||||||
Leading zeros are optional. The year may be omitted, in which case it
|
Leading zeros are optional. The year may be omitted, in which case it
|
||||||
will be inferred from the context - the current transaction, the
|
will be inferred from the context - the current transaction, the
|
||||||
default year set with a default year directive, or the current date
|
default year set with a default year directive, or the current date
|
||||||
when the command is run. Some examples: 2010/01/31, 1/31, 2010-01-31,
|
when the command is run. Some examples: 2010/01/31, 1/31, 2010-01-31,
|
||||||
2010.1.31.
|
2010.1.31.
|
||||||
|
|
||||||
Secondary dates
|
Secondary dates
|
||||||
Real-life transactions sometimes involve more than one date - eg the
|
Real-life transactions sometimes involve more than one date - eg the
|
||||||
date you write a cheque, and the date it clears in your bank. When you
|
date you write a cheque, and the date it clears in your bank. When you
|
||||||
want to model this, eg for more accurate balances, you can specify
|
want to model this, eg for more accurate balances, you can specify
|
||||||
individual posting dates, which I recommend. Or, you can use the sec-
|
individual posting dates, which I recommend. Or, you can use the sec-
|
||||||
ondary dates (aka auxiliary/effective dates) feature, supported for
|
ondary dates (aka auxiliary/effective dates) feature, supported for
|
||||||
compatibility with Ledger.
|
compatibility with Ledger.
|
||||||
|
|
||||||
A secondary date can be written after the primary date, separated by an
|
A secondary date can be written after the primary date, separated by an
|
||||||
equals sign. The primary date, on the left, is used by default; the
|
equals sign. The primary date, on the left, is used by default; the
|
||||||
secondary date, on the right, is used when the --date2 flag is speci-
|
secondary date, on the right, is used when the --date2 flag is speci-
|
||||||
fied (--aux-date or --effective also work).
|
fied (--aux-date or --effective also work).
|
||||||
|
|
||||||
The meaning of secondary dates is up to you, but it's best to follow a
|
The meaning of secondary dates is up to you, but it's best to follow a
|
||||||
consistent rule. Eg write the bank's clearing date as primary, and
|
consistent rule. Eg write the bank's clearing date as primary, and
|
||||||
when needed, the date the transaction was initiated as secondary.
|
when needed, the date the transaction was initiated as secondary.
|
||||||
|
|
||||||
Here's an example. Note that a secondary date will use the year of the
|
Here's an example. Note that a secondary date will use the year of the
|
||||||
@ -136,18 +139,18 @@ FILE FORMAT
|
|||||||
$ hledger register checking --date2
|
$ hledger register checking --date2
|
||||||
2010/02/19 movie ticket assets:checking $-10 $-10
|
2010/02/19 movie ticket assets:checking $-10 $-10
|
||||||
|
|
||||||
Secondary dates require some effort; you must use them consistently in
|
Secondary dates require some effort; you must use them consistently in
|
||||||
your journal entries and remember whether to use or not use the --date2
|
your journal entries and remember whether to use or not use the --date2
|
||||||
flag for your reports. They are included in hledger for Ledger compat-
|
flag for your reports. They are included in hledger for Ledger compat-
|
||||||
ibility, but posting dates are a more powerful and less confusing
|
ibility, but posting dates are a more powerful and less confusing
|
||||||
alternative.
|
alternative.
|
||||||
|
|
||||||
Posting dates
|
Posting dates
|
||||||
You can give individual postings a different date from their parent
|
You can give individual postings a different date from their parent
|
||||||
transaction, by adding a posting comment containing a tag (see below)
|
transaction, by adding a posting comment containing a tag (see below)
|
||||||
like date:DATE. This is probably the best way to control posting dates
|
like date:DATE. This is probably the best way to control posting dates
|
||||||
precisely. Eg in this example the expense should appear in May
|
precisely. Eg in this example the expense should appear in May
|
||||||
reports, and the deduction from checking should be reported on 6/1 for
|
reports, and the deduction from checking should be reported on 6/1 for
|
||||||
easy bank reconciliation:
|
easy bank reconciliation:
|
||||||
|
|
||||||
2015/5/30
|
2015/5/30
|
||||||
@ -160,22 +163,22 @@ FILE FORMAT
|
|||||||
$ hledger -f t.j register checking
|
$ hledger -f t.j register checking
|
||||||
2015/06/01 assets:checking $-10 $-10
|
2015/06/01 assets:checking $-10 $-10
|
||||||
|
|
||||||
DATE should be a simple date; if the year is not specified it will use
|
DATE should be a simple date; if the year is not specified it will use
|
||||||
the year of the transaction's date. You can set the secondary date
|
the year of the transaction's date. You can set the secondary date
|
||||||
similarly, with date2:DATE2. The date: or date2: tags must have a
|
similarly, with date2:DATE2. The date: or date2: tags must have a
|
||||||
valid simple date value if they are present, eg a date: tag with no
|
valid simple date value if they are present, eg a date: tag with no
|
||||||
value is not allowed.
|
value is not allowed.
|
||||||
|
|
||||||
Ledger's earlier, more compact bracketed date syntax is also supported:
|
Ledger's earlier, more compact bracketed date syntax is also supported:
|
||||||
[DATE], [DATE=DATE2] or [=DATE2]. hledger will attempt to parse any
|
[DATE], [DATE=DATE2] or [=DATE2]. hledger will attempt to parse any
|
||||||
square-bracketed sequence of the 0123456789/-.= characters in this way.
|
square-bracketed sequence of the 0123456789/-.= characters in this way.
|
||||||
With this syntax, DATE infers its year from the transaction and DATE2
|
With this syntax, DATE infers its year from the transaction and DATE2
|
||||||
infers its year from DATE.
|
infers its year from DATE.
|
||||||
|
|
||||||
Status
|
Status
|
||||||
Transactions, or individual postings within a transaction, can have a
|
Transactions, or individual postings within a transaction, can have a
|
||||||
status mark, which is a single character before the transaction
|
status mark, which is a single character before the transaction
|
||||||
description or posting account name, separated from it by a space,
|
description or posting account name, separated from it by a space,
|
||||||
indicating one of three statuses:
|
indicating one of three statuses:
|
||||||
|
|
||||||
|
|
||||||
@ -185,47 +188,59 @@ FILE FORMAT
|
|||||||
! pending
|
! pending
|
||||||
* cleared
|
* cleared
|
||||||
|
|
||||||
When reporting, you can filter by status with the -U/--unmarked,
|
When reporting, you can filter by status with the -U/--unmarked,
|
||||||
-P/--pending, and -C/--cleared flags; or the status:, status:!, and
|
-P/--pending, and -C/--cleared flags; or the status:, status:!, and
|
||||||
status:* queries; or the U, P, C keys in hledger-ui.
|
status:* queries; or the U, P, C keys in hledger-ui.
|
||||||
|
|
||||||
Note, in Ledger and in older versions of hledger, the "unmarked" state
|
Note, in Ledger and in older versions of hledger, the "unmarked" state
|
||||||
is called "uncleared". As of hledger 1.3 we have renamed it to
|
is called "uncleared". As of hledger 1.3 we have renamed it to
|
||||||
unmarked for clarity.
|
unmarked for clarity.
|
||||||
|
|
||||||
To replicate Ledger and old hledger's behaviour of also matching pend-
|
To replicate Ledger and old hledger's behaviour of also matching pend-
|
||||||
ing, combine -U and -P.
|
ing, combine -U and -P.
|
||||||
|
|
||||||
Status marks are optional, but can be helpful eg for reconciling with
|
Status marks are optional, but can be helpful eg for reconciling with
|
||||||
real-world accounts. Some editor modes provide highlighting and short-
|
real-world accounts. Some editor modes provide highlighting and short-
|
||||||
cuts for working with status. Eg in Emacs ledger-mode, you can toggle
|
cuts for working with status. Eg in Emacs ledger-mode, you can toggle
|
||||||
transaction status with C-c C-e, or posting status with C-c C-c.
|
transaction status with C-c C-e, or posting status with C-c C-c.
|
||||||
|
|
||||||
What "uncleared", "pending", and "cleared" actually mean is up to you.
|
What "uncleared", "pending", and "cleared" actually mean is up to you.
|
||||||
Here's one suggestion:
|
Here's one suggestion:
|
||||||
|
|
||||||
|
|
||||||
status meaning
|
status meaning
|
||||||
--------------------------------------------------------------------------
|
--------------------------------------------------------------------------
|
||||||
uncleared recorded but not yet reconciled; needs review
|
uncleared recorded but not yet reconciled; needs review
|
||||||
pending tentatively reconciled (if needed, eg during a big recon-
|
pending tentatively reconciled (if needed, eg during a big recon-
|
||||||
ciliation)
|
ciliation)
|
||||||
cleared complete, reconciled as far as possible, and considered
|
cleared complete, reconciled as far as possible, and considered
|
||||||
correct
|
correct
|
||||||
|
|
||||||
With this scheme, you would use -PC to see the current balance at your
|
With this scheme, you would use -PC to see the current balance at your
|
||||||
bank, -U to see things which will probably hit your bank soon (like
|
bank, -U to see things which will probably hit your bank soon (like
|
||||||
uncashed checks), and no flags to see the most up-to-date state of your
|
uncashed checks), and no flags to see the most up-to-date state of your
|
||||||
finances.
|
finances.
|
||||||
|
|
||||||
Account names
|
Description, payee and note
|
||||||
Account names typically have several parts separated by a full colon,
|
As mentioned, a transaction's description is the rest of the line fol-
|
||||||
from which hledger derives a hierarchical chart of accounts. They can
|
lowing the date and status mark (or, the rest of line until a comment
|
||||||
be anything you like, but in finance there are traditionally five
|
begins). Sometimes called the "narration" in traditional bookkeeping,
|
||||||
top-level accounts: assets, liabilities, income, expenses, and equity.
|
it can be used for whatever you wish, or left blank. The description
|
||||||
|
can be queried, unlike comments.
|
||||||
|
|
||||||
Account names may contain single spaces, eg: assets:accounts receiv-
|
Including a | (pipe) character in the description will subdivide it
|
||||||
able. Because of this, they must always be followed by two or more
|
into a payee/payer name (on the left) and additional notes (on the
|
||||||
|
right). This is entirely optional, but it can allow more precise
|
||||||
|
querying and pivoting.
|
||||||
|
|
||||||
|
Account names
|
||||||
|
Account names typically have several parts separated by a full colon,
|
||||||
|
from which hledger derives a hierarchical chart of accounts. They can
|
||||||
|
be anything you like, but in finance there are traditionally five
|
||||||
|
top-level accounts: assets, liabilities, income, expenses, and equity.
|
||||||
|
|
||||||
|
Account names may contain single spaces, eg: assets:accounts receiv-
|
||||||
|
able. Because of this, they must always be followed by two or more
|
||||||
spaces (or newline).
|
spaces (or newline).
|
||||||
|
|
||||||
Account names can be aliased.
|
Account names can be aliased.
|
||||||
@ -234,7 +249,7 @@ FILE FORMAT
|
|||||||
After the account name, there is usually an amount. Important: between
|
After the account name, there is usually an amount. Important: between
|
||||||
account name and amount, there must be two or more spaces.
|
account name and amount, there must be two or more spaces.
|
||||||
|
|
||||||
Amounts consist of a number and (usually) a currency symbol or commod-
|
Amounts consist of a number and (usually) a currency symbol or commod-
|
||||||
ity name. Some examples:
|
ity name. Some examples:
|
||||||
|
|
||||||
2.00001
|
2.00001
|
||||||
@ -247,53 +262,53 @@ FILE FORMAT
|
|||||||
|
|
||||||
As you can see, the amount format is somewhat flexible:
|
As you can see, the amount format is somewhat flexible:
|
||||||
|
|
||||||
o amounts are a number (the "quantity") and optionally a currency sym-
|
o amounts are a number (the "quantity") and optionally a currency sym-
|
||||||
bol/commodity name (the "commodity").
|
bol/commodity name (the "commodity").
|
||||||
|
|
||||||
o the commodity is a symbol, word, or phrase, on the left or right,
|
o the commodity is a symbol, word, or phrase, on the left or right,
|
||||||
with or without a separating space. If the commodity contains num-
|
with or without a separating space. If the commodity contains num-
|
||||||
bers, spaces or non-word punctuation it must be enclosed in double
|
bers, spaces or non-word punctuation it must be enclosed in double
|
||||||
quotes.
|
quotes.
|
||||||
|
|
||||||
o negative amounts with a commodity on the left can have the minus sign
|
o negative amounts with a commodity on the left can have the minus sign
|
||||||
before or after it
|
before or after it
|
||||||
|
|
||||||
o digit groups (thousands, or any other grouping) can be separated by
|
o digit groups (thousands, or any other grouping) can be separated by
|
||||||
commas (in which case period is used for decimal point) or periods
|
commas (in which case period is used for decimal point) or periods
|
||||||
(in which case comma is used for decimal point)
|
(in which case comma is used for decimal point)
|
||||||
|
|
||||||
You can use any of these variations when recording data, but when
|
You can use any of these variations when recording data, but when
|
||||||
hledger displays amounts, it will choose a consistent format for each
|
hledger displays amounts, it will choose a consistent format for each
|
||||||
commodity. (Except for price amounts, which are always formatted as
|
commodity. (Except for price amounts, which are always formatted as
|
||||||
written). The display format is chosen as follows:
|
written). The display format is chosen as follows:
|
||||||
|
|
||||||
o if there is a commodity directive specifying the format, that is used
|
o if there is a commodity directive specifying the format, that is used
|
||||||
|
|
||||||
o otherwise the format is inferred from the first posting amount in
|
o otherwise the format is inferred from the first posting amount in
|
||||||
that commodity in the journal, and the precision (number of decimal
|
that commodity in the journal, and the precision (number of decimal
|
||||||
places) will be the maximum from all posting amounts in that commmod-
|
places) will be the maximum from all posting amounts in that commmod-
|
||||||
ity
|
ity
|
||||||
|
|
||||||
o or if there are no such amounts in the journal, a default format is
|
o or if there are no such amounts in the journal, a default format is
|
||||||
used (like $1000.00).
|
used (like $1000.00).
|
||||||
|
|
||||||
Price amounts and amounts in D directives usually don't affect amount
|
Price amounts and amounts in D directives usually don't affect amount
|
||||||
format inference, but in some situations they can do so indirectly.
|
format inference, but in some situations they can do so indirectly.
|
||||||
(Eg when D's default commodity is applied to a commodity-less amount,
|
(Eg when D's default commodity is applied to a commodity-less amount,
|
||||||
or when an amountless posting is balanced using a price's commodity, or
|
or when an amountless posting is balanced using a price's commodity, or
|
||||||
when -V is used.) If you find this causing problems, set the desired
|
when -V is used.) If you find this causing problems, set the desired
|
||||||
format with a commodity directive.
|
format with a commodity directive.
|
||||||
|
|
||||||
Virtual Postings
|
Virtual Postings
|
||||||
When you parenthesise the account name in a posting, we call that a
|
When you parenthesise the account name in a posting, we call that a
|
||||||
virtual posting, which means:
|
virtual posting, which means:
|
||||||
|
|
||||||
o it is ignored when checking that the transaction is balanced
|
o it is ignored when checking that the transaction is balanced
|
||||||
|
|
||||||
o it is excluded from reports when the --real/-R flag is used, or the
|
o it is excluded from reports when the --real/-R flag is used, or the
|
||||||
real:1 query.
|
real:1 query.
|
||||||
|
|
||||||
You could use this, eg, to set an account's opening balance without
|
You could use this, eg, to set an account's opening balance without
|
||||||
needing to use the equity:opening balances account:
|
needing to use the equity:opening balances account:
|
||||||
|
|
||||||
1/1 special unbalanced posting to set initial balance
|
1/1 special unbalanced posting to set initial balance
|
||||||
@ -301,8 +316,8 @@ FILE FORMAT
|
|||||||
|
|
||||||
When the account name is bracketed, we call it a balanced virtual post-
|
When the account name is bracketed, we call it a balanced virtual post-
|
||||||
ing. This is like an ordinary virtual posting except the balanced vir-
|
ing. This is like an ordinary virtual posting except the balanced vir-
|
||||||
tual postings in a transaction must balance to 0, like the real post-
|
tual postings in a transaction must balance to 0, like the real post-
|
||||||
ings (but separately from them). Balanced virtual postings are also
|
ings (but separately from them). Balanced virtual postings are also
|
||||||
excluded by --real/-R or real:1.
|
excluded by --real/-R or real:1.
|
||||||
|
|
||||||
1/1 buy food with cash, and update some budget-tracking subaccounts elsewhere
|
1/1 buy food with cash, and update some budget-tracking subaccounts elsewhere
|
||||||
@ -312,13 +327,13 @@ FILE FORMAT
|
|||||||
[assets:checking:budget:food] $-10
|
[assets:checking:budget:food] $-10
|
||||||
|
|
||||||
Virtual postings have some legitimate uses, but those are few. You can
|
Virtual postings have some legitimate uses, but those are few. You can
|
||||||
usually find an equivalent journal entry using real postings, which is
|
usually find an equivalent journal entry using real postings, which is
|
||||||
more correct and provides better error checking.
|
more correct and provides better error checking.
|
||||||
|
|
||||||
Balance Assertions
|
Balance Assertions
|
||||||
hledger supports Ledger-style balance assertions in journal files.
|
hledger supports Ledger-style balance assertions in journal files.
|
||||||
These look like =EXPECTEDBALANCE following a posting's amount. Eg in
|
These look like =EXPECTEDBALANCE following a posting's amount. Eg in
|
||||||
this example we assert the expected dollar balance in accounts a and b
|
this example we assert the expected dollar balance in accounts a and b
|
||||||
after each posting:
|
after each posting:
|
||||||
|
|
||||||
2013/1/1
|
2013/1/1
|
||||||
@ -330,31 +345,31 @@ FILE FORMAT
|
|||||||
b $-1 =$-2
|
b $-1 =$-2
|
||||||
|
|
||||||
After reading a journal file, hledger will check all balance assertions
|
After reading a journal file, hledger will check all balance assertions
|
||||||
and report an error if any of them fail. Balance assertions can pro-
|
and report an error if any of them fail. Balance assertions can pro-
|
||||||
tect you from, eg, inadvertently disrupting reconciled balances while
|
tect you from, eg, inadvertently disrupting reconciled balances while
|
||||||
cleaning up old entries. You can disable them temporarily with the
|
cleaning up old entries. You can disable them temporarily with the
|
||||||
--ignore-assertions flag, which can be useful for troubleshooting or
|
--ignore-assertions flag, which can be useful for troubleshooting or
|
||||||
for reading Ledger files.
|
for reading Ledger files.
|
||||||
|
|
||||||
Assertions and ordering
|
Assertions and ordering
|
||||||
hledger sorts an account's postings and assertions first by date and
|
hledger sorts an account's postings and assertions first by date and
|
||||||
then (for postings on the same day) by parse order. Note this is dif-
|
then (for postings on the same day) by parse order. Note this is dif-
|
||||||
ferent from Ledger, which sorts assertions only by parse order. (Also,
|
ferent from Ledger, which sorts assertions only by parse order. (Also,
|
||||||
Ledger assertions do not see the accumulated effect of repeated post-
|
Ledger assertions do not see the accumulated effect of repeated post-
|
||||||
ings to the same account within a transaction.)
|
ings to the same account within a transaction.)
|
||||||
|
|
||||||
So, hledger balance assertions keep working if you reorder differ-
|
So, hledger balance assertions keep working if you reorder differ-
|
||||||
ently-dated transactions within the journal. But if you reorder
|
ently-dated transactions within the journal. But if you reorder
|
||||||
same-dated transactions or postings, assertions might break and require
|
same-dated transactions or postings, assertions might break and require
|
||||||
updating. This order dependence does bring an advantage: precise con-
|
updating. This order dependence does bring an advantage: precise con-
|
||||||
trol over the order of postings and assertions within a day, so you can
|
trol over the order of postings and assertions within a day, so you can
|
||||||
assert intra-day balances.
|
assert intra-day balances.
|
||||||
|
|
||||||
Assertions and included files
|
Assertions and included files
|
||||||
With included files, things are a little more complicated. Including
|
With included files, things are a little more complicated. Including
|
||||||
preserves the ordering of postings and assertions. If you have multi-
|
preserves the ordering of postings and assertions. If you have multi-
|
||||||
ple postings to an account on the same day, split across different
|
ple postings to an account on the same day, split across different
|
||||||
files, and you also want to assert the account's balance on the same
|
files, and you also want to assert the account's balance on the same
|
||||||
day, you'll have to put the assertion in the right file.
|
day, you'll have to put the assertion in the right file.
|
||||||
|
|
||||||
Assertions and multiple -f options
|
Assertions and multiple -f options
|
||||||
@ -362,21 +377,21 @@ FILE FORMAT
|
|||||||
-f options. Use include or concatenate the files instead.
|
-f options. Use include or concatenate the files instead.
|
||||||
|
|
||||||
Assertions and commodities
|
Assertions and commodities
|
||||||
The asserted balance must be a simple single-commodity amount, and in
|
The asserted balance must be a simple single-commodity amount, and in
|
||||||
fact the assertion checks only this commodity's balance within the
|
fact the assertion checks only this commodity's balance within the
|
||||||
(possibly multi-commodity) account balance. We could call this a par-
|
(possibly multi-commodity) account balance. We could call this a par-
|
||||||
tial balance assertion. This is compatible with Ledger, and makes it
|
tial balance assertion. This is compatible with Ledger, and makes it
|
||||||
possible to make assertions about accounts containing multiple commodi-
|
possible to make assertions about accounts containing multiple commodi-
|
||||||
ties.
|
ties.
|
||||||
|
|
||||||
To assert each commodity's balance in such a multi-commodity account,
|
To assert each commodity's balance in such a multi-commodity account,
|
||||||
you can add multiple postings (with amount 0 if necessary). But note
|
you can add multiple postings (with amount 0 if necessary). But note
|
||||||
that no matter how many assertions you add, you can't be sure the
|
that no matter how many assertions you add, you can't be sure the
|
||||||
account does not contain some unexpected commodity. (We'll add support
|
account does not contain some unexpected commodity. (We'll add support
|
||||||
for this kind of total balance assertion if there's demand.)
|
for this kind of total balance assertion if there's demand.)
|
||||||
|
|
||||||
Assertions and subaccounts
|
Assertions and subaccounts
|
||||||
Balance assertions do not count the balance from subaccounts; they
|
Balance assertions do not count the balance from subaccounts; they
|
||||||
check the posted account's exclusive balance. For example:
|
check the posted account's exclusive balance. For example:
|
||||||
|
|
||||||
1/1
|
1/1
|
||||||
@ -384,7 +399,7 @@ FILE FORMAT
|
|||||||
checking 1 = 1 ; post to the parent account, its exclusive balance is now 1
|
checking 1 = 1 ; post to the parent account, its exclusive balance is now 1
|
||||||
equity
|
equity
|
||||||
|
|
||||||
The balance report's flat mode shows these exclusive balances more
|
The balance report's flat mode shows these exclusive balances more
|
||||||
clearly:
|
clearly:
|
||||||
|
|
||||||
$ hledger bal checking --flat
|
$ hledger bal checking --flat
|
||||||
@ -398,10 +413,10 @@ FILE FORMAT
|
|||||||
tual. They are not affected by the --real/-R flag or real: query.
|
tual. They are not affected by the --real/-R flag or real: query.
|
||||||
|
|
||||||
Balance Assignments
|
Balance Assignments
|
||||||
Ledger-style balance assignments are also supported. These are like
|
Ledger-style balance assignments are also supported. These are like
|
||||||
balance assertions, but with no posting amount on the left side of the
|
balance assertions, but with no posting amount on the left side of the
|
||||||
equals sign; instead it is calculated automatically so as to satisfy
|
equals sign; instead it is calculated automatically so as to satisfy
|
||||||
the assertion. This can be a convenience during data entry, eg when
|
the assertion. This can be a convenience during data entry, eg when
|
||||||
setting opening balances:
|
setting opening balances:
|
||||||
|
|
||||||
; starting a new journal, set asset account balances
|
; starting a new journal, set asset account balances
|
||||||
@ -419,8 +434,8 @@ FILE FORMAT
|
|||||||
expenses:misc
|
expenses:misc
|
||||||
|
|
||||||
The calculated amount depends on the account's balance in the commodity
|
The calculated amount depends on the account's balance in the commodity
|
||||||
at that point (which depends on the previously-dated postings of the
|
at that point (which depends on the previously-dated postings of the
|
||||||
commodity to that account since the last balance assertion or assign-
|
commodity to that account since the last balance assertion or assign-
|
||||||
ment). Note that using balance assignments makes your journal a little
|
ment). Note that using balance assignments makes your journal a little
|
||||||
less explicit; to know the exact amount posted, you have to run hledger
|
less explicit; to know the exact amount posted, you have to run hledger
|
||||||
or do the calculations yourself, instead of just reading it.
|
or do the calculations yourself, instead of just reading it.
|
||||||
@ -428,12 +443,12 @@ FILE FORMAT
|
|||||||
Prices
|
Prices
|
||||||
Transaction prices
|
Transaction prices
|
||||||
Within a transaction, you can note an amount's price in another commod-
|
Within a transaction, you can note an amount's price in another commod-
|
||||||
ity. This can be used to document the cost (in a purchase) or selling
|
ity. This can be used to document the cost (in a purchase) or selling
|
||||||
price (in a sale). For example, transaction prices are useful to
|
price (in a sale). For example, transaction prices are useful to
|
||||||
record purchases of a foreign currency.
|
record purchases of a foreign currency.
|
||||||
|
|
||||||
Transaction prices are fixed, and do not change over time. (Ledger
|
Transaction prices are fixed, and do not change over time. (Ledger
|
||||||
users: Ledger uses a different syntax for fixed prices, {=UNITPRICE},
|
users: Ledger uses a different syntax for fixed prices, {=UNITPRICE},
|
||||||
which hledger currently ignores).
|
which hledger currently ignores).
|
||||||
|
|
||||||
There are several ways to record a transaction price:
|
There are several ways to record a transaction price:
|
||||||
@ -457,9 +472,9 @@ FILE FORMAT
|
|||||||
assets:euros 100 ; one hundred euros purchased
|
assets:euros 100 ; one hundred euros purchased
|
||||||
assets:dollars $-135 ; for $135
|
assets:dollars $-135 ; for $135
|
||||||
|
|
||||||
Amounts with transaction prices can be displayed in the transaction
|
Amounts with transaction prices can be displayed in the transaction
|
||||||
price's commodity by using the -B/--cost flag (except for #551) ("B" is
|
price's commodity by using the -B/--cost flag (except for #551) ("B" is
|
||||||
from "cost Basis"). Eg for the above, here is how -B affects the bal-
|
from "cost Basis"). Eg for the above, here is how -B affects the bal-
|
||||||
ance report:
|
ance report:
|
||||||
|
|
||||||
$ hledger bal -N --flat
|
$ hledger bal -N --flat
|
||||||
@ -469,8 +484,8 @@ FILE FORMAT
|
|||||||
$-135 assets:dollars
|
$-135 assets:dollars
|
||||||
$135 assets:euros # <- the euros' cost
|
$135 assets:euros # <- the euros' cost
|
||||||
|
|
||||||
Note -B is sensitive to the order of postings when a transaction price
|
Note -B is sensitive to the order of postings when a transaction price
|
||||||
is inferred: the inferred price will be in the commodity of the last
|
is inferred: the inferred price will be in the commodity of the last
|
||||||
amount. So if example 3's postings are reversed, while the transaction
|
amount. So if example 3's postings are reversed, while the transaction
|
||||||
is equivalent, -B shows something different:
|
is equivalent, -B shows something different:
|
||||||
|
|
||||||
@ -483,41 +498,41 @@ FILE FORMAT
|
|||||||
100 assets:euros
|
100 assets:euros
|
||||||
|
|
||||||
Market prices
|
Market prices
|
||||||
Market prices are not tied to a particular transaction; they represent
|
Market prices are not tied to a particular transaction; they represent
|
||||||
historical exchange rates between two commodities. (Ledger calls them
|
historical exchange rates between two commodities. (Ledger calls them
|
||||||
historical prices.) For example, the prices published by a stock
|
historical prices.) For example, the prices published by a stock
|
||||||
exchange or the foreign exchange market. hledger can use these prices
|
exchange or the foreign exchange market. hledger can use these prices
|
||||||
to show the market value of things at a given date, see market value.
|
to show the market value of things at a given date, see market value.
|
||||||
|
|
||||||
To record market prices, use P directives in the main journal or in an
|
To record market prices, use P directives in the main journal or in an
|
||||||
included file. Their format is:
|
included file. Their format is:
|
||||||
|
|
||||||
P DATE COMMODITYBEINGPRICED UNITPRICE
|
P DATE COMMODITYBEINGPRICED UNITPRICE
|
||||||
|
|
||||||
DATE is a simple date as usual. COMMODITYBEINGPRICED is the symbol of
|
DATE is a simple date as usual. COMMODITYBEINGPRICED is the symbol of
|
||||||
the commodity being priced. UNITPRICE is an ordinary amount (symbol
|
the commodity being priced. UNITPRICE is an ordinary amount (symbol
|
||||||
and quantity) in a second commodity, specifying the unit price or con-
|
and quantity) in a second commodity, specifying the unit price or con-
|
||||||
version rate for the first commodity in terms of the second, on the
|
version rate for the first commodity in terms of the second, on the
|
||||||
given date.
|
given date.
|
||||||
|
|
||||||
For example, the following directives say that one euro was worth 1.35
|
For example, the following directives say that one euro was worth 1.35
|
||||||
US dollars during 2009, and $1.40 from 2010 onward:
|
US dollars during 2009, and $1.40 from 2010 onward:
|
||||||
|
|
||||||
P 2009/1/1 $1.35
|
P 2009/1/1 $1.35
|
||||||
P 2010/1/1 $1.40
|
P 2010/1/1 $1.40
|
||||||
|
|
||||||
Comments
|
Comments
|
||||||
Lines in the journal beginning with a semicolon (;) or hash (#) or
|
Lines in the journal beginning with a semicolon (;) or hash (#) or
|
||||||
asterisk (*) are comments, and will be ignored. (Asterisk comments
|
asterisk (*) are comments, and will be ignored. (Asterisk comments
|
||||||
make it easy to treat your journal like an org-mode outline in emacs.)
|
make it easy to treat your journal like an org-mode outline in emacs.)
|
||||||
|
|
||||||
Also, anything between comment and end comment directives is a
|
Also, anything between comment and end comment directives is a
|
||||||
(multi-line) comment. If there is no end comment, the comment extends
|
(multi-line) comment. If there is no end comment, the comment extends
|
||||||
to the end of the file.
|
to the end of the file.
|
||||||
|
|
||||||
You can attach comments to a transaction by writing them after the
|
You can attach comments to a transaction by writing them after the
|
||||||
description and/or indented on the following lines (before the post-
|
description and/or indented on the following lines (before the post-
|
||||||
ings). Similarly, you can attach comments to an individual posting by
|
ings). Similarly, you can attach comments to an individual posting by
|
||||||
writing them after the amount and/or indented on the following lines.
|
writing them after the amount and/or indented on the following lines.
|
||||||
|
|
||||||
Some examples:
|
Some examples:
|
||||||
@ -542,20 +557,20 @@ FILE FORMAT
|
|||||||
; a journal comment (because not indented)
|
; a journal comment (because not indented)
|
||||||
|
|
||||||
Tags
|
Tags
|
||||||
Tags are a way to add extra labels or labelled data to postings and
|
Tags are a way to add extra labels or labelled data to postings and
|
||||||
transactions, which you can then search or pivot on.
|
transactions, which you can then search or pivot on.
|
||||||
|
|
||||||
A simple tag is a word (which may contain hyphens) followed by a full
|
A simple tag is a word (which may contain hyphens) followed by a full
|
||||||
colon, written inside a transaction or posting comment line:
|
colon, written inside a transaction or posting comment line:
|
||||||
|
|
||||||
2017/1/16 bought groceries ; sometag:
|
2017/1/16 bought groceries ; sometag:
|
||||||
|
|
||||||
Tags can have a value, which is the text after the colon, up to the
|
Tags can have a value, which is the text after the colon, up to the
|
||||||
next comma or end of line, with leading/trailing whitespace removed:
|
next comma or end of line, with leading/trailing whitespace removed:
|
||||||
|
|
||||||
expenses:food $10 ; a-posting-tag: the tag value
|
expenses:food $10 ; a-posting-tag: the tag value
|
||||||
|
|
||||||
Note this means hledger's tag values can not contain commas or new-
|
Note this means hledger's tag values can not contain commas or new-
|
||||||
lines. Ending at commas means you can write multiple short tags on one
|
lines. Ending at commas means you can write multiple short tags on one
|
||||||
line, comma separated:
|
line, comma separated:
|
||||||
|
|
||||||
@ -569,34 +584,18 @@ FILE FORMAT
|
|||||||
|
|
||||||
o "tag2" is another tag, whose value is "some value ..."
|
o "tag2" is another tag, whose value is "some value ..."
|
||||||
|
|
||||||
Tags in a transaction comment affect the transaction and all of its
|
Tags in a transaction comment affect the transaction and all of its
|
||||||
postings, while tags in a posting comment affect only that posting.
|
postings, while tags in a posting comment affect only that posting.
|
||||||
For example, the following transaction has three tags (A, TAG2,
|
For example, the following transaction has three tags (A, TAG2,
|
||||||
third-tag) and the posting has four (those plus posting-tag):
|
third-tag) and the posting has four (those plus posting-tag):
|
||||||
|
|
||||||
1/1 a transaction ; A:, TAG2:
|
1/1 a transaction ; A:, TAG2:
|
||||||
; third-tag: a third transaction tag, <- with a value
|
; third-tag: a third transaction tag, <- with a value
|
||||||
(a) $1 ; posting-tag:
|
(a) $1 ; posting-tag:
|
||||||
|
|
||||||
Tags are like Ledger's metadata feature, except hledger's tag values
|
Tags are like Ledger's metadata feature, except hledger's tag values
|
||||||
are simple strings.
|
are simple strings.
|
||||||
|
|
||||||
Implicit tags
|
|
||||||
Some predefined "implicit" tags are also provided:
|
|
||||||
|
|
||||||
o code - the transaction's code field
|
|
||||||
|
|
||||||
o description - the transaction's description
|
|
||||||
|
|
||||||
o payee - the part of description before |, or all of it
|
|
||||||
|
|
||||||
o note - the part of description after |, or all of it
|
|
||||||
|
|
||||||
payee and note support descriptions written in a special PAYEE | NOTE
|
|
||||||
format, accessing the parts before and after the pipe character respec-
|
|
||||||
tively. For descriptions not containing a pipe character they are the
|
|
||||||
same as description.
|
|
||||||
|
|
||||||
Directives
|
Directives
|
||||||
Account aliases
|
Account aliases
|
||||||
You can define aliases which rewrite your account names (after reading
|
You can define aliases which rewrite your account names (after reading
|
||||||
@ -809,8 +808,6 @@ EDITOR SUPPORT
|
|||||||
ting-started
|
ting-started
|
||||||
Sublime Text https://github.com/ledger/ledger/wiki/Using-Sub-
|
Sublime Text https://github.com/ledger/ledger/wiki/Using-Sub-
|
||||||
lime-Text
|
lime-Text
|
||||||
|
|
||||||
|
|
||||||
Textmate https://github.com/ledger/ledger/wiki/Using-Text-
|
Textmate https://github.com/ledger/ledger/wiki/Using-Text-
|
||||||
Mate-2
|
Mate-2
|
||||||
Text Wrangler https://github.com/ledger/ledger/wiki/Edit-
|
Text Wrangler https://github.com/ledger/ledger/wiki/Edit-
|
||||||
|
|||||||
@ -88,8 +88,8 @@ anonymize accounts and payees
|
|||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B \f[C]\-\-pivot\ TAGNAME\f[]
|
.B \f[C]\-\-pivot\ FIELDNAME\f[]
|
||||||
use some other field/tag for account names
|
use some other field or tag for the account name
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
|
|||||||
@ -67,9 +67,9 @@ the data.
|
|||||||
'--anon'
|
'--anon'
|
||||||
|
|
||||||
anonymize accounts and payees
|
anonymize accounts and payees
|
||||||
'--pivot TAGNAME'
|
'--pivot FIELDNAME'
|
||||||
|
|
||||||
use some other field/tag for account names
|
use some other field or tag for the account name
|
||||||
'-I --ignore-assertions'
|
'-I --ignore-assertions'
|
||||||
|
|
||||||
ignore any failing balance assertions
|
ignore any failing balance assertions
|
||||||
@ -358,17 +358,17 @@ Tag Table:
|
|||||||
Node: Top73
|
Node: Top73
|
||||||
Node: OPTIONS831
|
Node: OPTIONS831
|
||||||
Ref: #options930
|
Ref: #options930
|
||||||
Node: KEYS3479
|
Node: KEYS3487
|
||||||
Ref: #keys3576
|
Ref: #keys3584
|
||||||
Node: SCREENS6372
|
Node: SCREENS6380
|
||||||
Ref: #screens6459
|
Ref: #screens6467
|
||||||
Node: Accounts screen6549
|
Node: Accounts screen6557
|
||||||
Ref: #accounts-screen6679
|
Ref: #accounts-screen6687
|
||||||
Node: Register screen8909
|
Node: Register screen8917
|
||||||
Ref: #register-screen9066
|
Ref: #register-screen9074
|
||||||
Node: Transaction screen11140
|
Node: Transaction screen11148
|
||||||
Ref: #transaction-screen11300
|
Ref: #transaction-screen11308
|
||||||
Node: Error screen12170
|
Node: Error screen12178
|
||||||
Ref: #error-screen12294
|
Ref: #error-screen12302
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
|||||||
@ -65,8 +65,8 @@ OPTIONS
|
|||||||
|
|
||||||
--anon anonymize accounts and payees
|
--anon anonymize accounts and payees
|
||||||
|
|
||||||
--pivot TAGNAME
|
--pivot FIELDNAME
|
||||||
use some other field/tag for account names
|
use some other field or tag for the account name
|
||||||
|
|
||||||
-I --ignore-assertions
|
-I --ignore-assertions
|
||||||
ignore any failing balance assertions
|
ignore any failing balance assertions
|
||||||
|
|||||||
@ -144,8 +144,8 @@ anonymize accounts and payees
|
|||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B \f[C]\-\-pivot\ TAGNAME\f[]
|
.B \f[C]\-\-pivot\ FIELDNAME\f[]
|
||||||
use some other field/tag for account names
|
use some other field or tag for the account name
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
|
|||||||
@ -112,9 +112,9 @@ options as shown above.
|
|||||||
'--anon'
|
'--anon'
|
||||||
|
|
||||||
anonymize accounts and payees
|
anonymize accounts and payees
|
||||||
'--pivot TAGNAME'
|
'--pivot FIELDNAME'
|
||||||
|
|
||||||
use some other field/tag for account names
|
use some other field or tag for the account name
|
||||||
'-I --ignore-assertions'
|
'-I --ignore-assertions'
|
||||||
|
|
||||||
ignore any failing balance assertions
|
ignore any failing balance assertions
|
||||||
|
|||||||
@ -110,8 +110,8 @@ OPTIONS
|
|||||||
|
|
||||||
--anon anonymize accounts and payees
|
--anon anonymize accounts and payees
|
||||||
|
|
||||||
--pivot TAGNAME
|
--pivot FIELDNAME
|
||||||
use some other field/tag for account names
|
use some other field or tag for the account name
|
||||||
|
|
||||||
-I --ignore-assertions
|
-I --ignore-assertions
|
||||||
ignore any failing balance assertions
|
ignore any failing balance assertions
|
||||||
|
|||||||
@ -199,8 +199,8 @@ anonymize accounts and payees
|
|||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B \f[C]\-\-pivot\ TAGNAME\f[]
|
.B \f[C]\-\-pivot\ FIELDNAME\f[]
|
||||||
use some other field/tag for account names
|
use some other field or tag for the account name
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
@ -750,21 +750,17 @@ Use this when you want a summary with less detail.
|
|||||||
.PP
|
.PP
|
||||||
Normally hledger sums amounts, and organizes them in a hierarchy, based
|
Normally hledger sums amounts, and organizes them in a hierarchy, based
|
||||||
on account name.
|
on account name.
|
||||||
The \f[C]\-\-pivot\ TAGNAME\f[] option causes it to sum and organize
|
The \f[C]\-\-pivot\ FIELD\f[] option causes it to sum and organize
|
||||||
hierarchy based on some other field instead.
|
hierarchy based on the value of some other field instead.
|
||||||
.PP
|
FIELD can be: \f[C]code\f[], \f[C]description\f[], \f[C]payee\f[],
|
||||||
TAGNAME is the full, case\-insensitive name of a tag you have defined,
|
\f[C]note\f[], or the full name (case insensitive) of any tag.
|
||||||
or one of the built\-in implicit tags (like \f[C]code\f[] or
|
As with account names, values containing \f[C]colon:separated:parts\f[]
|
||||||
\f[C]payee\f[]).
|
will be displayed hierarchically in reports.
|
||||||
As with account names, when tag values have
|
|
||||||
\f[C]multiple:colon\-separated:parts\f[] hledger will build hierarchy,
|
|
||||||
displayed in tree\-mode reports, summarisable with a depth limit, and so
|
|
||||||
on.
|
|
||||||
.PP
|
.PP
|
||||||
\f[C]\-\-pivot\f[] is a general option affecting all reports; you can
|
\f[C]\-\-pivot\f[] is a general option affecting all reports; you can
|
||||||
think of hledger transforming the journal before any other processing,
|
think of hledger transforming the journal before any other processing,
|
||||||
replacing every posting\[aq]s account name with the value of the
|
replacing every posting\[aq]s account name with the value of the
|
||||||
specified tag on that posting, inheriting it from the transaction or
|
specified field on that posting, inheriting it from the transaction or
|
||||||
using a blank value if it\[aq]s not present.
|
using a blank value if it\[aq]s not present.
|
||||||
.PP
|
.PP
|
||||||
An example:
|
An example:
|
||||||
@ -1007,7 +1003,7 @@ quoting to hide it from the shell, so eg do:
|
|||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B \f[B]\f[C]desc:REGEX\f[]\f[]
|
.B \f[B]\f[C]desc:REGEX\f[]\f[]
|
||||||
match transaction descriptions
|
match transaction descriptions.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
@ -1031,6 +1027,18 @@ match (or display, depending on command) accounts at or above this depth
|
|||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
|
.B \f[B]\f[C]note:REGEX\f[]\f[]
|
||||||
|
match transaction notes (part of description right of \f[C]|\f[], or
|
||||||
|
whole description when there\[aq]s no \f[C]|\f[])
|
||||||
|
.RS
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.B \f[B]\f[C]payee:REGEX\f[]\f[]
|
||||||
|
match transaction payee/payer names (part of description left of
|
||||||
|
\f[C]|\f[], or whole description when there\[aq]s no \f[C]|\f[])
|
||||||
|
.RS
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
.B \f[B]\f[C]real:,\ real:0\f[]\f[]
|
.B \f[B]\f[C]real:,\ real:0\f[]\f[]
|
||||||
match real or virtual postings respectively
|
match real or virtual postings respectively
|
||||||
.RS
|
.RS
|
||||||
|
|||||||
@ -167,9 +167,9 @@ different, like git.)
|
|||||||
'--anon'
|
'--anon'
|
||||||
|
|
||||||
anonymize accounts and payees
|
anonymize accounts and payees
|
||||||
'--pivot TAGNAME'
|
'--pivot FIELDNAME'
|
||||||
|
|
||||||
use some other field/tag for account names
|
use some other field or tag for the account name
|
||||||
'-I --ignore-assertions'
|
'-I --ignore-assertions'
|
||||||
|
|
||||||
ignore any failing balance assertions
|
ignore any failing balance assertions
|
||||||
@ -507,20 +507,17 @@ File: hledger.1.info, Node: Pivoting, Next: Cost, Prev: Depth limiting, Up:
|
|||||||
=============
|
=============
|
||||||
|
|
||||||
Normally hledger sums amounts, and organizes them in a hierarchy, based
|
Normally hledger sums amounts, and organizes them in a hierarchy, based
|
||||||
on account name. The '--pivot TAGNAME' option causes it to sum and
|
on account name. The '--pivot FIELD' option causes it to sum and
|
||||||
organize hierarchy based on some other field instead.
|
organize hierarchy based on the value of some other field instead.
|
||||||
|
FIELD can be: 'code', 'description', 'payee', 'note', or the full name
|
||||||
TAGNAME is the full, case-insensitive name of a tag you have defined,
|
(case insensitive) of any tag. As with account names, values containing
|
||||||
or one of the built-in implicit tags (like 'code' or 'payee'). As with
|
'colon:separated:parts' will be displayed hierarchically in reports.
|
||||||
account names, when tag values have 'multiple:colon-separated:parts'
|
|
||||||
hledger will build hierarchy, displayed in tree-mode reports,
|
|
||||||
summarisable with a depth limit, and so on.
|
|
||||||
|
|
||||||
'--pivot' is a general option affecting all reports; you can think of
|
'--pivot' is a general option affecting all reports; you can think of
|
||||||
hledger transforming the journal before any other processing, replacing
|
hledger transforming the journal before any other processing, replacing
|
||||||
every posting's account name with the value of the specified tag on that
|
every posting's account name with the value of the specified field on
|
||||||
posting, inheriting it from the transaction or using a blank value if
|
that posting, inheriting it from the transaction or using a blank value
|
||||||
it's not present.
|
if it's not present.
|
||||||
|
|
||||||
An example:
|
An example:
|
||||||
|
|
||||||
@ -717,7 +714,7 @@ match (or negatively match)
|
|||||||
print cur:'\$'' or 'hledger print cur:\\$'.
|
print cur:'\$'' or 'hledger print cur:\\$'.
|
||||||
*'desc:REGEX'*
|
*'desc:REGEX'*
|
||||||
|
|
||||||
match transaction descriptions
|
match transaction descriptions.
|
||||||
*'date:PERIODEXPR'*
|
*'date:PERIODEXPR'*
|
||||||
|
|
||||||
match dates within the specified period. PERIODEXPR is a period
|
match dates within the specified period. PERIODEXPR is a period
|
||||||
@ -732,6 +729,14 @@ match (or negatively match)
|
|||||||
|
|
||||||
match (or display, depending on command) accounts at or above this
|
match (or display, depending on command) accounts at or above this
|
||||||
depth
|
depth
|
||||||
|
*'note:REGEX'*
|
||||||
|
|
||||||
|
match transaction notes (part of description right of '|', or whole
|
||||||
|
description when there's no '|')
|
||||||
|
*'payee:REGEX'*
|
||||||
|
|
||||||
|
match transaction payee/payer names (part of description left of
|
||||||
|
'|', or whole description when there's no '|')
|
||||||
*'real:, real:0'*
|
*'real:, real:0'*
|
||||||
|
|
||||||
match real or virtual postings respectively
|
match real or virtual postings respectively
|
||||||
@ -2129,123 +2134,123 @@ Node: OPTIONS3640
|
|||||||
Ref: #options3744
|
Ref: #options3744
|
||||||
Node: General options4025
|
Node: General options4025
|
||||||
Ref: #general-options4152
|
Ref: #general-options4152
|
||||||
Node: Command options6498
|
Node: Command options6506
|
||||||
Ref: #command-options6651
|
Ref: #command-options6659
|
||||||
Node: Command arguments7049
|
Node: Command arguments7057
|
||||||
Ref: #command-arguments7209
|
Ref: #command-arguments7217
|
||||||
Node: Special characters7330
|
Node: Special characters7338
|
||||||
Ref: #special-characters7488
|
Ref: #special-characters7496
|
||||||
Node: Input files8656
|
Node: Input files8664
|
||||||
Ref: #input-files8794
|
Ref: #input-files8802
|
||||||
Node: Smart dates10757
|
Node: Smart dates10765
|
||||||
Ref: #smart-dates10900
|
Ref: #smart-dates10908
|
||||||
Node: Report start & end date11879
|
Node: Report start & end date11887
|
||||||
Ref: #report-start-end-date12051
|
Ref: #report-start-end-date12059
|
||||||
Node: Report intervals13117
|
Node: Report intervals13125
|
||||||
Ref: #report-intervals13282
|
Ref: #report-intervals13290
|
||||||
Node: Period expressions13683
|
Node: Period expressions13691
|
||||||
Ref: #period-expressions13843
|
Ref: #period-expressions13851
|
||||||
Node: Depth limiting16183
|
Node: Depth limiting16191
|
||||||
Ref: #depth-limiting16329
|
Ref: #depth-limiting16337
|
||||||
Node: Pivoting16530
|
Node: Pivoting16538
|
||||||
Ref: #pivoting16650
|
Ref: #pivoting16658
|
||||||
Node: Cost18421
|
Node: Cost18334
|
||||||
Ref: #cost18531
|
Ref: #cost18444
|
||||||
Node: Market value18649
|
Node: Market value18562
|
||||||
Ref: #market-value18786
|
Ref: #market-value18699
|
||||||
Node: Regular expressions20086
|
Node: Regular expressions19999
|
||||||
Ref: #regular-expressions20224
|
Ref: #regular-expressions20137
|
||||||
Node: QUERIES21585
|
Node: QUERIES21498
|
||||||
Ref: #queries21689
|
Ref: #queries21602
|
||||||
Node: COMMANDS25354
|
Node: COMMANDS25534
|
||||||
Ref: #commands25468
|
Ref: #commands25648
|
||||||
Node: accounts26147
|
Node: accounts26327
|
||||||
Ref: #accounts26247
|
Ref: #accounts26427
|
||||||
Node: activity27229
|
Node: activity27409
|
||||||
Ref: #activity27341
|
Ref: #activity27521
|
||||||
Node: add27700
|
Node: add27880
|
||||||
Ref: #add27801
|
Ref: #add27981
|
||||||
Node: balance30459
|
Node: balance30639
|
||||||
Ref: #balance30572
|
Ref: #balance30752
|
||||||
Node: Flat mode33587
|
Node: Flat mode33767
|
||||||
Ref: #flat-mode33714
|
Ref: #flat-mode33894
|
||||||
Node: Depth limited balance reports34134
|
Node: Depth limited balance reports34314
|
||||||
Ref: #depth-limited-balance-reports34337
|
Ref: #depth-limited-balance-reports34517
|
||||||
Node: Multicolumn balance reports34757
|
Node: Multicolumn balance reports34937
|
||||||
Ref: #multicolumn-balance-reports34968
|
Ref: #multicolumn-balance-reports35148
|
||||||
Node: Custom balance output39616
|
Node: Custom balance output39796
|
||||||
Ref: #custom-balance-output39800
|
Ref: #custom-balance-output39980
|
||||||
Node: Colour support41893
|
Node: Colour support42073
|
||||||
Ref: #colour-support42054
|
Ref: #colour-support42234
|
||||||
Node: Output destination42227
|
Node: Output destination42407
|
||||||
Ref: #output-destination42385
|
Ref: #output-destination42565
|
||||||
Node: CSV output42655
|
Node: CSV output42835
|
||||||
Ref: #csv-output42774
|
Ref: #csv-output42954
|
||||||
Node: balancesheet43171
|
Node: balancesheet43351
|
||||||
Ref: #balancesheet43309
|
Ref: #balancesheet43489
|
||||||
Node: balancesheetequity45216
|
Node: balancesheetequity45396
|
||||||
Ref: #balancesheetequity45367
|
Ref: #balancesheetequity45547
|
||||||
Node: cashflow46156
|
Node: cashflow46336
|
||||||
Ref: #cashflow46279
|
Ref: #cashflow46459
|
||||||
Node: help48130
|
Node: help48310
|
||||||
Ref: #help48242
|
Ref: #help48422
|
||||||
Node: incomestatement49316
|
Node: incomestatement49496
|
||||||
Ref: #incomestatement49447
|
Ref: #incomestatement49627
|
||||||
Node: print51339
|
Node: print51519
|
||||||
Ref: #print51456
|
Ref: #print51636
|
||||||
Node: register55212
|
Node: register55392
|
||||||
Ref: #register55325
|
Ref: #register55505
|
||||||
Node: Custom register output59821
|
Node: Custom register output60001
|
||||||
Ref: #custom-register-output59952
|
Ref: #custom-register-output60132
|
||||||
Node: stats61249
|
Node: stats61429
|
||||||
Ref: #stats61355
|
Ref: #stats61535
|
||||||
Node: test62236
|
Node: test62416
|
||||||
Ref: #test62323
|
Ref: #test62503
|
||||||
Node: ADD-ON COMMANDS62691
|
Node: ADD-ON COMMANDS62871
|
||||||
Ref: #add-on-commands62803
|
Ref: #add-on-commands62983
|
||||||
Node: Official add-ons64090
|
Node: Official add-ons64270
|
||||||
Ref: #official-add-ons64232
|
Ref: #official-add-ons64412
|
||||||
Node: api64319
|
Node: api64499
|
||||||
Ref: #api64410
|
Ref: #api64590
|
||||||
Node: ui64462
|
Node: ui64642
|
||||||
Ref: #ui64563
|
Ref: #ui64743
|
||||||
Node: web64621
|
Node: web64801
|
||||||
Ref: #web64712
|
Ref: #web64892
|
||||||
Node: Third party add-ons64758
|
Node: Third party add-ons64938
|
||||||
Ref: #third-party-add-ons64935
|
Ref: #third-party-add-ons65115
|
||||||
Node: diff65070
|
Node: diff65250
|
||||||
Ref: #diff65169
|
Ref: #diff65349
|
||||||
Node: iadd65268
|
Node: iadd65448
|
||||||
Ref: #iadd65384
|
Ref: #iadd65564
|
||||||
Node: interest65467
|
Node: interest65647
|
||||||
Ref: #interest65590
|
Ref: #interest65770
|
||||||
Node: irr65685
|
Node: irr65865
|
||||||
Ref: #irr65785
|
Ref: #irr65965
|
||||||
Node: Experimental add-ons65863
|
Node: Experimental add-ons66043
|
||||||
Ref: #experimental-add-ons66017
|
Ref: #experimental-add-ons66197
|
||||||
Node: autosync66419
|
Node: autosync66599
|
||||||
Ref: #autosync66533
|
Ref: #autosync66713
|
||||||
Node: budget66772
|
Node: budget66952
|
||||||
Ref: #budget66896
|
Ref: #budget67076
|
||||||
Node: chart66962
|
Node: chart67142
|
||||||
Ref: #chart67081
|
Ref: #chart67261
|
||||||
Node: check67152
|
Node: check67332
|
||||||
Ref: #check67276
|
Ref: #check67456
|
||||||
Node: check-dates67343
|
Node: check-dates67523
|
||||||
Ref: #check-dates67485
|
Ref: #check-dates67665
|
||||||
Node: check-dupes67558
|
Node: check-dupes67738
|
||||||
Ref: #check-dupes67701
|
Ref: #check-dupes67881
|
||||||
Node: equity67778
|
Node: equity67958
|
||||||
Ref: #equity67906
|
Ref: #equity68086
|
||||||
Node: prices68025
|
Node: prices68205
|
||||||
Ref: #prices68154
|
Ref: #prices68334
|
||||||
Node: print-unique68209
|
Node: print-unique68389
|
||||||
Ref: #print-unique68358
|
Ref: #print-unique68538
|
||||||
Node: register-match68451
|
Node: register-match68631
|
||||||
Ref: #register-match68607
|
Ref: #register-match68787
|
||||||
Node: rewrite68705
|
Node: rewrite68885
|
||||||
Ref: #rewrite68839
|
Ref: #rewrite69019
|
||||||
Node: tags68917
|
Node: tags69097
|
||||||
Ref: #tags69022
|
Ref: #tags69202
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -265,16 +265,15 @@ tree, down to level N. Use this when you want a summary with less detail.
|
|||||||
## Pivoting
|
## Pivoting
|
||||||
|
|
||||||
Normally hledger sums amounts, and organizes them in a hierarchy, based on account name.
|
Normally hledger sums amounts, and organizes them in a hierarchy, based on account name.
|
||||||
The `--pivot TAGNAME` option causes it to sum and organize hierarchy based on some other field instead.
|
The `--pivot FIELD` option causes it to sum and organize hierarchy based on the value of some other field instead.
|
||||||
|
FIELD can be:
|
||||||
TAGNAME is the full, case-insensitive name of a [tag](/journal.html#tags) you have defined,
|
`code`, `description`, `payee`, `note`,
|
||||||
or one of the built-in implicit tags (like `code` or `payee`).
|
or the full name (case insensitive) of any [tag](/journal.html#tags).
|
||||||
As with account names, when tag values have `multiple:colon-separated:parts` hledger will build hierarchy,
|
As with account names, values containing `colon:separated:parts` will be displayed hierarchically in reports.
|
||||||
displayed in tree-mode reports, summarisable with a depth limit, and so on.
|
|
||||||
|
|
||||||
`--pivot` is a general option affecting all reports; you can think of hledger transforming
|
`--pivot` is a general option affecting all reports; you can think of hledger transforming
|
||||||
the journal before any other processing, replacing every posting's account name with
|
the journal before any other processing, replacing every posting's account name with
|
||||||
the value of the specified tag on that posting, inheriting it from the transaction
|
the value of the specified field on that posting, inheriting it from the transaction
|
||||||
or using a blank value if it's not present.
|
or using a blank value if it's not present.
|
||||||
|
|
||||||
An example:
|
An example:
|
||||||
|
|||||||
@ -54,7 +54,7 @@ quoting to hide it from the shell, so eg do: `hledger print cur:'\$'`
|
|||||||
or `hledger print cur:\\$`.
|
or `hledger print cur:\\$`.
|
||||||
|
|
||||||
**`desc:REGEX`**
|
**`desc:REGEX`**
|
||||||
: match transaction descriptions
|
: match transaction [descriptions](/manual.html#description-payee-and-note).
|
||||||
|
|
||||||
**`date:PERIODEXPR`**
|
**`date:PERIODEXPR`**
|
||||||
: match dates within the specified period.
|
: match dates within the specified period.
|
||||||
@ -68,6 +68,14 @@ If the `--date2` command line flag is present, this matches [secondary dates](ma
|
|||||||
**`depth:N`**
|
**`depth:N`**
|
||||||
: match (or display, depending on command) accounts at or above this depth
|
: match (or display, depending on command) accounts at or above this depth
|
||||||
|
|
||||||
|
**`note:REGEX`**
|
||||||
|
: match transaction [notes](/manual.html#description-payee-and-note)
|
||||||
|
(part of description right of `|`, or whole description when there's no `|`)
|
||||||
|
|
||||||
|
**`payee:REGEX`**
|
||||||
|
: match transaction [payee/payer names](/manual.html#description-payee-and-note)
|
||||||
|
(part of description left of `|`, or whole description when there's no `|`)
|
||||||
|
|
||||||
**`real:, real:0`**
|
**`real:, real:0`**
|
||||||
: match real or virtual postings respectively
|
: match real or virtual postings respectively
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user