;regen docs
This commit is contained in:
parent
35ba2e4e9e
commit
1a606870ca
@ -601,6 +601,12 @@ In summary: amounts will be displayed much as they appear in your
|
|||||||
journal, with the max observed number of decimal places.
|
journal, with the max observed number of decimal places.
|
||||||
If you want to see fewer decimal places in reports, use a commodity
|
If you want to see fewer decimal places in reports, use a commodity
|
||||||
directive to override that.
|
directive to override that.
|
||||||
|
.PP
|
||||||
|
hledger uses banker\[aq]s rounding: it rounds to the nearest even
|
||||||
|
number, eg 0.5 displayed with zero decimal places is \[dq]0\[dq]).
|
||||||
|
(Note, prior to hledger 1.17.1 this could vary if hledger happened to be
|
||||||
|
built with an old version of Decimal (<0.5.1); since 1.17.1 it\[aq]s
|
||||||
|
guaranteed.)
|
||||||
.SS Transaction prices
|
.SS Transaction prices
|
||||||
.PP
|
.PP
|
||||||
Within a transaction, you can note an amount\[aq]s price in another
|
Within a transaction, you can note an amount\[aq]s price in another
|
||||||
@ -1197,6 +1203,10 @@ The quantity of the amount does not matter; only the format is
|
|||||||
significant.
|
significant.
|
||||||
The number must include a decimal mark: either a period or a comma,
|
The number must include a decimal mark: either a period or a comma,
|
||||||
followed by 0 or more decimal digits.
|
followed by 0 or more decimal digits.
|
||||||
|
.PP
|
||||||
|
Note hledger normally uses banker\[aq]s rounding, so 0.5 displayed with
|
||||||
|
zero decimal digits is \[dq]0\[dq].
|
||||||
|
(More at Amount display style.)
|
||||||
.SS Default commodity
|
.SS Default commodity
|
||||||
.PP
|
.PP
|
||||||
The \f[C]D\f[R] directive sets a default commodity, to be used for
|
The \f[C]D\f[R] directive sets a default commodity, to be used for
|
||||||
|
|||||||
@ -544,6 +544,11 @@ journal, with the max observed number of decimal places. If you want to
|
|||||||
see fewer decimal places in reports, use a commodity directive to
|
see fewer decimal places in reports, use a commodity directive to
|
||||||
override that.
|
override that.
|
||||||
|
|
||||||
|
hledger uses banker's rounding: it rounds to the nearest even number,
|
||||||
|
eg 0.5 displayed with zero decimal places is "0"). (Note, prior to
|
||||||
|
hledger 1.17.1 this could vary if hledger happened to be built with an
|
||||||
|
old version of Decimal (<0.5.1); since 1.17.1 it's guaranteed.)
|
||||||
|
|
||||||
|
|
||||||
File: hledger_journal.info, Node: Transaction prices, Next: Balance Assertions, Prev: Amounts, Up: Transactions
|
File: hledger_journal.info, Node: Transaction prices, Next: Balance Assertions, Prev: Amounts, Up: Transactions
|
||||||
|
|
||||||
@ -1070,6 +1075,9 @@ commodity INR
|
|||||||
significant. The number must include a decimal mark: either a period or
|
significant. The number must include a decimal mark: either a period or
|
||||||
a comma, followed by 0 or more decimal digits.
|
a comma, followed by 0 or more decimal digits.
|
||||||
|
|
||||||
|
Note hledger normally uses banker's rounding, so 0.5 displayed with
|
||||||
|
zero decimal digits is "0". (More at Amount display style.)
|
||||||
|
|
||||||
|
|
||||||
File: hledger_journal.info, Node: Default commodity, Next: Market prices, Prev: Declaring commodities, Up: Directives
|
File: hledger_journal.info, Node: Default commodity, Next: Market prices, Prev: Declaring commodities, Up: Directives
|
||||||
|
|
||||||
@ -1821,90 +1829,90 @@ Node: Digit group marks16739
|
|||||||
Ref: #digit-group-marks16887
|
Ref: #digit-group-marks16887
|
||||||
Node: Amount display style17825
|
Node: Amount display style17825
|
||||||
Ref: #amount-display-style17979
|
Ref: #amount-display-style17979
|
||||||
Node: Transaction prices19140
|
Node: Transaction prices19417
|
||||||
Ref: #transaction-prices19306
|
Ref: #transaction-prices19583
|
||||||
Node: Balance Assertions21572
|
Node: Balance Assertions21849
|
||||||
Ref: #balance-assertions21752
|
Ref: #balance-assertions22029
|
||||||
Node: Assertions and ordering22785
|
Node: Assertions and ordering23062
|
||||||
Ref: #assertions-and-ordering22973
|
Ref: #assertions-and-ordering23250
|
||||||
Node: Assertions and included files23673
|
Node: Assertions and included files23950
|
||||||
Ref: #assertions-and-included-files23916
|
Ref: #assertions-and-included-files24193
|
||||||
Node: Assertions and multiple -f options24249
|
Node: Assertions and multiple -f options24526
|
||||||
Ref: #assertions-and-multiple--f-options24505
|
Ref: #assertions-and-multiple--f-options24782
|
||||||
Node: Assertions and commodities24637
|
Node: Assertions and commodities24914
|
||||||
Ref: #assertions-and-commodities24869
|
Ref: #assertions-and-commodities25146
|
||||||
Node: Assertions and prices26026
|
Node: Assertions and prices26303
|
||||||
Ref: #assertions-and-prices26240
|
Ref: #assertions-and-prices26517
|
||||||
Node: Assertions and subaccounts26680
|
Node: Assertions and subaccounts26957
|
||||||
Ref: #assertions-and-subaccounts26909
|
Ref: #assertions-and-subaccounts27186
|
||||||
Node: Assertions and virtual postings27233
|
Node: Assertions and virtual postings27510
|
||||||
Ref: #assertions-and-virtual-postings27475
|
Ref: #assertions-and-virtual-postings27752
|
||||||
Node: Assertions and precision27617
|
Node: Assertions and precision27894
|
||||||
Ref: #assertions-and-precision27810
|
Ref: #assertions-and-precision28087
|
||||||
Node: Balance Assignments28077
|
Node: Balance Assignments28354
|
||||||
Ref: #balance-assignments28251
|
Ref: #balance-assignments28528
|
||||||
Node: Balance assignments and prices29415
|
Node: Balance assignments and prices29692
|
||||||
Ref: #balance-assignments-and-prices29587
|
Ref: #balance-assignments-and-prices29864
|
||||||
Node: Directives29811
|
Node: Directives30088
|
||||||
Ref: #directives29970
|
Ref: #directives30247
|
||||||
Node: Directives and multiple files35651
|
Node: Directives and multiple files35928
|
||||||
Ref: #directives-and-multiple-files35834
|
Ref: #directives-and-multiple-files36111
|
||||||
Node: Comment blocks36498
|
Node: Comment blocks36775
|
||||||
Ref: #comment-blocks36681
|
Ref: #comment-blocks36958
|
||||||
Node: Including other files36857
|
Node: Including other files37134
|
||||||
Ref: #including-other-files37037
|
Ref: #including-other-files37314
|
||||||
Node: Default year37445
|
Node: Default year37722
|
||||||
Ref: #default-year37614
|
Ref: #default-year37891
|
||||||
Node: Declaring commodities38021
|
Node: Declaring commodities38298
|
||||||
Ref: #declaring-commodities38204
|
Ref: #declaring-commodities38481
|
||||||
Node: Default commodity39877
|
Node: Default commodity40287
|
||||||
Ref: #default-commodity40053
|
Ref: #default-commodity40463
|
||||||
Node: Market prices40942
|
Node: Market prices41352
|
||||||
Ref: #market-prices41107
|
Ref: #market-prices41517
|
||||||
Node: Declaring accounts41948
|
Node: Declaring accounts42358
|
||||||
Ref: #declaring-accounts42124
|
Ref: #declaring-accounts42534
|
||||||
Node: Account comments43049
|
Node: Account comments43459
|
||||||
Ref: #account-comments43212
|
Ref: #account-comments43622
|
||||||
Node: Account subdirectives43636
|
Node: Account subdirectives44046
|
||||||
Ref: #account-subdirectives43831
|
Ref: #account-subdirectives44241
|
||||||
Node: Account types44144
|
Node: Account types44554
|
||||||
Ref: #account-types44328
|
Ref: #account-types44738
|
||||||
Node: Account display order45967
|
Node: Account display order46377
|
||||||
Ref: #account-display-order46137
|
Ref: #account-display-order46547
|
||||||
Node: Rewriting accounts47288
|
Node: Rewriting accounts47698
|
||||||
Ref: #rewriting-accounts47473
|
Ref: #rewriting-accounts47883
|
||||||
Node: Basic aliases48230
|
Node: Basic aliases48640
|
||||||
Ref: #basic-aliases48376
|
Ref: #basic-aliases48786
|
||||||
Node: Regex aliases49080
|
Node: Regex aliases49490
|
||||||
Ref: #regex-aliases49252
|
Ref: #regex-aliases49662
|
||||||
Node: Combining aliases49970
|
Node: Combining aliases50380
|
||||||
Ref: #combining-aliases50163
|
Ref: #combining-aliases50573
|
||||||
Node: Aliases and multiple files51439
|
Node: Aliases and multiple files51849
|
||||||
Ref: #aliases-and-multiple-files51648
|
Ref: #aliases-and-multiple-files52058
|
||||||
Node: end aliases52227
|
Node: end aliases52637
|
||||||
Ref: #end-aliases52384
|
Ref: #end-aliases52794
|
||||||
Node: Default parent account52485
|
Node: Default parent account52895
|
||||||
Ref: #default-parent-account52653
|
Ref: #default-parent-account53063
|
||||||
Node: Periodic transactions53537
|
Node: Periodic transactions53947
|
||||||
Ref: #periodic-transactions53712
|
Ref: #periodic-transactions54122
|
||||||
Node: Periodic rule syntax55584
|
Node: Periodic rule syntax55994
|
||||||
Ref: #periodic-rule-syntax55790
|
Ref: #periodic-rule-syntax56200
|
||||||
Node: Two spaces between period expression and description!56494
|
Node: Two spaces between period expression and description!56904
|
||||||
Ref: #two-spaces-between-period-expression-and-description56813
|
Ref: #two-spaces-between-period-expression-and-description57223
|
||||||
Node: Forecasting with periodic transactions57497
|
Node: Forecasting with periodic transactions57907
|
||||||
Ref: #forecasting-with-periodic-transactions57802
|
Ref: #forecasting-with-periodic-transactions58212
|
||||||
Node: Budgeting with periodic transactions59828
|
Node: Budgeting with periodic transactions60238
|
||||||
Ref: #budgeting-with-periodic-transactions60067
|
Ref: #budgeting-with-periodic-transactions60477
|
||||||
Node: Auto postings60516
|
Node: Auto postings60926
|
||||||
Ref: #auto-postings60656
|
Ref: #auto-postings61066
|
||||||
Node: Auto postings and multiple files62835
|
Node: Auto postings and multiple files63245
|
||||||
Ref: #auto-postings-and-multiple-files63039
|
Ref: #auto-postings-and-multiple-files63449
|
||||||
Node: Auto postings and dates63248
|
Node: Auto postings and dates63658
|
||||||
Ref: #auto-postings-and-dates63522
|
Ref: #auto-postings-and-dates63932
|
||||||
Node: Auto postings and transaction balancing / inferred amounts / balance assertions63697
|
Node: Auto postings and transaction balancing / inferred amounts / balance assertions64107
|
||||||
Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions64048
|
Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions64458
|
||||||
Node: Auto posting tags64390
|
Node: Auto posting tags64800
|
||||||
Ref: #auto-posting-tags64605
|
Ref: #auto-posting-tags65015
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
|
||||||
|
|||||||
@ -429,11 +429,16 @@ FILE FORMAT
|
|||||||
see fewer decimal places in reports, use a commodity directive to over-
|
see fewer decimal places in reports, use a commodity directive to over-
|
||||||
ride that.
|
ride that.
|
||||||
|
|
||||||
|
hledger uses banker's rounding: it rounds to the nearest even number,
|
||||||
|
eg 0.5 displayed with zero decimal places is "0"). (Note, prior to
|
||||||
|
hledger 1.17.1 this could vary if hledger happened to be built with an
|
||||||
|
old version of Decimal (<0.5.1); since 1.17.1 it's guaranteed.)
|
||||||
|
|
||||||
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. Note transaction prices are
|
record purchases of a foreign currency. Note transaction prices are
|
||||||
fixed at the time of the transaction, and do not change over time. See
|
fixed at the time of the transaction, and do not change over time. See
|
||||||
also market prices, which represent prevailing exchange rates on a cer-
|
also market prices, which represent prevailing exchange rates on a cer-
|
||||||
tain date.
|
tain date.
|
||||||
@ -462,7 +467,7 @@ FILE FORMAT
|
|||||||
(Ledger users: Ledger uses a different syntax for fixed prices, {=UNIT-
|
(Ledger users: Ledger uses a different syntax for fixed prices, {=UNIT-
|
||||||
PRICE}, which hledger currently ignores).
|
PRICE}, which hledger currently ignores).
|
||||||
|
|
||||||
Use the -B/--cost flag to convert amounts to their transaction price's
|
Use the -B/--cost flag to convert amounts to their transaction price's
|
||||||
commodity, if any. (mnemonic: "B" is from "cost Basis", as in Ledger).
|
commodity, if any. (mnemonic: "B" is from "cost Basis", as in Ledger).
|
||||||
Eg here is how -B affects the balance report for the example above:
|
Eg here is how -B affects the balance report for the example above:
|
||||||
|
|
||||||
@ -473,8 +478,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:
|
||||||
|
|
||||||
@ -487,9 +492,9 @@ FILE FORMAT
|
|||||||
EUR100 assets:euros
|
EUR100 assets:euros
|
||||||
|
|
||||||
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, for example, = EXPECTEDBALANCE following a posting's
|
These look like, for example, = EXPECTEDBALANCE following a posting's
|
||||||
amount. Eg here we assert the expected dollar balance in accounts a
|
amount. Eg here we assert the expected dollar balance in accounts a
|
||||||
and b after each posting:
|
and b after each posting:
|
||||||
|
|
||||||
2013/1/1
|
2013/1/1
|
||||||
@ -501,32 +506,32 @@ 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
|
||||||
-I/--ignore-assertions flag, which can be useful for troubleshooting or
|
-I/--ignore-assertions flag, which can be useful for troubleshooting or
|
||||||
for reading Ledger files. (Note: this flag currently does not disable
|
for reading Ledger files. (Note: this flag currently does not disable
|
||||||
balance assignments, below).
|
balance assignments, below).
|
||||||
|
|
||||||
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 differently-
|
So, hledger balance assertions keep working if you reorder differently-
|
||||||
dated transactions within the journal. But if you reorder same-dated
|
dated transactions within the journal. But if you reorder same-dated
|
||||||
transactions or postings, assertions might break and require updating.
|
transactions or postings, assertions might break and require updating.
|
||||||
This order dependence does bring an advantage: precise control over the
|
This order dependence does bring an advantage: precise control over the
|
||||||
order of postings and assertions within a day, so you can assert intra-
|
order of postings and assertions within a day, so you can assert intra-
|
||||||
day balances.
|
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
|
||||||
@ -534,15 +539,15 @@ 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. This is how assertions
|
(possibly multi-commodity) account balance. This is how assertions
|
||||||
work in Ledger also. We could call this a "partial" balance assertion.
|
work in Ledger also. We could call this a "partial" balance assertion.
|
||||||
|
|
||||||
To assert the balance of more than one commodity in an account, you can
|
To assert the balance of more than one commodity in an account, you can
|
||||||
write multiple postings, each asserting one commodity's balance.
|
write multiple postings, each asserting one commodity's balance.
|
||||||
|
|
||||||
You can make a stronger "total" balance assertion by writing a double
|
You can make a stronger "total" balance assertion by writing a double
|
||||||
equals sign (== EXPECTEDBALANCE). This asserts that there are no other
|
equals sign (== EXPECTEDBALANCE). This asserts that there are no other
|
||||||
unasserted commodities in the account (or, that their balance is 0).
|
unasserted commodities in the account (or, that their balance is 0).
|
||||||
|
|
||||||
@ -562,7 +567,7 @@ FILE FORMAT
|
|||||||
a 0 == $1
|
a 0 == $1
|
||||||
|
|
||||||
It's not yet possible to make a complete assertion about a balance that
|
It's not yet possible to make a complete assertion about a balance that
|
||||||
has multiple commodities. One workaround is to isolate each commodity
|
has multiple commodities. One workaround is to isolate each commodity
|
||||||
into its own subaccount:
|
into its own subaccount:
|
||||||
|
|
||||||
2013/1/1
|
2013/1/1
|
||||||
@ -576,21 +581,21 @@ FILE FORMAT
|
|||||||
a:euro 0 == 1EUR
|
a:euro 0 == 1EUR
|
||||||
|
|
||||||
Assertions and prices
|
Assertions and prices
|
||||||
Balance assertions ignore transaction prices, and should normally be
|
Balance assertions ignore transaction prices, and should normally be
|
||||||
written without one:
|
written without one:
|
||||||
|
|
||||||
2019/1/1
|
2019/1/1
|
||||||
(a) $1 @ EUR1 = $1
|
(a) $1 @ EUR1 = $1
|
||||||
|
|
||||||
We do allow prices to be written there, however, and print shows them,
|
We do allow prices to be written there, however, and print shows them,
|
||||||
even though they don't affect whether the assertion passes or fails.
|
even though they don't affect whether the assertion passes or fails.
|
||||||
This is for backward compatibility (hledger's close command used to
|
This is for backward compatibility (hledger's close command used to
|
||||||
generate balance assertions with prices), and because balance assign-
|
generate balance assertions with prices), and because balance assign-
|
||||||
ments do use them (see below).
|
ments do use them (see below).
|
||||||
|
|
||||||
Assertions and subaccounts
|
Assertions and subaccounts
|
||||||
The balance assertions above (= and ==) do not count the balance from
|
The balance assertions above (= and ==) do not count the balance from
|
||||||
subaccounts; they check the account's exclusive balance only. You can
|
subaccounts; they check the account's exclusive balance only. You can
|
||||||
assert the balance including subaccounts by writing =* or ==*, eg:
|
assert the balance including subaccounts by writing =* or ==*, eg:
|
||||||
|
|
||||||
2019/1/1
|
2019/1/1
|
||||||
@ -604,16 +609,16 @@ 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.
|
||||||
|
|
||||||
Assertions and precision
|
Assertions and precision
|
||||||
Balance assertions compare the exactly calculated amounts, which are
|
Balance assertions compare the exactly calculated amounts, which are
|
||||||
not always what is shown by reports. Eg a commodity directive may
|
not always what is shown by reports. Eg a commodity directive may
|
||||||
limit the display precision, but this will not affect balance asser-
|
limit the display precision, but this will not affect balance asser-
|
||||||
tions. Balance assertion failure messages show exact amounts.
|
tions. Balance assertion failure messages show exact amounts.
|
||||||
|
|
||||||
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
|
||||||
@ -631,14 +636,14 @@ 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.
|
||||||
|
|
||||||
Balance assignments and prices
|
Balance assignments and prices
|
||||||
A transaction price in a balance assignment will cause the calculated
|
A transaction price in a balance assignment will cause the calculated
|
||||||
amount to have that price attached:
|
amount to have that price attached:
|
||||||
|
|
||||||
2019/1/1
|
2019/1/1
|
||||||
@ -649,85 +654,84 @@ FILE FORMAT
|
|||||||
(a) $1 @ EUR2 = $1 @ EUR2
|
(a) $1 @ EUR2 = $1 @ EUR2
|
||||||
|
|
||||||
Directives
|
Directives
|
||||||
A directive is a line in the journal beginning with a special keyword,
|
A directive is a line in the journal beginning with a special keyword,
|
||||||
that influences how the journal is processed. hledger's directives are
|
that influences how the journal is processed. hledger's directives are
|
||||||
based on a subset of Ledger's, but there are many differences (and also
|
based on a subset of Ledger's, but there are many differences (and also
|
||||||
some differences between hledger versions).
|
some differences between hledger versions).
|
||||||
|
|
||||||
Directives' behaviour and interactions can get a little bit complex, so
|
Directives' behaviour and interactions can get a little bit complex, so
|
||||||
here is a table summarising the directives and their effects, with
|
here is a table summarising the directives and their effects, with
|
||||||
links to more detailed docs.
|
links to more detailed docs.
|
||||||
|
|
||||||
direc- end di- subdi- purpose can affect (as of
|
direc- end di- subdi- purpose can affect (as of
|
||||||
tive rective rec- 2018/06)
|
tive rective rec- 2018/06)
|
||||||
tives
|
tives
|
||||||
------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------
|
||||||
account any document account names, de- all entries in all
|
account any document account names, de- all entries in all
|
||||||
text clare account types & dis- files, before or
|
text clare account types & dis- files, before or
|
||||||
play order after
|
play order after
|
||||||
alias end rewrite account names following in-
|
alias end rewrite account names following in-
|
||||||
aliases line/included en-
|
aliases line/included en-
|
||||||
tries until end of
|
tries until end of
|
||||||
current file or end
|
current file or end
|
||||||
directive
|
directive
|
||||||
apply end apply prepend a common parent to following in-
|
apply end apply prepend a common parent to following in-
|
||||||
account account account names line/included en-
|
account account account names line/included en-
|
||||||
tries until end of
|
tries until end of
|
||||||
current file or end
|
current file or end
|
||||||
directive
|
directive
|
||||||
comment end com- ignore part of journal following in-
|
comment end com- ignore part of journal following in-
|
||||||
ment line/included en-
|
ment line/included en-
|
||||||
tries until end of
|
tries until end of
|
||||||
current file or end
|
current file or end
|
||||||
directive
|
directive
|
||||||
commod- format declare a commodity and its number notation:
|
commod- format declare a commodity and its number notation:
|
||||||
ity number notation & display following entries
|
ity number notation & display following entries
|
||||||
style in that commodity
|
style in that commodity
|
||||||
in all files; dis-
|
in all files; dis-
|
||||||
play style: amounts
|
play style: amounts
|
||||||
of that commodity
|
of that commodity
|
||||||
in reports
|
in reports
|
||||||
D declare a commodity to be default commodity:
|
D declare a commodity to be default commodity:
|
||||||
used for commodityless following commod-
|
used for commodityless following commod-
|
||||||
amounts, and its number no- ityless entries un-
|
amounts, and its number no- ityless entries un-
|
||||||
tation & display style til end of current
|
tation & display style til end of current
|
||||||
file; number nota-
|
file; number nota-
|
||||||
tion: following en-
|
tion: following en-
|
||||||
tries in that com-
|
tries in that com-
|
||||||
modity until end of
|
modity until end of
|
||||||
current file; dis-
|
current file; dis-
|
||||||
play style: amounts
|
play style: amounts
|
||||||
of that commodity
|
of that commodity
|
||||||
in reports
|
in reports
|
||||||
include include entries/directives what the included
|
include include entries/directives what the included
|
||||||
from another file directives affect
|
from another file directives affect
|
||||||
P declare a market price for a amounts of that
|
P declare a market price for a amounts of that
|
||||||
commodity commodity in re-
|
commodity commodity in re-
|
||||||
ports, when -V is
|
ports, when -V is
|
||||||
used
|
used
|
||||||
Y declare a year for yearless following in-
|
Y declare a year for yearless following in-
|
||||||
dates line/included en-
|
dates line/included en-
|
||||||
tries until end of
|
tries until end of
|
||||||
current file
|
current file
|
||||||
= declare an auto posting all entries in par-
|
= declare an auto posting all entries in par-
|
||||||
rule, adding postings to ent/current/child
|
rule, adding postings to ent/current/child
|
||||||
other transactions files (but not sib-
|
other transactions files (but not sib-
|
||||||
ling files, see
|
ling files, see
|
||||||
#1212)
|
#1212)
|
||||||
|
|
||||||
And some definitions:
|
And some definitions:
|
||||||
|
|
||||||
subdi- optional indented directive line immediately following a parent
|
subdi- optional indented directive line immediately following a parent
|
||||||
rec- directive
|
rec- directive
|
||||||
tive
|
tive
|
||||||
number how to interpret numbers when parsing journal entries (the iden-
|
number how to interpret numbers when parsing journal entries (the iden-
|
||||||
nota- tity of the decimal separator character). (Currently each com-
|
nota- tity of the decimal separator character). (Currently each com-
|
||||||
tion modity can have its own notation, even in the same file.)
|
tion modity can have its own notation, even in the same file.)
|
||||||
|
dis- how to display amounts of a commodity in reports (symbol side
|
||||||
dis- how to display amounts of a commodity in reports (symbol side
|
|
||||||
play and spacing, digit groups, decimal separator, decimal places)
|
play and spacing, digit groups, decimal separator, decimal places)
|
||||||
style
|
style
|
||||||
direc- which entries and (when there are multiple files) which files
|
direc- which entries and (when there are multiple files) which files
|
||||||
tive are affected by a directive
|
tive are affected by a directive
|
||||||
scope
|
scope
|
||||||
|
|
||||||
@ -736,41 +740,41 @@ FILE FORMAT
|
|||||||
ports). Some directives have multiple effects.
|
ports). Some directives have multiple effects.
|
||||||
|
|
||||||
Directives and multiple files
|
Directives and multiple files
|
||||||
If you use multiple -f/--file options, or the include directive,
|
If you use multiple -f/--file options, or the include directive,
|
||||||
hledger will process multiple input files. But note that directives
|
hledger will process multiple input files. But note that directives
|
||||||
which affect input (see above) typically last only until the end of the
|
which affect input (see above) typically last only until the end of the
|
||||||
file in which they occur.
|
file in which they occur.
|
||||||
|
|
||||||
This may seem inconvenient, but it's intentional; it makes reports sta-
|
This may seem inconvenient, but it's intentional; it makes reports sta-
|
||||||
ble and deterministic, independent of the order of input. Otherwise
|
ble and deterministic, independent of the order of input. Otherwise
|
||||||
you could see different numbers if you happened to write -f options in
|
you could see different numbers if you happened to write -f options in
|
||||||
a different order, or if you moved includes around while cleaning up
|
a different order, or if you moved includes around while cleaning up
|
||||||
your files.
|
your files.
|
||||||
|
|
||||||
It can be surprising though; for example, it means that alias direc-
|
It can be surprising though; for example, it means that alias direc-
|
||||||
tives do not affect parent or sibling files (see below).
|
tives do not affect parent or sibling files (see below).
|
||||||
|
|
||||||
Comment blocks
|
Comment blocks
|
||||||
A line containing just comment starts a commented region of the file,
|
A line containing just comment starts a commented region of the file,
|
||||||
and a line containing just end comment (or the end of the current file)
|
and a line containing just end comment (or the end of the current file)
|
||||||
ends it. See also comments.
|
ends it. See also comments.
|
||||||
|
|
||||||
Including other files
|
Including other files
|
||||||
You can pull in the content of additional files by writing an include
|
You can pull in the content of additional files by writing an include
|
||||||
directive, like this:
|
directive, like this:
|
||||||
|
|
||||||
include path/to/file.journal
|
include path/to/file.journal
|
||||||
|
|
||||||
If the path does not begin with a slash, it is relative to the current
|
If the path does not begin with a slash, it is relative to the current
|
||||||
file. The include file path may contain common glob patterns (e.g.
|
file. The include file path may contain common glob patterns (e.g.
|
||||||
*).
|
*).
|
||||||
|
|
||||||
The include directive can only be used in journal files. It can in-
|
The include directive can only be used in journal files. It can in-
|
||||||
clude journal, timeclock or timedot files, but not CSV files.
|
clude journal, timeclock or timedot files, but not CSV files.
|
||||||
|
|
||||||
Default year
|
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
|
||||||
specify a year. This is a line beginning with Y followed by the year.
|
specify a year. This is a line beginning with Y followed by the year.
|
||||||
Eg:
|
Eg:
|
||||||
|
|
||||||
Y2009 ; set default year to 2009
|
Y2009 ; set default year to 2009
|
||||||
@ -792,19 +796,19 @@ FILE FORMAT
|
|||||||
Declaring commodities
|
Declaring commodities
|
||||||
The commodity directive has several functions:
|
The commodity directive has several functions:
|
||||||
|
|
||||||
1. It declares commodities which may be used in the journal. This is
|
1. It declares commodities which may be used in the journal. This is
|
||||||
currently not enforced, but can serve as documentation.
|
currently not enforced, but can serve as documentation.
|
||||||
|
|
||||||
2. It declares what decimal mark character (period or comma) to expect
|
2. It declares what decimal mark character (period or comma) to expect
|
||||||
when parsing input - useful to disambiguate international number
|
when parsing input - useful to disambiguate international number
|
||||||
formats in your data. (Without this, hledger will parse both 1,000
|
formats in your data. (Without this, hledger will parse both 1,000
|
||||||
and 1.000 as 1).
|
and 1.000 as 1).
|
||||||
|
|
||||||
3. It declares the amount display style to use in output - decimal and
|
3. It declares the amount display style to use in output - decimal and
|
||||||
digit group marks, number of decimal places, symbol placement etc.
|
digit group marks, number of decimal places, symbol placement etc.
|
||||||
|
|
||||||
You are likely to run into one of the problems solved by commodity di-
|
You are likely to run into one of the problems solved by commodity di-
|
||||||
rectives, sooner or later, so it's a good idea to just always use them
|
rectives, sooner or later, so it's a good idea to just always use them
|
||||||
to declare your commodities.
|
to declare your commodities.
|
||||||
|
|
||||||
A commodity directive is just the word commodity followed by an amount.
|
A commodity directive is just the word commodity followed by an amount.
|
||||||
@ -817,8 +821,8 @@ FILE FORMAT
|
|||||||
; separating thousands with comma.
|
; separating thousands with comma.
|
||||||
commodity 1,000.0000 AAAA
|
commodity 1,000.0000 AAAA
|
||||||
|
|
||||||
or on multiple lines, using the "format" subdirective. (In this case
|
or on multiple lines, using the "format" subdirective. (In this case
|
||||||
the commodity symbol appears twice and should be the same in both
|
the commodity symbol appears twice and should be the same in both
|
||||||
places.):
|
places.):
|
||||||
|
|
||||||
; commodity SYMBOL
|
; commodity SYMBOL
|
||||||
@ -831,9 +835,12 @@ FILE FORMAT
|
|||||||
format INR 1,00,00,000.00
|
format INR 1,00,00,000.00
|
||||||
|
|
||||||
The quantity of the amount does not matter; only the format is signifi-
|
The quantity of the amount does not matter; only the format is signifi-
|
||||||
cant. The number must include a decimal mark: either a period or a
|
cant. The number must include a decimal mark: either a period or a
|
||||||
comma, followed by 0 or more decimal digits.
|
comma, followed by 0 or more decimal digits.
|
||||||
|
|
||||||
|
Note hledger normally uses banker's rounding, so 0.5 displayed with
|
||||||
|
zero decimal digits is "0". (More at Amount display style.)
|
||||||
|
|
||||||
Default commodity
|
Default commodity
|
||||||
The D directive sets a default commodity, to be used for amounts with-
|
The D directive sets a default commodity, to be used for amounts with-
|
||||||
out a commodity symbol (ie, plain numbers). This commodity will be ap-
|
out a commodity symbol (ie, plain numbers). This commodity will be ap-
|
||||||
|
|||||||
@ -351,13 +351,14 @@ Budget performance in 2017/11/01-2017/12/31:
|
|||||||
----------------------++----------------------------------------------------
|
----------------------++----------------------------------------------------
|
||||||
|| 0 [ 0] 0 [ 0]
|
|| 0 [ 0] 0 [ 0]
|
||||||
|
|
||||||
Note this is different from a normal balance report in several ways:
|
This is different from a normal balance report in several ways:
|
||||||
|
|
||||||
- Only accounts with budget goals during the report period are shown,
|
- Only accounts with budget goals during the report period are shown,
|
||||||
by default.
|
by default.
|
||||||
|
|
||||||
- In each column, in square brackets after the actual amount, budgeted
|
- In each column, in square brackets after the actual amount, budget
|
||||||
amounts are shown, along with the percentage of budget used.
|
goal amounts are shown, and the actual/goal percentage. (Note:
|
||||||
|
budget goals should be in the same commodity as the actual amount.)
|
||||||
|
|
||||||
- All parent accounts are always shown, even in flat mode. Eg assets,
|
- All parent accounts are always shown, even in flat mode. Eg assets,
|
||||||
assets:bank, and expenses above.
|
assets:bank, and expenses above.
|
||||||
|
|||||||
@ -2838,13 +2838,15 @@ Budget performance in 2017/11/01-2017/12/31:
|
|||||||
\f[R]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
Note this is different from a normal balance report in several ways:
|
This is different from a normal balance report in several ways:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Only accounts with budget goals during the report period are shown, by
|
Only accounts with budget goals during the report period are shown, by
|
||||||
default.
|
default.
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
In each column, in square brackets after the actual amount, budgeted
|
In each column, in square brackets after the actual amount, budget goal
|
||||||
amounts are shown, along with the percentage of budget used.
|
amounts are shown, and the actual/goal percentage.
|
||||||
|
(Note: budget goals should be in the same commodity as the actual
|
||||||
|
amount.)
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
All parent accounts are always shown, even in flat mode.
|
All parent accounts are always shown, even in flat mode.
|
||||||
Eg assets, assets:bank, and expenses above.
|
Eg assets, assets:bank, and expenses above.
|
||||||
|
|||||||
@ -2319,14 +2319,14 @@ Budget performance in 2017/11/01-2017/12/31:
|
|||||||
----------------------++----------------------------------------------------
|
----------------------++----------------------------------------------------
|
||||||
|| 0 [ 0] 0 [ 0]
|
|| 0 [ 0] 0 [ 0]
|
||||||
|
|
||||||
Note this is different from a normal balance report in several ways:
|
This is different from a normal balance report in several ways:
|
||||||
|
|
||||||
* Only accounts with budget goals during the report period are shown,
|
* Only accounts with budget goals during the report period are shown,
|
||||||
by default.
|
by default.
|
||||||
|
|
||||||
* In each column, in square brackets after the actual amount,
|
* In each column, in square brackets after the actual amount, budget
|
||||||
budgeted amounts are shown, along with the percentage of budget
|
goal amounts are shown, and the actual/goal percentage. (Note:
|
||||||
used.
|
budget goals should be in the same commodity as the actual amount.)
|
||||||
|
|
||||||
* All parent accounts are always shown, even in flat mode. Eg
|
* All parent accounts are always shown, even in flat mode. Eg
|
||||||
assets, assets:bank, and expenses above.
|
assets, assets:bank, and expenses above.
|
||||||
@ -3832,89 +3832,89 @@ Node: Multicolumn balance report73444
|
|||||||
Ref: #multicolumn-balance-report73624
|
Ref: #multicolumn-balance-report73624
|
||||||
Node: Budget report78886
|
Node: Budget report78886
|
||||||
Ref: #budget-report79029
|
Ref: #budget-report79029
|
||||||
Node: Nested budgets84231
|
Node: Nested budgets84295
|
||||||
Ref: #nested-budgets84343
|
Ref: #nested-budgets84407
|
||||||
Ref: #output-format-187824
|
Ref: #output-format-187888
|
||||||
Node: balancesheet88021
|
Node: balancesheet88085
|
||||||
Ref: #balancesheet88157
|
Ref: #balancesheet88221
|
||||||
Node: balancesheetequity89623
|
Node: balancesheetequity89687
|
||||||
Ref: #balancesheetequity89772
|
Ref: #balancesheetequity89836
|
||||||
Node: cashflow90495
|
Node: cashflow90559
|
||||||
Ref: #cashflow90623
|
Ref: #cashflow90687
|
||||||
Node: check-dates91802
|
Node: check-dates91866
|
||||||
Ref: #check-dates91929
|
Ref: #check-dates91993
|
||||||
Node: check-dupes92208
|
Node: check-dupes92272
|
||||||
Ref: #check-dupes92332
|
Ref: #check-dupes92396
|
||||||
Node: close92625
|
Node: close92689
|
||||||
Ref: #close92739
|
Ref: #close92803
|
||||||
Node: close usage94261
|
Node: close usage94325
|
||||||
Ref: #close-usage94354
|
Ref: #close-usage94418
|
||||||
Node: commodities97167
|
Node: commodities97231
|
||||||
Ref: #commodities97294
|
Ref: #commodities97358
|
||||||
Node: descriptions97376
|
Node: descriptions97440
|
||||||
Ref: #descriptions97504
|
Ref: #descriptions97568
|
||||||
Node: diff97685
|
Node: diff97749
|
||||||
Ref: #diff97791
|
Ref: #diff97855
|
||||||
Node: files98838
|
Node: files98902
|
||||||
Ref: #files98938
|
Ref: #files99002
|
||||||
Node: help99085
|
Node: help99149
|
||||||
Ref: #help99185
|
Ref: #help99249
|
||||||
Node: import100266
|
Node: import100330
|
||||||
Ref: #import100380
|
Ref: #import100444
|
||||||
Node: Importing balance assignments101273
|
Node: Importing balance assignments101337
|
||||||
Ref: #importing-balance-assignments101421
|
Ref: #importing-balance-assignments101485
|
||||||
Node: incomestatement102070
|
Node: incomestatement102134
|
||||||
Ref: #incomestatement102203
|
Ref: #incomestatement102267
|
||||||
Node: notes103690
|
Node: notes103754
|
||||||
Ref: #notes103803
|
Ref: #notes103867
|
||||||
Node: payees103929
|
Node: payees103993
|
||||||
Ref: #payees104035
|
Ref: #payees104099
|
||||||
Node: prices104193
|
Node: prices104257
|
||||||
Ref: #prices104299
|
Ref: #prices104363
|
||||||
Node: print104640
|
Node: print104704
|
||||||
Ref: #print104750
|
Ref: #print104814
|
||||||
Node: print-unique109536
|
Node: print-unique109600
|
||||||
Ref: #print-unique109662
|
Ref: #print-unique109726
|
||||||
Node: register109947
|
Node: register110011
|
||||||
Ref: #register110074
|
Ref: #register110138
|
||||||
Node: Custom register output114246
|
Node: Custom register output114310
|
||||||
Ref: #custom-register-output114375
|
Ref: #custom-register-output114439
|
||||||
Node: register-match115712
|
Node: register-match115776
|
||||||
Ref: #register-match115846
|
Ref: #register-match115910
|
||||||
Node: rewrite116197
|
Node: rewrite116261
|
||||||
Ref: #rewrite116312
|
Ref: #rewrite116376
|
||||||
Node: Re-write rules in a file118167
|
Node: Re-write rules in a file118231
|
||||||
Ref: #re-write-rules-in-a-file118301
|
Ref: #re-write-rules-in-a-file118365
|
||||||
Node: Diff output format119511
|
Node: Diff output format119575
|
||||||
Ref: #diff-output-format119680
|
Ref: #diff-output-format119744
|
||||||
Node: rewrite vs print --auto120772
|
Node: rewrite vs print --auto120836
|
||||||
Ref: #rewrite-vs.-print---auto120951
|
Ref: #rewrite-vs.-print---auto121015
|
||||||
Node: roi121507
|
Node: roi121571
|
||||||
Ref: #roi121605
|
Ref: #roi121669
|
||||||
Node: stats122617
|
Node: stats122681
|
||||||
Ref: #stats122716
|
Ref: #stats122780
|
||||||
Node: tags123504
|
Node: tags123568
|
||||||
Ref: #tags123602
|
Ref: #tags123666
|
||||||
Node: test123896
|
Node: test123960
|
||||||
Ref: #test124004
|
Ref: #test124068
|
||||||
Node: Add-on Commands124751
|
Node: Add-on Commands124815
|
||||||
Ref: #add-on-commands124868
|
Ref: #add-on-commands124932
|
||||||
Node: ui126211
|
Node: ui126275
|
||||||
Ref: #ui126299
|
Ref: #ui126363
|
||||||
Node: web126353
|
Node: web126417
|
||||||
Ref: #web126456
|
Ref: #web126520
|
||||||
Node: iadd126572
|
Node: iadd126636
|
||||||
Ref: #iadd126683
|
Ref: #iadd126747
|
||||||
Node: interest126765
|
Node: interest126829
|
||||||
Ref: #interest126872
|
Ref: #interest126936
|
||||||
Node: ENVIRONMENT127112
|
Node: ENVIRONMENT127176
|
||||||
Ref: #environment127224
|
Ref: #environment127288
|
||||||
Node: FILES128053
|
Node: FILES128117
|
||||||
Ref: #files-1128156
|
Ref: #files-1128220
|
||||||
Node: LIMITATIONS128369
|
Node: LIMITATIONS128433
|
||||||
Ref: #limitations128488
|
Ref: #limitations128552
|
||||||
Node: TROUBLESHOOTING129230
|
Node: TROUBLESHOOTING129294
|
||||||
Ref: #troubleshooting129343
|
Ref: #troubleshooting129407
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
|
||||||
|
|||||||
@ -1995,27 +1995,28 @@ COMMANDS
|
|||||||
----------------------++----------------------------------------------------
|
----------------------++----------------------------------------------------
|
||||||
|| 0 [ 0] 0 [ 0]
|
|| 0 [ 0] 0 [ 0]
|
||||||
|
|
||||||
Note this is different from a normal balance report in several ways:
|
This is different from a normal balance report in several ways:
|
||||||
|
|
||||||
o Only accounts with budget goals during the report period are shown,
|
o Only accounts with budget goals during the report period are shown,
|
||||||
by default.
|
by default.
|
||||||
|
|
||||||
o In each column, in square brackets after the actual amount, budgeted
|
o In each column, in square brackets after the actual amount, budget
|
||||||
amounts are shown, along with the percentage of budget used.
|
goal amounts are shown, and the actual/goal percentage. (Note: bud-
|
||||||
|
get goals should be in the same commodity as the actual amount.)
|
||||||
|
|
||||||
o All parent accounts are always shown, even in flat mode. Eg assets,
|
o All parent accounts are always shown, even in flat mode. Eg assets,
|
||||||
assets:bank, and expenses above.
|
assets:bank, and expenses above.
|
||||||
|
|
||||||
o Amounts always include all subaccounts, budgeted or unbudgeted, even
|
o Amounts always include all subaccounts, budgeted or unbudgeted, even
|
||||||
in flat mode.
|
in flat mode.
|
||||||
|
|
||||||
This means that the numbers displayed will not always add up! Eg above,
|
This means that the numbers displayed will not always add up! Eg above,
|
||||||
the expenses actual amount includes the gifts and supplies transac-
|
the expenses actual amount includes the gifts and supplies transac-
|
||||||
tions, but the expenses:gifts and expenses:supplies accounts are not
|
tions, but the expenses:gifts and expenses:supplies accounts are not
|
||||||
shown, as they have no budget amounts declared.
|
shown, as they have no budget amounts declared.
|
||||||
|
|
||||||
This can be confusing. When you need to make things clearer, use the
|
This can be confusing. When you need to make things clearer, use the
|
||||||
-E/--empty flag, which will reveal all accounts including unbudgeted
|
-E/--empty flag, which will reveal all accounts including unbudgeted
|
||||||
ones, giving the full picture. Eg:
|
ones, giving the full picture. Eg:
|
||||||
|
|
||||||
$ hledger balance -M --budget --empty
|
$ hledger balance -M --budget --empty
|
||||||
@ -2057,12 +2058,12 @@ COMMANDS
|
|||||||
For more examples, see Budgeting and Forecasting.
|
For more examples, see Budgeting and Forecasting.
|
||||||
|
|
||||||
Nested budgets
|
Nested budgets
|
||||||
You can add budgets to any account in your account hierarchy. If you
|
You can add budgets to any account in your account hierarchy. If you
|
||||||
have budgets on both parent account and some of its children, then bud-
|
have budgets on both parent account and some of its children, then bud-
|
||||||
get(s) of the child account(s) would be added to the budget of their
|
get(s) of the child account(s) would be added to the budget of their
|
||||||
parent, much like account balances behave.
|
parent, much like account balances behave.
|
||||||
|
|
||||||
In the most simple case this means that once you add a budget to any
|
In the most simple case this means that once you add a budget to any
|
||||||
account, all its parents would have budget as well.
|
account, all its parents would have budget as well.
|
||||||
|
|
||||||
To illustrate this, consider the following budget:
|
To illustrate this, consider the following budget:
|
||||||
@ -2072,13 +2073,13 @@ COMMANDS
|
|||||||
expenses:personal:electronics $100.00
|
expenses:personal:electronics $100.00
|
||||||
liabilities
|
liabilities
|
||||||
|
|
||||||
With this, monthly budget for electronics is defined to be $100 and
|
With this, monthly budget for electronics is defined to be $100 and
|
||||||
budget for personal expenses is an additional $1000, which implicitly
|
budget for personal expenses is an additional $1000, which implicitly
|
||||||
means that budget for both expenses:personal and expenses is $1100.
|
means that budget for both expenses:personal and expenses is $1100.
|
||||||
|
|
||||||
Transactions in expenses:personal:electronics will be counted both to-
|
Transactions in expenses:personal:electronics will be counted both to-
|
||||||
wards its $100 budget and $1100 of expenses:personal , and transactions
|
wards its $100 budget and $1100 of expenses:personal , and transactions
|
||||||
in any other subaccount of expenses:personal would be counted towards
|
in any other subaccount of expenses:personal would be counted towards
|
||||||
only towards the budget of expenses:personal.
|
only towards the budget of expenses:personal.
|
||||||
|
|
||||||
For example, let's consider these transactions:
|
For example, let's consider these transactions:
|
||||||
@ -2104,9 +2105,9 @@ COMMANDS
|
|||||||
expenses:personal $30.00
|
expenses:personal $30.00
|
||||||
liabilities
|
liabilities
|
||||||
|
|
||||||
As you can see, we have transactions in expenses:personal:electron-
|
As you can see, we have transactions in expenses:personal:electron-
|
||||||
ics:upgrades and expenses:personal:train tickets, and since both of
|
ics:upgrades and expenses:personal:train tickets, and since both of
|
||||||
these accounts are without explicitly defined budget, these transac-
|
these accounts are without explicitly defined budget, these transac-
|
||||||
tions would be counted towards budgets of expenses:personal:electronics
|
tions would be counted towards budgets of expenses:personal:electronics
|
||||||
and expenses:personal accordingly:
|
and expenses:personal accordingly:
|
||||||
|
|
||||||
@ -2122,7 +2123,7 @@ COMMANDS
|
|||||||
-------------------------------++-------------------------------
|
-------------------------------++-------------------------------
|
||||||
|| 0 [ 0]
|
|| 0 [ 0]
|
||||||
|
|
||||||
And with --empty, we can get a better picture of budget allocation and
|
And with --empty, we can get a better picture of budget allocation and
|
||||||
consumption:
|
consumption:
|
||||||
|
|
||||||
$ hledger balance --budget -M --empty
|
$ hledger balance --budget -M --empty
|
||||||
@ -2141,17 +2142,17 @@ COMMANDS
|
|||||||
|
|
||||||
Output format
|
Output format
|
||||||
This command also supports the output destination and output format op-
|
This command also supports the output destination and output format op-
|
||||||
tions The output formats supported are txt, csv, (multicolumn non-bud-
|
tions The output formats supported are txt, csv, (multicolumn non-bud-
|
||||||
get reports only) html, and (experimental) json.
|
get reports only) html, and (experimental) json.
|
||||||
|
|
||||||
balancesheet
|
balancesheet
|
||||||
balancesheet, bs
|
balancesheet, bs
|
||||||
This command displays a simple balance sheet, showing historical ending
|
This command displays a simple balance sheet, showing historical ending
|
||||||
balances of asset and liability accounts (ignoring any report begin
|
balances of asset and liability accounts (ignoring any report begin
|
||||||
date). It assumes that these accounts are under a top-level asset or
|
date). It assumes that these accounts are under a top-level asset or
|
||||||
liability account (case insensitive, plural forms also allowed).
|
liability account (case insensitive, plural forms also allowed).
|
||||||
|
|
||||||
Note this report shows all account balances with normal positive sign
|
Note this report shows all account balances with normal positive sign
|
||||||
(like conventional financial statements, unlike balance/print/register)
|
(like conventional financial statements, unlike balance/print/register)
|
||||||
(experimental).
|
(experimental).
|
||||||
|
|
||||||
@ -2177,21 +2178,21 @@ COMMANDS
|
|||||||
0
|
0
|
||||||
|
|
||||||
With a reporting interval, multiple columns will be shown, one for each
|
With a reporting interval, multiple columns will be shown, one for each
|
||||||
report period. As with multicolumn balance reports, you can alter the
|
report period. As with multicolumn balance reports, you can alter the
|
||||||
report mode with --change/--cumulative/--historical. Normally bal-
|
report mode with --change/--cumulative/--historical. Normally bal-
|
||||||
ancesheet shows historical ending balances, which is what you need for
|
ancesheet shows historical ending balances, which is what you need for
|
||||||
a balance sheet; note this means it ignores report begin dates (and
|
a balance sheet; note this means it ignores report begin dates (and
|
||||||
-T/--row-total, since summing end balances generally does not make
|
-T/--row-total, since summing end balances generally does not make
|
||||||
sense). Instead of absolute values percentages can be displayed with
|
sense). Instead of absolute values percentages can be displayed with
|
||||||
-%.
|
-%.
|
||||||
|
|
||||||
This command also supports the output destination and output format op-
|
This command also supports the output destination and output format op-
|
||||||
tions The output formats supported are txt, csv, html, and (experimen-
|
tions The output formats supported are txt, csv, html, and (experimen-
|
||||||
tal) json.
|
tal) json.
|
||||||
|
|
||||||
balancesheetequity
|
balancesheetequity
|
||||||
balancesheetequity, bse
|
balancesheetequity, bse
|
||||||
Just like balancesheet, but also reports Equity (which it assumes is
|
Just like balancesheet, but also reports Equity (which it assumes is
|
||||||
under a top-level equity account).
|
under a top-level equity account).
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
@ -2221,15 +2222,15 @@ COMMANDS
|
|||||||
0
|
0
|
||||||
|
|
||||||
This command also supports the output destination and output format op-
|
This command also supports the output destination and output format op-
|
||||||
tions The output formats supported are txt, csv, html, and (experimen-
|
tions The output formats supported are txt, csv, html, and (experimen-
|
||||||
tal) json.
|
tal) json.
|
||||||
|
|
||||||
cashflow
|
cashflow
|
||||||
cashflow, cf
|
cashflow, cf
|
||||||
This command displays a simple cashflow statement, showing changes in
|
This command displays a simple cashflow statement, showing changes in
|
||||||
"cash" accounts. It assumes that these accounts are under a top-level
|
"cash" accounts. It assumes that these accounts are under a top-level
|
||||||
asset account (case insensitive, plural forms also allowed) and do not
|
asset account (case insensitive, plural forms also allowed) and do not
|
||||||
contain receivable or A/R in their name. Note this report shows all
|
contain receivable or A/R in their name. Note this report shows all
|
||||||
account balances with normal positive sign (like conventional financial
|
account balances with normal positive sign (like conventional financial
|
||||||
statements, unlike balance/print/register) (experimental).
|
statements, unlike balance/print/register) (experimental).
|
||||||
|
|
||||||
@ -2250,90 +2251,90 @@ COMMANDS
|
|||||||
$-1
|
$-1
|
||||||
|
|
||||||
With a reporting interval, multiple columns will be shown, one for each
|
With a reporting interval, multiple columns will be shown, one for each
|
||||||
report period. Normally cashflow shows changes in assets per period,
|
report period. Normally cashflow shows changes in assets per period,
|
||||||
though as with multicolumn balance reports you can alter the report
|
though as with multicolumn balance reports you can alter the report
|
||||||
mode with --change/--cumulative/--historical. Instead of absolute val-
|
mode with --change/--cumulative/--historical. Instead of absolute val-
|
||||||
ues percentages can be displayed with -%.
|
ues percentages can be displayed with -%.
|
||||||
|
|
||||||
This command also supports the output destination and output format op-
|
This command also supports the output destination and output format op-
|
||||||
tions The output formats supported are txt, csv, html, and (experimen-
|
tions The output formats supported are txt, csv, html, and (experimen-
|
||||||
tal) json.
|
tal) json.
|
||||||
|
|
||||||
check-dates
|
check-dates
|
||||||
check-dates
|
check-dates
|
||||||
Check that transactions are sorted by increasing date. With --date2,
|
Check that transactions are sorted by increasing date. With --date2,
|
||||||
checks secondary dates instead. With --strict, dates must also be
|
checks secondary dates instead. With --strict, dates must also be
|
||||||
unique. With a query, only matched transactions' dates are checked.
|
unique. With a query, only matched transactions' dates are checked.
|
||||||
Reads the default journal file, or another specified with -f.
|
Reads the default journal file, or another specified with -f.
|
||||||
|
|
||||||
check-dupes
|
check-dupes
|
||||||
check-dupes
|
check-dupes
|
||||||
Reports account names having the same leaf but different prefixes. In
|
Reports account names having the same leaf but different prefixes. In
|
||||||
other words, two or more leaves that are categorized differently.
|
other words, two or more leaves that are categorized differently.
|
||||||
Reads the default journal file, or another specified as an argument.
|
Reads the default journal file, or another specified as an argument.
|
||||||
|
|
||||||
An example: http://stefanorodighiero.net/software/hledger-dupes.html
|
An example: http://stefanorodighiero.net/software/hledger-dupes.html
|
||||||
|
|
||||||
close
|
close
|
||||||
close, equity
|
close, equity
|
||||||
Prints a "closing balances" transaction and an "opening balances"
|
Prints a "closing balances" transaction and an "opening balances"
|
||||||
transaction that bring account balances to and from zero, respectively.
|
transaction that bring account balances to and from zero, respectively.
|
||||||
These can be added to your journal file(s), eg to bring asset/liability
|
These can be added to your journal file(s), eg to bring asset/liability
|
||||||
balances forward into a new journal file, or to close out revenues/ex-
|
balances forward into a new journal file, or to close out revenues/ex-
|
||||||
penses to retained earnings at the end of a period.
|
penses to retained earnings at the end of a period.
|
||||||
|
|
||||||
You can print just one of these transactions by using the --close or
|
You can print just one of these transactions by using the --close or
|
||||||
--open flag. You can customise their descriptions with the --close-
|
--open flag. You can customise their descriptions with the --close-
|
||||||
desc and --open-desc options.
|
desc and --open-desc options.
|
||||||
|
|
||||||
One amountless posting to "equity:opening/closing balances" is added to
|
One amountless posting to "equity:opening/closing balances" is added to
|
||||||
balance the transactions, by default. You can customise this account
|
balance the transactions, by default. You can customise this account
|
||||||
name with --close-acct and --open-acct; if you specify only one of
|
name with --close-acct and --open-acct; if you specify only one of
|
||||||
these, it will be used for both.
|
these, it will be used for both.
|
||||||
|
|
||||||
With --x/--explicit, the equity posting's amount will be shown. And if
|
With --x/--explicit, the equity posting's amount will be shown. And if
|
||||||
it involves multiple commodities, a posting for each commodity will be
|
it involves multiple commodities, a posting for each commodity will be
|
||||||
shown, as with the print command.
|
shown, as with the print command.
|
||||||
|
|
||||||
With --interleaved, the equity postings are shown next to the postings
|
With --interleaved, the equity postings are shown next to the postings
|
||||||
they balance, which makes troubleshooting easier.
|
they balance, which makes troubleshooting easier.
|
||||||
|
|
||||||
By default, transaction prices in the journal are ignored when generat-
|
By default, transaction prices in the journal are ignored when generat-
|
||||||
ing the closing/opening transactions. With --show-costs, this cost in-
|
ing the closing/opening transactions. With --show-costs, this cost in-
|
||||||
formation is preserved (balance -B reports will be unchanged after the
|
formation is preserved (balance -B reports will be unchanged after the
|
||||||
transition). Separate postings are generated for each cost in each
|
transition). Separate postings are generated for each cost in each
|
||||||
commodity. Note this can generate very large journal entries, if you
|
commodity. Note this can generate very large journal entries, if you
|
||||||
have many foreign currency or investment transactions.
|
have many foreign currency or investment transactions.
|
||||||
|
|
||||||
close usage
|
close usage
|
||||||
If you split your journal files by time (eg yearly), you will typically
|
If you split your journal files by time (eg yearly), you will typically
|
||||||
run this command at the end of the year, and save the closing transac-
|
run this command at the end of the year, and save the closing transac-
|
||||||
tion as last entry of the old file, and the opening transaction as the
|
tion as last entry of the old file, and the opening transaction as the
|
||||||
first entry of the new file. This makes the files self contained, so
|
first entry of the new file. This makes the files self contained, so
|
||||||
that correct balances are reported no matter which of them are loaded.
|
that correct balances are reported no matter which of them are loaded.
|
||||||
Ie, if you load just one file, the balances are initialised correctly;
|
Ie, if you load just one file, the balances are initialised correctly;
|
||||||
or if you load several files, the redundant closing/opening transac-
|
or if you load several files, the redundant closing/opening transac-
|
||||||
tions cancel each other out. (They will show up in print or register
|
tions cancel each other out. (They will show up in print or register
|
||||||
reports; you can exclude them with a query like not:desc:'(open-
|
reports; you can exclude them with a query like not:desc:'(open-
|
||||||
ing|closing) balances'.)
|
ing|closing) balances'.)
|
||||||
|
|
||||||
If you're running a business, you might also use this command to "close
|
If you're running a business, you might also use this command to "close
|
||||||
the books" at the end of an accounting period, transferring income
|
the books" at the end of an accounting period, transferring income
|
||||||
statement account balances to retained earnings. (You may want to
|
statement account balances to retained earnings. (You may want to
|
||||||
change the equity account name to something like "equity:retained earn-
|
change the equity account name to something like "equity:retained earn-
|
||||||
ings".)
|
ings".)
|
||||||
|
|
||||||
By default, the closing transaction is dated yesterday, the balances
|
By default, the closing transaction is dated yesterday, the balances
|
||||||
are calculated as of end of yesterday, and the opening transaction is
|
are calculated as of end of yesterday, and the opening transaction is
|
||||||
dated today. To close on some other date, use: hledger close -e OPEN-
|
dated today. To close on some other date, use: hledger close -e OPEN-
|
||||||
INGDATE. Eg, to close/open on the 2018/2019 boundary, use -e 2019.
|
INGDATE. Eg, to close/open on the 2018/2019 boundary, use -e 2019.
|
||||||
You can also use -p or date:PERIOD (any starting date is ignored).
|
You can also use -p or date:PERIOD (any starting date is ignored).
|
||||||
|
|
||||||
Both transactions will include balance assertions for the closed/re-
|
Both transactions will include balance assertions for the closed/re-
|
||||||
opened accounts. You probably shouldn't use status or realness filters
|
opened accounts. You probably shouldn't use status or realness filters
|
||||||
(like -C or -R or status:) with this command, or the generated balance
|
(like -C or -R or status:) with this command, or the generated balance
|
||||||
assertions will depend on these flags. Likewise, if you run this com-
|
assertions will depend on these flags. Likewise, if you run this com-
|
||||||
mand with --auto, the balance assertions will probably always require
|
mand with --auto, the balance assertions will probably always require
|
||||||
--auto.
|
--auto.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
@ -2388,18 +2389,18 @@ COMMANDS
|
|||||||
|
|
||||||
diff
|
diff
|
||||||
diff
|
diff
|
||||||
Compares a particular account's transactions in two input files. It
|
Compares a particular account's transactions in two input files. It
|
||||||
shows any transactions to this account which are in one file but not in
|
shows any transactions to this account which are in one file but not in
|
||||||
the other.
|
the other.
|
||||||
|
|
||||||
More precisely, for each posting affecting this account in either file,
|
More precisely, for each posting affecting this account in either file,
|
||||||
it looks for a corresponding posting in the other file which posts the
|
it looks for a corresponding posting in the other file which posts the
|
||||||
same amount to the same account (ignoring date, description, etc.)
|
same amount to the same account (ignoring date, description, etc.)
|
||||||
Since postings not transactions are compared, this also works when mul-
|
Since postings not transactions are compared, this also works when mul-
|
||||||
tiple bank transactions have been combined into a single journal entry.
|
tiple bank transactions have been combined into a single journal entry.
|
||||||
|
|
||||||
This is useful eg if you have downloaded an account's transactions from
|
This is useful eg if you have downloaded an account's transactions from
|
||||||
your bank (eg as CSV data). When hledger and your bank disagree about
|
your bank (eg as CSV data). When hledger and your bank disagree about
|
||||||
the account balance, you can compare the bank data with your journal to
|
the account balance, you can compare the bank data with your journal to
|
||||||
find out the cause.
|
find out the cause.
|
||||||
|
|
||||||
@ -2417,20 +2418,20 @@ COMMANDS
|
|||||||
|
|
||||||
files
|
files
|
||||||
files
|
files
|
||||||
List all files included in the journal. With a REGEX argument, only
|
List all files included in the journal. With a REGEX argument, only
|
||||||
file names matching the regular expression (case sensitive) are shown.
|
file names matching the regular expression (case sensitive) are shown.
|
||||||
|
|
||||||
help
|
help
|
||||||
help
|
help
|
||||||
Show any of the hledger manuals.
|
Show any of the hledger manuals.
|
||||||
|
|
||||||
The help command displays any of the main hledger manuals, in one of
|
The help command displays any of the main hledger manuals, in one of
|
||||||
several ways. Run it with no argument to list the manuals, or provide
|
several ways. Run it with no argument to list the manuals, or provide
|
||||||
a full or partial manual name to select one.
|
a full or partial manual name to select one.
|
||||||
|
|
||||||
hledger manuals are available in several formats. hledger help will
|
hledger manuals are available in several formats. hledger help will
|
||||||
use the first of these display methods that it finds: info, man,
|
use the first of these display methods that it finds: info, man,
|
||||||
$PAGER, less, stdout (or when non-interactive, just stdout). You can
|
$PAGER, less, stdout (or when non-interactive, just stdout). You can
|
||||||
force a particular viewer with the --info, --man, --pager, --cat flags.
|
force a particular viewer with the --info, --man, --pager, --cat flags.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
@ -2457,9 +2458,9 @@ COMMANDS
|
|||||||
|
|
||||||
import
|
import
|
||||||
import
|
import
|
||||||
Read new transactions added to each FILE since last run, and add them
|
Read new transactions added to each FILE since last run, and add them
|
||||||
to the main journal file. Or with --dry-run, just print the transac-
|
to the main journal file. Or with --dry-run, just print the transac-
|
||||||
tions that would be added. Or with --catchup, just mark all of the
|
tions that would be added. Or with --catchup, just mark all of the
|
||||||
FILEs' transactions as imported, without actually importing any.
|
FILEs' transactions as imported, without actually importing any.
|
||||||
|
|
||||||
The input files are specified as arguments - no need to write -f before
|
The input files are specified as arguments - no need to write -f before
|
||||||
@ -2470,36 +2471,36 @@ COMMANDS
|
|||||||
ing transactions are always added to the input files in increasing date
|
ing transactions are always added to the input files in increasing date
|
||||||
order, and by saving .latest.FILE state files.
|
order, and by saving .latest.FILE state files.
|
||||||
|
|
||||||
The --dry-run output is in journal format, so you can filter it, eg to
|
The --dry-run output is in journal format, so you can filter it, eg to
|
||||||
see only uncategorised transactions:
|
see only uncategorised transactions:
|
||||||
|
|
||||||
$ hledger import --dry ... | hledger -f- print unknown --ignore-assertions
|
$ hledger import --dry ... | hledger -f- print unknown --ignore-assertions
|
||||||
|
|
||||||
Importing balance assignments
|
Importing balance assignments
|
||||||
Entries added by import will have their posting amounts made explicit
|
Entries added by import will have their posting amounts made explicit
|
||||||
(like hledger print -x). This means that any balance assignments in
|
(like hledger print -x). This means that any balance assignments in
|
||||||
imported files must be evaluated; but, imported files don't get to see
|
imported files must be evaluated; but, imported files don't get to see
|
||||||
the main file's account balances. As a result, importing entries with
|
the main file's account balances. As a result, importing entries with
|
||||||
balance assignments (eg from an institution that provides only balances
|
balance assignments (eg from an institution that provides only balances
|
||||||
and not posting amounts) will probably generate incorrect posting
|
and not posting amounts) will probably generate incorrect posting
|
||||||
amounts. To avoid this problem, use print instead of import:
|
amounts. To avoid this problem, use print instead of import:
|
||||||
|
|
||||||
$ hledger print IMPORTFILE [--new] >> $LEDGER_FILE
|
$ hledger print IMPORTFILE [--new] >> $LEDGER_FILE
|
||||||
|
|
||||||
(If you think import should leave amounts implicit like print does,
|
(If you think import should leave amounts implicit like print does,
|
||||||
please test it and send a pull request.)
|
please test it and send a pull request.)
|
||||||
|
|
||||||
incomestatement
|
incomestatement
|
||||||
incomestatement, is
|
incomestatement, is
|
||||||
This command displays a simple income statement, showing revenues and
|
This command displays a simple income statement, showing revenues and
|
||||||
expenses during a period. It assumes that these accounts are under a
|
expenses during a period. It assumes that these accounts are under a
|
||||||
top-level revenue or income or expense account (case insensitive, plu-
|
top-level revenue or income or expense account (case insensitive, plu-
|
||||||
ral forms also allowed). Note this report shows all account balances
|
ral forms also allowed). Note this report shows all account balances
|
||||||
with normal positive sign (like conventional financial statements, un-
|
with normal positive sign (like conventional financial statements, un-
|
||||||
like balance/print/register) (experimental).
|
like balance/print/register) (experimental).
|
||||||
|
|
||||||
This command displays a simple income statement. It currently assumes
|
This command displays a simple income statement. It currently assumes
|
||||||
that you have top-level accounts named income (or revenue) and expense
|
that you have top-level accounts named income (or revenue) and expense
|
||||||
(plural forms also allowed.)
|
(plural forms also allowed.)
|
||||||
|
|
||||||
$ hledger incomestatement
|
$ hledger incomestatement
|
||||||
@ -2524,13 +2525,13 @@ COMMANDS
|
|||||||
0
|
0
|
||||||
|
|
||||||
With a reporting interval, multiple columns will be shown, one for each
|
With a reporting interval, multiple columns will be shown, one for each
|
||||||
report period. Normally incomestatement shows revenues/expenses per
|
report period. Normally incomestatement shows revenues/expenses per
|
||||||
period, though as with multicolumn balance reports you can alter the
|
period, though as with multicolumn balance reports you can alter the
|
||||||
report mode with --change/--cumulative/--historical. Instead of abso-
|
report mode with --change/--cumulative/--historical. Instead of abso-
|
||||||
lute values percentages can be displayed with -%.
|
lute values percentages can be displayed with -%.
|
||||||
|
|
||||||
This command also supports the output destination and output format op-
|
This command also supports the output destination and output format op-
|
||||||
tions The output formats supported are txt, csv, html, and (experimen-
|
tions The output formats supported are txt, csv, html, and (experimen-
|
||||||
tal) json.
|
tal) json.
|
||||||
|
|
||||||
notes
|
notes
|
||||||
@ -2558,10 +2559,10 @@ COMMANDS
|
|||||||
|
|
||||||
prices
|
prices
|
||||||
prices
|
prices
|
||||||
Print market price directives from the journal. With --costs, also
|
Print market price directives from the journal. With --costs, also
|
||||||
print synthetic market prices based on transaction prices. With --in-
|
print synthetic market prices based on transaction prices. With --in-
|
||||||
verted-costs, also print inverse prices based on transaction prices.
|
verted-costs, also print inverse prices based on transaction prices.
|
||||||
Prices (and postings providing prices) can be filtered by a query.
|
Prices (and postings providing prices) can be filtered by a query.
|
||||||
Price amounts are always displayed with their full precision.
|
Price amounts are always displayed with their full precision.
|
||||||
|
|
||||||
print
|
print
|
||||||
@ -2569,11 +2570,11 @@ COMMANDS
|
|||||||
Show transaction journal entries, sorted by date.
|
Show transaction journal entries, sorted by date.
|
||||||
|
|
||||||
The print command displays full journal entries (transactions) from the
|
The print command displays full journal entries (transactions) from the
|
||||||
journal file in date order, tidily formatted. With --date2, transac-
|
journal file in date order, tidily formatted. With --date2, transac-
|
||||||
tions are sorted by secondary date instead.
|
tions are sorted by secondary date instead.
|
||||||
|
|
||||||
print's output is always a valid hledger journal.
|
print's output is always a valid hledger journal.
|
||||||
It preserves all transaction information, but it does not preserve di-
|
It preserves all transaction information, but it does not preserve di-
|
||||||
rectives or inter-transaction comments
|
rectives or inter-transaction comments
|
||||||
|
|
||||||
$ hledger print
|
$ hledger print
|
||||||
@ -2600,43 +2601,43 @@ COMMANDS
|
|||||||
|
|
||||||
Normally, the journal entry's explicit or implicit amount style is pre-
|
Normally, the journal entry's explicit or implicit amount style is pre-
|
||||||
served. For example, when an amount is omitted in the journal, it will
|
served. For example, when an amount is omitted in the journal, it will
|
||||||
not appear in the output. Similarly, when a transaction price is im-
|
not appear in the output. Similarly, when a transaction price is im-
|
||||||
plied but not written, it will not appear in the output. You can use
|
plied but not written, it will not appear in the output. You can use
|
||||||
the -x/--explicit flag to make all amounts and transaction prices ex-
|
the -x/--explicit flag to make all amounts and transaction prices ex-
|
||||||
plicit, which can be useful for troubleshooting or for making your
|
plicit, which can be useful for troubleshooting or for making your
|
||||||
journal more readable and robust against data entry errors. -x is also
|
journal more readable and robust against data entry errors. -x is also
|
||||||
implied by using any of -B,-V,-X,--value.
|
implied by using any of -B,-V,-X,--value.
|
||||||
|
|
||||||
Note, -x/--explicit will cause postings with a multi-commodity amount
|
Note, -x/--explicit will cause postings with a multi-commodity amount
|
||||||
(these can arise when a multi-commodity transaction has an implicit
|
(these can arise when a multi-commodity transaction has an implicit
|
||||||
amount) to be split into multiple single-commodity postings, keeping
|
amount) to be split into multiple single-commodity postings, keeping
|
||||||
the output parseable.
|
the output parseable.
|
||||||
|
|
||||||
With -B/--cost, amounts with transaction prices are converted to cost
|
With -B/--cost, amounts with transaction prices are converted to cost
|
||||||
using that price. This can be used for troubleshooting.
|
using that price. This can be used for troubleshooting.
|
||||||
|
|
||||||
With -m/--match and a STR argument, print will show at most one trans-
|
With -m/--match and a STR argument, print will show at most one trans-
|
||||||
action: the one one whose description is most similar to STR, and is
|
action: the one one whose description is most similar to STR, and is
|
||||||
most recent. STR should contain at least two characters. If there is
|
most recent. STR should contain at least two characters. If there is
|
||||||
no similar-enough match, no transaction will be shown.
|
no similar-enough match, no transaction will be shown.
|
||||||
|
|
||||||
With --new, for each FILE being read, hledger reads (and writes) a spe-
|
With --new, for each FILE being read, hledger reads (and writes) a spe-
|
||||||
cial state file (.latest.FILE in the same directory), containing the
|
cial state file (.latest.FILE in the same directory), containing the
|
||||||
latest transaction date(s) that were seen last time FILE was read.
|
latest transaction date(s) that were seen last time FILE was read.
|
||||||
When this file is found, only transactions with newer dates (and new
|
When this file is found, only transactions with newer dates (and new
|
||||||
transactions on the latest date) are printed. This is useful for ig-
|
transactions on the latest date) are printed. This is useful for ig-
|
||||||
noring already-seen entries in import data, such as downloaded CSV
|
noring already-seen entries in import data, such as downloaded CSV
|
||||||
files. Eg:
|
files. Eg:
|
||||||
|
|
||||||
$ hledger -f bank1.csv print --new
|
$ hledger -f bank1.csv print --new
|
||||||
(shows transactions added since last print --new on this file)
|
(shows transactions added since last print --new on this file)
|
||||||
|
|
||||||
This assumes that transactions added to FILE always have same or in-
|
This assumes that transactions added to FILE always have same or in-
|
||||||
creasing dates, and that transactions on the same day do not get re-
|
creasing dates, and that transactions on the same day do not get re-
|
||||||
ordered. See also the import command.
|
ordered. See also the import command.
|
||||||
|
|
||||||
This command also supports the output destination and output format op-
|
This command also supports the output destination and output format op-
|
||||||
tions The output formats supported are txt, csv, and (experimental)
|
tions The output formats supported are txt, csv, and (experimental)
|
||||||
json.
|
json.
|
||||||
|
|
||||||
Here's an example of print's CSV output:
|
Here's an example of print's CSV output:
|
||||||
@ -2655,20 +2656,20 @@ COMMANDS
|
|||||||
"5","2008/12/31","","*","","pay off","","liabilities:debts","1","$","","1","",""
|
"5","2008/12/31","","*","","pay off","","liabilities:debts","1","$","","1","",""
|
||||||
"5","2008/12/31","","*","","pay off","","assets:bank:checking","-1","$","1","","",""
|
"5","2008/12/31","","*","","pay off","","assets:bank:checking","-1","$","1","","",""
|
||||||
|
|
||||||
o There is one CSV record per posting, with the parent transaction's
|
o There is one CSV record per posting, with the parent transaction's
|
||||||
fields repeated.
|
fields repeated.
|
||||||
|
|
||||||
o The "txnidx" (transaction index) field shows which postings belong to
|
o The "txnidx" (transaction index) field shows which postings belong to
|
||||||
the same transaction. (This number might change if transactions are
|
the same transaction. (This number might change if transactions are
|
||||||
reordered within the file, files are parsed/included in a different
|
reordered within the file, files are parsed/included in a different
|
||||||
order, etc.)
|
order, etc.)
|
||||||
|
|
||||||
o The amount is separated into "commodity" (the symbol) and "amount"
|
o The amount is separated into "commodity" (the symbol) and "amount"
|
||||||
(numeric quantity) fields.
|
(numeric quantity) fields.
|
||||||
|
|
||||||
o The numeric amount is repeated in either the "credit" or "debit" col-
|
o The numeric amount is repeated in either the "credit" or "debit" col-
|
||||||
umn, for convenience. (Those names are not accurate in the account-
|
umn, for convenience. (Those names are not accurate in the account-
|
||||||
ing sense; it just puts negative amounts under credit and zero or
|
ing sense; it just puts negative amounts under credit and zero or
|
||||||
greater amounts under debit.)
|
greater amounts under debit.)
|
||||||
|
|
||||||
print-unique
|
print-unique
|
||||||
@ -2692,7 +2693,7 @@ COMMANDS
|
|||||||
Show postings and their running total.
|
Show postings and their running total.
|
||||||
|
|
||||||
The register command displays postings in date order, one per line, and
|
The register command displays postings in date order, one per line, and
|
||||||
their running total. This is typically used with a query selecting a
|
their running total. This is typically used with a query selecting a
|
||||||
particular account, to see that account's activity:
|
particular account, to see that account's activity:
|
||||||
|
|
||||||
$ hledger register checking
|
$ hledger register checking
|
||||||
@ -2703,8 +2704,8 @@ COMMANDS
|
|||||||
|
|
||||||
With --date2, it shows and sorts by secondary date instead.
|
With --date2, it shows and sorts by secondary date instead.
|
||||||
|
|
||||||
The --historical/-H flag adds the balance from any undisplayed prior
|
The --historical/-H flag adds the balance from any undisplayed prior
|
||||||
postings to the running total. This is useful when you want to see
|
postings to the running total. This is useful when you want to see
|
||||||
only recent activity, with a historically accurate running balance:
|
only recent activity, with a historically accurate running balance:
|
||||||
|
|
||||||
$ hledger register checking -b 2008/6 --historical
|
$ hledger register checking -b 2008/6 --historical
|
||||||
@ -2714,18 +2715,18 @@ COMMANDS
|
|||||||
|
|
||||||
The --depth option limits the amount of sub-account detail displayed.
|
The --depth option limits the amount of sub-account detail displayed.
|
||||||
|
|
||||||
The --average/-A flag shows the running average posting amount instead
|
The --average/-A flag shows the running average posting amount instead
|
||||||
of the running total (so, the final number displayed is the average for
|
of the running total (so, the final number displayed is the average for
|
||||||
the whole report period). This flag implies --empty (see below). It
|
the whole report period). This flag implies --empty (see below). It
|
||||||
is affected by --historical. It works best when showing just one ac-
|
is affected by --historical. It works best when showing just one ac-
|
||||||
count and one commodity.
|
count and one commodity.
|
||||||
|
|
||||||
The --related/-r flag shows the other postings in the transactions of
|
The --related/-r flag shows the other postings in the transactions of
|
||||||
the postings which would normally be shown.
|
the postings which would normally be shown.
|
||||||
|
|
||||||
The --invert flag negates all amounts. For example, it can be used on
|
The --invert flag negates all amounts. For example, it can be used on
|
||||||
an income account where amounts are normally displayed as negative num-
|
an income account where amounts are normally displayed as negative num-
|
||||||
bers. It's also useful to show postings on the checking account to-
|
bers. It's also useful to show postings on the checking account to-
|
||||||
gether with the related account:
|
gether with the related account:
|
||||||
|
|
||||||
$ hledger register --related --invert assets:checking
|
$ hledger register --related --invert assets:checking
|
||||||
@ -2737,7 +2738,7 @@ COMMANDS
|
|||||||
2008/01 income:salary $-1 $-1
|
2008/01 income:salary $-1 $-1
|
||||||
2008/06 income:gifts $-1 $-2
|
2008/06 income:gifts $-1 $-2
|
||||||
|
|
||||||
Periods with no activity, and summary postings with a zero amount, are
|
Periods with no activity, and summary postings with a zero amount, are
|
||||||
not shown by default; use the --empty/-E flag to see them:
|
not shown by default; use the --empty/-E flag to see them:
|
||||||
|
|
||||||
$ hledger register --monthly income -E
|
$ hledger register --monthly income -E
|
||||||
@ -2754,7 +2755,7 @@ COMMANDS
|
|||||||
2008/11 0 $-2
|
2008/11 0 $-2
|
||||||
2008/12 0 $-2
|
2008/12 0 $-2
|
||||||
|
|
||||||
Often, you'll want to see just one line per interval. The --depth op-
|
Often, you'll want to see just one line per interval. The --depth op-
|
||||||
tion helps with this, causing subaccounts to be aggregated:
|
tion helps with this, causing subaccounts to be aggregated:
|
||||||
|
|
||||||
$ hledger register --monthly assets --depth 1h
|
$ hledger register --monthly assets --depth 1h
|
||||||
@ -2762,17 +2763,17 @@ COMMANDS
|
|||||||
2008/06 assets $-1 0
|
2008/06 assets $-1 0
|
||||||
2008/12 assets $-1 $-1
|
2008/12 assets $-1 $-1
|
||||||
|
|
||||||
Note when using report intervals, if you specify start/end dates these
|
Note when using report intervals, if you specify start/end dates these
|
||||||
will be adjusted outward if necessary to contain a whole number of in-
|
will be adjusted outward if necessary to contain a whole number of in-
|
||||||
tervals. This ensures that the first and last intervals are full
|
tervals. This ensures that the first and last intervals are full
|
||||||
length and comparable to the others in the report.
|
length and comparable to the others in the report.
|
||||||
|
|
||||||
Custom register output
|
Custom register output
|
||||||
register uses the full terminal width by default, except on windows.
|
register uses the full terminal width by default, except on windows.
|
||||||
You can override this by setting the COLUMNS environment variable (not
|
You can override this by setting the COLUMNS environment variable (not
|
||||||
a bash shell variable) or by using the --width/-w option.
|
a bash shell variable) or by using the --width/-w option.
|
||||||
|
|
||||||
The description and account columns normally share the space equally
|
The description and account columns normally share the space equally
|
||||||
(about half of (width - 40) each). You can adjust this by adding a de-
|
(about half of (width - 40) each). You can adjust this by adding a de-
|
||||||
scription width as part of --width's argument, comma-separated: --width
|
scription width as part of --width's argument, comma-separated: --width
|
||||||
W,D . Here's a diagram (won't display correctly in --help):
|
W,D . Here's a diagram (won't display correctly in --help):
|
||||||
@ -2791,27 +2792,27 @@ COMMANDS
|
|||||||
$ hledger reg -w $COLUMNS,40 # use terminal width, & description width 40
|
$ hledger reg -w $COLUMNS,40 # use terminal width, & description width 40
|
||||||
|
|
||||||
This command also supports the output destination and output format op-
|
This command also supports the output destination and output format op-
|
||||||
tions The output formats supported are txt, csv, and (experimental)
|
tions The output formats supported are txt, csv, and (experimental)
|
||||||
json.
|
json.
|
||||||
|
|
||||||
register-match
|
register-match
|
||||||
register-match
|
register-match
|
||||||
Print the one posting whose transaction description is closest to DESC,
|
Print the one posting whose transaction description is closest to DESC,
|
||||||
in the style of the register command. If there are multiple equally
|
in the style of the register command. If there are multiple equally
|
||||||
good matches, it shows the most recent. Query options (options, not
|
good matches, it shows the most recent. Query options (options, not
|
||||||
arguments) can be used to restrict the search space. Helps ledger-au-
|
arguments) can be used to restrict the search space. Helps ledger-au-
|
||||||
tosync detect already-seen transactions when importing.
|
tosync detect already-seen transactions when importing.
|
||||||
|
|
||||||
rewrite
|
rewrite
|
||||||
rewrite
|
rewrite
|
||||||
Print all transactions, rewriting the postings of matched transactions.
|
Print all transactions, rewriting the postings of matched transactions.
|
||||||
For now the only rewrite available is adding new postings, like print
|
For now the only rewrite available is adding new postings, like print
|
||||||
--auto.
|
--auto.
|
||||||
|
|
||||||
This is a start at a generic rewriter of transaction entries. It reads
|
This is a start at a generic rewriter of transaction entries. It reads
|
||||||
the default journal and prints the transactions, like print, but adds
|
the default journal and prints the transactions, like print, but adds
|
||||||
one or more specified postings to any transactions matching QUERY. The
|
one or more specified postings to any transactions matching QUERY. The
|
||||||
posting amounts can be fixed, or a multiplier of the existing transac-
|
posting amounts can be fixed, or a multiplier of the existing transac-
|
||||||
tion's first posting amount.
|
tion's first posting amount.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
@ -2827,7 +2828,7 @@ COMMANDS
|
|||||||
(reserve:grocery) *0.25 ; reserve 25% for grocery
|
(reserve:grocery) *0.25 ; reserve 25% for grocery
|
||||||
(reserve:) *0.25 ; reserve 25% for grocery
|
(reserve:) *0.25 ; reserve 25% for grocery
|
||||||
|
|
||||||
Note the single quotes to protect the dollar sign from bash, and the
|
Note the single quotes to protect the dollar sign from bash, and the
|
||||||
two spaces between account and amount.
|
two spaces between account and amount.
|
||||||
|
|
||||||
More:
|
More:
|
||||||
@ -2837,16 +2838,16 @@ COMMANDS
|
|||||||
$ hledger rewrite -- expenses:gifts --add-posting '(budget:gifts) *-1"'
|
$ hledger rewrite -- expenses:gifts --add-posting '(budget:gifts) *-1"'
|
||||||
$ hledger rewrite -- ^income --add-posting '(budget:foreign currency) *0.25 JPY; diversify'
|
$ hledger rewrite -- ^income --add-posting '(budget:foreign currency) *0.25 JPY; diversify'
|
||||||
|
|
||||||
Argument for --add-posting option is a usual posting of transaction
|
Argument for --add-posting option is a usual posting of transaction
|
||||||
with an exception for amount specification. More precisely, you can
|
with an exception for amount specification. More precisely, you can
|
||||||
use '*' (star symbol) before the amount to indicate that that this is a
|
use '*' (star symbol) before the amount to indicate that that this is a
|
||||||
factor for an amount of original matched posting. If the amount in-
|
factor for an amount of original matched posting. If the amount in-
|
||||||
cludes a commodity name, the new posting amount will be in the new com-
|
cludes a commodity name, the new posting amount will be in the new com-
|
||||||
modity; otherwise, it will be in the matched posting amount's commod-
|
modity; otherwise, it will be in the matched posting amount's commod-
|
||||||
ity.
|
ity.
|
||||||
|
|
||||||
Re-write rules in a file
|
Re-write rules in a file
|
||||||
During the run this tool will execute so called "Automated Transac-
|
During the run this tool will execute so called "Automated Transac-
|
||||||
tions" found in any journal it process. I.e instead of specifying this
|
tions" found in any journal it process. I.e instead of specifying this
|
||||||
operations in command line you can put them in a journal file.
|
operations in command line you can put them in a journal file.
|
||||||
|
|
||||||
@ -2861,7 +2862,7 @@ COMMANDS
|
|||||||
budget:gifts *-1
|
budget:gifts *-1
|
||||||
assets:budget *1
|
assets:budget *1
|
||||||
|
|
||||||
Note that '=' (equality symbol) that is used instead of date in trans-
|
Note that '=' (equality symbol) that is used instead of date in trans-
|
||||||
actions you usually write. It indicates the query by which you want to
|
actions you usually write. It indicates the query by which you want to
|
||||||
match the posting to add new ones.
|
match the posting to add new ones.
|
||||||
|
|
||||||
@ -2874,12 +2875,12 @@ COMMANDS
|
|||||||
--add-posting 'assets:budget *1' \
|
--add-posting 'assets:budget *1' \
|
||||||
> rewritten-tidy-output.journal
|
> rewritten-tidy-output.journal
|
||||||
|
|
||||||
It is important to understand that relative order of such entries in
|
It is important to understand that relative order of such entries in
|
||||||
journal is important. You can re-use result of previously added post-
|
journal is important. You can re-use result of previously added post-
|
||||||
ings.
|
ings.
|
||||||
|
|
||||||
Diff output format
|
Diff output format
|
||||||
To use this tool for batch modification of your journal files you may
|
To use this tool for batch modification of your journal files you may
|
||||||
find useful output in form of unified diff.
|
find useful output in form of unified diff.
|
||||||
|
|
||||||
$ hledger rewrite -- --diff -f examples/sample.journal '^income' --add-posting '(liabilities:tax) *.33'
|
$ hledger rewrite -- --diff -f examples/sample.journal '^income' --add-posting '(liabilities:tax) *.33'
|
||||||
@ -2903,10 +2904,10 @@ COMMANDS
|
|||||||
|
|
||||||
If you'll pass this through patch tool you'll get transactions contain-
|
If you'll pass this through patch tool you'll get transactions contain-
|
||||||
ing the posting that matches your query be updated. Note that multiple
|
ing the posting that matches your query be updated. Note that multiple
|
||||||
files might be update according to list of input files specified via
|
files might be update according to list of input files specified via
|
||||||
--file options and include directives inside of these files.
|
--file options and include directives inside of these files.
|
||||||
|
|
||||||
Be careful. Whole transaction being re-formatted in a style of output
|
Be careful. Whole transaction being re-formatted in a style of output
|
||||||
from hledger print.
|
from hledger print.
|
||||||
|
|
||||||
See also:
|
See also:
|
||||||
@ -2914,48 +2915,48 @@ COMMANDS
|
|||||||
https://github.com/simonmichael/hledger/issues/99
|
https://github.com/simonmichael/hledger/issues/99
|
||||||
|
|
||||||
rewrite vs. print --auto
|
rewrite vs. print --auto
|
||||||
This command predates print --auto, and currently does much the same
|
This command predates print --auto, and currently does much the same
|
||||||
thing, but with these differences:
|
thing, but with these differences:
|
||||||
|
|
||||||
o with multiple files, rewrite lets rules in any file affect all other
|
o with multiple files, rewrite lets rules in any file affect all other
|
||||||
files. print --auto uses standard directive scoping; rules affect
|
files. print --auto uses standard directive scoping; rules affect
|
||||||
only child files.
|
only child files.
|
||||||
|
|
||||||
o rewrite's query limits which transactions can be rewritten; all are
|
o rewrite's query limits which transactions can be rewritten; all are
|
||||||
printed. print --auto's query limits which transactions are printed.
|
printed. print --auto's query limits which transactions are printed.
|
||||||
|
|
||||||
o rewrite applies rules specified on command line or in the journal.
|
o rewrite applies rules specified on command line or in the journal.
|
||||||
print --auto applies rules specified in the journal.
|
print --auto applies rules specified in the journal.
|
||||||
|
|
||||||
roi
|
roi
|
||||||
roi
|
roi
|
||||||
Shows the time-weighted (TWR) and money-weighted (IRR) rate of return
|
Shows the time-weighted (TWR) and money-weighted (IRR) rate of return
|
||||||
on your investments.
|
on your investments.
|
||||||
|
|
||||||
This command assumes that you have account(s) that hold nothing but
|
This command assumes that you have account(s) that hold nothing but
|
||||||
your investments and whenever you record current appraisal/valuation of
|
your investments and whenever you record current appraisal/valuation of
|
||||||
these investments you offset unrealized profit and loss into account(s)
|
these investments you offset unrealized profit and loss into account(s)
|
||||||
that, again, hold nothing but unrealized profit and loss.
|
that, again, hold nothing but unrealized profit and loss.
|
||||||
|
|
||||||
Any transactions affecting balance of investment account(s) and not
|
Any transactions affecting balance of investment account(s) and not
|
||||||
originating from unrealized profit and loss account(s) are assumed to
|
originating from unrealized profit and loss account(s) are assumed to
|
||||||
be your investments or withdrawals.
|
be your investments or withdrawals.
|
||||||
|
|
||||||
At a minimum, you need to supply a query (which could be just an ac-
|
At a minimum, you need to supply a query (which could be just an ac-
|
||||||
count name) to select your investments with --inv, and another query to
|
count name) to select your investments with --inv, and another query to
|
||||||
identify your profit and loss transactions with --pnl.
|
identify your profit and loss transactions with --pnl.
|
||||||
|
|
||||||
It will compute and display the internalized rate of return (IRR) and
|
It will compute and display the internalized rate of return (IRR) and
|
||||||
time-weighted rate of return (TWR) for your investments for the time
|
time-weighted rate of return (TWR) for your investments for the time
|
||||||
period requested. Both rates of return are annualized before display,
|
period requested. Both rates of return are annualized before display,
|
||||||
regardless of the length of reporting interval.
|
regardless of the length of reporting interval.
|
||||||
|
|
||||||
stats
|
stats
|
||||||
stats
|
stats
|
||||||
Show some journal statistics.
|
Show some journal statistics.
|
||||||
|
|
||||||
The stats command displays summary information for the whole journal,
|
The stats command displays summary information for the whole journal,
|
||||||
or a matched part of it. With a reporting interval, it shows a report
|
or a matched part of it. With a reporting interval, it shows a report
|
||||||
for each report period.
|
for each report period.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
@ -2973,14 +2974,14 @@ COMMANDS
|
|||||||
Commodities : 1 ($)
|
Commodities : 1 ($)
|
||||||
Market prices : 12 ($)
|
Market prices : 12 ($)
|
||||||
|
|
||||||
This command also supports output destination and output format selec-
|
This command also supports output destination and output format selec-
|
||||||
tion.
|
tion.
|
||||||
|
|
||||||
tags
|
tags
|
||||||
tags
|
tags
|
||||||
List all the tag names used in the journal. With a TAGREGEX argument,
|
List all the tag names used in the journal. With a TAGREGEX argument,
|
||||||
only tag names matching the regular expression (case insensitive) are
|
only tag names matching the regular expression (case insensitive) are
|
||||||
shown. With QUERY arguments, only transactions matching the query are
|
shown. With QUERY arguments, only transactions matching the query are
|
||||||
considered. With --values flag, the tags' unique values are listed in-
|
considered. With --values flag, the tags' unique values are listed in-
|
||||||
stead.
|
stead.
|
||||||
|
|
||||||
@ -2988,13 +2989,13 @@ COMMANDS
|
|||||||
test
|
test
|
||||||
Run built-in unit tests.
|
Run built-in unit tests.
|
||||||
|
|
||||||
This command runs the unit tests built in to hledger and hledger-lib,
|
This command runs the unit tests built in to hledger and hledger-lib,
|
||||||
printing the results on stdout. If any test fails, the exit code will
|
printing the results on stdout. If any test fails, the exit code will
|
||||||
be non-zero.
|
be non-zero.
|
||||||
|
|
||||||
This is mainly used by hledger developers, but you can also use it to
|
This is mainly used by hledger developers, but you can also use it to
|
||||||
sanity-check the installed hledger executable on your platform. All
|
sanity-check the installed hledger executable on your platform. All
|
||||||
tests are expected to pass - if you ever see a failure, please report
|
tests are expected to pass - if you ever see a failure, please report
|
||||||
as a bug!
|
as a bug!
|
||||||
|
|
||||||
This command also accepts tasty test runner options, written after a --
|
This command also accepts tasty test runner options, written after a --
|
||||||
@ -3003,35 +3004,35 @@ COMMANDS
|
|||||||
|
|
||||||
$ hledger test -- -pData.Amount --color=never
|
$ hledger test -- -pData.Amount --color=never
|
||||||
|
|
||||||
For help on these, see https://github.com/feuerbach/tasty#options (--
|
For help on these, see https://github.com/feuerbach/tasty#options (--
|
||||||
--help currently doesn't show them).
|
--help currently doesn't show them).
|
||||||
|
|
||||||
Add-on Commands
|
Add-on Commands
|
||||||
hledger also searches for external add-on commands, and will include
|
hledger also searches for external add-on commands, and will include
|
||||||
these in the commands list. These are programs or scripts in your PATH
|
these in the commands list. These are programs or scripts in your PATH
|
||||||
whose name starts with hledger- and ends with a recognised file exten-
|
whose name starts with hledger- and ends with a recognised file exten-
|
||||||
sion (currently: no extension, bat,com,exe, hs,lhs,pl,py,rb,rkt,sh).
|
sion (currently: no extension, bat,com,exe, hs,lhs,pl,py,rb,rkt,sh).
|
||||||
|
|
||||||
Add-ons can be invoked like any hledger command, but there are a few
|
Add-ons can be invoked like any hledger command, but there are a few
|
||||||
things to be aware of. Eg if the hledger-web add-on is installed,
|
things to be aware of. Eg if the hledger-web add-on is installed,
|
||||||
|
|
||||||
o hledger -h web shows hledger's help, while hledger web -h shows
|
o hledger -h web shows hledger's help, while hledger web -h shows
|
||||||
hledger-web's help.
|
hledger-web's help.
|
||||||
|
|
||||||
o Flags specific to the add-on must have a preceding -- to hide them
|
o Flags specific to the add-on must have a preceding -- to hide them
|
||||||
from hledger. So hledger web --serve --port 9000 will be rejected;
|
from hledger. So hledger web --serve --port 9000 will be rejected;
|
||||||
you must use hledger web -- --serve --port 9000.
|
you must use hledger web -- --serve --port 9000.
|
||||||
|
|
||||||
o You can always run add-ons directly if preferred: hledger-web --serve
|
o You can always run add-ons directly if preferred: hledger-web --serve
|
||||||
--port 9000.
|
--port 9000.
|
||||||
|
|
||||||
Add-ons are a relatively easy way to add local features or experiment
|
Add-ons are a relatively easy way to add local features or experiment
|
||||||
with new ideas. They can be written in any language, but haskell
|
with new ideas. They can be written in any language, but haskell
|
||||||
scripts have a big advantage: they can use the same hledger (and
|
scripts have a big advantage: they can use the same hledger (and
|
||||||
haskell) library functions that built-in commands do, for command-line
|
haskell) library functions that built-in commands do, for command-line
|
||||||
options, journal parsing, reporting, etc.
|
options, journal parsing, reporting, etc.
|
||||||
|
|
||||||
Two important add-ons are the hledger-ui and hledger-web user inter-
|
Two important add-ons are the hledger-ui and hledger-web user inter-
|
||||||
faces. These are maintained and released along with hledger:
|
faces. These are maintained and released along with hledger:
|
||||||
|
|
||||||
ui
|
ui
|
||||||
@ -3050,23 +3051,23 @@ COMMANDS
|
|||||||
hledger-interest generates interest transactions for an account accord-
|
hledger-interest generates interest transactions for an account accord-
|
||||||
ing to various schemes.
|
ing to various schemes.
|
||||||
|
|
||||||
A few more experimental or old add-ons can be found in hledger's bin/
|
A few more experimental or old add-ons can be found in hledger's bin/
|
||||||
directory. These are typically prototypes and not guaranteed to work.
|
directory. These are typically prototypes and not guaranteed to work.
|
||||||
|
|
||||||
ENVIRONMENT
|
ENVIRONMENT
|
||||||
COLUMNS The screen width used by the register command. Default: the
|
COLUMNS The screen width used by the register command. Default: the
|
||||||
full terminal width.
|
full terminal width.
|
||||||
|
|
||||||
LEDGER_FILE The journal file path when not specified with -f. Default:
|
LEDGER_FILE The journal file path when not specified with -f. Default:
|
||||||
~/.hledger.journal (on windows, perhaps C:/Users/USER/.hledger.jour-
|
~/.hledger.journal (on windows, perhaps C:/Users/USER/.hledger.jour-
|
||||||
nal).
|
nal).
|
||||||
|
|
||||||
A typical value is ~/DIR/YYYY.journal, where DIR is a version-con-
|
A typical value is ~/DIR/YYYY.journal, where DIR is a version-con-
|
||||||
trolled finance directory and YYYY is the current year. Or ~/DIR/cur-
|
trolled finance directory and YYYY is the current year. Or ~/DIR/cur-
|
||||||
rent.journal, where current.journal is a symbolic link to YYYY.journal.
|
rent.journal, where current.journal is a symbolic link to YYYY.journal.
|
||||||
|
|
||||||
On Mac computers, you can set this and other environment variables in a
|
On Mac computers, you can set this and other environment variables in a
|
||||||
more thorough way that also affects applications started from the GUI
|
more thorough way that also affects applications started from the GUI
|
||||||
(say, an Emacs dock icon). Eg on MacOS Catalina I have a ~/.MacOSX/en-
|
(say, an Emacs dock icon). Eg on MacOS Catalina I have a ~/.MacOSX/en-
|
||||||
vironment.plist file containing
|
vironment.plist file containing
|
||||||
|
|
||||||
@ -3077,13 +3078,13 @@ ENVIRONMENT
|
|||||||
To see the effect you may need to killall Dock, or reboot.
|
To see the effect you may need to killall Dock, or reboot.
|
||||||
|
|
||||||
FILES
|
FILES
|
||||||
Reads data from one or more files in hledger journal, timeclock, time-
|
Reads data from one or more files in hledger journal, timeclock, time-
|
||||||
dot, or CSV format specified with -f, or $LEDGER_FILE, or
|
dot, or CSV format specified with -f, or $LEDGER_FILE, or
|
||||||
$HOME/.hledger.journal (on windows, perhaps
|
$HOME/.hledger.journal (on windows, perhaps
|
||||||
C:/Users/USER/.hledger.journal).
|
C:/Users/USER/.hledger.journal).
|
||||||
|
|
||||||
LIMITATIONS
|
LIMITATIONS
|
||||||
The need to precede addon command options with -- when invoked from
|
The need to precede addon command options with -- when invoked from
|
||||||
hledger is awkward.
|
hledger is awkward.
|
||||||
|
|
||||||
When input data contains non-ascii characters, a suitable system locale
|
When input data contains non-ascii characters, a suitable system locale
|
||||||
@ -3099,33 +3100,33 @@ LIMITATIONS
|
|||||||
In a Cygwin/MSYS/Mintty window, the tab key is not supported in hledger
|
In a Cygwin/MSYS/Mintty window, the tab key is not supported in hledger
|
||||||
add.
|
add.
|
||||||
|
|
||||||
Not all of Ledger's journal file syntax is supported. See file format
|
Not all of Ledger's journal file syntax is supported. See file format
|
||||||
differences.
|
differences.
|
||||||
|
|
||||||
On large data files, hledger is slower and uses more memory than
|
On large data files, hledger is slower and uses more memory than
|
||||||
Ledger.
|
Ledger.
|
||||||
|
|
||||||
TROUBLESHOOTING
|
TROUBLESHOOTING
|
||||||
Here are some issues you might encounter when you run hledger (and re-
|
Here are some issues you might encounter when you run hledger (and re-
|
||||||
member you can also seek help from the IRC channel, mail list or bug
|
member you can also seek help from the IRC channel, mail list or bug
|
||||||
tracker):
|
tracker):
|
||||||
|
|
||||||
Successfully installed, but "No command 'hledger' found"
|
Successfully installed, but "No command 'hledger' found"
|
||||||
stack and cabal install binaries into a special directory, which should
|
stack and cabal install binaries into a special directory, which should
|
||||||
be added to your PATH environment variable. Eg on unix-like systems,
|
be added to your PATH environment variable. Eg on unix-like systems,
|
||||||
that is ~/.local/bin and ~/.cabal/bin respectively.
|
that is ~/.local/bin and ~/.cabal/bin respectively.
|
||||||
|
|
||||||
I set a custom LEDGER_FILE, but hledger is still using the default file
|
I set a custom LEDGER_FILE, but hledger is still using the default file
|
||||||
LEDGER_FILE should be a real environment variable, not just a shell
|
LEDGER_FILE should be a real environment variable, not just a shell
|
||||||
variable. The command env | grep LEDGER_FILE should show it. You may
|
variable. The command env | grep LEDGER_FILE should show it. You may
|
||||||
need to use export. Here's an explanation.
|
need to use export. Here's an explanation.
|
||||||
|
|
||||||
"Illegal byte sequence" or "Invalid or incomplete multibyte or wide
|
"Illegal byte sequence" or "Invalid or incomplete multibyte or wide
|
||||||
character" errors
|
character" errors
|
||||||
In order to handle non-ascii letters and symbols (like ), hledger needs
|
In order to handle non-ascii letters and symbols (like ), hledger needs
|
||||||
an appropriate locale. This is usually configured system-wide; you can
|
an appropriate locale. This is usually configured system-wide; you can
|
||||||
also configure it temporarily. The locale may need to be one that sup-
|
also configure it temporarily. The locale may need to be one that sup-
|
||||||
ports UTF-8, if you built hledger with GHC < 7.2 (or possibly always,
|
ports UTF-8, if you built hledger with GHC < 7.2 (or possibly always,
|
||||||
I'm not sure yet).
|
I'm not sure yet).
|
||||||
|
|
||||||
Here's an example of setting the locale temporarily, on ubuntu
|
Here's an example of setting the locale temporarily, on ubuntu
|
||||||
@ -3144,7 +3145,7 @@ TROUBLESHOOTING
|
|||||||
$ echo "export LANG=en_US.UTF-8" >>~/.bash_profile
|
$ echo "export LANG=en_US.UTF-8" >>~/.bash_profile
|
||||||
$ bash --login
|
$ bash --login
|
||||||
|
|
||||||
If we preferred to use eg fr_FR.utf8, we might have to install that
|
If we preferred to use eg fr_FR.utf8, we might have to install that
|
||||||
first:
|
first:
|
||||||
|
|
||||||
$ apt-get install language-pack-fr
|
$ apt-get install language-pack-fr
|
||||||
@ -3165,7 +3166,7 @@ TROUBLESHOOTING
|
|||||||
|
|
||||||
|
|
||||||
REPORTING BUGS
|
REPORTING BUGS
|
||||||
Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel
|
Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel
|
||||||
or hledger mail list)
|
or hledger mail list)
|
||||||
|
|
||||||
|
|
||||||
@ -3179,7 +3180,7 @@ COPYRIGHT
|
|||||||
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1),
|
hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1),
|
||||||
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time-
|
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time-
|
||||||
dot(5), ledger(1)
|
dot(5), ledger(1)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user