;regen manuals

This commit is contained in:
Simon Michael 2020-03-18 16:17:24 -07:00
parent cf7de57836
commit 05ad168792
3 changed files with 227 additions and 208 deletions

View File

@ -524,7 +524,7 @@ EUR 1E3
\f[R] \f[R]
.fi .fi
.PP .PP
A decimal mark (decimal point) can be written with a period or a comma: A decimal mark can be written as a period or a comma:
.IP .IP
.nf .nf
\f[C] \f[C]
@ -1027,6 +1027,16 @@ declare a year for yearless dates
T}@T{ T}@T{
following inline/included entries until end of current file following inline/included entries until end of current file
T} T}
T{
\f[C]=\f[R]
T}@T{
T}@T{
T}@T{
declare an auto posting rule, adding postings to other transactions
T}@T{
all entries in parent/current/child files (but not sibling files, see
#1212)
T}
.TE .TE
.PP .PP
And some definitions: And some definitions:
@ -1807,31 +1817,28 @@ Goals and actual performance can then be compared in budget reports.
For more details, see: balance: Budget report and Budgeting and For more details, see: balance: Budget report and Budgeting and
Forecasting. Forecasting.
.PP .PP
.SS Auto postings / transaction modifiers .SS Auto postings
.PP .PP
Transaction modifier rules, AKA auto posting rules, describe changes to \[dq]Automated postings\[dq] or \[dq]auto postings\[dq] are extra
be applied automatically to certain matched transactions. postings which get added automatically to transactions which match
Currently just one kind of change is possible - adding extra postings, certain queries, defined by \[dq]auto posting rules\[dq], when you use
which we call \[dq]automated postings\[dq] or just \[dq]auto the \f[C]--auto\f[R] flag.
postings\[dq].
These rules become active when you use the \f[C]--auto\f[R] flag.
.PP .PP
A transaction modifier rule looks much like a normal transaction except An auto posting rule looks a bit like a transaction:
the first line is an equals sign followed by a query that matches
certain postings (mnemonic: \f[C]=\f[R] suggests matching).
And each \[dq]posting\[dq] is actually a posting-generating rule:
.IP .IP
.nf .nf
\f[C] \f[C]
= QUERY = QUERY
ACCOUNT AMOUNT ACCOUNT AMOUNT
ACCOUNT [AMOUNT]
... ...
ACCOUNT [AMOUNT]
\f[R] \f[R]
.fi .fi
.PP .PP
These posting-generating rules look like normal postings, except the except the first line is an equals sign (mnemonic: \f[C]=\f[R] suggests
amount can be: matching), followed by a query (which matches existing postings), and
each \[dq]posting\[dq] line describes a posting to be generated, and the
posting amounts can be:
.IP \[bu] 2 .IP \[bu] 2
a normal amount with a commodity symbol, eg \f[C]$2\f[R]. a normal amount with a commodity symbol, eg \f[C]$2\f[R].
This will be used as-is. This will be used as-is.
@ -1849,7 +1856,7 @@ N, and symbol S).
The matched posting\[aq]s amount will be multiplied by N, and its The matched posting\[aq]s amount will be multiplied by N, and its
commodity symbol will be replaced with S. commodity symbol will be replaced with S.
.PP .PP
A query term containing spaces must be enclosed in single or double Any query term containing spaces must be enclosed in single or double
quotes, as on the command line. quotes, as on the command line.
Eg, note the quotes around the second query term below: Eg, note the quotes around the second query term below:
.IP .IP
@ -1860,10 +1867,6 @@ Eg, note the quotes around the second query term below:
\f[R] \f[R]
.fi .fi
.PP .PP
These rules have global effect - a rule appearing anywhere in your data
can potentially affect any transaction, including transactions recorded
above it or in another file.
.PP
Some examples: Some examples:
.IP .IP
.nf .nf
@ -1902,6 +1905,12 @@ $ hledger print --auto
assets:checking $20 assets:checking $20
\f[R] \f[R]
.fi .fi
.SS Auto postings and multiple files
.PP
An auto posting rule can affect any transaction in the current file, or
in any parent file or child file.
Note, currently it will not affect sibling files (when multiple
\f[C]-f\f[R]/\f[C]--file\f[R] are used - see #1212).
.SS Auto postings and dates .SS Auto postings and dates
.PP .PP
A posting date (or secondary date) in the matched posting, or (taking A posting date (or secondary date) in the matched posting, or (taking
@ -1909,7 +1918,7 @@ precedence) a posting date in the auto posting rule itself, will also be
used in the generated posting. used in the generated posting.
.SS Auto postings and transaction balancing / inferred amounts / balance assertions .SS Auto postings and transaction balancing / inferred amounts / balance assertions
.PP .PP
Currently, transaction modifiers are applied / auto postings are added: Currently, auto postings are added:
.IP \[bu] 2 .IP \[bu] 2
after missing amounts are inferred, and transactions are checked for after missing amounts are inferred, and transactions are checked for
balancedness, balancedness,
@ -1921,7 +1930,7 @@ after auto postings are added.
This changed in hledger 1.12+; see #893 for background. This changed in hledger 1.12+; see #893 for background.
.SS Auto posting tags .SS Auto posting tags
.PP .PP
Postings added by transaction modifiers will have some extra tags: Automated postings will have some extra tags:
.IP \[bu] 2 .IP \[bu] 2
\f[C]generated-posting:= QUERY\f[R] - shows this was generated by an \f[C]generated-posting:= QUERY\f[R] - shows this was generated by an
auto posting rule, and the query auto posting rule, and the query
@ -1931,8 +1940,8 @@ appear in hledger\[aq]s output.
This can be used to match postings generated \[dq]just now\[dq], rather This can be used to match postings generated \[dq]just now\[dq], rather
than generated in the past and saved to the journal. than generated in the past and saved to the journal.
.PP .PP
Also, any transaction that has been changed by transaction modifier Also, any transaction that has been changed by auto posting rules will
rules will have these tags added: have these tags added:
.IP \[bu] 2 .IP \[bu] 2
\f[C]modified:\f[R] - this transaction was modified \f[C]modified:\f[R] - this transaction was modified
.IP \[bu] 2 .IP \[bu] 2

View File

@ -85,7 +85,7 @@ optional fields, separated by spaces:
* Balance Assignments:: * Balance Assignments::
* Directives:: * Directives::
* Periodic transactions:: * Periodic transactions::
* Auto postings / transaction modifiers:: * Auto postings::
 
File: hledger_journal.info, Node: Dates, Next: Status, Up: Transactions File: hledger_journal.info, Node: Dates, Next: Status, Up: Transactions
@ -470,8 +470,7 @@ $-1
1E-6 1E-6
EUR 1E3 EUR 1E3
A decimal mark (decimal point) can be written with a period or a A decimal mark can be written as a period or a comma:
comma:
1.23 1.23
1,23456780000009 1,23456780000009
@ -912,6 +911,11 @@ account' apply account names inline/included
dates inline/included dates inline/included
entries until end entries until end
of current file of current file
'=' declare an auto posting all entries in
rule, adding postings to parent/current/child
other transactions files (but not
sibling files,
see #1212)
And some definitions: And some definitions:
@ -1485,7 +1489,7 @@ If account aliases are present, they are applied after the default
parent account. parent account.
 
File: hledger_journal.info, Node: Periodic transactions, Next: Auto postings / transaction modifiers, Prev: Directives, Up: Transactions File: hledger_journal.info, Node: Periodic transactions, Next: Auto postings, Prev: Directives, Up: Transactions
1.13 Periodic transactions 1.13 Periodic transactions
========================== ==========================
@ -1647,29 +1651,26 @@ compared in budget reports.
Forecasting. Forecasting.
 
File: hledger_journal.info, Node: Auto postings / transaction modifiers, Prev: Periodic transactions, Up: Transactions File: hledger_journal.info, Node: Auto postings, Prev: Periodic transactions, Up: Transactions
1.14 Auto postings / transaction modifiers 1.14 Auto postings
========================================== ==================
Transaction modifier rules, AKA auto posting rules, describe changes to "Automated postings" or "auto postings" are extra postings which get
be applied automatically to certain matched transactions. Currently added automatically to transactions which match certain queries, defined
just one kind of change is possible - adding extra postings, which we by "auto posting rules", when you use the '--auto' flag.
call "automated postings" or just "auto postings". These rules become
active when you use the '--auto' flag.
A transaction modifier rule looks much like a normal transaction An auto posting rule looks a bit like a transaction:
except the first line is an equals sign followed by a query that matches
certain postings (mnemonic: '=' suggests matching). And each "posting"
is actually a posting-generating rule:
= QUERY = QUERY
ACCOUNT AMOUNT ACCOUNT AMOUNT
ACCOUNT [AMOUNT]
... ...
ACCOUNT [AMOUNT]
These posting-generating rules look like normal postings, except the except the first line is an equals sign (mnemonic: '=' suggests
amount can be: matching), followed by a query (which matches existing postings), and
each "posting" line describes a posting to be generated, and the posting
amounts can be:
* a normal amount with a commodity symbol, eg '$2'. This will be * a normal amount with a commodity symbol, eg '$2'. This will be
used as-is. used as-is.
@ -1682,17 +1683,13 @@ amount can be:
and symbol S). The matched posting's amount will be multiplied by and symbol S). The matched posting's amount will be multiplied by
N, and its commodity symbol will be replaced with S. N, and its commodity symbol will be replaced with S.
A query term containing spaces must be enclosed in single or double Any query term containing spaces must be enclosed in single or double
quotes, as on the command line. Eg, note the quotes around the second quotes, as on the command line. Eg, note the quotes around the second
query term below: query term below:
= expenses:groceries 'expenses:dining out' = expenses:groceries 'expenses:dining out'
(budget:funds:dining out) *-1 (budget:funds:dining out) *-1
These rules have global effect - a rule appearing anywhere in your
data can potentially affect any transaction, including transactions
recorded above it or in another file.
Some examples: Some examples:
; every time I buy food, schedule a dollar donation ; every time I buy food, schedule a dollar donation
@ -1726,14 +1723,25 @@ $ hledger print --auto
* Menu: * Menu:
* Auto postings and multiple files::
* Auto postings and dates:: * Auto postings and dates::
* Auto postings and transaction balancing / inferred amounts / balance assertions:: * Auto postings and transaction balancing / inferred amounts / balance assertions::
* Auto posting tags:: * Auto posting tags::
 
File: hledger_journal.info, Node: Auto postings and dates, Next: Auto postings and transaction balancing / inferred amounts / balance assertions, Up: Auto postings / transaction modifiers File: hledger_journal.info, Node: Auto postings and multiple files, Next: Auto postings and dates, Up: Auto postings
1.14.1 Auto postings and dates 1.14.1 Auto postings and multiple files
---------------------------------------
An auto posting rule can affect any transaction in the current file, or
in any parent file or child file. Note, currently it will not affect
sibling files (when multiple '-f'/'--file' are used - see #1212).

File: hledger_journal.info, Node: Auto postings and dates, Next: Auto postings and transaction balancing / inferred amounts / balance assertions, Prev: Auto postings and multiple files, Up: Auto postings
1.14.2 Auto postings and dates
------------------------------ ------------------------------
A posting date (or secondary date) in the matched posting, or (taking A posting date (or secondary date) in the matched posting, or (taking
@ -1741,13 +1749,12 @@ precedence) a posting date in the auto posting rule itself, will also be
used in the generated posting. used in the generated posting.
 
File: hledger_journal.info, Node: Auto postings and transaction balancing / inferred amounts / balance assertions, Next: Auto posting tags, Prev: Auto postings and dates, Up: Auto postings / transaction modifiers File: hledger_journal.info, Node: Auto postings and transaction balancing / inferred amounts / balance assertions, Next: Auto posting tags, Prev: Auto postings and dates, Up: Auto postings
1.14.2 Auto postings and transaction balancing / inferred amounts / 1.14.3 Auto postings and transaction balancing / inferred amounts /
------------------------------------------------------------------- -------------------------------------------------------------------
balance assertions Currently, transaction modifiers are applied / auto balance assertions Currently, auto postings are added:
postings are added:
* after missing amounts are inferred, and transactions are checked * after missing amounts are inferred, and transactions are checked
for balancedness, for balancedness,
@ -1758,12 +1765,12 @@ after auto postings are added. This changed in hledger 1.12+; see #893
for background. for background.
 
File: hledger_journal.info, Node: Auto posting tags, Prev: Auto postings and transaction balancing / inferred amounts / balance assertions, Up: Auto postings / transaction modifiers File: hledger_journal.info, Node: Auto posting tags, Prev: Auto postings and transaction balancing / inferred amounts / balance assertions, Up: Auto postings
1.14.3 Auto posting tags 1.14.4 Auto posting tags
------------------------ ------------------------
Postings added by transaction modifiers will have some extra tags: Automated postings will have some extra tags:
* 'generated-posting:= QUERY' - shows this was generated by an auto * 'generated-posting:= QUERY' - shows this was generated by an auto
posting rule, and the query posting rule, and the query
@ -1772,8 +1779,8 @@ Postings added by transaction modifiers will have some extra tags:
"just now", rather than generated in the past and saved to the "just now", rather than generated in the past and saved to the
journal. journal.
Also, any transaction that has been changed by transaction modifier Also, any transaction that has been changed by auto posting rules
rules will have these tags added: will have these tags added:
* 'modified:' - this transaction was modified * 'modified:' - this transaction was modified
* '_modified:' - a hidden tag not appearing in the comment; this * '_modified:' - a hidden tag not appearing in the comment; this
@ -1784,118 +1791,120 @@ Tag Table:
Node: Top76 Node: Top76
Node: Transactions1875 Node: Transactions1875
Ref: #transactions1967 Ref: #transactions1967
Node: Dates3156 Node: Dates3132
Ref: #dates3255 Ref: #dates3231
Node: Simple dates3320 Node: Simple dates3296
Ref: #simple-dates3446 Ref: #simple-dates3422
Node: Secondary dates3955 Node: Secondary dates3931
Ref: #secondary-dates4109 Ref: #secondary-dates4085
Node: Posting dates5445 Node: Posting dates5421
Ref: #posting-dates5574 Ref: #posting-dates5550
Node: Status6946 Node: Status6922
Ref: #status7067 Ref: #status7043
Node: Description8775 Node: Description8751
Ref: #description8909 Ref: #description8885
Node: Payee and note9229 Node: Payee and note9205
Ref: #payee-and-note9343 Ref: #payee-and-note9319
Node: Comments9678 Node: Comments9654
Ref: #comments9804 Ref: #comments9780
Node: Tags10998 Node: Tags10974
Ref: #tags11113 Ref: #tags11089
Node: Postings12506 Node: Postings12482
Ref: #postings12634 Ref: #postings12610
Node: Virtual Postings13660 Node: Virtual Postings13636
Ref: #virtual-postings13777 Ref: #virtual-postings13753
Node: Account names15082 Node: Account names15058
Ref: #account-names15223 Ref: #account-names15199
Node: Amounts15710 Node: Amounts15686
Ref: #amounts15849 Ref: #amounts15825
Node: Digit group marks16781 Node: Digit group marks16739
Ref: #digit-group-marks16929 Ref: #digit-group-marks16887
Node: Amount display style17867 Node: Amount display style17825
Ref: #amount-display-style18021 Ref: #amount-display-style17979
Node: Transaction prices19182 Node: Transaction prices19140
Ref: #transaction-prices19348 Ref: #transaction-prices19306
Node: Balance Assertions21614 Node: Balance Assertions21572
Ref: #balance-assertions21794 Ref: #balance-assertions21752
Node: Assertions and ordering22827 Node: Assertions and ordering22785
Ref: #assertions-and-ordering23015 Ref: #assertions-and-ordering22973
Node: Assertions and included files23715 Node: Assertions and included files23673
Ref: #assertions-and-included-files23958 Ref: #assertions-and-included-files23916
Node: Assertions and multiple -f options24291 Node: Assertions and multiple -f options24249
Ref: #assertions-and-multiple--f-options24547 Ref: #assertions-and-multiple--f-options24505
Node: Assertions and commodities24679 Node: Assertions and commodities24637
Ref: #assertions-and-commodities24911 Ref: #assertions-and-commodities24869
Node: Assertions and prices26068 Node: Assertions and prices26026
Ref: #assertions-and-prices26282 Ref: #assertions-and-prices26240
Node: Assertions and subaccounts26722 Node: Assertions and subaccounts26680
Ref: #assertions-and-subaccounts26951 Ref: #assertions-and-subaccounts26909
Node: Assertions and virtual postings27275 Node: Assertions and virtual postings27233
Ref: #assertions-and-virtual-postings27517 Ref: #assertions-and-virtual-postings27475
Node: Assertions and precision27659 Node: Assertions and precision27617
Ref: #assertions-and-precision27852 Ref: #assertions-and-precision27810
Node: Balance Assignments28119 Node: Balance Assignments28077
Ref: #balance-assignments28293 Ref: #balance-assignments28251
Node: Balance assignments and prices29457 Node: Balance assignments and prices29415
Ref: #balance-assignments-and-prices29629 Ref: #balance-assignments-and-prices29587
Node: Directives29853 Node: Directives29811
Ref: #directives30012 Ref: #directives29970
Node: Directives and multiple files35331 Node: Directives and multiple files35651
Ref: #directives-and-multiple-files35514 Ref: #directives-and-multiple-files35834
Node: Comment blocks36178 Node: Comment blocks36498
Ref: #comment-blocks36361 Ref: #comment-blocks36681
Node: Including other files36537 Node: Including other files36857
Ref: #including-other-files36717 Ref: #including-other-files37037
Node: Default year37125 Node: Default year37445
Ref: #default-year37294 Ref: #default-year37614
Node: Declaring commodities37701 Node: Declaring commodities38021
Ref: #declaring-commodities37884 Ref: #declaring-commodities38204
Node: Default commodity39557 Node: Default commodity39877
Ref: #default-commodity39733 Ref: #default-commodity40053
Node: Market prices40622 Node: Market prices40942
Ref: #market-prices40787 Ref: #market-prices41107
Node: Declaring accounts41628 Node: Declaring accounts41948
Ref: #declaring-accounts41804 Ref: #declaring-accounts42124
Node: Account comments42729 Node: Account comments43049
Ref: #account-comments42892 Ref: #account-comments43212
Node: Account subdirectives43316 Node: Account subdirectives43636
Ref: #account-subdirectives43511 Ref: #account-subdirectives43831
Node: Account types43824 Node: Account types44144
Ref: #account-types44008 Ref: #account-types44328
Node: Account display order45647 Node: Account display order45967
Ref: #account-display-order45817 Ref: #account-display-order46137
Node: Rewriting accounts46968 Node: Rewriting accounts47288
Ref: #rewriting-accounts47153 Ref: #rewriting-accounts47473
Node: Basic aliases47910 Node: Basic aliases48230
Ref: #basic-aliases48056 Ref: #basic-aliases48376
Node: Regex aliases48760 Node: Regex aliases49080
Ref: #regex-aliases48932 Ref: #regex-aliases49252
Node: Combining aliases49650 Node: Combining aliases49970
Ref: #combining-aliases49843 Ref: #combining-aliases50163
Node: Aliases and multiple files51119 Node: Aliases and multiple files51439
Ref: #aliases-and-multiple-files51328 Ref: #aliases-and-multiple-files51648
Node: end aliases51907 Node: end aliases52227
Ref: #end-aliases52064 Ref: #end-aliases52384
Node: Default parent account52165 Node: Default parent account52485
Ref: #default-parent-account52333 Ref: #default-parent-account52653
Node: Periodic transactions53217 Node: Periodic transactions53537
Ref: #periodic-transactions53416 Ref: #periodic-transactions53712
Node: Periodic rule syntax55288 Node: Periodic rule syntax55584
Ref: #periodic-rule-syntax55494 Ref: #periodic-rule-syntax55790
Node: Two spaces between period expression and description!56198 Node: Two spaces between period expression and description!56494
Ref: #two-spaces-between-period-expression-and-description56517 Ref: #two-spaces-between-period-expression-and-description56813
Node: Forecasting with periodic transactions57201 Node: Forecasting with periodic transactions57497
Ref: #forecasting-with-periodic-transactions57506 Ref: #forecasting-with-periodic-transactions57802
Node: Budgeting with periodic transactions59532 Node: Budgeting with periodic transactions59828
Ref: #budgeting-with-periodic-transactions59771 Ref: #budgeting-with-periodic-transactions60067
Node: Auto postings / transaction modifiers60220 Node: Auto postings60516
Ref: #auto-postings-transaction-modifiers60432 Ref: #auto-postings60656
Node: Auto postings and dates62928 Node: Auto postings and multiple files62835
Ref: #auto-postings-and-dates63185 Ref: #auto-postings-and-multiple-files63039
Node: Auto postings and transaction balancing / inferred amounts / balance assertions63360 Node: Auto postings and dates63248
Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions63735 Ref: #auto-postings-and-dates63522
Node: Auto posting tags64113 Node: Auto postings and transaction balancing / inferred amounts / balance assertions63697
Ref: #auto-posting-tags64352 Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions64048
Node: Auto posting tags64390
Ref: #auto-posting-tags64605
 
End Tag Table End Tag Table

View File

@ -370,7 +370,7 @@ FILE FORMAT
1E-6 1E-6
EUR 1E3 EUR 1E3
A decimal mark (decimal point) can be written with a period or a comma: A decimal mark can be written as a period or a comma:
1.23 1.23
1,23456780000009 1,23456780000009
@ -709,6 +709,11 @@ FILE FORMAT
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-
rule, adding postings to ent/current/child
other transactions files (but not sib-
ling files, see
#1212)
And some definitions: And some definitions:
@ -718,12 +723,10 @@ FILE FORMAT
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
@ -1313,51 +1316,44 @@ FILE FORMAT
For more details, see: balance: Budget report and Budgeting and Fore- For more details, see: balance: Budget report and Budgeting and Fore-
casting. casting.
Auto postings / transaction modifiers Auto postings
Transaction modifier rules, AKA auto posting rules, describe changes to "Automated postings" or "auto postings" are extra postings which get
be applied automatically to certain matched transactions. Currently added automatically to transactions which match certain queries, de-
just one kind of change is possible - adding extra postings, which we fined by "auto posting rules", when you use the --auto flag.
call "automated postings" or just "auto postings". These rules become
active when you use the --auto flag.
A transaction modifier rule looks much like a normal transaction except An auto posting rule looks a bit like a transaction:
the first line is an equals sign followed by a query that matches cer-
tain postings (mnemonic: = suggests matching). And each "posting" is
actually a posting-generating rule:
= QUERY = QUERY
ACCOUNT AMOUNT ACCOUNT AMOUNT
ACCOUNT [AMOUNT]
... ...
ACCOUNT [AMOUNT]
These posting-generating rules look like normal postings, except the except the first line is an equals sign (mnemonic: = suggests match-
amount can be: ing), followed by a query (which matches existing postings), and each
"posting" line describes a posting to be generated, and the posting
amounts can be:
o a normal amount with a commodity symbol, eg $2. This will be used o a normal amount with a commodity symbol, eg $2. This will be used
as-is. as-is.
o a number, eg 2. The commodity symbol (if any) from the matched post- o a number, eg 2. The commodity symbol (if any) from the matched post-
ing will be added to this. ing will be added to this.
o a numeric multiplier, eg *2 (a star followed by a number N). The o a numeric multiplier, eg *2 (a star followed by a number N). The
matched posting's amount (and total price, if any) will be multiplied matched posting's amount (and total price, if any) will be multiplied
by N. by N.
o a multiplier with a commodity symbol, eg *$2 (a star, number N, and o a multiplier with a commodity symbol, eg *$2 (a star, number N, and
symbol S). The matched posting's amount will be multiplied by N, and symbol S). The matched posting's amount will be multiplied by N, and
its commodity symbol will be replaced with S. its commodity symbol will be replaced with S.
A query term containing spaces must be enclosed in single or double Any query term containing spaces must be enclosed in single or double
quotes, as on the command line. Eg, note the quotes around the second quotes, as on the command line. Eg, note the quotes around the second
query term below: query term below:
= expenses:groceries 'expenses:dining out' = expenses:groceries 'expenses:dining out'
(budget:funds:dining out) *-1 (budget:funds:dining out) *-1
These rules have global effect - a rule appearing anywhere in your data
can potentially affect any transaction, including transactions recorded
above it or in another file.
Some examples: Some examples:
; every time I buy food, schedule a dollar donation ; every time I buy food, schedule a dollar donation
@ -1389,36 +1385,41 @@ FILE FORMAT
assets:checking:gifts -$20 assets:checking:gifts -$20
assets:checking $20 assets:checking $20
Auto postings and multiple files
An auto posting rule can affect any transaction in the current file, or
in any parent file or child file. Note, currently it will not affect
sibling files (when multiple -f/--file are used - see #1212).
Auto postings and dates Auto postings and dates
A posting date (or secondary date) in the matched posting, or (taking A posting date (or secondary date) in the matched posting, or (taking
precedence) a posting date in the auto posting rule itself, will also precedence) a posting date in the auto posting rule itself, will also
be used in the generated posting. be used in the generated posting.
Auto postings and transaction balancing / inferred amounts / balance asser- Auto postings and transaction balancing / inferred amounts / balance asser-
tions tions
Currently, transaction modifiers are applied / auto postings are added: Currently, auto postings are added:
o after missing amounts are inferred, and transactions are checked for o after missing amounts are inferred, and transactions are checked for
balancedness, balancedness,
o but before balance assertions are checked. o but before balance assertions are checked.
Note this means that journal entries must be balanced both before and Note this means that journal entries must be balanced both before and
after auto postings are added. This changed in hledger 1.12+; see #893 after auto postings are added. This changed in hledger 1.12+; see #893
for background. for background.
Auto posting tags Auto posting tags
Postings added by transaction modifiers will have some extra tags: Automated postings will have some extra tags:
o generated-posting:= QUERY - shows this was generated by an auto post- o generated-posting:= QUERY - shows this was generated by an auto post-
ing rule, and the query ing rule, and the query
o _generated-posting:= QUERY - a hidden tag, which does not appear in o _generated-posting:= QUERY - a hidden tag, which does not appear in
hledger's output. This can be used to match postings generated "just hledger's output. This can be used to match postings generated "just
now", rather than generated in the past and saved to the journal. now", rather than generated in the past and saved to the journal.
Also, any transaction that has been changed by transaction modifier Also, any transaction that has been changed by auto posting rules will
rules will have these tags added: have these tags added:
o modified: - this transaction was modified o modified: - this transaction was modified
@ -1428,7 +1429,7 @@ FILE FORMAT
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)
@ -1442,7 +1443,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)