;update manuals
This commit is contained in:
parent
de5dfe2d1b
commit
50a7914b3b
@ -604,11 +604,18 @@ messages.
|
|||||||
.PP
|
.PP
|
||||||
You can also force a specific reader/format by prefixing the file path
|
You can also force a specific reader/format by prefixing the file path
|
||||||
with the format and a colon.
|
with the format and a colon.
|
||||||
Eg to read a .dat file as csv:
|
Eg, to read a .dat file as csv format:
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$ hledger -f csv:/some/csv-file.dat stats
|
$ hledger -f csv:/some/csv-file.dat stats
|
||||||
|
\f[R]
|
||||||
|
.fi
|
||||||
|
.PP
|
||||||
|
Or to read stdin (\f[C]-\f[R]) as timeclock format:
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
\f[C]
|
||||||
$ echo \[aq]i 2009/13/1 08:00:00\[aq] | hledger print -ftimeclock:-
|
$ echo \[aq]i 2009/13/1 08:00:00\[aq] | hledger print -ftimeclock:-
|
||||||
\f[R]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
@ -1277,7 +1284,13 @@ A \f[I]any chain of market prices\f[R]: a chain of any market prices,
|
|||||||
including both forward and reverse prices (1 and 2 above), leading from
|
including both forward and reverse prices (1 and 2 above), leading from
|
||||||
A to B.
|
A to B.
|
||||||
.PP
|
.PP
|
||||||
Amounts for which no applicable market price can be found, are not
|
There is a limit to the length of these price chains; if hledger reaches
|
||||||
|
that length without finding a complete chain or exhausting all
|
||||||
|
possibilities, it will give up (with a \[dq]gave up\[dq] message visible
|
||||||
|
in \f[C]--debug=2\f[R] output).
|
||||||
|
That limit is currently 1000.
|
||||||
|
.PP
|
||||||
|
Amounts for which no suitable market price can be found, are not
|
||||||
converted.
|
converted.
|
||||||
.SS --infer-value: market prices from transactions
|
.SS --infer-value: market prices from transactions
|
||||||
.PP
|
.PP
|
||||||
@ -1421,7 +1434,6 @@ Convert amounts to cost, using the prices recorded in transactions.
|
|||||||
\f[B]\f[CB]--value=then\f[B]\f[R]
|
\f[B]\f[CB]--value=then\f[B]\f[R]
|
||||||
Convert amounts to their value in the default valuation commodity, using
|
Convert amounts to their value in the default valuation commodity, using
|
||||||
market prices on each posting\[aq]s date.
|
market prices on each posting\[aq]s date.
|
||||||
This is currently supported only by the print and register commands.
|
|
||||||
.TP
|
.TP
|
||||||
\f[B]\f[CB]--value=end\f[B]\f[R]
|
\f[B]\f[CB]--value=end\f[B]\f[R]
|
||||||
Convert amounts to their value in the default valuation commodity, using
|
Convert amounts to their value in the default valuation commodity, using
|
||||||
@ -1604,7 +1616,7 @@ Related: #329, #1083.
|
|||||||
.PP
|
.PP
|
||||||
.TS
|
.TS
|
||||||
tab(@);
|
tab(@);
|
||||||
lw(10.6n) lw(13.2n) lw(13.4n) lw(11.0n) lw(13.4n) lw(8.2n).
|
lw(9.5n) lw(11.8n) lw(12.0n) lw(17.2n) lw(12.0n) lw(7.4n).
|
||||||
T{
|
T{
|
||||||
Report type
|
Report type
|
||||||
T}@T{
|
T}@T{
|
||||||
@ -1675,7 +1687,7 @@ cost
|
|||||||
T}@T{
|
T}@T{
|
||||||
value at day before report or journal start
|
value at day before report or journal start
|
||||||
T}@T{
|
T}@T{
|
||||||
not supported
|
valued at day each historical posting was made
|
||||||
T}@T{
|
T}@T{
|
||||||
value at day before report or journal start
|
value at day before report or journal start
|
||||||
T}@T{
|
T}@T{
|
||||||
@ -1742,7 +1754,7 @@ sums of costs
|
|||||||
T}@T{
|
T}@T{
|
||||||
value at report end or today of sums of postings
|
value at report end or today of sums of postings
|
||||||
T}@T{
|
T}@T{
|
||||||
not supported
|
value at posting date
|
||||||
T}@T{
|
T}@T{
|
||||||
value at report or journal end of sums of postings
|
value at report or journal end of sums of postings
|
||||||
T}@T{
|
T}@T{
|
||||||
@ -1755,7 +1767,7 @@ like balance changes
|
|||||||
T}@T{
|
T}@T{
|
||||||
like balance changes
|
like balance changes
|
||||||
T}@T{
|
T}@T{
|
||||||
not supported
|
like balance changes
|
||||||
T}@T{
|
T}@T{
|
||||||
like balances
|
like balances
|
||||||
T}@T{
|
T}@T{
|
||||||
@ -1768,7 +1780,7 @@ sum of displayed values
|
|||||||
T}@T{
|
T}@T{
|
||||||
sum of displayed values
|
sum of displayed values
|
||||||
T}@T{
|
T}@T{
|
||||||
not supported
|
sum of displayed valued
|
||||||
T}@T{
|
T}@T{
|
||||||
sum of displayed values
|
sum of displayed values
|
||||||
T}@T{
|
T}@T{
|
||||||
@ -1796,7 +1808,8 @@ sums of costs of postings before report start
|
|||||||
T}@T{
|
T}@T{
|
||||||
value at report start of sums of all postings before report start
|
value at report start of sums of all postings before report start
|
||||||
T}@T{
|
T}@T{
|
||||||
not supported
|
sums of values of postings before report start at respective posting
|
||||||
|
dates
|
||||||
T}@T{
|
T}@T{
|
||||||
value at report start of sums of all postings before report start
|
value at report start of sums of all postings before report start
|
||||||
T}@T{
|
T}@T{
|
||||||
@ -1809,7 +1822,7 @@ sums of costs of postings in period
|
|||||||
T}@T{
|
T}@T{
|
||||||
same as --value=end
|
same as --value=end
|
||||||
T}@T{
|
T}@T{
|
||||||
not supported
|
sums of values of postings in period at respective posting dates
|
||||||
T}@T{
|
T}@T{
|
||||||
balance change in each period, valued at period ends
|
balance change in each period, valued at period ends
|
||||||
T}@T{
|
T}@T{
|
||||||
@ -1822,7 +1835,8 @@ sums of costs of postings from before report start to period end
|
|||||||
T}@T{
|
T}@T{
|
||||||
same as --value=end
|
same as --value=end
|
||||||
T}@T{
|
T}@T{
|
||||||
not supported
|
sums of values of postings from before period start to period end at
|
||||||
|
respective posting dates
|
||||||
T}@T{
|
T}@T{
|
||||||
period end balances, valued at period ends
|
period end balances, valued at period ends
|
||||||
T}@T{
|
T}@T{
|
||||||
@ -1835,7 +1849,7 @@ like balance changes/end balances
|
|||||||
T}@T{
|
T}@T{
|
||||||
like balance changes/end balances
|
like balance changes/end balances
|
||||||
T}@T{
|
T}@T{
|
||||||
not supported
|
like balance changes/end balances
|
||||||
T}@T{
|
T}@T{
|
||||||
like balances
|
like balances
|
||||||
T}@T{
|
T}@T{
|
||||||
@ -1848,7 +1862,7 @@ sums, averages of displayed values
|
|||||||
T}@T{
|
T}@T{
|
||||||
sums, averages of displayed values
|
sums, averages of displayed values
|
||||||
T}@T{
|
T}@T{
|
||||||
not supported
|
sums, averages of displayed values
|
||||||
T}@T{
|
T}@T{
|
||||||
sums, averages of displayed values
|
sums, averages of displayed values
|
||||||
T}@T{
|
T}@T{
|
||||||
@ -1861,7 +1875,7 @@ sums of displayed values
|
|||||||
T}@T{
|
T}@T{
|
||||||
sums of displayed values
|
sums of displayed values
|
||||||
T}@T{
|
T}@T{
|
||||||
not supported
|
sums of displayed values
|
||||||
T}@T{
|
T}@T{
|
||||||
sums of displayed values
|
sums of displayed values
|
||||||
T}@T{
|
T}@T{
|
||||||
@ -1874,7 +1888,7 @@ sum, average of column totals
|
|||||||
T}@T{
|
T}@T{
|
||||||
sum, average of column totals
|
sum, average of column totals
|
||||||
T}@T{
|
T}@T{
|
||||||
not supported
|
sum, average of column totals
|
||||||
T}@T{
|
T}@T{
|
||||||
sum, average of column totals
|
sum, average of column totals
|
||||||
T}@T{
|
T}@T{
|
||||||
@ -2449,10 +2463,39 @@ options The output formats supported are (in most modes): \f[C]txt\f[R],
|
|||||||
\f[C]csv\f[R], \f[C]html\f[R], and \f[C]json\f[R].
|
\f[C]csv\f[R], \f[C]html\f[R], and \f[C]json\f[R].
|
||||||
.PP
|
.PP
|
||||||
The balance command can produce several styles of report:
|
The balance command can produce several styles of report:
|
||||||
.SS Classic balance report
|
|
||||||
.PP
|
.PP
|
||||||
This is the original balance report, as found in Ledger.
|
.SS Single-period flat balance report
|
||||||
It usually looks like this:
|
.PP
|
||||||
|
This is the default for hledger\[aq]s balance command: a flat list of
|
||||||
|
all (or with a query, matched) accounts, showing full account names.
|
||||||
|
Accounts are sorted by declaration order if any, and then by account
|
||||||
|
name.
|
||||||
|
Accounts which have zero balance are not shown unless
|
||||||
|
\f[C]-E/--empty\f[R] is used.
|
||||||
|
The reported balances\[aq] total is shown as the last line, unless
|
||||||
|
disabled by \f[C]-N\f[R]/\f[C]--no-total\f[R].
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
\f[C]
|
||||||
|
$ hledger bal
|
||||||
|
$1 assets:bank:saving
|
||||||
|
$-2 assets:cash
|
||||||
|
$1 expenses:food
|
||||||
|
$1 expenses:supplies
|
||||||
|
$-1 income:gifts
|
||||||
|
$-1 income:salary
|
||||||
|
$1 liabilities:debts
|
||||||
|
--------------------
|
||||||
|
0
|
||||||
|
\f[R]
|
||||||
|
.fi
|
||||||
|
.PP
|
||||||
|
.SS Single-period tree-mode balance report
|
||||||
|
.PP
|
||||||
|
With the \f[C]-t/--tree\f[R] flag, accounts are displayed
|
||||||
|
hierarchically, showing subaccounts as short names indented below their
|
||||||
|
parent.
|
||||||
|
(This is the default style in Ledger and in older hledger versions.)
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
@ -2472,38 +2515,30 @@ $ hledger balance
|
|||||||
\f[R]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
By default, accounts are displayed hierarchically, with subaccounts
|
For more compact output, \[dq]boring\[dq] accounts containing a single
|
||||||
indented below their parent, with accounts at each level of the tree
|
interesting subaccount and no balance of their own
|
||||||
sorted by declaration order if declared, then by account name.
|
(\f[C]assets:bank\f[R] and \f[C]liabilities\f[R] here) are elided into
|
||||||
|
the following line, unless \f[C]--no-elide\f[R] is used.
|
||||||
|
And accounts which have zero balance and no non-zero subaccounts are
|
||||||
|
omitted, unless \f[C]-E/--empty\f[R] is used.
|
||||||
.PP
|
.PP
|
||||||
\[dq]Boring\[dq] accounts, which contain a single interesting subaccount
|
Account balances in tree mode are \[dq]inclusive\[dq] - they include the
|
||||||
and no balance of their own, are elided into the following line for more
|
balances of any subaccounts.
|
||||||
compact output.
|
Eg, the \f[C]assets\f[R] \f[C]$-1\f[R] balance here includes the
|
||||||
(Eg above, the \[dq]liabilities\[dq] account.) Use \f[C]--no-elide\f[R]
|
\f[C]$1\f[R] from \f[C]assets:bank:saving\f[R] and the \f[C]$-2\f[R]
|
||||||
to prevent this.
|
from \f[C]assets:cash\f[R].
|
||||||
|
(And it would include balance posted to the \f[C]assets\f[R] account
|
||||||
|
itself, if there was any).
|
||||||
|
Note this causes some repetition, and the final total (\f[C]0\f[R]) is
|
||||||
|
the sum of the top-level balances, not of all the balances shown.
|
||||||
.PP
|
.PP
|
||||||
Account balances are \[dq]inclusive\[dq] - they include the balances of
|
Each group of sibling accounts is sorted separately, by declaration
|
||||||
any subaccounts.
|
order and then by account name.
|
||||||
|
.SS Customising single-period balance reports
|
||||||
.PP
|
.PP
|
||||||
Accounts which have zero balance (and no non-zero subaccounts) are
|
You can customise the layout of single-period balance reports with
|
||||||
omitted.
|
\f[C]--format FMT\f[R], which sets the format of each line.
|
||||||
Use \f[C]-E/--empty\f[R] to show them.
|
Eg:
|
||||||
.PP
|
|
||||||
A final total is displayed by default; use \f[C]-N/--no-total\f[R] to
|
|
||||||
suppress it, eg:
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
$ hledger balance -p 2008/6 expenses --no-total
|
|
||||||
$2 expenses
|
|
||||||
$1 food
|
|
||||||
$1 supplies
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.SS Customising the classic balance report
|
|
||||||
.PP
|
|
||||||
You can customise the layout of classic balance reports with
|
|
||||||
\f[C]--format FMT\f[R]:
|
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
@ -2572,32 +2607,13 @@ rendered on one line
|
|||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[C]%20(total) %2(depth_spacer)%-(account)\f[R] - the default format
|
\f[C]%20(total) %2(depth_spacer)%-(account)\f[R] - the default format
|
||||||
for the single-column balance report
|
for the single-column balance report
|
||||||
.SS Colour support
|
.SS Depth limiting
|
||||||
.PP
|
.PP
|
||||||
In terminal output, when colour is enabled, the balance command shows
|
With a \f[C]depth:N\f[R] query, or \f[C]--depth N\f[R] option, or just
|
||||||
negative amounts in red.
|
\f[C]-N\f[R], balance reports will show accounts only to the specified
|
||||||
.SS Flat mode
|
depth.
|
||||||
.PP
|
This is very useful to hide low-level accounts and get an overview.
|
||||||
To see a flat list instead of the default hierarchical display, use
|
Eg, limiting to depth 1 shows the top-level accounts:
|
||||||
\f[C]--flat\f[R].
|
|
||||||
In this mode, accounts (unless depth-clipped) show their full names and
|
|
||||||
\[dq]exclusive\[dq] balance, excluding any subaccount balances.
|
|
||||||
In this mode, you can also use \f[C]--drop N\f[R] to omit the first few
|
|
||||||
account name components.
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
$ hledger balance -p 2008/6 expenses -N --flat --drop 1
|
|
||||||
$1 food
|
|
||||||
$1 supplies
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.SS Depth limited balance reports
|
|
||||||
.PP
|
|
||||||
With \f[C]--depth N\f[R] or \f[C]depth:N\f[R] or just \f[C]-N\f[R],
|
|
||||||
balance reports show accounts only to the specified numeric depth.
|
|
||||||
This is very useful to summarise a complex set of accounts and get an
|
|
||||||
overview.
|
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
@ -2609,8 +2625,30 @@ $ hledger balance -N -1
|
|||||||
\f[R]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
Flat-mode balance reports, which normally show exclusive balances, show
|
Accounts at the depth limit will include the balances of any hidden
|
||||||
inclusive balances at the depth limit.
|
subaccounts (even in flat mode, which normally shows exclusive
|
||||||
|
balances).
|
||||||
|
.PP
|
||||||
|
You can also drop account name components from the start of account
|
||||||
|
names, using \f[C]--drop N\f[R].
|
||||||
|
This can be useful to hide unwanted top-level detail.
|
||||||
|
.SS Colour support
|
||||||
|
.PP
|
||||||
|
In terminal output, when colour is enabled, the balance command shows
|
||||||
|
negative amounts in red.
|
||||||
|
.SS Sorting by amount
|
||||||
|
.PP
|
||||||
|
With \f[C]-S\f[R]/\f[C]--sort-amount\f[R], accounts with the largest
|
||||||
|
(most positive) balances are shown first.
|
||||||
|
For example, \f[C]hledger bal expenses -MAS\f[R] shows your biggest
|
||||||
|
averaged monthly expenses first.
|
||||||
|
.PP
|
||||||
|
Revenues and liability balances are typically negative, however, so
|
||||||
|
\f[C]-S\f[R] shows these in reverse order.
|
||||||
|
To work around this, you can add \f[C]--invert\f[R] to flip the signs.
|
||||||
|
Or, use one of the sign-flipping reports like \f[C]balancesheet\f[R] or
|
||||||
|
\f[C]incomestatement\f[R], which also support \f[C]-S\f[R].
|
||||||
|
Eg: \f[C]hledger is -MAS\f[R].
|
||||||
.SS Percentages
|
.SS Percentages
|
||||||
.PP
|
.PP
|
||||||
With \f[C]-%\f[R] or \f[C]--percent\f[R], balance reports show each
|
With \f[C]-%\f[R] or \f[C]--percent\f[R], balance reports show each
|
||||||
@ -2646,34 +2684,25 @@ accounts.
|
|||||||
If there are mixed commodity accounts in the report be sure to use
|
If there are mixed commodity accounts in the report be sure to use
|
||||||
\f[C]-V\f[R] or \f[C]-B\f[R] to coerce the report into using a single
|
\f[C]-V\f[R] or \f[C]-B\f[R] to coerce the report into using a single
|
||||||
commodity.
|
commodity.
|
||||||
.SS Sorting by amount
|
|
||||||
.PP
|
.PP
|
||||||
With \f[C]-S\f[R]/\f[C]--sort-amount\f[R], accounts with the largest
|
.SS Multi-period balance report
|
||||||
(most positive) balances are shown first.
|
|
||||||
For example, \f[C]hledger bal expenses -MAS\f[R] shows your biggest
|
|
||||||
averaged monthly expenses first.
|
|
||||||
.PP
|
.PP
|
||||||
Revenues and liability balances are typically negative, however, so
|
Multi-period balance reports are a very useful hledger feature,
|
||||||
\f[C]-S\f[R] shows these in reverse order.
|
activated if you provide one of the reporting interval flags, such as
|
||||||
To work around this, you can add \f[C]--invert\f[R] to flip the signs.
|
\f[C]-M\f[R]/\f[C]--monthly\f[R].
|
||||||
Or, use one of the sign-flipping reports like \f[C]balancesheet\f[R] or
|
They are similar to single-period balance reports, but they show the
|
||||||
\f[C]incomestatement\f[R], which also support \f[C]-S\f[R].
|
report as a table, with columns representing one or more successive time
|
||||||
Eg: \f[C]hledger is -MAS\f[R].
|
periods.
|
||||||
.SS Multicolumn balance report
|
This is the usually the preferred style of balance report in hledger
|
||||||
|
(even for a single period).
|
||||||
.PP
|
.PP
|
||||||
Multicolumn or tabular balance reports are a very useful hledger
|
Multi-period balance reports come in several types, showing different
|
||||||
feature, and usually the preferred style.
|
|
||||||
They share many of the above features, but they show the report as a
|
|
||||||
table, with columns representing time periods.
|
|
||||||
This mode is activated by providing a reporting interval.
|
|
||||||
.PP
|
|
||||||
There are three types of multicolumn balance report, showing different
|
|
||||||
information:
|
information:
|
||||||
.IP "1." 3
|
.IP "1." 3
|
||||||
By default: each column shows the sum of postings in that period, ie the
|
A balance change report: by default, each column shows the sum of
|
||||||
account\[aq]s change of balance in that period.
|
postings in that period, ie the account\[aq]s change of balance in that
|
||||||
|
period.
|
||||||
This is useful eg for a monthly income statement:
|
This is useful eg for a monthly income statement:
|
||||||
.RS 4
|
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
@ -2690,11 +2719,10 @@ Balance changes in 2008:
|
|||||||
|| $-1 $1 0 0
|
|| $-1 $1 0 0
|
||||||
\f[R]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.RE
|
|
||||||
.IP "2." 3
|
.IP "2." 3
|
||||||
With \f[C]--cumulative\f[R]: each column shows the ending balance for
|
A cumulative end balance report: with \f[C]--cumulative\f[R], each
|
||||||
that period, accumulating the changes across periods, starting from 0 at
|
column shows the end balance for that period, accumulating the changes
|
||||||
the report start date:
|
across periods, starting from 0 at the report start date:
|
||||||
.RS 4
|
.RS 4
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
@ -2714,11 +2742,12 @@ Ending balances (cumulative) in 2008:
|
|||||||
.fi
|
.fi
|
||||||
.RE
|
.RE
|
||||||
.IP "3." 3
|
.IP "3." 3
|
||||||
With \f[C]--historical/-H\f[R]: each column shows the actual historical
|
A historical end balance report: with \f[C]--historical/-H\f[R], each
|
||||||
ending balance for that period, accumulating the changes across periods,
|
column shows the actual historical end balance for that period,
|
||||||
starting from the actual balance at the report start date.
|
accumulating the changes across periods, and including the balance from
|
||||||
This is useful eg for a multi-period balance sheet, and when you are
|
any postings before the report start date.
|
||||||
showing only the data after a certain start date:
|
This is useful eg for a multi-period balance sheet, and when you want to
|
||||||
|
see balances only after a certain date:
|
||||||
.RS 4
|
.RS 4
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
@ -2742,9 +2771,6 @@ Note that \f[C]--cumulative\f[R] or \f[C]--historical/-H\f[R] disable
|
|||||||
\f[C]--row-total/-T\f[R], since summing end balances generally does not
|
\f[C]--row-total/-T\f[R], since summing end balances generally does not
|
||||||
make sense.
|
make sense.
|
||||||
.PP
|
.PP
|
||||||
Multicolumn balance reports display accounts in flat mode by default; to
|
|
||||||
see the hierarchy, use \f[C]--tree\f[R].
|
|
||||||
.PP
|
|
||||||
With a reporting interval (like \f[C]--quarterly\f[R] above), the report
|
With a reporting interval (like \f[C]--quarterly\f[R] above), the report
|
||||||
start/end dates will be adjusted if necessary so that they encompass the
|
start/end dates will be adjusted if necessary so that they encompass the
|
||||||
displayed report periods.
|
displayed report periods.
|
||||||
@ -3263,27 +3289,29 @@ check
|
|||||||
.P
|
.P
|
||||||
.PD
|
.PD
|
||||||
Check for various kinds of errors in your data.
|
Check for various kinds of errors in your data.
|
||||||
\f[I]experimental\f[R]
|
|
||||||
.PP
|
.PP
|
||||||
hledger provides a number of built-in error checks to help prevent
|
hledger provides a number of built-in error checks to help prevent
|
||||||
problems in your data.
|
problems in your data.
|
||||||
Some of these are run automatically; or, you can use this
|
Some of these are run automatically; or, you can use this
|
||||||
\f[C]check\f[R] command to run them on demand, with no output and a zero
|
\f[C]check\f[R] command to run them on demand, with no output and a zero
|
||||||
exit code if all is well.
|
exit code if all is well.
|
||||||
|
Specify their names (or a prefix) as argument(s).
|
||||||
|
.PP
|
||||||
Some examples:
|
Some examples:
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
hledger check # basic checks
|
hledger check # basic checks
|
||||||
hledger check -s # basic + strict checks
|
hledger check -s # basic + strict checks
|
||||||
hledger check ordereddates uniqueleafnames # basic + specified checks
|
hledger check ordereddates payees # basic + two other checks
|
||||||
\f[R]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
Here are the checks currently available:
|
Here are the checks currently available:
|
||||||
.SS Basic checks
|
.SS Basic checks
|
||||||
.PP
|
.PP
|
||||||
These are always run by this command and other commands:
|
These checks are always run automatically, by (almost) all hledger
|
||||||
|
commands, including \f[C]check\f[R]:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[B]parseable\f[R] - data files are well-formed and can be successfully
|
\f[B]parseable\f[R] - data files are well-formed and can be successfully
|
||||||
parsed
|
parsed
|
||||||
@ -3298,8 +3326,10 @@ passing.
|
|||||||
\f[C]-I\f[R]/\f[C]--ignore-assertions\f[R].)
|
\f[C]-I\f[R]/\f[C]--ignore-assertions\f[R].)
|
||||||
.SS Strict checks
|
.SS Strict checks
|
||||||
.PP
|
.PP
|
||||||
These are always run by this and other commands when
|
These additional checks are run when the \f[C]-s\f[R]/\f[C]--strict\f[R]
|
||||||
\f[C]-s\f[R]/\f[C]--strict\f[R] is used (strict mode):
|
(strict mode) flag is used.
|
||||||
|
Or, they can be run by giving their names as arguments to
|
||||||
|
\f[C]check\f[R]:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[B]accounts\f[R] - all account names used by transactions have been
|
\f[B]accounts\f[R] - all account names used by transactions have been
|
||||||
declared
|
declared
|
||||||
@ -3307,18 +3337,21 @@ declared
|
|||||||
\f[B]commodities\f[R] - all commodity symbols used have been declared
|
\f[B]commodities\f[R] - all commodity symbols used have been declared
|
||||||
.SS Other checks
|
.SS Other checks
|
||||||
.PP
|
.PP
|
||||||
These checks can be run by specifying their names as arguments to the
|
These checks can be run only by giving their names as arguments to
|
||||||
check command:
|
\f[C]check\f[R].
|
||||||
|
They are more specialised and not desirable for everyone, therefore
|
||||||
|
optional:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[B]ordereddates\f[R] - transactions are ordered by date (similar to
|
\f[B]ordereddates\f[R] - transactions are ordered by date (similar to
|
||||||
the old \f[C]check-dates\f[R] command)
|
the old \f[C]check-dates\f[R] command)
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
|
\f[B]payees\f[R] - all payees used by transactions have been declared
|
||||||
|
.IP \[bu] 2
|
||||||
\f[B]uniqueleafnames\f[R] - all account leaf names are unique (similar
|
\f[B]uniqueleafnames\f[R] - all account leaf names are unique (similar
|
||||||
to the old \f[C]check-dupes\f[R] command)
|
to the old \f[C]check-dupes\f[R] command).
|
||||||
.SS Add-on checks
|
.SS Custom checks
|
||||||
.PP
|
.PP
|
||||||
Some checks are not yet integrated with this command, but are available
|
A few more checks are are available as separate add-on commands, in
|
||||||
as add-on commands in
|
|
||||||
https://github.com/simonmichael/hledger/tree/master/bin:
|
https://github.com/simonmichael/hledger/tree/master/bin:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[B]hledger-check-tagfiles\f[R] - all tag values containing / (a
|
\f[B]hledger-check-tagfiles\f[R] - all tag values containing / (a
|
||||||
@ -3327,8 +3360,8 @@ forward slash) exist as file paths
|
|||||||
\f[B]hledger-check-fancyassertions\f[R] - more complex balance
|
\f[B]hledger-check-fancyassertions\f[R] - more complex balance
|
||||||
assertions are passing
|
assertions are passing
|
||||||
.PP
|
.PP
|
||||||
You could make your own similar scripts to perform custom checks;
|
You could make similar scripts to perform your own custom checks.
|
||||||
Cookbook -> Scripting may be helpful.
|
See: Cookbook -> Scripting.
|
||||||
.SS close
|
.SS close
|
||||||
.PP
|
.PP
|
||||||
close, equity
|
close, equity
|
||||||
@ -5198,7 +5231,7 @@ Account names typically have several parts separated by a full colon,
|
|||||||
from which hledger derives a hierarchical chart of accounts.
|
from which hledger derives a hierarchical chart of accounts.
|
||||||
They can be anything you like, but in finance there are traditionally
|
They can be anything you like, but in finance there are traditionally
|
||||||
five top-level accounts: \f[C]assets\f[R], \f[C]liabilities\f[R],
|
five top-level accounts: \f[C]assets\f[R], \f[C]liabilities\f[R],
|
||||||
\f[C]income\f[R], \f[C]expenses\f[R], and \f[C]equity\f[R].
|
\f[C]revenue\f[R], \f[C]expenses\f[R], and \f[C]equity\f[R].
|
||||||
.PP
|
.PP
|
||||||
Account names may contain single spaces, eg:
|
Account names may contain single spaces, eg:
|
||||||
\f[C]assets:accounts receivable\f[R].
|
\f[C]assets:accounts receivable\f[R].
|
||||||
@ -5808,6 +5841,15 @@ T}@T{
|
|||||||
what the included directives affect
|
what the included directives affect
|
||||||
T}
|
T}
|
||||||
T{
|
T{
|
||||||
|
[\f[C]payee\f[R]]
|
||||||
|
T}@T{
|
||||||
|
T}@T{
|
||||||
|
T}@T{
|
||||||
|
declare a payee name
|
||||||
|
T}@T{
|
||||||
|
following entries until end of current file
|
||||||
|
T}
|
||||||
|
T{
|
||||||
\f[C]P\f[R]
|
\f[C]P\f[R]
|
||||||
T}@T{
|
T}@T{
|
||||||
T}@T{
|
T}@T{
|
||||||
@ -5952,6 +5994,19 @@ Y2010 ; change default year to 2010
|
|||||||
assets
|
assets
|
||||||
\f[R]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
|
.SS Declaring payees
|
||||||
|
.PP
|
||||||
|
The \f[C]payee\f[R] directive can be used to declare a limited set of
|
||||||
|
payees which may appear in transaction descriptions.
|
||||||
|
The \[dq]payees\[dq] check will report an error if any transaction
|
||||||
|
refers to a payee that has not been declared.
|
||||||
|
Eg:
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
\f[C]
|
||||||
|
payee Whole Foods
|
||||||
|
\f[R]
|
||||||
|
.fi
|
||||||
.SS Declaring commodities
|
.SS Declaring commodities
|
||||||
.PP
|
.PP
|
||||||
The \f[C]commodity\f[R] directive has several functions:
|
The \f[C]commodity\f[R] directive has several functions:
|
||||||
@ -7961,32 +8016,148 @@ https://hledger.org -> sidebar -> real world setups
|
|||||||
https://plaintextaccounting.org -> data import/conversion
|
https://plaintextaccounting.org -> data import/conversion
|
||||||
.SS Setting amounts
|
.SS Setting amounts
|
||||||
.PP
|
.PP
|
||||||
A posting amount can be set in one of these ways:
|
Some tips on using the amount-setting rules discussed above.
|
||||||
.IP \[bu] 2
|
|
||||||
by assigning (with a fields list or field assignment) to
|
|
||||||
\f[C]amountN\f[R] (posting N\[aq]s amount) or \f[C]amount\f[R] (posting
|
|
||||||
1\[aq]s amount)
|
|
||||||
.IP \[bu] 2
|
|
||||||
by assigning to \f[C]amountN-in\f[R] and \f[C]amountN-out\f[R] (or
|
|
||||||
\f[C]amount-in\f[R] and \f[C]amount-out\f[R]).
|
|
||||||
For each CSV record, whichever of these has a non-zero value will be
|
|
||||||
used, with appropriate sign.
|
|
||||||
If both contain a non-zero value, this may not work.
|
|
||||||
.IP \[bu] 2
|
|
||||||
by assigning to \f[C]balanceN\f[R] (or \f[C]balance\f[R]) instead of the
|
|
||||||
above, setting the amount indirectly via a balance assignment.
|
|
||||||
If you do this the default account name may be wrong, so you should set
|
|
||||||
that explicitly.
|
|
||||||
.PP
|
.PP
|
||||||
There is some special handling for an amount\[aq]s sign:
|
Here are the ways to set a posting\[aq]s amount:
|
||||||
|
.IP "1." 3
|
||||||
|
\f[B]If the CSV has a single amount field:\f[R]
|
||||||
|
.PD 0
|
||||||
|
.P
|
||||||
|
.PD
|
||||||
|
Assign (via a fields list or a field assignment) to \f[C]amountN\f[R].
|
||||||
|
This sets the Nth posting\[aq]s amount.
|
||||||
|
N is usually 1 or 2 but can go up to 99.
|
||||||
|
.IP "2." 3
|
||||||
|
\f[B]If the CSV has separate Debit and Credit amount fields:\f[R]
|
||||||
|
.PD 0
|
||||||
|
.P
|
||||||
|
.PD
|
||||||
|
Assign to \f[C]amountN-in\f[R] and \f[C]amountN-out\f[R].
|
||||||
|
This sets posting N\[aq]s amount to whichever of these has a non-zero
|
||||||
|
value, guessing an appropriate sign.
|
||||||
|
.RS 4
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
If an amount value is parenthesised, it will be de-parenthesised and
|
\f[B]If hledger guesses the wrong sign:\f[R]
|
||||||
sign-flipped.
|
.PD 0
|
||||||
|
.P
|
||||||
|
.PD
|
||||||
|
Prepend a minus sign to flip it.
|
||||||
|
Eg:
|
||||||
|
.RS 2
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
\f[C]
|
||||||
|
fields date, description, amount-in, amount-out
|
||||||
|
amount-out -%amount-out
|
||||||
|
\f[R]
|
||||||
|
.fi
|
||||||
|
.RE
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
If an amount value begins with a double minus sign, those cancel out and
|
\f[B]If both fields contain a non-zero value:\f[R]
|
||||||
are removed.
|
.PD 0
|
||||||
|
.P
|
||||||
|
.PD
|
||||||
|
The \f[C]amountN-in\f[R]/\f[C]amountN-out\f[R] rules require that each
|
||||||
|
CSV record has a non-zero value in exactly one of the two fields, so
|
||||||
|
that hledger knows which to choose.
|
||||||
|
So these would all be rejected:
|
||||||
|
.RS 2
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
\f[C]
|
||||||
|
\[dq]\[dq], \[dq]\[dq]
|
||||||
|
\[dq]0\[dq], \[dq]0\[dq]
|
||||||
|
\[dq]1\[dq], \[dq]none\[dq]
|
||||||
|
\f[R]
|
||||||
|
.fi
|
||||||
|
.PP
|
||||||
|
If your CSV has amount values like this, use conditional rules instead.
|
||||||
|
For example, to make hledger to choose the value containing non-zero
|
||||||
|
digits:
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
\f[C]
|
||||||
|
fields date, description, in, out
|
||||||
|
if %in [1-9]
|
||||||
|
amount1 %in
|
||||||
|
if %out [1-9]
|
||||||
|
amount1 %out
|
||||||
|
\f[R]
|
||||||
|
.fi
|
||||||
|
.RE
|
||||||
|
.RE
|
||||||
|
.IP "3." 3
|
||||||
|
\f[B]Using the old numberless syntax:\f[R]
|
||||||
|
.PD 0
|
||||||
|
.P
|
||||||
|
.PD
|
||||||
|
Assign to \f[C]amount\f[R] (or to \f[C]amount-in\f[R] and
|
||||||
|
\f[C]amount-out\f[R]).
|
||||||
|
This sets posting 1\[aq]s and posting 2\[aq]s amounts (and converts
|
||||||
|
posting 2\[aq]s amount to cost).
|
||||||
|
This is supported for backwards compatibility (and occasional
|
||||||
|
convenience).
|
||||||
|
.IP "4." 3
|
||||||
|
\f[B]If the CSV has the balance instead of the transaction amount:\f[R]
|
||||||
|
.PD 0
|
||||||
|
.P
|
||||||
|
.PD
|
||||||
|
Assign to \f[C]balanceN\f[R], which sets posting N\[aq]s amount
|
||||||
|
indirectly via a balance assignment.
|
||||||
|
(Old syntax: \f[C]balance\f[R], equivalent to \f[C]balance1\f[R].)
|
||||||
|
.RS 4
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
If an amount value begins with a plus sign, that will be removed
|
\f[B]If hledger guesses the wrong default account name:\f[R]
|
||||||
|
.PD 0
|
||||||
|
.P
|
||||||
|
.PD
|
||||||
|
When setting the amount via balance assertion, hledger may guess the
|
||||||
|
wrong default account name.
|
||||||
|
So, set the account name explicitly, eg:
|
||||||
|
.RS 2
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
\f[C]
|
||||||
|
fields date, description, balance1
|
||||||
|
account1 assets:checking
|
||||||
|
\f[R]
|
||||||
|
.fi
|
||||||
|
.RE
|
||||||
|
.RE
|
||||||
|
.SS Amount signs
|
||||||
|
.PP
|
||||||
|
There is some special handling for amount signs, to simplify parsing and
|
||||||
|
sign-flipping:
|
||||||
|
.IP \[bu] 2
|
||||||
|
\f[B]If an amount value begins with a plus sign:\f[R]
|
||||||
|
.PD 0
|
||||||
|
.P
|
||||||
|
.PD
|
||||||
|
that will be removed: \f[C]+AMT\f[R] becomes \f[C]AMT\f[R]
|
||||||
|
.IP \[bu] 2
|
||||||
|
\f[B]If an amount value is parenthesised:\f[R]
|
||||||
|
.PD 0
|
||||||
|
.P
|
||||||
|
.PD
|
||||||
|
it will be de-parenthesised and sign-flipped: \f[C](AMT)\f[R] becomes
|
||||||
|
\f[C]-AMT\f[R]
|
||||||
|
.IP \[bu] 2
|
||||||
|
\f[B]If an amount value has two minus signs (or two sets of parentheses,
|
||||||
|
or a minus sign and parentheses):\f[R]
|
||||||
|
.PD 0
|
||||||
|
.P
|
||||||
|
.PD
|
||||||
|
they cancel out and will be removed: \f[C]--AMT\f[R] or \f[C]-(AMT)\f[R]
|
||||||
|
becomes \f[C]AMT\f[R]
|
||||||
|
.IP \[bu] 2
|
||||||
|
\f[B]If an amount value contains just a sign (or just a set of
|
||||||
|
parentheses):\f[R]
|
||||||
|
.PD 0
|
||||||
|
.P
|
||||||
|
.PD
|
||||||
|
that is removed, making it an empty value.
|
||||||
|
\f[C]\[dq]+\[dq]\f[R] or \f[C]\[dq]-\[dq]\f[R] or \f[C]\[dq]()\[dq]\f[R]
|
||||||
|
becomes \f[C]\[dq]\[dq]\f[R].
|
||||||
.SS Setting currency/commodity
|
.SS Setting currency/commodity
|
||||||
.PP
|
.PP
|
||||||
If the currency/commodity symbol is included in the CSV\[aq]s amount
|
If the currency/commodity symbol is included in the CSV\[aq]s amount
|
||||||
|
|||||||
1456
hledger/hledger.info
1456
hledger/hledger.info
File diff suppressed because it is too large
Load Diff
1611
hledger/hledger.txt
1611
hledger/hledger.txt
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user