;doc: update embedded manuals

This commit is contained in:
Simon Michael 2025-06-12 19:06:40 -10:00
parent 16fd84166a
commit 986a55218b
9 changed files with 1325 additions and 1258 deletions

View File

@ -89,6 +89,9 @@ General input/data transformation flags:
hledger\-ui, also make future\-dated transactions
visible at startup.
\-I \-\-ignore\-assertions don\[aq]t check balance assertions by default
\-\-txn\-balancing=... how to check that transactions are balanced:
\[aq]old\[aq]: use global display precision
\[aq]exact\[aq]: use transaction precision (default)
\-\-infer\-costs infer conversion equity postings from costs
\-\-infer\-equity infer costs from conversion equity postings
\-\-infer\-market\-prices infer market prices from costs

View File

@ -100,6 +100,9 @@ General input/data transformation flags:
hledger-ui, also make future-dated transactions
visible at startup.
-I --ignore-assertions don't check balance assertions by default
--txn-balancing=... how to check that transactions are balanced:
'old': use global display precision
'exact': use transaction precision (default)
--infer-costs infer conversion equity postings from costs
--infer-equity infer costs from conversion equity postings
--infer-market-prices infer market prices from costs
@ -563,21 +566,21 @@ with the UI unresponsive.
Tag Table:
Node: Top221
Node: OPTIONS1872
Node: MOUSE8546
Node: KEYS8878
Node: SCREENS13882
Node: Menu screen14622
Node: Cash accounts screen14938
Node: Balance sheet accounts screen15299
Node: Income statement accounts screen15635
Node: All accounts screen16020
Node: Register screen16383
Node: Transaction screen18826
Node: Error screen20401
Node: WATCH MODE20767
Node: --watch problems21665
Node: ENVIRONMENT23018
Node: BUGS23251
Node: MOUSE8758
Node: KEYS9090
Node: SCREENS14094
Node: Menu screen14834
Node: Cash accounts screen15150
Node: Balance sheet accounts screen15511
Node: Income statement accounts screen15847
Node: All accounts screen16232
Node: Register screen16595
Node: Transaction screen19038
Node: Error screen20613
Node: WATCH MODE20979
Node: --watch problems21877
Node: ENVIRONMENT23230
Node: BUGS23463

End Tag Table

View File

@ -78,6 +78,9 @@ OPTIONS
hledger-ui, also make future-dated transactions
visible at startup.
-I --ignore-assertions don't check balance assertions by default
--txn-balancing=... how to check that transactions are balanced:
'old': use global display precision
'exact': use transaction precision (default)
--infer-costs infer conversion equity postings from costs
--infer-equity infer costs from conversion equity postings
--infer-market-prices infer market prices from costs

View File

@ -139,6 +139,9 @@ General input/data transformation flags:
hledger\-ui, also make future\-dated transactions
visible at startup.
\-I \-\-ignore\-assertions don\[aq]t check balance assertions by default
\-\-txn\-balancing=... how to check that transactions are balanced:
\[aq]old\[aq]: use global display precision
\[aq]exact\[aq]: use transaction precision (default)
\-\-infer\-costs infer conversion equity postings from costs
\-\-infer\-equity infer costs from conversion equity postings
\-\-infer\-market\-prices infer market prices from costs

View File

@ -144,6 +144,9 @@ General input/data transformation flags:
hledger-ui, also make future-dated transactions
visible at startup.
-I --ignore-assertions don't check balance assertions by default
--txn-balancing=... how to check that transactions are balanced:
'old': use global display precision
'exact': use transaction precision (default)
--infer-costs infer conversion equity postings from costs
--infer-equity infer costs from conversion equity postings
--infer-market-prices infer market prices from costs
@ -526,14 +529,14 @@ We welcome bug reports in the hledger issue tracker
Tag Table:
Node: Top223
Node: OPTIONS2581
Node: PERMISSIONS11270
Node: EDITING UPLOADING DOWNLOADING12420
Node: RELOADING13435
Node: JSON API14002
Node: DEBUG OUTPUT19651
Node: Debug output19803
Node: ENVIRONMENT20321
Node: BUGS20557
Node: PERMISSIONS11482
Node: EDITING UPLOADING DOWNLOADING12632
Node: RELOADING13647
Node: JSON API14214
Node: DEBUG OUTPUT19863
Node: Debug output20015
Node: ENVIRONMENT20533
Node: BUGS20769

End Tag Table

View File

@ -121,6 +121,9 @@ OPTIONS
hledger-ui, also make future-dated transactions
visible at startup.
-I --ignore-assertions don't check balance assertions by default
--txn-balancing=... how to check that transactions are balanced:
'old': use global display precision
'exact': use transaction precision (default)
--infer-costs infer conversion equity postings from costs
--infer-equity infer costs from conversion equity postings
--infer-market-prices infer market prices from costs

View File

@ -379,6 +379,9 @@ General input/data transformation flags:
hledger\-ui, also make future\-dated transactions
visible at startup.
\-I \-\-ignore\-assertions don\[aq]t check balance assertions by default
\-\-txn\-balancing=... how to check that transactions are balanced:
\[aq]old\[aq]: use global display precision
\[aq]exact\[aq]: use transaction precision (default)
\-\-infer\-costs infer conversion equity postings from costs
\-\-infer\-equity infer costs from conversion equity postings
\-\-infer\-market\-prices infer market prices from costs
@ -2298,44 +2301,52 @@ they may contain tags, which are not ignored.
.EE
.SS Transaction balancing
How exactly does hledger decide when a transaction is balanced ?
The general goal is that if you look at the journal entry and calculate
the amounts\[aq] sum perfectly with pencil and paper, hledger should
agree with you.
Especially when it involves costs, which often are not exact, because of
repeating decimals, or imperfect data from financial institutions ?
In each commodity, hledger sums the transaction\[aq]s posting amounts,
after converting any with costs; then it checks if that sum is zero,
when rounded to a suitable number of decimal digits \- which we call the
\f[I]balancing precision\f[R].
.PP
Real world transactions, especially for investments or cryptocurrencies,
often involve imprecise costs, complex decimals, and/or
infinitely\-recurring decimals, which are difficult or inconvenient to
handle on a computer.
So to be a practical accounting system, hledger allows some imprecision
when checking transaction balancedness.
The question is, how much imprecision should be allowed ?
Since version 1.50, hledger infers balancing precision in each
transaction from the amounts in that transaction\[aq]s journal entry
(like Ledger).
Ie, when checking the balance of commodity A, it uses the highest
decimal precision seen for A in the journal entry (excluding cost
amounts).
This makes transaction balancing robust; any imbalances must be visibly
accounted for in the journal entry, display precision can be freely
increased with \f[CR]\-c\f[R], and compatibility with Ledger and
Beancount journals is good.
.PP
hledger currently decides it based on the commodity display styles: if
the postings\[aq] sum would appear to be zero when displayed with the
standard display precisions, the transaction is considered balanced.
.PP
Or equivalently: if the journal entry is displayed with amounts rounded
to the standard display precisions (with
\f[CR]hledger print \-\-round=hard\f[R]), and a human with pencil and
paper would agree that those displayed amounts add up to zero, the
transaction is considered balanced.
.PP
This has some advantages: it is fairly intuitive, general not
hard\-coded, yet configurable when needed.
On the downside it means that transaction balancedness is related to
commodity display precisions, so eg when using
\f[CR]\-c/\-\-commodity\-style\f[R] to display things with more than
usual precision, you might need to fix some of your journal entries (ie,
add decimal digits to make them balance more precisely).
.PP
Other PTA tools (Ledger, Beancount..)
have their own ways of doing it.
Possible improvements are discussed at #1964.
.PP
Note: if you have multiple journal files, and are relying on commodity
directives to make imprecise journal entries balance, the
directives\[aq] placement might be important \- see \f[CR]commodity\f[R]
directive.
Note that hledger versions before 1.50 worked differently: they allowed
display precision to override the balancing precision.
This masked small imbalances and caused fragility (see issue #2402).
As a result, some journal entries (or CSV rules) that worked with
hledger <1.50, are now rejected with an \[dq]unbalanced transaction\[dq]
error.
If you hit this problem, it\[aq]s easy to fix:
.IP \[bu] 2
You can restore the old behaviour, by adding
\f[CR]\-\-txn\-balancing=old\f[R] to the command or to your
\f[CR]\[ti]/.hledger.conf\f[R] file.
This lets you keep using old journals unchanged, though without the
above benefits.
.IP \[bu] 2
Or you can fix the problem entries (recommended).
There are three ways, use whichever seems best:
.RS 2
.IP "1." 3
make cost amounts more precise (add more/better decimal digits)
.IP "2." 3
or make non\-cost amounts less precise (remove unnecessary decimal
digits that are raising the precision)
.IP "3." 3
or add a posting to absorb the imbalance (eg
\[dq]expenses:rounding\[dq].
Remember that one posting may omit the amount; that\[aq]s convenient
here.)
.RE
.SS Tags
Tags are a way to add extra labels or data fields to transactions,
postings, or accounts.
@ -8439,10 +8450,19 @@ T}
\f[CR]\-H\f[R] but with a zero starting balance.
.SH PART 4: COMMANDS
.PP
Here are the standard commands, which you can list by running
\f[CR]hledger\f[R].
Here are hledger\[aq]s standard subcommands.
You can list these by running \f[CR]hledger\f[R].
If you have installed more add\-on commands, they also will be listed.
.PP
In the following command docs, each command\[aq]s specific options are
shown.
Most commands also support the general options described above, though
some of them might have no effect.
(Usually if there\[aq]s a sensible way for a general option to affect a
command, it will.)
You can list all of a command\[aq]s options by running
\f[CR]hledger CMD \-h\f[R].
.PP
\f[B]Help commands\f[R]
.IP \[bu] 2
commands \- show the hledger commands list (default)

View File

@ -394,6 +394,9 @@ General input/data transformation flags:
hledger-ui, also make future-dated transactions
visible at startup.
-I --ignore-assertions don't check balance assertions by default
--txn-balancing=... how to check that transactions are balanced:
'old': use global display precision
'exact': use transaction precision (default)
--infer-costs infer conversion equity postings from costs
--infer-equity infer costs from conversion equity postings
--infer-market-prices infer market prices from costs
@ -2355,41 +2358,45 @@ File: hledger.info, Node: Transaction balancing, Next: Tags, Prev: Posting co
8.14 Transaction balancing
==========================
How exactly does hledger decide when a transaction is balanced ? The
general goal is that if you look at the journal entry and calculate the
amounts' sum perfectly with pencil and paper, hledger should agree with
you.
How exactly does hledger decide when a transaction is balanced ?
Especially when it involves costs, which often are not exact, because of
repeating decimals, or imperfect data from financial institutions ? In
each commodity, hledger sums the transaction's posting amounts, after
converting any with costs; then it checks if that sum is zero, when
rounded to a suitable number of decimal digits - which we call the
_balancing precision_.
Real world transactions, especially for investments or
cryptocurrencies, often involve imprecise costs, complex decimals,
and/or infinitely-recurring decimals, which are difficult or
inconvenient to handle on a computer. So to be a practical accounting
system, hledger allows some imprecision when checking transaction
balancedness. The question is, how much imprecision should be allowed ?
Since version 1.50, hledger infers balancing precision in each
transaction from the amounts in that transaction's journal entry (like
Ledger). Ie, when checking the balance of commodity A, it uses the
highest decimal precision seen for A in the journal entry (excluding
cost amounts). This makes transaction balancing robust; any imbalances
must be visibly accounted for in the journal entry, display precision
can be freely increased with '-c', and compatibility with Ledger and
Beancount journals is good.
hledger currently decides it based on the commodity display styles:
if the postings' sum would appear to be zero when displayed with the
standard display precisions, the transaction is considered balanced.
Note that hledger versions before 1.50 worked differently: they
allowed display precision to override the balancing precision. This
masked small imbalances and caused fragility (see issue #2402). As a
result, some journal entries (or CSV rules) that worked with hledger
<1.50, are now rejected with an "unbalanced transaction" error. If you
hit this problem, it's easy to fix:
Or equivalently: if the journal entry is displayed with amounts
rounded to the standard display precisions (with 'hledger print
--round=hard'), and a human with pencil and paper would agree that those
displayed amounts add up to zero, the transaction is considered
balanced.
* You can restore the old behaviour, by adding '--txn-balancing=old'
to the command or to your '~/.hledger.conf' file. This lets you
keep using old journals unchanged, though without the above
benefits.
This has some advantages: it is fairly intuitive, general not
hard-coded, yet configurable when needed. On the downside it means that
transaction balancedness is related to commodity display precisions, so
eg when using '-c/--commodity-style' to display things with more than
usual precision, you might need to fix some of your journal entries (ie,
add decimal digits to make them balance more precisely).
* Or you can fix the problem entries (recommended). There are three
ways, use whichever seems best:
Other PTA tools (Ledger, Beancount..) have their own ways of doing
it. Possible improvements are discussed at #1964.
Note: if you have multiple journal files, and are relying on
commodity directives to make imprecise journal entries balance, the
directives' placement might be important - see 'commodity' directive.
1. make cost amounts more precise (add more/better decimal
digits)
2. or make non-cost amounts less precise (remove unnecessary
decimal digits that are raising the precision)
3. or add a posting to absorb the imbalance (eg
"expenses:rounding". Remember that one posting may omit the
amount; that's convenient here.)

File: hledger.info, Node: Tags, Next: Directives, Prev: Transaction balancing, Up: Journal
@ -8112,8 +8119,15 @@ File: hledger.info, Node: PART 4 COMMANDS, Next: Help commands, Prev: Value r
23 PART 4: COMMANDS
*******************
Here are the standard commands, which you can list by running 'hledger'.
If you have installed more add-on commands, they also will be listed.
Here are hledger's standard subcommands. You can list these by running
'hledger'. If you have installed more add-on commands, they also will
be listed.
In the following command docs, each command's specific options are
shown. Most commands also support the general options described above,
though some of them might have no effect. (Usually if there's a
sensible way for a general option to affect a command, it will.) You
can list all of a command's options by running 'hledger CMD -h'.
*Help commands*
@ -12798,382 +12812,382 @@ Node: Strict mode9203
Node: Commands10037
Node: Add-on commands11319
Node: Options12537
Node: Special characters19280
Node: Escaping shell special characters20230
Node: Escaping on Windows21474
Node: Escaping regular expression special characters22207
Node: Escaping add-on arguments23194
Node: Escaping in other situations24223
Node: Using a wild card25182
Node: Unicode characters25561
Node: Regular expressions26982
Node: hledger's regular expressions30241
Node: Argument files31882
Node: Config files32585
Node: Shell completions35886
Node: Output36375
Node: Output destination36566
Node: Output format37124
Node: Text output38910
Node: Box-drawing characters39889
Node: Colour40389
Node: Paging40975
Node: HTML output42501
Node: CSV / TSV output42919
Node: FODS output43173
Node: Beancount output43977
Node: Beancount account names45478
Node: Beancount commodity names46019
Node: Beancount virtual postings46666
Node: Beancount metadata46982
Node: Beancount costs47762
Node: Beancount operating currency48178
Node: SQL output48628
Node: JSON output49419
Node: Commodity styles50236
Node: Debug output51123
Node: Environment51955
Node: PART 2 DATA FORMATS52612
Node: Journal52755
Node: Journal cheatsheet55233
Node: Comments61484
Node: Transactions62428
Node: Dates63565
Node: Simple dates63717
Node: Posting dates64333
Node: Status65420
Node: Code67186
Node: Description67521
Node: Payee and note68208
Node: Transaction comments69299
Node: Postings69815
Node: Debits and credits70978
Node: The two space delimiter71588
Node: Account names72153
Node: Amounts73957
Node: Decimal marks74986
Node: Digit group marks76090
Node: Commodity76725
Node: Costs77842
Node: Balance assertions80094
Node: Assertions and ordering81342
Node: Assertions and multiple files82061
Node: Assertions and costs83229
Node: Assertions and commodities83876
Node: Assertions and subaccounts85535
Node: Assertions and status86195
Node: Assertions and virtual postings86615
Node: Assertions and auto postings86980
Node: Assertions and precision87855
Node: Assertions and hledger add88339
Node: Posting comments89087
Node: Transaction balancing89627
Node: Tags91629
Node: Querying with tags92923
Node: Displaying tags93722
Node: When to use tags ?94118
Node: Tag names94782
Node: Special tags95335
Node: Directives96900
Node: Directives and multiple files98357
Node: Directive effects99302
Node: account directive102458
Node: Account comments103908
Node: Account error checking104567
Node: Account display order106104
Node: Account types107302
Node: alias directive110577
Node: Basic aliases111788
Node: Regex aliases112663
Node: Combining aliases113710
Node: Aliases and multiple files115164
Node: end aliases directive115947
Node: Aliases can generate bad account names116315
Node: Aliases and account types117148
Node: commodity directive118040
Node: Commodity directive syntax119627
Node: Commodity error checking121276
Node: decimal-mark directive121751
Node: include directive122330
Node: P directive123406
Node: payee directive124440
Node: tag directive125062
Node: Periodic transactions125674
Node: Periodic rule syntax127828
Node: Periodic rules and relative dates128651
Node: Two spaces between period expression and description!129428
Node: Auto postings130389
Node: Auto postings and multiple files133549
Node: Auto postings and dates133954
Node: Auto postings and transaction balancing / inferred amounts / balance assertions134395
Node: Auto posting tags135241
Node: Auto postings on forecast transactions only136136
Node: Other syntax136606
Node: Balance assignments137378
Node: Balance assignments and costs138906
Node: Balance assignments and multiple files139328
Node: Bracketed posting dates139751
Node: D directive140449
Node: apply account directive142222
Node: Y directive143089
Node: Secondary dates144077
Node: Star comments145562
Node: Valuation expressions146254
Node: Virtual postings146553
Node: Other Ledger directives148177
Node: Other cost/lot notations148939
Node: CSV151780
Node: CSV rules cheatsheet153934
Node: source155961
Node: encoding156961
Node: separator158003
Node: skip158656
Node: date-format159306
Node: timezone160149
Node: newest-first161275
Node: intra-day-reversed161988
Node: decimal-mark162588
Node: fields list163068
Node: Field assignment164876
Node: Field names166095
Node: date field167427
Node: date2 field167591
Node: status field167786
Node: code field167976
Node: description field168164
Node: comment field168381
Node: account field168938
Node: amount field169656
Node: currency field172495
Node: balance field172903
Node: if block173426
Node: Matchers174953
Node: Multiple matchers176943
Node: Match groups177751
Node: if table178644
Node: balance-type180707
Node: include181534
Node: Working with CSV182103
Node: Rapid feedback182655
Node: Valid CSV183238
Node: File Extension184114
Node: Reading CSV from standard input184849
Node: Reading multiple CSV files185235
Node: Reading files specified by rule185711
Node: Valid transactions187108
Node: Deduplicating importing187933
Node: Setting amounts189162
Node: Amount signs191689
Node: Setting currency/commodity192754
Node: Amount decimal places194130
Node: Referencing other fields195387
Node: How CSV rules are evaluated196495
Node: Well factored rules199212
Node: CSV rules examples199702
Node: Bank of Ireland199900
Node: Coinbase201497
Node: Amazon202680
Node: Paypal204522
Node: Timeclock212272
Node: Timedot215097
Node: Timedot examples218574
Node: PART 3 REPORTING CONCEPTS220851
Node: Time periods221015
Node: Report start & end date221288
Node: Smart dates222764
Node: Report intervals224707
Node: Date adjustments225281
Node: Start date adjustment225501
Node: End date adjustment226404
Node: Period headings227149
Node: Period expressions228082
Node: Period expressions with a report interval229987
Node: More complex report intervals230435
Node: Multiple weekday intervals232551
Node: Depth233562
Node: Queries235397
Node: Query types238069
Node: acct query238444
Node: amt query238755
Node: code query239452
Node: cur query239647
Node: desc query240253
Node: date query240436
Node: date2 query240832
Node: depth query241123
Node: note query241459
Node: payee query241725
Node: real query242006
Node: status query242211
Node: type query242451
Node: tag query242984
Node: Negative queries243613
Node: not query243795
Node: Space-separated queries244082
Node: Boolean queries244770
Node: expr query246088
Node: any query246768
Node: all query247221
Node: Queries and command options247767
Node: Queries and account aliases248215
Node: Queries and valuation248540
Node: Pivoting248902
Node: Generating data251178
Node: Forecasting252978
Node: --forecast253634
Node: Inspecting forecast transactions254735
Node: Forecast reports256068
Node: Forecast tags257177
Node: Forecast period in detail257797
Node: Forecast troubleshooting258885
Node: Budgeting259956
Node: Amount formatting260516
Node: Commodity display style260760
Node: Rounding262601
Node: Trailing decimal marks263206
Node: Amount parseability264139
Node: Cost reporting265748
Node: Recording costs266579
Node: Reporting at cost268306
Node: Equity conversion postings269071
Node: Inferring equity conversion postings271716
Node: Combining costs and equity conversion postings272858
Node: Requirements for detecting equity conversion postings274083
Node: Infer cost and equity by default ?275605
Node: Value reporting276042
Node: -V Value276978
Node: -X Value in specified commodity277305
Node: Valuation date277655
Node: Finding market price278615
Node: --infer-market-prices market prices from transactions279995
Node: Valuation commodity283039
Node: --value Flexible valuation284472
Node: Valuation examples286315
Node: Interaction of valuation and queries288447
Node: Effect of valuation on reports289164
Node: PART 4 COMMANDS297062
Node: Help commands299497
Node: commands299683
Node: demo299891
Node: help301125
Node: User interface commands302830
Node: repl303041
Node: Examples305305
Node: run305863
Node: Examples 2308278
Node: ui309302
Node: web309439
Node: Data entry commands309567
Node: add309765
Node: import312220
Node: Import preview313254
Node: Overlap detection314202
Node: First import317088
Node: Importing balance assignments318283
Node: Import and commodity styles319338
Node: Import special cases319776
Node: Basic report commands321111
Node: accounts321412
Node: codes324345
Node: commodities325367
Node: descriptions325611
Node: files326078
Node: notes326375
Node: payees326887
Node: prices327671
Node: stats328563
Node: tags330304
Node: Standard report commands331611
Node: print331916
Node: print explicitness334727
Node: print amount style335647
Node: print parseability336885
Node: print other features337804
Node: print output format338765
Node: aregister342050
Node: aregister and posting dates346603
Node: register347504
Node: Custom register output354745
Node: balancesheet355930
Node: balancesheetequity360895
Node: cashflow366230
Node: incomestatement371043
Node: Advanced report commands375892
Node: balance376100
Node: balance features381521
Node: Simple balance report383624
Node: Balance report line format385434
Node: Filtered balance report387794
Node: List or tree mode388313
Node: Depth limiting389826
Node: Dropping top-level accounts390593
Node: Showing declared accounts391103
Node: Sorting by amount391833
Node: Percentages392687
Node: Multi-period balance report393394
Node: Balance change end balance396146
Node: Balance report modes397783
Node: Calculation mode398462
Node: Accumulation mode399166
Node: Valuation mode400267
Node: Combining balance report modes401611
Node: Budget report403641
Node: Using the budget report405941
Node: Budget date surprises408217
Node: Selecting budget goals409581
Node: Budgeting vs forecasting410529
Node: Balance report layout412206
Node: Wide layout413411
Node: Tall layout415816
Node: Bare layout417122
Node: Tidy layout419186
Node: Balance report output420730
Node: Some useful balance reports421504
Node: roi422764
Node: Spaces and special characters in --inv and --pnl425011
Node: Semantics of --inv and --pnl425737
Node: IRR and TWR explained427824
Node: Chart commands431235
Node: activity431416
Node: Data generation commands431913
Node: close432119
Node: close --clopen434682
Node: close --close436856
Node: close --open437380
Node: close --assert437630
Node: close --assign437957
Node: close --retain438636
Node: close customisation439493
Node: close and balance assertions441137
Node: close examples442659
Node: Retain earnings442896
Node: Migrate balances to a new file443399
Node: More detailed close examples444761
Node: rewrite444983
Node: Re-write rules in a file447555
Node: Diff output format448865
Node: rewrite vs print --auto450138
Node: Maintenance commands450852
Node: check451071
Node: Basic checks452153
Node: Strict checks453174
Node: Other checks454111
Node: Custom checks455863
Node: diff456318
Node: setup457526
Node: test460393
Node: PART 5 COMMON TASKS461296
Node: Getting help461529
Node: Constructing command lines462438
Node: Starting a journal file463276
Node: Setting LEDGER_FILE464660
Node: Setting opening balances465918
Node: Recording transactions469240
Node: Reconciling469965
Node: Reporting472354
Node: Migrating to a new file476468
Node: BUGS476917
Node: Troubleshooting477885
Node: Special characters19492
Node: Escaping shell special characters20442
Node: Escaping on Windows21686
Node: Escaping regular expression special characters22419
Node: Escaping add-on arguments23406
Node: Escaping in other situations24435
Node: Using a wild card25394
Node: Unicode characters25773
Node: Regular expressions27194
Node: hledger's regular expressions30453
Node: Argument files32094
Node: Config files32797
Node: Shell completions36098
Node: Output36587
Node: Output destination36778
Node: Output format37336
Node: Text output39122
Node: Box-drawing characters40101
Node: Colour40601
Node: Paging41187
Node: HTML output42713
Node: CSV / TSV output43131
Node: FODS output43385
Node: Beancount output44189
Node: Beancount account names45690
Node: Beancount commodity names46231
Node: Beancount virtual postings46878
Node: Beancount metadata47194
Node: Beancount costs47974
Node: Beancount operating currency48390
Node: SQL output48840
Node: JSON output49631
Node: Commodity styles50448
Node: Debug output51335
Node: Environment52167
Node: PART 2 DATA FORMATS52824
Node: Journal52967
Node: Journal cheatsheet55445
Node: Comments61696
Node: Transactions62640
Node: Dates63777
Node: Simple dates63929
Node: Posting dates64545
Node: Status65632
Node: Code67398
Node: Description67733
Node: Payee and note68420
Node: Transaction comments69511
Node: Postings70027
Node: Debits and credits71190
Node: The two space delimiter71800
Node: Account names72365
Node: Amounts74169
Node: Decimal marks75198
Node: Digit group marks76302
Node: Commodity76937
Node: Costs78054
Node: Balance assertions80306
Node: Assertions and ordering81554
Node: Assertions and multiple files82273
Node: Assertions and costs83441
Node: Assertions and commodities84088
Node: Assertions and subaccounts85747
Node: Assertions and status86407
Node: Assertions and virtual postings86827
Node: Assertions and auto postings87192
Node: Assertions and precision88067
Node: Assertions and hledger add88551
Node: Posting comments89299
Node: Transaction balancing89839
Node: Tags92047
Node: Querying with tags93341
Node: Displaying tags94140
Node: When to use tags ?94536
Node: Tag names95200
Node: Special tags95753
Node: Directives97318
Node: Directives and multiple files98775
Node: Directive effects99720
Node: account directive102876
Node: Account comments104326
Node: Account error checking104985
Node: Account display order106522
Node: Account types107720
Node: alias directive110995
Node: Basic aliases112206
Node: Regex aliases113081
Node: Combining aliases114128
Node: Aliases and multiple files115582
Node: end aliases directive116365
Node: Aliases can generate bad account names116733
Node: Aliases and account types117566
Node: commodity directive118458
Node: Commodity directive syntax120045
Node: Commodity error checking121694
Node: decimal-mark directive122169
Node: include directive122748
Node: P directive123824
Node: payee directive124858
Node: tag directive125480
Node: Periodic transactions126092
Node: Periodic rule syntax128246
Node: Periodic rules and relative dates129069
Node: Two spaces between period expression and description!129846
Node: Auto postings130807
Node: Auto postings and multiple files133967
Node: Auto postings and dates134372
Node: Auto postings and transaction balancing / inferred amounts / balance assertions134813
Node: Auto posting tags135659
Node: Auto postings on forecast transactions only136554
Node: Other syntax137024
Node: Balance assignments137796
Node: Balance assignments and costs139324
Node: Balance assignments and multiple files139746
Node: Bracketed posting dates140169
Node: D directive140867
Node: apply account directive142640
Node: Y directive143507
Node: Secondary dates144495
Node: Star comments145980
Node: Valuation expressions146672
Node: Virtual postings146971
Node: Other Ledger directives148595
Node: Other cost/lot notations149357
Node: CSV152198
Node: CSV rules cheatsheet154352
Node: source156379
Node: encoding157379
Node: separator158421
Node: skip159074
Node: date-format159724
Node: timezone160567
Node: newest-first161693
Node: intra-day-reversed162406
Node: decimal-mark163006
Node: fields list163486
Node: Field assignment165294
Node: Field names166513
Node: date field167845
Node: date2 field168009
Node: status field168204
Node: code field168394
Node: description field168582
Node: comment field168799
Node: account field169356
Node: amount field170074
Node: currency field172913
Node: balance field173321
Node: if block173844
Node: Matchers175371
Node: Multiple matchers177361
Node: Match groups178169
Node: if table179062
Node: balance-type181125
Node: include181952
Node: Working with CSV182521
Node: Rapid feedback183073
Node: Valid CSV183656
Node: File Extension184532
Node: Reading CSV from standard input185267
Node: Reading multiple CSV files185653
Node: Reading files specified by rule186129
Node: Valid transactions187526
Node: Deduplicating importing188351
Node: Setting amounts189580
Node: Amount signs192107
Node: Setting currency/commodity193172
Node: Amount decimal places194548
Node: Referencing other fields195805
Node: How CSV rules are evaluated196913
Node: Well factored rules199630
Node: CSV rules examples200120
Node: Bank of Ireland200318
Node: Coinbase201915
Node: Amazon203098
Node: Paypal204940
Node: Timeclock212690
Node: Timedot215515
Node: Timedot examples218992
Node: PART 3 REPORTING CONCEPTS221269
Node: Time periods221433
Node: Report start & end date221706
Node: Smart dates223182
Node: Report intervals225125
Node: Date adjustments225699
Node: Start date adjustment225919
Node: End date adjustment226822
Node: Period headings227567
Node: Period expressions228500
Node: Period expressions with a report interval230405
Node: More complex report intervals230853
Node: Multiple weekday intervals232969
Node: Depth233980
Node: Queries235815
Node: Query types238487
Node: acct query238862
Node: amt query239173
Node: code query239870
Node: cur query240065
Node: desc query240671
Node: date query240854
Node: date2 query241250
Node: depth query241541
Node: note query241877
Node: payee query242143
Node: real query242424
Node: status query242629
Node: type query242869
Node: tag query243402
Node: Negative queries244031
Node: not query244213
Node: Space-separated queries244500
Node: Boolean queries245188
Node: expr query246506
Node: any query247186
Node: all query247639
Node: Queries and command options248185
Node: Queries and account aliases248633
Node: Queries and valuation248958
Node: Pivoting249320
Node: Generating data251596
Node: Forecasting253396
Node: --forecast254052
Node: Inspecting forecast transactions255153
Node: Forecast reports256486
Node: Forecast tags257595
Node: Forecast period in detail258215
Node: Forecast troubleshooting259303
Node: Budgeting260374
Node: Amount formatting260934
Node: Commodity display style261178
Node: Rounding263019
Node: Trailing decimal marks263624
Node: Amount parseability264557
Node: Cost reporting266166
Node: Recording costs266997
Node: Reporting at cost268724
Node: Equity conversion postings269489
Node: Inferring equity conversion postings272134
Node: Combining costs and equity conversion postings273276
Node: Requirements for detecting equity conversion postings274501
Node: Infer cost and equity by default ?276023
Node: Value reporting276460
Node: -V Value277396
Node: -X Value in specified commodity277723
Node: Valuation date278073
Node: Finding market price279033
Node: --infer-market-prices market prices from transactions280413
Node: Valuation commodity283457
Node: --value Flexible valuation284890
Node: Valuation examples286733
Node: Interaction of valuation and queries288865
Node: Effect of valuation on reports289582
Node: PART 4 COMMANDS297480
Node: Help commands300269
Node: commands300455
Node: demo300663
Node: help301897
Node: User interface commands303602
Node: repl303813
Node: Examples306077
Node: run306635
Node: Examples 2309050
Node: ui310074
Node: web310211
Node: Data entry commands310339
Node: add310537
Node: import312992
Node: Import preview314026
Node: Overlap detection314974
Node: First import317860
Node: Importing balance assignments319055
Node: Import and commodity styles320110
Node: Import special cases320548
Node: Basic report commands321883
Node: accounts322184
Node: codes325117
Node: commodities326139
Node: descriptions326383
Node: files326850
Node: notes327147
Node: payees327659
Node: prices328443
Node: stats329335
Node: tags331076
Node: Standard report commands332383
Node: print332688
Node: print explicitness335499
Node: print amount style336419
Node: print parseability337657
Node: print other features338576
Node: print output format339537
Node: aregister342822
Node: aregister and posting dates347375
Node: register348276
Node: Custom register output355517
Node: balancesheet356702
Node: balancesheetequity361667
Node: cashflow367002
Node: incomestatement371815
Node: Advanced report commands376664
Node: balance376872
Node: balance features382293
Node: Simple balance report384396
Node: Balance report line format386206
Node: Filtered balance report388566
Node: List or tree mode389085
Node: Depth limiting390598
Node: Dropping top-level accounts391365
Node: Showing declared accounts391875
Node: Sorting by amount392605
Node: Percentages393459
Node: Multi-period balance report394166
Node: Balance change end balance396918
Node: Balance report modes398555
Node: Calculation mode399234
Node: Accumulation mode399938
Node: Valuation mode401039
Node: Combining balance report modes402383
Node: Budget report404413
Node: Using the budget report406713
Node: Budget date surprises408989
Node: Selecting budget goals410353
Node: Budgeting vs forecasting411301
Node: Balance report layout412978
Node: Wide layout414183
Node: Tall layout416588
Node: Bare layout417894
Node: Tidy layout419958
Node: Balance report output421502
Node: Some useful balance reports422276
Node: roi423536
Node: Spaces and special characters in --inv and --pnl425783
Node: Semantics of --inv and --pnl426509
Node: IRR and TWR explained428596
Node: Chart commands432007
Node: activity432188
Node: Data generation commands432685
Node: close432891
Node: close --clopen435454
Node: close --close437628
Node: close --open438152
Node: close --assert438402
Node: close --assign438729
Node: close --retain439408
Node: close customisation440265
Node: close and balance assertions441909
Node: close examples443431
Node: Retain earnings443668
Node: Migrate balances to a new file444171
Node: More detailed close examples445533
Node: rewrite445755
Node: Re-write rules in a file448327
Node: Diff output format449637
Node: rewrite vs print --auto450910
Node: Maintenance commands451624
Node: check451843
Node: Basic checks452925
Node: Strict checks453946
Node: Other checks454883
Node: Custom checks456635
Node: diff457090
Node: setup458298
Node: test461165
Node: PART 5 COMMON TASKS462068
Node: Getting help462301
Node: Constructing command lines463210
Node: Starting a journal file464048
Node: Setting LEDGER_FILE465432
Node: Setting opening balances466690
Node: Recording transactions470012
Node: Reconciling470737
Node: Reporting473126
Node: Migrating to a new file477240
Node: BUGS477689
Node: Troubleshooting478657

End Tag Table

File diff suppressed because it is too large Load Diff