;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 hledger\-ui, also make future\-dated transactions
visible at startup. visible at startup.
\-I \-\-ignore\-assertions don\[aq]t check balance assertions by default \-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\-costs infer conversion equity postings from costs
\-\-infer\-equity infer costs from conversion equity postings \-\-infer\-equity infer costs from conversion equity postings
\-\-infer\-market\-prices infer market prices from costs \-\-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 hledger-ui, also make future-dated transactions
visible at startup. visible at startup.
-I --ignore-assertions don't check balance assertions by default -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-costs infer conversion equity postings from costs
--infer-equity infer costs from conversion equity postings --infer-equity infer costs from conversion equity postings
--infer-market-prices infer market prices from costs --infer-market-prices infer market prices from costs
@ -563,21 +566,21 @@ with the UI unresponsive.
Tag Table: Tag Table:
Node: Top221 Node: Top221
Node: OPTIONS1872 Node: OPTIONS1872
Node: MOUSE8546 Node: MOUSE8758
Node: KEYS8878 Node: KEYS9090
Node: SCREENS13882 Node: SCREENS14094
Node: Menu screen14622 Node: Menu screen14834
Node: Cash accounts screen14938 Node: Cash accounts screen15150
Node: Balance sheet accounts screen15299 Node: Balance sheet accounts screen15511
Node: Income statement accounts screen15635 Node: Income statement accounts screen15847
Node: All accounts screen16020 Node: All accounts screen16232
Node: Register screen16383 Node: Register screen16595
Node: Transaction screen18826 Node: Transaction screen19038
Node: Error screen20401 Node: Error screen20613
Node: WATCH MODE20767 Node: WATCH MODE20979
Node: --watch problems21665 Node: --watch problems21877
Node: ENVIRONMENT23018 Node: ENVIRONMENT23230
Node: BUGS23251 Node: BUGS23463
 
End Tag Table End Tag Table

View File

@ -78,6 +78,9 @@ OPTIONS
hledger-ui, also make future-dated transactions hledger-ui, also make future-dated transactions
visible at startup. visible at startup.
-I --ignore-assertions don't check balance assertions by default -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-costs infer conversion equity postings from costs
--infer-equity infer costs from conversion equity postings --infer-equity infer costs from conversion equity postings
--infer-market-prices infer market prices from costs --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 hledger\-ui, also make future\-dated transactions
visible at startup. visible at startup.
\-I \-\-ignore\-assertions don\[aq]t check balance assertions by default \-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\-costs infer conversion equity postings from costs
\-\-infer\-equity infer costs from conversion equity postings \-\-infer\-equity infer costs from conversion equity postings
\-\-infer\-market\-prices infer market prices from costs \-\-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 hledger-ui, also make future-dated transactions
visible at startup. visible at startup.
-I --ignore-assertions don't check balance assertions by default -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-costs infer conversion equity postings from costs
--infer-equity infer costs from conversion equity postings --infer-equity infer costs from conversion equity postings
--infer-market-prices infer market prices from costs --infer-market-prices infer market prices from costs
@ -526,14 +529,14 @@ We welcome bug reports in the hledger issue tracker
Tag Table: Tag Table:
Node: Top223 Node: Top223
Node: OPTIONS2581 Node: OPTIONS2581
Node: PERMISSIONS11270 Node: PERMISSIONS11482
Node: EDITING UPLOADING DOWNLOADING12420 Node: EDITING UPLOADING DOWNLOADING12632
Node: RELOADING13435 Node: RELOADING13647
Node: JSON API14002 Node: JSON API14214
Node: DEBUG OUTPUT19651 Node: DEBUG OUTPUT19863
Node: Debug output19803 Node: Debug output20015
Node: ENVIRONMENT20321 Node: ENVIRONMENT20533
Node: BUGS20557 Node: BUGS20769
 
End Tag Table End Tag Table

View File

@ -121,6 +121,9 @@ OPTIONS
hledger-ui, also make future-dated transactions hledger-ui, also make future-dated transactions
visible at startup. visible at startup.
-I --ignore-assertions don't check balance assertions by default -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-costs infer conversion equity postings from costs
--infer-equity infer costs from conversion equity postings --infer-equity infer costs from conversion equity postings
--infer-market-prices infer market prices from costs --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 hledger\-ui, also make future\-dated transactions
visible at startup. visible at startup.
\-I \-\-ignore\-assertions don\[aq]t check balance assertions by default \-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\-costs infer conversion equity postings from costs
\-\-infer\-equity infer costs from conversion equity postings \-\-infer\-equity infer costs from conversion equity postings
\-\-infer\-market\-prices infer market prices from costs \-\-infer\-market\-prices infer market prices from costs
@ -2298,44 +2301,52 @@ they may contain tags, which are not ignored.
.EE .EE
.SS Transaction balancing .SS Transaction balancing
How exactly does hledger decide when a transaction is balanced ? How exactly does hledger decide when a transaction is balanced ?
The general goal is that if you look at the journal entry and calculate Especially when it involves costs, which often are not exact, because of
the amounts\[aq] sum perfectly with pencil and paper, hledger should repeating decimals, or imperfect data from financial institutions ?
agree with you. 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 .PP
Real world transactions, especially for investments or cryptocurrencies, Since version 1.50, hledger infers balancing precision in each
often involve imprecise costs, complex decimals, and/or transaction from the amounts in that transaction\[aq]s journal entry
infinitely\-recurring decimals, which are difficult or inconvenient to (like Ledger).
handle on a computer. Ie, when checking the balance of commodity A, it uses the highest
So to be a practical accounting system, hledger allows some imprecision decimal precision seen for A in the journal entry (excluding cost
when checking transaction balancedness. amounts).
The question is, how much imprecision should be allowed ? 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 .PP
hledger currently decides it based on the commodity display styles: if Note that hledger versions before 1.50 worked differently: they allowed
the postings\[aq] sum would appear to be zero when displayed with the display precision to override the balancing precision.
standard display precisions, the transaction is considered balanced. This masked small imbalances and caused fragility (see issue #2402).
.PP As a result, some journal entries (or CSV rules) that worked with
Or equivalently: if the journal entry is displayed with amounts rounded hledger <1.50, are now rejected with an \[dq]unbalanced transaction\[dq]
to the standard display precisions (with error.
\f[CR]hledger print \-\-round=hard\f[R]), and a human with pencil and If you hit this problem, it\[aq]s easy to fix:
paper would agree that those displayed amounts add up to zero, the .IP \[bu] 2
transaction is considered balanced. You can restore the old behaviour, by adding
.PP \f[CR]\-\-txn\-balancing=old\f[R] to the command or to your
This has some advantages: it is fairly intuitive, general not \f[CR]\[ti]/.hledger.conf\f[R] file.
hard\-coded, yet configurable when needed. This lets you keep using old journals unchanged, though without the
On the downside it means that transaction balancedness is related to above benefits.
commodity display precisions, so eg when using .IP \[bu] 2
\f[CR]\-c/\-\-commodity\-style\f[R] to display things with more than Or you can fix the problem entries (recommended).
usual precision, you might need to fix some of your journal entries (ie, There are three ways, use whichever seems best:
add decimal digits to make them balance more precisely). .RS 2
.PP .IP "1." 3
Other PTA tools (Ledger, Beancount..) make cost amounts more precise (add more/better decimal digits)
have their own ways of doing it. .IP "2." 3
Possible improvements are discussed at #1964. or make non\-cost amounts less precise (remove unnecessary decimal
.PP digits that are raising the precision)
Note: if you have multiple journal files, and are relying on commodity .IP "3." 3
directives to make imprecise journal entries balance, the or add a posting to absorb the imbalance (eg
directives\[aq] placement might be important \- see \f[CR]commodity\f[R] \[dq]expenses:rounding\[dq].
directive. Remember that one posting may omit the amount; that\[aq]s convenient
here.)
.RE
.SS Tags .SS Tags
Tags are a way to add extra labels or data fields to transactions, Tags are a way to add extra labels or data fields to transactions,
postings, or accounts. postings, or accounts.
@ -8439,10 +8450,19 @@ T}
\f[CR]\-H\f[R] but with a zero starting balance. \f[CR]\-H\f[R] but with a zero starting balance.
.SH PART 4: COMMANDS .SH PART 4: COMMANDS
.PP .PP
Here are the standard commands, which you can list by running Here are hledger\[aq]s standard subcommands.
\f[CR]hledger\f[R]. You can list these by running \f[CR]hledger\f[R].
If you have installed more add\-on commands, they also will be listed. If you have installed more add\-on commands, they also will be listed.
.PP .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] \f[B]Help commands\f[R]
.IP \[bu] 2 .IP \[bu] 2
commands \- show the hledger commands list (default) 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 hledger-ui, also make future-dated transactions
visible at startup. visible at startup.
-I --ignore-assertions don't check balance assertions by default -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-costs infer conversion equity postings from costs
--infer-equity infer costs from conversion equity postings --infer-equity infer costs from conversion equity postings
--infer-market-prices infer market prices from costs --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 8.14 Transaction balancing
========================== ==========================
How exactly does hledger decide when a transaction is balanced ? The How exactly does hledger decide when a transaction is balanced ?
general goal is that if you look at the journal entry and calculate the Especially when it involves costs, which often are not exact, because of
amounts' sum perfectly with pencil and paper, hledger should agree with repeating decimals, or imperfect data from financial institutions ? In
you. 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 Since version 1.50, hledger infers balancing precision in each
cryptocurrencies, often involve imprecise costs, complex decimals, transaction from the amounts in that transaction's journal entry (like
and/or infinitely-recurring decimals, which are difficult or Ledger). Ie, when checking the balance of commodity A, it uses the
inconvenient to handle on a computer. So to be a practical accounting highest decimal precision seen for A in the journal entry (excluding
system, hledger allows some imprecision when checking transaction cost amounts). This makes transaction balancing robust; any imbalances
balancedness. The question is, how much imprecision should be allowed ? 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: Note that hledger versions before 1.50 worked differently: they
if the postings' sum would appear to be zero when displayed with the allowed display precision to override the balancing precision. This
standard display precisions, the transaction is considered balanced. 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 * You can restore the old behaviour, by adding '--txn-balancing=old'
rounded to the standard display precisions (with 'hledger print to the command or to your '~/.hledger.conf' file. This lets you
--round=hard'), and a human with pencil and paper would agree that those keep using old journals unchanged, though without the above
displayed amounts add up to zero, the transaction is considered benefits.
balanced.
This has some advantages: it is fairly intuitive, general not * Or you can fix the problem entries (recommended). There are three
hard-coded, yet configurable when needed. On the downside it means that ways, use whichever seems best:
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).
Other PTA tools (Ledger, Beancount..) have their own ways of doing 1. make cost amounts more precise (add more/better decimal
it. Possible improvements are discussed at #1964. digits)
2. or make non-cost amounts less precise (remove unnecessary
Note: if you have multiple journal files, and are relying on decimal digits that are raising the precision)
commodity directives to make imprecise journal entries balance, the 3. or add a posting to absorb the imbalance (eg
directives' placement might be important - see 'commodity' directive. "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 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 23 PART 4: COMMANDS
******************* *******************
Here are the standard commands, which you can list by running 'hledger'. Here are hledger's standard subcommands. You can list these by running
If you have installed more add-on commands, they also will be listed. '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* *Help commands*
@ -12798,382 +12812,382 @@ Node: Strict mode9203
Node: Commands10037 Node: Commands10037
Node: Add-on commands11319 Node: Add-on commands11319
Node: Options12537 Node: Options12537
Node: Special characters19280 Node: Special characters19492
Node: Escaping shell special characters20230 Node: Escaping shell special characters20442
Node: Escaping on Windows21474 Node: Escaping on Windows21686
Node: Escaping regular expression special characters22207 Node: Escaping regular expression special characters22419
Node: Escaping add-on arguments23194 Node: Escaping add-on arguments23406
Node: Escaping in other situations24223 Node: Escaping in other situations24435
Node: Using a wild card25182 Node: Using a wild card25394
Node: Unicode characters25561 Node: Unicode characters25773
Node: Regular expressions26982 Node: Regular expressions27194
Node: hledger's regular expressions30241 Node: hledger's regular expressions30453
Node: Argument files31882 Node: Argument files32094
Node: Config files32585 Node: Config files32797
Node: Shell completions35886 Node: Shell completions36098
Node: Output36375 Node: Output36587
Node: Output destination36566 Node: Output destination36778
Node: Output format37124 Node: Output format37336
Node: Text output38910 Node: Text output39122
Node: Box-drawing characters39889 Node: Box-drawing characters40101
Node: Colour40389 Node: Colour40601
Node: Paging40975 Node: Paging41187
Node: HTML output42501 Node: HTML output42713
Node: CSV / TSV output42919 Node: CSV / TSV output43131
Node: FODS output43173 Node: FODS output43385
Node: Beancount output43977 Node: Beancount output44189
Node: Beancount account names45478 Node: Beancount account names45690
Node: Beancount commodity names46019 Node: Beancount commodity names46231
Node: Beancount virtual postings46666 Node: Beancount virtual postings46878
Node: Beancount metadata46982 Node: Beancount metadata47194
Node: Beancount costs47762 Node: Beancount costs47974
Node: Beancount operating currency48178 Node: Beancount operating currency48390
Node: SQL output48628 Node: SQL output48840
Node: JSON output49419 Node: JSON output49631
Node: Commodity styles50236 Node: Commodity styles50448
Node: Debug output51123 Node: Debug output51335
Node: Environment51955 Node: Environment52167
Node: PART 2 DATA FORMATS52612 Node: PART 2 DATA FORMATS52824
Node: Journal52755 Node: Journal52967
Node: Journal cheatsheet55233 Node: Journal cheatsheet55445
Node: Comments61484 Node: Comments61696
Node: Transactions62428 Node: Transactions62640
Node: Dates63565 Node: Dates63777
Node: Simple dates63717 Node: Simple dates63929
Node: Posting dates64333 Node: Posting dates64545
Node: Status65420 Node: Status65632
Node: Code67186 Node: Code67398
Node: Description67521 Node: Description67733
Node: Payee and note68208 Node: Payee and note68420
Node: Transaction comments69299 Node: Transaction comments69511
Node: Postings69815 Node: Postings70027
Node: Debits and credits70978 Node: Debits and credits71190
Node: The two space delimiter71588 Node: The two space delimiter71800
Node: Account names72153 Node: Account names72365
Node: Amounts73957 Node: Amounts74169
Node: Decimal marks74986 Node: Decimal marks75198
Node: Digit group marks76090 Node: Digit group marks76302
Node: Commodity76725 Node: Commodity76937
Node: Costs77842 Node: Costs78054
Node: Balance assertions80094 Node: Balance assertions80306
Node: Assertions and ordering81342 Node: Assertions and ordering81554
Node: Assertions and multiple files82061 Node: Assertions and multiple files82273
Node: Assertions and costs83229 Node: Assertions and costs83441
Node: Assertions and commodities83876 Node: Assertions and commodities84088
Node: Assertions and subaccounts85535 Node: Assertions and subaccounts85747
Node: Assertions and status86195 Node: Assertions and status86407
Node: Assertions and virtual postings86615 Node: Assertions and virtual postings86827
Node: Assertions and auto postings86980 Node: Assertions and auto postings87192
Node: Assertions and precision87855 Node: Assertions and precision88067
Node: Assertions and hledger add88339 Node: Assertions and hledger add88551
Node: Posting comments89087 Node: Posting comments89299
Node: Transaction balancing89627 Node: Transaction balancing89839
Node: Tags91629 Node: Tags92047
Node: Querying with tags92923 Node: Querying with tags93341
Node: Displaying tags93722 Node: Displaying tags94140
Node: When to use tags ?94118 Node: When to use tags ?94536
Node: Tag names94782 Node: Tag names95200
Node: Special tags95335 Node: Special tags95753
Node: Directives96900 Node: Directives97318
Node: Directives and multiple files98357 Node: Directives and multiple files98775
Node: Directive effects99302 Node: Directive effects99720
Node: account directive102458 Node: account directive102876
Node: Account comments103908 Node: Account comments104326
Node: Account error checking104567 Node: Account error checking104985
Node: Account display order106104 Node: Account display order106522
Node: Account types107302 Node: Account types107720
Node: alias directive110577 Node: alias directive110995
Node: Basic aliases111788 Node: Basic aliases112206
Node: Regex aliases112663 Node: Regex aliases113081
Node: Combining aliases113710 Node: Combining aliases114128
Node: Aliases and multiple files115164 Node: Aliases and multiple files115582
Node: end aliases directive115947 Node: end aliases directive116365
Node: Aliases can generate bad account names116315 Node: Aliases can generate bad account names116733
Node: Aliases and account types117148 Node: Aliases and account types117566
Node: commodity directive118040 Node: commodity directive118458
Node: Commodity directive syntax119627 Node: Commodity directive syntax120045
Node: Commodity error checking121276 Node: Commodity error checking121694
Node: decimal-mark directive121751 Node: decimal-mark directive122169
Node: include directive122330 Node: include directive122748
Node: P directive123406 Node: P directive123824
Node: payee directive124440 Node: payee directive124858
Node: tag directive125062 Node: tag directive125480
Node: Periodic transactions125674 Node: Periodic transactions126092
Node: Periodic rule syntax127828 Node: Periodic rule syntax128246
Node: Periodic rules and relative dates128651 Node: Periodic rules and relative dates129069
Node: Two spaces between period expression and description!129428 Node: Two spaces between period expression and description!129846
Node: Auto postings130389 Node: Auto postings130807
Node: Auto postings and multiple files133549 Node: Auto postings and multiple files133967
Node: Auto postings and dates133954 Node: Auto postings and dates134372
Node: Auto postings and transaction balancing / inferred amounts / balance assertions134395 Node: Auto postings and transaction balancing / inferred amounts / balance assertions134813
Node: Auto posting tags135241 Node: Auto posting tags135659
Node: Auto postings on forecast transactions only136136 Node: Auto postings on forecast transactions only136554
Node: Other syntax136606 Node: Other syntax137024
Node: Balance assignments137378 Node: Balance assignments137796
Node: Balance assignments and costs138906 Node: Balance assignments and costs139324
Node: Balance assignments and multiple files139328 Node: Balance assignments and multiple files139746
Node: Bracketed posting dates139751 Node: Bracketed posting dates140169
Node: D directive140449 Node: D directive140867
Node: apply account directive142222 Node: apply account directive142640
Node: Y directive143089 Node: Y directive143507
Node: Secondary dates144077 Node: Secondary dates144495
Node: Star comments145562 Node: Star comments145980
Node: Valuation expressions146254 Node: Valuation expressions146672
Node: Virtual postings146553 Node: Virtual postings146971
Node: Other Ledger directives148177 Node: Other Ledger directives148595
Node: Other cost/lot notations148939 Node: Other cost/lot notations149357
Node: CSV151780 Node: CSV152198
Node: CSV rules cheatsheet153934 Node: CSV rules cheatsheet154352
Node: source155961 Node: source156379
Node: encoding156961 Node: encoding157379
Node: separator158003 Node: separator158421
Node: skip158656 Node: skip159074
Node: date-format159306 Node: date-format159724
Node: timezone160149 Node: timezone160567
Node: newest-first161275 Node: newest-first161693
Node: intra-day-reversed161988 Node: intra-day-reversed162406
Node: decimal-mark162588 Node: decimal-mark163006
Node: fields list163068 Node: fields list163486
Node: Field assignment164876 Node: Field assignment165294
Node: Field names166095 Node: Field names166513
Node: date field167427 Node: date field167845
Node: date2 field167591 Node: date2 field168009
Node: status field167786 Node: status field168204
Node: code field167976 Node: code field168394
Node: description field168164 Node: description field168582
Node: comment field168381 Node: comment field168799
Node: account field168938 Node: account field169356
Node: amount field169656 Node: amount field170074
Node: currency field172495 Node: currency field172913
Node: balance field172903 Node: balance field173321
Node: if block173426 Node: if block173844
Node: Matchers174953 Node: Matchers175371
Node: Multiple matchers176943 Node: Multiple matchers177361
Node: Match groups177751 Node: Match groups178169
Node: if table178644 Node: if table179062
Node: balance-type180707 Node: balance-type181125
Node: include181534 Node: include181952
Node: Working with CSV182103 Node: Working with CSV182521
Node: Rapid feedback182655 Node: Rapid feedback183073
Node: Valid CSV183238 Node: Valid CSV183656
Node: File Extension184114 Node: File Extension184532
Node: Reading CSV from standard input184849 Node: Reading CSV from standard input185267
Node: Reading multiple CSV files185235 Node: Reading multiple CSV files185653
Node: Reading files specified by rule185711 Node: Reading files specified by rule186129
Node: Valid transactions187108 Node: Valid transactions187526
Node: Deduplicating importing187933 Node: Deduplicating importing188351
Node: Setting amounts189162 Node: Setting amounts189580
Node: Amount signs191689 Node: Amount signs192107
Node: Setting currency/commodity192754 Node: Setting currency/commodity193172
Node: Amount decimal places194130 Node: Amount decimal places194548
Node: Referencing other fields195387 Node: Referencing other fields195805
Node: How CSV rules are evaluated196495 Node: How CSV rules are evaluated196913
Node: Well factored rules199212 Node: Well factored rules199630
Node: CSV rules examples199702 Node: CSV rules examples200120
Node: Bank of Ireland199900 Node: Bank of Ireland200318
Node: Coinbase201497 Node: Coinbase201915
Node: Amazon202680 Node: Amazon203098
Node: Paypal204522 Node: Paypal204940
Node: Timeclock212272 Node: Timeclock212690
Node: Timedot215097 Node: Timedot215515
Node: Timedot examples218574 Node: Timedot examples218992
Node: PART 3 REPORTING CONCEPTS220851 Node: PART 3 REPORTING CONCEPTS221269
Node: Time periods221015 Node: Time periods221433
Node: Report start & end date221288 Node: Report start & end date221706
Node: Smart dates222764 Node: Smart dates223182
Node: Report intervals224707 Node: Report intervals225125
Node: Date adjustments225281 Node: Date adjustments225699
Node: Start date adjustment225501 Node: Start date adjustment225919
Node: End date adjustment226404 Node: End date adjustment226822
Node: Period headings227149 Node: Period headings227567
Node: Period expressions228082 Node: Period expressions228500
Node: Period expressions with a report interval229987 Node: Period expressions with a report interval230405
Node: More complex report intervals230435 Node: More complex report intervals230853
Node: Multiple weekday intervals232551 Node: Multiple weekday intervals232969
Node: Depth233562 Node: Depth233980
Node: Queries235397 Node: Queries235815
Node: Query types238069 Node: Query types238487
Node: acct query238444 Node: acct query238862
Node: amt query238755 Node: amt query239173
Node: code query239452 Node: code query239870
Node: cur query239647 Node: cur query240065
Node: desc query240253 Node: desc query240671
Node: date query240436 Node: date query240854
Node: date2 query240832 Node: date2 query241250
Node: depth query241123 Node: depth query241541
Node: note query241459 Node: note query241877
Node: payee query241725 Node: payee query242143
Node: real query242006 Node: real query242424
Node: status query242211 Node: status query242629
Node: type query242451 Node: type query242869
Node: tag query242984 Node: tag query243402
Node: Negative queries243613 Node: Negative queries244031
Node: not query243795 Node: not query244213
Node: Space-separated queries244082 Node: Space-separated queries244500
Node: Boolean queries244770 Node: Boolean queries245188
Node: expr query246088 Node: expr query246506
Node: any query246768 Node: any query247186
Node: all query247221 Node: all query247639
Node: Queries and command options247767 Node: Queries and command options248185
Node: Queries and account aliases248215 Node: Queries and account aliases248633
Node: Queries and valuation248540 Node: Queries and valuation248958
Node: Pivoting248902 Node: Pivoting249320
Node: Generating data251178 Node: Generating data251596
Node: Forecasting252978 Node: Forecasting253396
Node: --forecast253634 Node: --forecast254052
Node: Inspecting forecast transactions254735 Node: Inspecting forecast transactions255153
Node: Forecast reports256068 Node: Forecast reports256486
Node: Forecast tags257177 Node: Forecast tags257595
Node: Forecast period in detail257797 Node: Forecast period in detail258215
Node: Forecast troubleshooting258885 Node: Forecast troubleshooting259303
Node: Budgeting259956 Node: Budgeting260374
Node: Amount formatting260516 Node: Amount formatting260934
Node: Commodity display style260760 Node: Commodity display style261178
Node: Rounding262601 Node: Rounding263019
Node: Trailing decimal marks263206 Node: Trailing decimal marks263624
Node: Amount parseability264139 Node: Amount parseability264557
Node: Cost reporting265748 Node: Cost reporting266166
Node: Recording costs266579 Node: Recording costs266997
Node: Reporting at cost268306 Node: Reporting at cost268724
Node: Equity conversion postings269071 Node: Equity conversion postings269489
Node: Inferring equity conversion postings271716 Node: Inferring equity conversion postings272134
Node: Combining costs and equity conversion postings272858 Node: Combining costs and equity conversion postings273276
Node: Requirements for detecting equity conversion postings274083 Node: Requirements for detecting equity conversion postings274501
Node: Infer cost and equity by default ?275605 Node: Infer cost and equity by default ?276023
Node: Value reporting276042 Node: Value reporting276460
Node: -V Value276978 Node: -V Value277396
Node: -X Value in specified commodity277305 Node: -X Value in specified commodity277723
Node: Valuation date277655 Node: Valuation date278073
Node: Finding market price278615 Node: Finding market price279033
Node: --infer-market-prices market prices from transactions279995 Node: --infer-market-prices market prices from transactions280413
Node: Valuation commodity283039 Node: Valuation commodity283457
Node: --value Flexible valuation284472 Node: --value Flexible valuation284890
Node: Valuation examples286315 Node: Valuation examples286733
Node: Interaction of valuation and queries288447 Node: Interaction of valuation and queries288865
Node: Effect of valuation on reports289164 Node: Effect of valuation on reports289582
Node: PART 4 COMMANDS297062 Node: PART 4 COMMANDS297480
Node: Help commands299497 Node: Help commands300269
Node: commands299683 Node: commands300455
Node: demo299891 Node: demo300663
Node: help301125 Node: help301897
Node: User interface commands302830 Node: User interface commands303602
Node: repl303041 Node: repl303813
Node: Examples305305 Node: Examples306077
Node: run305863 Node: run306635
Node: Examples 2308278 Node: Examples 2309050
Node: ui309302 Node: ui310074
Node: web309439 Node: web310211
Node: Data entry commands309567 Node: Data entry commands310339
Node: add309765 Node: add310537
Node: import312220 Node: import312992
Node: Import preview313254 Node: Import preview314026
Node: Overlap detection314202 Node: Overlap detection314974
Node: First import317088 Node: First import317860
Node: Importing balance assignments318283 Node: Importing balance assignments319055
Node: Import and commodity styles319338 Node: Import and commodity styles320110
Node: Import special cases319776 Node: Import special cases320548
Node: Basic report commands321111 Node: Basic report commands321883
Node: accounts321412 Node: accounts322184
Node: codes324345 Node: codes325117
Node: commodities325367 Node: commodities326139
Node: descriptions325611 Node: descriptions326383
Node: files326078 Node: files326850
Node: notes326375 Node: notes327147
Node: payees326887 Node: payees327659
Node: prices327671 Node: prices328443
Node: stats328563 Node: stats329335
Node: tags330304 Node: tags331076
Node: Standard report commands331611 Node: Standard report commands332383
Node: print331916 Node: print332688
Node: print explicitness334727 Node: print explicitness335499
Node: print amount style335647 Node: print amount style336419
Node: print parseability336885 Node: print parseability337657
Node: print other features337804 Node: print other features338576
Node: print output format338765 Node: print output format339537
Node: aregister342050 Node: aregister342822
Node: aregister and posting dates346603 Node: aregister and posting dates347375
Node: register347504 Node: register348276
Node: Custom register output354745 Node: Custom register output355517
Node: balancesheet355930 Node: balancesheet356702
Node: balancesheetequity360895 Node: balancesheetequity361667
Node: cashflow366230 Node: cashflow367002
Node: incomestatement371043 Node: incomestatement371815
Node: Advanced report commands375892 Node: Advanced report commands376664
Node: balance376100 Node: balance376872
Node: balance features381521 Node: balance features382293
Node: Simple balance report383624 Node: Simple balance report384396
Node: Balance report line format385434 Node: Balance report line format386206
Node: Filtered balance report387794 Node: Filtered balance report388566
Node: List or tree mode388313 Node: List or tree mode389085
Node: Depth limiting389826 Node: Depth limiting390598
Node: Dropping top-level accounts390593 Node: Dropping top-level accounts391365
Node: Showing declared accounts391103 Node: Showing declared accounts391875
Node: Sorting by amount391833 Node: Sorting by amount392605
Node: Percentages392687 Node: Percentages393459
Node: Multi-period balance report393394 Node: Multi-period balance report394166
Node: Balance change end balance396146 Node: Balance change end balance396918
Node: Balance report modes397783 Node: Balance report modes398555
Node: Calculation mode398462 Node: Calculation mode399234
Node: Accumulation mode399166 Node: Accumulation mode399938
Node: Valuation mode400267 Node: Valuation mode401039
Node: Combining balance report modes401611 Node: Combining balance report modes402383
Node: Budget report403641 Node: Budget report404413
Node: Using the budget report405941 Node: Using the budget report406713
Node: Budget date surprises408217 Node: Budget date surprises408989
Node: Selecting budget goals409581 Node: Selecting budget goals410353
Node: Budgeting vs forecasting410529 Node: Budgeting vs forecasting411301
Node: Balance report layout412206 Node: Balance report layout412978
Node: Wide layout413411 Node: Wide layout414183
Node: Tall layout415816 Node: Tall layout416588
Node: Bare layout417122 Node: Bare layout417894
Node: Tidy layout419186 Node: Tidy layout419958
Node: Balance report output420730 Node: Balance report output421502
Node: Some useful balance reports421504 Node: Some useful balance reports422276
Node: roi422764 Node: roi423536
Node: Spaces and special characters in --inv and --pnl425011 Node: Spaces and special characters in --inv and --pnl425783
Node: Semantics of --inv and --pnl425737 Node: Semantics of --inv and --pnl426509
Node: IRR and TWR explained427824 Node: IRR and TWR explained428596
Node: Chart commands431235 Node: Chart commands432007
Node: activity431416 Node: activity432188
Node: Data generation commands431913 Node: Data generation commands432685
Node: close432119 Node: close432891
Node: close --clopen434682 Node: close --clopen435454
Node: close --close436856 Node: close --close437628
Node: close --open437380 Node: close --open438152
Node: close --assert437630 Node: close --assert438402
Node: close --assign437957 Node: close --assign438729
Node: close --retain438636 Node: close --retain439408
Node: close customisation439493 Node: close customisation440265
Node: close and balance assertions441137 Node: close and balance assertions441909
Node: close examples442659 Node: close examples443431
Node: Retain earnings442896 Node: Retain earnings443668
Node: Migrate balances to a new file443399 Node: Migrate balances to a new file444171
Node: More detailed close examples444761 Node: More detailed close examples445533
Node: rewrite444983 Node: rewrite445755
Node: Re-write rules in a file447555 Node: Re-write rules in a file448327
Node: Diff output format448865 Node: Diff output format449637
Node: rewrite vs print --auto450138 Node: rewrite vs print --auto450910
Node: Maintenance commands450852 Node: Maintenance commands451624
Node: check451071 Node: check451843
Node: Basic checks452153 Node: Basic checks452925
Node: Strict checks453174 Node: Strict checks453946
Node: Other checks454111 Node: Other checks454883
Node: Custom checks455863 Node: Custom checks456635
Node: diff456318 Node: diff457090
Node: setup457526 Node: setup458298
Node: test460393 Node: test461165
Node: PART 5 COMMON TASKS461296 Node: PART 5 COMMON TASKS462068
Node: Getting help461529 Node: Getting help462301
Node: Constructing command lines462438 Node: Constructing command lines463210
Node: Starting a journal file463276 Node: Starting a journal file464048
Node: Setting LEDGER_FILE464660 Node: Setting LEDGER_FILE465432
Node: Setting opening balances465918 Node: Setting opening balances466690
Node: Recording transactions469240 Node: Recording transactions470012
Node: Reconciling469965 Node: Reconciling470737
Node: Reporting472354 Node: Reporting473126
Node: Migrating to a new file476468 Node: Migrating to a new file477240
Node: BUGS476917 Node: BUGS477689
Node: Troubleshooting477885 Node: Troubleshooting478657
 
End Tag Table End Tag Table

File diff suppressed because it is too large Load Diff