;update manuals

This commit is contained in:
Simon Michael 2020-11-26 08:52:56 -08:00
parent ec3ad14ae5
commit d40d53ae02
12 changed files with 896 additions and 697 deletions

View File

@ -1332,15 +1332,13 @@ market prices to show amount values in another commodity.
See Valuation. See Valuation.
.SS Declaring accounts .SS Declaring accounts
.PP .PP
\f[C]account\f[R] directives can be used to pre-declare accounts. \f[C]account\f[R] directives can be used to declare accounts (ie, the
Though not required, they can provide several benefits: places that amounts are transferred from and to).
Though not required, these declarations can provide several benefits:
.IP \[bu] 2 .IP \[bu] 2
They can document your intended chart of accounts, providing a They can document your intended chart of accounts, providing a
reference. reference.
.IP \[bu] 2 .IP \[bu] 2
They can store extra information about accounts (account numbers, notes,
etc.)
.IP \[bu] 2
They can help hledger know your accounts\[aq] types (asset, liability, They can help hledger know your accounts\[aq] types (asset, liability,
equity, revenue, expense), useful for reports like balancesheet and equity, revenue, expense), useful for reports like balancesheet and
incomestatement. incomestatement.
@ -1348,17 +1346,55 @@ incomestatement.
They control account display order in reports, allowing non-alphabetic They control account display order in reports, allowing non-alphabetic
sorting (eg Revenues to appear above Expenses). sorting (eg Revenues to appear above Expenses).
.IP \[bu] 2 .IP \[bu] 2
They can store extra information about accounts (account numbers, notes,
etc.)
.IP \[bu] 2
They help with account name completion in the add command, hledger-iadd, They help with account name completion in the add command, hledger-iadd,
hledger-web, ledger-mode etc. hledger-web, ledger-mode etc.
.IP \[bu] 2
In strict mode, they restrict which accounts may be posted to by
transactions, which helps detect typos.
.PP .PP
The simplest form is just the word \f[C]account\f[R] followed by a The simplest form is just the word \f[C]account\f[R] followed by a
hledger-style account name, eg: hledger-style account name, eg this account directive declares the
\f[C]assets:bank:checking\f[R] account:
.IP .IP
.nf .nf
\f[C] \f[C]
account assets:bank:checking account assets:bank:checking
\f[R] \f[R]
.fi .fi
.SS Account existence
.PP
By default, accounts come into existence when a transaction references
them.
This is convenient, but when you mis-spell an account name in a
transaction, hledger won\[aq]t be able to detect it.
Usually this isn\[aq]t a big problem, as you\[aq]ll notice the error in
balance reports, or when reconciling account balances.
.PP
When you want more error checking, you can enable strict mode with the
\f[C]-s\f[R]/\f[C]--strict\f[R] flag.
Then hledger will will report an error if any transaction references an
account that has not been declared by an account directive.
Some things to note:
.IP \[bu] 2
The declaration is case-sensitive; transactions must use the correct
account name capitalisation.
.IP \[bu] 2
The account directive\[aq]s scope is \[dq]whole file and below\[dq] (see
directives).
This means it affects all of the current file, and any files it
includes, but not parent or sibling files.
The position of account directives within the file does not matter,
though it\[aq]s usual to put them at the top.
.IP \[bu] 2
Accounts can only be declared in \f[C]journal\f[R] files (but will
affect included files in other formats).
.IP \[bu] 2
It\[aq]s currently not possible to declare \[dq]all possible
subaccounts\[dq] with a wildcard; every account posted to must be
declared.
.SS Account comments .SS Account comments
.PP .PP
Comments, beginning with a semicolon, can be added: Comments, beginning with a semicolon, can be added:

View File

@ -1202,37 +1202,71 @@ File: hledger_journal.info, Node: Declaring accounts, Next: Rewriting accounts
1.13.8 Declaring accounts 1.13.8 Declaring accounts
------------------------- -------------------------
'account' directives can be used to pre-declare accounts. Though not 'account' directives can be used to declare accounts (ie, the places
required, they can provide several benefits: that amounts are transferred from and to). Though not required, these
declarations can provide several benefits:
* They can document your intended chart of accounts, providing a * They can document your intended chart of accounts, providing a
reference. reference.
* They can store extra information about accounts (account numbers,
notes, etc.)
* They can help hledger know your accounts' types (asset, liability, * They can help hledger know your accounts' types (asset, liability,
equity, revenue, expense), useful for reports like balancesheet and equity, revenue, expense), useful for reports like balancesheet and
incomestatement. incomestatement.
* They control account display order in reports, allowing * They control account display order in reports, allowing
non-alphabetic sorting (eg Revenues to appear above Expenses). non-alphabetic sorting (eg Revenues to appear above Expenses).
* They can store extra information about accounts (account numbers,
notes, etc.)
* They help with account name completion in the add command, * They help with account name completion in the add command,
hledger-iadd, hledger-web, ledger-mode etc. hledger-iadd, hledger-web, ledger-mode etc.
* In strict mode, they restrict which accounts may be posted to by
transactions, which helps detect typos.
The simplest form is just the word 'account' followed by a The simplest form is just the word 'account' followed by a
hledger-style account name, eg: hledger-style account name, eg this account directive declares the
'assets:bank:checking' account:
account assets:bank:checking account assets:bank:checking
* Menu: * Menu:
* Account existence::
* Account comments:: * Account comments::
* Account subdirectives:: * Account subdirectives::
* Account types:: * Account types::
* Account display order:: * Account display order::
 
File: hledger_journal.info, Node: Account comments, Next: Account subdirectives, Up: Declaring accounts File: hledger_journal.info, Node: Account existence, Next: Account comments, Up: Declaring accounts
1.13.8.1 Account comments 1.13.8.1 Account existence
..........................
By default, accounts come into existence when a transaction references
them. This is convenient, but when you mis-spell an account name in a
transaction, hledger won't be able to detect it. Usually this isn't a
big problem, as you'll notice the error in balance reports, or when
reconciling account balances.
When you want more error checking, you can enable strict mode with
the '-s'/'--strict' flag. Then hledger will will report an error if any
transaction references an account that has not been declared by an
account directive. Some things to note:
* The declaration is case-sensitive; transactions must use the
correct account name capitalisation.
* The account directive's scope is "whole file and below" (see
directives). This means it affects all of the current file, and
any files it includes, but not parent or sibling files. The
position of account directives within the file does not matter,
though it's usual to put them at the top.
* Accounts can only be declared in 'journal' files (but will affect
included files in other formats).
* It's currently not possible to declare "all possible subaccounts"
with a wildcard; every account posted to must be declared.

File: hledger_journal.info, Node: Account comments, Next: Account subdirectives, Prev: Account existence, Up: Declaring accounts
1.13.8.2 Account comments
......................... .........................
Comments, beginning with a semicolon, can be added: Comments, beginning with a semicolon, can be added:
@ -1252,7 +1286,7 @@ account assets:bank:checking ; same-line comment, note 2+ spaces before ;
 
File: hledger_journal.info, Node: Account subdirectives, Next: Account types, Prev: Account comments, Up: Declaring accounts File: hledger_journal.info, Node: Account subdirectives, Next: Account types, Prev: Account comments, Up: Declaring accounts
1.13.8.2 Account subdirectives 1.13.8.3 Account subdirectives
.............................. ..............................
We also allow (and ignore) Ledger-style indented subdirectives, just for We also allow (and ignore) Ledger-style indented subdirectives, just for
@ -1270,7 +1304,7 @@ account ACCTNAME [ACCTTYPE] [;COMMENT]
 
File: hledger_journal.info, Node: Account types, Next: Account display order, Prev: Account subdirectives, Up: Declaring accounts File: hledger_journal.info, Node: Account types, Next: Account display order, Prev: Account subdirectives, Up: Declaring accounts
1.13.8.3 Account types 1.13.8.4 Account types
...................... ......................
hledger recognises five main types of account, corresponding to the hledger recognises five main types of account, corresponding to the
@ -1349,7 +1383,7 @@ account expenses X
 
File: hledger_journal.info, Node: Account display order, Prev: Account types, Up: Declaring accounts File: hledger_journal.info, Node: Account display order, Prev: Account types, Up: Declaring accounts
1.13.8.4 Account display order 1.13.8.5 Account display order
.............................. ..............................
Account directives also set the order in which accounts are displayed, Account directives also set the order in which accounts are displayed,
@ -1962,48 +1996,50 @@ Node: Declaring market prices43555
Ref: #declaring-market-prices43750 Ref: #declaring-market-prices43750
Node: Declaring accounts44607 Node: Declaring accounts44607
Ref: #declaring-accounts44793 Ref: #declaring-accounts44793
Node: Account comments45718 Node: Account existence45990
Ref: #account-comments45881 Ref: #account-existence46151
Node: Account subdirectives46305 Node: Account comments47387
Ref: #account-subdirectives46500 Ref: #account-comments47576
Node: Account types46813 Node: Account subdirectives48000
Ref: #account-types46997 Ref: #account-subdirectives48195
Node: Account display order50043 Node: Account types48508
Ref: #account-display-order50213 Ref: #account-types48692
Node: Rewriting accounts51364 Node: Account display order51738
Ref: #rewriting-accounts51549 Ref: #account-display-order51908
Node: Basic aliases52306 Node: Rewriting accounts53059
Ref: #basic-aliases52452 Ref: #rewriting-accounts53244
Node: Regex aliases53156 Node: Basic aliases54001
Ref: #regex-aliases53328 Ref: #basic-aliases54147
Node: Combining aliases54047 Node: Regex aliases54851
Ref: #combining-aliases54240 Ref: #regex-aliases55023
Node: Aliases and multiple files55516 Node: Combining aliases55742
Ref: #aliases-and-multiple-files55725 Ref: #combining-aliases55935
Node: end aliases56304 Node: Aliases and multiple files57211
Ref: #end-aliases56461 Ref: #aliases-and-multiple-files57420
Node: Default parent account56562 Node: end aliases57999
Ref: #default-parent-account56730 Ref: #end-aliases58156
Node: Periodic transactions57614 Node: Default parent account58257
Ref: #periodic-transactions57789 Ref: #default-parent-account58425
Node: Periodic rule syntax59661 Node: Periodic transactions59309
Ref: #periodic-rule-syntax59867 Ref: #periodic-transactions59484
Node: Two spaces between period expression and description!60571 Node: Periodic rule syntax61356
Ref: #two-spaces-between-period-expression-and-description60890 Ref: #periodic-rule-syntax61562
Node: Forecasting with periodic transactions61574 Node: Two spaces between period expression and description!62266
Ref: #forecasting-with-periodic-transactions61879 Ref: #two-spaces-between-period-expression-and-description62585
Node: Budgeting with periodic transactions63934 Node: Forecasting with periodic transactions63269
Ref: #budgeting-with-periodic-transactions64173 Ref: #forecasting-with-periodic-transactions63574
Node: Auto postings64582 Node: Budgeting with periodic transactions65629
Ref: #auto-postings64722 Ref: #budgeting-with-periodic-transactions65868
Node: Auto postings and multiple files66901 Node: Auto postings66277
Ref: #auto-postings-and-multiple-files67105 Ref: #auto-postings66417
Node: Auto postings and dates67314 Node: Auto postings and multiple files68596
Ref: #auto-postings-and-dates67588 Ref: #auto-postings-and-multiple-files68800
Node: Auto postings and transaction balancing / inferred amounts / balance assertions67763 Node: Auto postings and dates69009
Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions68114 Ref: #auto-postings-and-dates69283
Node: Auto posting tags68456 Node: Auto postings and transaction balancing / inferred amounts / balance assertions69458
Ref: #auto-posting-tags68671 Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions69809
Node: Auto posting tags70151
Ref: #auto-posting-tags70366
 
End Tag Table End Tag Table

View File

@ -941,15 +941,13 @@ FILE FORMAT
values in another commodity. See Valuation. values in another commodity. See Valuation.
Declaring accounts Declaring accounts
account directives can be used to pre-declare accounts. Though not re- account directives can be used to declare accounts (ie, the places that
quired, they can provide several benefits: amounts are transferred from and to). Though not required, these dec-
larations can provide several benefits:
o They can document your intended chart of accounts, providing a refer- o They can document your intended chart of accounts, providing a refer-
ence. ence.
o They can store extra information about accounts (account numbers,
notes, etc.)
o They can help hledger know your accounts' types (asset, liability, o They can help hledger know your accounts' types (asset, liability,
equity, revenue, expense), useful for reports like balancesheet and equity, revenue, expense), useful for reports like balancesheet and
incomestatement. incomestatement.
@ -957,14 +955,48 @@ FILE FORMAT
o They control account display order in reports, allowing non-alpha- o They control account display order in reports, allowing non-alpha-
betic sorting (eg Revenues to appear above Expenses). betic sorting (eg Revenues to appear above Expenses).
o They can store extra information about accounts (account numbers,
notes, etc.)
o They help with account name completion in the add command, hledger- o They help with account name completion in the add command, hledger-
iadd, hledger-web, ledger-mode etc. iadd, hledger-web, ledger-mode etc.
o In strict mode, they restrict which accounts may be posted to by
transactions, which helps detect typos.
The simplest form is just the word account followed by a hledger-style The simplest form is just the word account followed by a hledger-style
account name, eg: account name, eg this account directive declares the assets:bank:check-
ing account:
account assets:bank:checking account assets:bank:checking
Account existence
By default, accounts come into existence when a transaction references
them. This is convenient, but when you mis-spell an account name in a
transaction, hledger won't be able to detect it. Usually this isn't a
big problem, as you'll notice the error in balance reports, or when
reconciling account balances.
When you want more error checking, you can enable strict mode with the
-s/--strict flag. Then hledger will will report an error if any trans-
action references an account that has not been declared by an account
directive. Some things to note:
o The declaration is case-sensitive; transactions must use the correct
account name capitalisation.
o The account directive's scope is "whole file and below" (see direc-
tives). This means it affects all of the current file, and any files
it includes, but not parent or sibling files. The position of ac-
count directives within the file does not matter, though it's usual
to put them at the top.
o Accounts can only be declared in journal files (but will affect in-
cluded files in other formats).
o It's currently not possible to declare "all possible subaccounts"
with a wildcard; every account posted to must be declared.
Account comments Account comments
Comments, beginning with a semicolon, can be added: Comments, beginning with a semicolon, can be added:

View File

@ -88,6 +88,9 @@ use some other field or tag for the account name
\f[B]\f[CB]-I --ignore-assertions\f[B]\f[R] \f[B]\f[CB]-I --ignore-assertions\f[B]\f[R]
disable balance assertion checks (note: does not disable balance disable balance assertion checks (note: does not disable balance
assignments) assignments)
.TP
\f[B]\f[CB]-s --strict\f[B]\f[R]
do extra error checking (check that all posted accounts are declared)
.PP .PP
hledger reporting options: hledger reporting options:
.TP .TP

View File

@ -99,6 +99,10 @@ the data.
disable balance assertion checks (note: does not disable balance disable balance assertion checks (note: does not disable balance
assignments) assignments)
'-s --strict'
do extra error checking (check that all posted accounts are
declared)
hledger reporting options: hledger reporting options:
@ -517,24 +521,24 @@ Tag Table:
Node: Top71 Node: Top71
Node: OPTIONS1476 Node: OPTIONS1476
Ref: #options1573 Ref: #options1573
Node: keys5545 Node: keys5640
Ref: #keys5640 Ref: #keys5735
Node: screens9972 Node: screens10067
Ref: #screens10077 Ref: #screens10172
Node: accounts screen10167 Node: accounts screen10262
Ref: #accounts-screen10295 Ref: #accounts-screen10390
Node: Register screen12510 Node: Register screen12605
Ref: #register-screen12665 Ref: #register-screen12760
Node: Transaction screen14662 Node: Transaction screen14757
Ref: #transaction-screen14820 Ref: #transaction-screen14915
Node: Error screen15690 Node: Error screen15785
Ref: #error-screen15812 Ref: #error-screen15907
Node: ENVIRONMENT16056 Node: ENVIRONMENT16151
Ref: #environment16170 Ref: #environment16265
Node: FILES16977 Node: FILES17072
Ref: #files17076 Ref: #files17171
Node: BUGS17289 Node: BUGS17384
Ref: #bugs17366 Ref: #bugs17461
 
End Tag Table End Tag Table

View File

@ -84,6 +84,10 @@ OPTIONS
disable balance assertion checks (note: does not disable balance disable balance assertion checks (note: does not disable balance
assignments) assignments)
-s --strict
do extra error checking (check that all posted accounts are de-
clared)
hledger reporting options: hledger reporting options:
-b --begin=DATE -b --begin=DATE

View File

@ -118,6 +118,9 @@ use some other field or tag for the account name
\f[B]\f[CB]-I --ignore-assertions\f[B]\f[R] \f[B]\f[CB]-I --ignore-assertions\f[B]\f[R]
disable balance assertion checks (note: does not disable balance disable balance assertion checks (note: does not disable balance
assignments) assignments)
.TP
\f[B]\f[CB]-s --strict\f[B]\f[R]
do extra error checking (check that all posted accounts are declared)
.PP .PP
hledger reporting options: hledger reporting options:
.TP .TP

View File

@ -127,6 +127,10 @@ before options, as shown in the synopsis above.
disable balance assertion checks (note: does not disable balance disable balance assertion checks (note: does not disable balance
assignments) assignments)
'-s --strict'
do extra error checking (check that all posted accounts are
declared)
hledger reporting options: hledger reporting options:
@ -587,20 +591,20 @@ Tag Table:
Node: Top72 Node: Top72
Node: OPTIONS1752 Node: OPTIONS1752
Ref: #options1857 Ref: #options1857
Node: PERMISSIONS8861 Node: PERMISSIONS8956
Ref: #permissions9000 Ref: #permissions9095
Node: EDITING UPLOADING DOWNLOADING10212 Node: EDITING UPLOADING DOWNLOADING10307
Ref: #editing-uploading-downloading10393 Ref: #editing-uploading-downloading10488
Node: RELOADING11227 Node: RELOADING11322
Ref: #reloading11361 Ref: #reloading11456
Node: JSON API11794 Node: JSON API11889
Ref: #json-api11908 Ref: #json-api12003
Node: ENVIRONMENT17398 Node: ENVIRONMENT17493
Ref: #environment17514 Ref: #environment17609
Node: FILES18247 Node: FILES18342
Ref: #files18347 Ref: #files18442
Node: BUGS18560 Node: BUGS18655
Ref: #bugs18638 Ref: #bugs18733
 
End Tag Table End Tag Table

View File

@ -108,6 +108,10 @@ OPTIONS
disable balance assertion checks (note: does not disable balance disable balance assertion checks (note: does not disable balance
assignments) assignments)
-s --strict
do extra error checking (check that all posted accounts are de-
clared)
hledger reporting options: hledger reporting options:
-b --begin=DATE -b --begin=DATE

View File

@ -566,6 +566,9 @@ use some other field or tag for the account name
\f[B]\f[CB]-I --ignore-assertions\f[B]\f[R] \f[B]\f[CB]-I --ignore-assertions\f[B]\f[R]
disable balance assertion checks (note: does not disable balance disable balance assertion checks (note: does not disable balance
assignments) assignments)
.TP
\f[B]\f[CB]-s --strict\f[B]\f[R]
do extra error checking (check that all posted accounts are declared)
.PP .PP
General reporting options: General reporting options:
.TP .TP
@ -1060,6 +1063,25 @@ use a single parent file which includes the others
.IP \[bu] 2 .IP \[bu] 2
or concatenate the files into one before reading, eg: or concatenate the files into one before reading, eg:
\f[C]cat a.journal b.journal | hledger -f- CMD\f[R]. \f[C]cat a.journal b.journal | hledger -f- CMD\f[R].
.SS Strict mode
.PP
hledger checks input files for valid data.
By default, the most important errors are detected, while still
accepting easy journal files without a lot of declarations:
.IP \[bu] 2
Are the input files parseable, with valid syntax ?
.IP \[bu] 2
Are all transactions balanced ?
.IP \[bu] 2
Do all balance assertions pass ?
.PP
With the \f[C]-s\f[R]/\f[C]--strict\f[R] flag, additional checks are
performed:
.IP \[bu] 2
Are all accounts referenced by transactions declared with an account
directive ?
.PP
\f[I]experimental.\f[R]
.SS Output destination .SS Output destination
.PP .PP
hledger commands send their output to the terminal by default. hledger commands send their output to the terminal by default.

View File

@ -500,6 +500,7 @@ File: hledger.info, Node: OPTIONS, Next: COMMANDS, Prev: COMMON TASKS, Up: T
* Special characters in arguments and queries:: * Special characters in arguments and queries::
* Unicode characters:: * Unicode characters::
* Input files:: * Input files::
* Strict mode::
* Output destination:: * Output destination::
* Output format:: * Output format::
* Regular expressions:: * Regular expressions::
@ -557,6 +558,10 @@ by most hledger commands, run 'hledger -h'.
disable balance assertion checks (note: does not disable balance disable balance assertion checks (note: does not disable balance
assignments) assignments)
'-s --strict'
do extra error checking (check that all posted accounts are
declared)
General reporting options: General reporting options:
@ -934,7 +939,7 @@ hledger is expected to handle non-ascii characters correctly:
terminal, and vice versa. (See eg #961). terminal, and vice versa. (See eg #961).
 
File: hledger.info, Node: Input files, Next: Output destination, Prev: Unicode characters, Up: OPTIONS File: hledger.info, Node: Input files, Next: Strict mode, Prev: Unicode characters, Up: OPTIONS
2.7 Input files 2.7 Input files
=============== ===============
@ -997,9 +1002,30 @@ big journal. There are some limitations with this:
a.journal b.journal | hledger -f- CMD'. a.journal b.journal | hledger -f- CMD'.
 
File: hledger.info, Node: Output destination, Next: Output format, Prev: Input files, Up: OPTIONS File: hledger.info, Node: Strict mode, Next: Output destination, Prev: Input files, Up: OPTIONS
2.8 Output destination 2.8 Strict mode
===============
hledger checks input files for valid data. By default, the most
important errors are detected, while still accepting easy journal files
without a lot of declarations:
* Are the input files parseable, with valid syntax ?
* Are all transactions balanced ?
* Do all balance assertions pass ?
With the '-s'/'--strict' flag, additional checks are performed:
* Are all accounts referenced by transactions declared with an
account directive ?
_experimental._

File: hledger.info, Node: Output destination, Next: Output format, Prev: Strict mode, Up: OPTIONS
2.9 Output destination
====================== ======================
hledger commands send their output to the terminal by default. You can hledger commands send their output to the terminal by default. You can
@ -1017,8 +1043,8 @@ $ hledger print -o - # write to stdout (the default)
 
File: hledger.info, Node: Output format, Next: Regular expressions, Prev: Output destination, Up: OPTIONS File: hledger.info, Node: Output format, Next: Regular expressions, Prev: Output destination, Up: OPTIONS
2.9 Output format 2.10 Output format
================= ==================
Some commands (print, register, the balance commands) offer a choice of Some commands (print, register, the balance commands) offer a choice of
output format. In addition to the usual plain text format ('txt'), output format. In addition to the usual plain text format ('txt'),
@ -1071,7 +1097,7 @@ $ hledger balancesheet -o foo.txt -O html # write HTML to foo.txt
 
File: hledger.info, Node: Regular expressions, Next: Smart dates, Prev: Output format, Up: OPTIONS File: hledger.info, Node: Regular expressions, Next: Smart dates, Prev: Output format, Up: OPTIONS
2.10 Regular expressions 2.11 Regular expressions
======================== ========================
hledger uses regular expressions in a number of places: hledger uses regular expressions in a number of places:
@ -1116,7 +1142,7 @@ they support:
 
File: hledger.info, Node: Smart dates, Next: Report start & end date, Prev: Regular expressions, Up: OPTIONS File: hledger.info, Node: Smart dates, Next: Report start & end date, Prev: Regular expressions, Up: OPTIONS
2.11 Smart dates 2.12 Smart dates
================ ================
hledger's user interfaces accept a flexible "smart date" syntax (unlike hledger's user interfaces accept a flexible "smart date" syntax (unlike
@ -1155,7 +1181,7 @@ results:
 
File: hledger.info, Node: Report start & end date, Next: Report intervals, Prev: Smart dates, Up: OPTIONS File: hledger.info, Node: Report start & end date, Next: Report intervals, Prev: Smart dates, Up: OPTIONS
2.12 Report start & end date 2.13 Report start & end date
============================ ============================
Most hledger reports show the full span of time represented by the Most hledger reports show the full span of time represented by the
@ -1198,7 +1224,7 @@ thismonth'
 
File: hledger.info, Node: Report intervals, Next: Period expressions, Prev: Report start & end date, Up: OPTIONS File: hledger.info, Node: Report intervals, Next: Period expressions, Prev: Report start & end date, Up: OPTIONS
2.13 Report intervals 2.14 Report intervals
===================== =====================
A report interval can be specified so that commands like register, A report interval can be specified so that commands like register,
@ -1211,7 +1237,7 @@ intervals can not be specified with a query.
 
File: hledger.info, Node: Period expressions, Next: Depth limiting, Prev: Report intervals, Up: OPTIONS File: hledger.info, Node: Period expressions, Next: Depth limiting, Prev: Report intervals, Up: OPTIONS
2.14 Period expressions 2.15 Period expressions
======================= =======================
The '-p/--period' option accepts period expressions, a shorthand way of The '-p/--period' option accepts period expressions, a shorthand way of
@ -1336,7 +1362,7 @@ start date and exclusive end date):
 
File: hledger.info, Node: Depth limiting, Next: Pivoting, Prev: Period expressions, Up: OPTIONS File: hledger.info, Node: Depth limiting, Next: Pivoting, Prev: Period expressions, Up: OPTIONS
2.15 Depth limiting 2.16 Depth limiting
=================== ===================
With the '--depth N' option (short form: '-N'), commands like account, With the '--depth N' option (short form: '-N'), commands like account,
@ -1348,7 +1374,7 @@ less detail. This flag has the same effect as a 'depth:' query argument
 
File: hledger.info, Node: Pivoting, Next: Valuation, Prev: Depth limiting, Up: OPTIONS File: hledger.info, Node: Pivoting, Next: Valuation, Prev: Depth limiting, Up: OPTIONS
2.16 Pivoting 2.17 Pivoting
============= =============
Normally hledger sums amounts, and organizes them in a hierarchy, based Normally hledger sums amounts, and organizes them in a hierarchy, based
@ -1405,7 +1431,7 @@ $ hledger balance --pivot member acct:.
 
File: hledger.info, Node: Valuation, Prev: Pivoting, Up: OPTIONS File: hledger.info, Node: Valuation, Prev: Pivoting, Up: OPTIONS
2.17 Valuation 2.18 Valuation
============== ==============
Instead of reporting amounts in their original commodity, hledger can Instead of reporting amounts in their original commodity, hledger can
@ -1432,7 +1458,7 @@ usually one of those is all you need.
 
File: hledger.info, Node: -B Cost, Next: -V Value, Up: Valuation File: hledger.info, Node: -B Cost, Next: -V Value, Up: Valuation
2.17.1 -B: Cost 2.18.1 -B: Cost
--------------- ---------------
The '-B/--cost' flag converts amounts to their cost or sale amount at The '-B/--cost' flag converts amounts to their cost or sale amount at
@ -1441,7 +1467,7 @@ transaction time, if they have a transaction price specified.
 
File: hledger.info, Node: -V Value, Next: -X Value in specified commodity, Prev: -B Cost, Up: Valuation File: hledger.info, Node: -V Value, Next: -X Value in specified commodity, Prev: -B Cost, Up: Valuation
2.17.2 -V: Value 2.18.2 -V: Value
---------------- ----------------
The '-V/--market' flag converts amounts to market value in their default The '-V/--market' flag converts amounts to market value in their default
@ -1451,7 +1477,7 @@ _valuation date(s)_, if any. More on these in a minute.
 
File: hledger.info, Node: -X Value in specified commodity, Next: Valuation date, Prev: -V Value, Up: Valuation File: hledger.info, Node: -X Value in specified commodity, Next: Valuation date, Prev: -V Value, Up: Valuation
2.17.3 -X: Value in specified commodity 2.18.3 -X: Value in specified commodity
--------------------------------------- ---------------------------------------
The '-X/--exchange=COMM' option is like '-V', except you tell it which The '-X/--exchange=COMM' option is like '-V', except you tell it which
@ -1461,7 +1487,7 @@ that.
 
File: hledger.info, Node: Valuation date, Next: Market prices, Prev: -X Value in specified commodity, Up: Valuation File: hledger.info, Node: Valuation date, Next: Market prices, Prev: -X Value in specified commodity, Up: Valuation
2.17.4 Valuation date 2.18.4 Valuation date
--------------------- ---------------------
Since market prices can change from day to day, market value reports Since market prices can change from day to day, market value reports
@ -1478,7 +1504,7 @@ of the period, by default.
 
File: hledger.info, Node: Market prices, Next: --infer-value market prices from transactions, Prev: Valuation date, Up: Valuation File: hledger.info, Node: Market prices, Next: --infer-value market prices from transactions, Prev: Valuation date, Up: Valuation
2.17.5 Market prices 2.18.5 Market prices
-------------------- --------------------
_(experimental)_ _(experimental)_
@ -1509,7 +1535,7 @@ converted.
 
File: hledger.info, Node: --infer-value market prices from transactions, Next: Valuation commodity, Prev: Market prices, Up: Valuation File: hledger.info, Node: --infer-value market prices from transactions, Next: Valuation commodity, Prev: Market prices, Up: Valuation
2.17.6 -infer-value: market prices from transactions 2.18.6 -infer-value: market prices from transactions
---------------------------------------------------- ----------------------------------------------------
_(experimental)_ _(experimental)_
@ -1544,7 +1570,7 @@ you, read all of this Valuation section carefully, and try adding
 
File: hledger.info, Node: Valuation commodity, Next: Simple valuation examples, Prev: --infer-value market prices from transactions, Up: Valuation File: hledger.info, Node: Valuation commodity, Next: Simple valuation examples, Prev: --infer-value market prices from transactions, Up: Valuation
2.17.7 Valuation commodity 2.18.7 Valuation commodity
-------------------------- --------------------------
_(experimental)_ _(experimental)_
@ -1584,7 +1610,7 @@ converted.
 
File: hledger.info, Node: Simple valuation examples, Next: --value Flexible valuation, Prev: Valuation commodity, Up: Valuation File: hledger.info, Node: Simple valuation examples, Next: --value Flexible valuation, Prev: Valuation commodity, Up: Valuation
2.17.8 Simple valuation examples 2.18.8 Simple valuation examples
-------------------------------- --------------------------------
Here are some quick examples of '-V': Here are some quick examples of '-V':
@ -1619,7 +1645,7 @@ $ hledger -f t.j bal -N euros -V
 
File: hledger.info, Node: --value Flexible valuation, Next: More valuation examples, Prev: Simple valuation examples, Up: Valuation File: hledger.info, Node: --value Flexible valuation, Next: More valuation examples, Prev: Simple valuation examples, Up: Valuation
2.17.9 -value: Flexible valuation 2.18.9 -value: Flexible valuation
--------------------------------- ---------------------------------
'-B', '-V' and '-X' are special cases of the more general '--value' '-B', '-V' and '-X' are special cases of the more general '--value'
@ -1667,7 +1693,7 @@ this commodity, deducing market prices as described above.
 
File: hledger.info, Node: More valuation examples, Next: Effect of valuation on reports, Prev: --value Flexible valuation, Up: Valuation File: hledger.info, Node: More valuation examples, Next: Effect of valuation on reports, Prev: --value Flexible valuation, Up: Valuation
2.17.10 More valuation examples 2.18.10 More valuation examples
------------------------------- -------------------------------
Here are some examples showing the effect of '--value', as seen with Here are some examples showing the effect of '--value', as seen with
@ -1781,7 +1807,7 @@ $ hledger print -X A
 
File: hledger.info, Node: Effect of valuation on reports, Prev: More valuation examples, Up: Valuation File: hledger.info, Node: Effect of valuation on reports, Prev: More valuation examples, Up: Valuation
2.17.11 Effect of valuation on reports 2.18.11 Effect of valuation on reports
-------------------------------------- --------------------------------------
Here is a reference for how valuation is supposed to affect each part of Here is a reference for how valuation is supposed to affect each part of
@ -4406,190 +4432,192 @@ Node: Migrating to a new file16412
Ref: #migrating-to-a-new-file16560 Ref: #migrating-to-a-new-file16560
Node: OPTIONS16859 Node: OPTIONS16859
Ref: #options16966 Ref: #options16966
Node: General options17336 Node: General options17352
Ref: #general-options17461 Ref: #general-options17477
Node: Command options20767 Node: Command options20878
Ref: #command-options20918 Ref: #command-options21029
Node: Command arguments21316 Node: Command arguments21427
Ref: #command-arguments21463 Ref: #command-arguments21574
Node: Queries22343 Node: Queries22454
Ref: #queries22498 Ref: #queries22609
Node: Special characters in arguments and queries26460 Node: Special characters in arguments and queries26571
Ref: #special-characters-in-arguments-and-queries26688 Ref: #special-characters-in-arguments-and-queries26799
Node: More escaping27139 Node: More escaping27250
Ref: #more-escaping27301 Ref: #more-escaping27412
Node: Even more escaping27597 Node: Even more escaping27708
Ref: #even-more-escaping27791 Ref: #even-more-escaping27902
Node: Less escaping28462 Node: Less escaping28573
Ref: #less-escaping28624 Ref: #less-escaping28735
Node: Unicode characters28869 Node: Unicode characters28980
Ref: #unicode-characters29051 Ref: #unicode-characters29162
Node: Input files30463 Node: Input files30574
Ref: #input-files30606 Ref: #input-files30710
Node: Output destination32905 Node: Strict mode33009
Ref: #output-destination33057 Ref: #strict-mode33145
Node: Output format33482 Node: Output destination33626
Ref: #output-format33632 Ref: #output-destination33778
Node: Regular expressions35799 Node: Output format34203
Ref: #regular-expressions35956 Ref: #output-format34355
Node: Smart dates37692 Node: Regular expressions36522
Ref: #smart-dates37843 Ref: #regular-expressions36679
Node: Report start & end date39204 Node: Smart dates38415
Ref: #report-start-end-date39376 Ref: #smart-dates38566
Node: Report intervals40873 Node: Report start & end date39927
Ref: #report-intervals41038 Ref: #report-start-end-date40099
Node: Period expressions41428 Node: Report intervals41596
Ref: #period-expressions41588 Ref: #report-intervals41761
Node: Depth limiting45961 Node: Period expressions42151
Ref: #depth-limiting46105 Ref: #period-expressions42311
Node: Pivoting46437 Node: Depth limiting46684
Ref: #pivoting46560 Ref: #depth-limiting46828
Node: Valuation48236 Node: Pivoting47160
Ref: #valuation48338 Ref: #pivoting47283
Node: -B Cost49027 Node: Valuation48959
Ref: #b-cost49131 Ref: #valuation49061
Node: -V Value49264 Node: -B Cost49750
Ref: #v-value49410 Ref: #b-cost49854
Node: -X Value in specified commodity49605 Node: -V Value49987
Ref: #x-value-in-specified-commodity49804 Ref: #v-value50133
Node: Valuation date49953 Node: -X Value in specified commodity50328
Ref: #valuation-date50121 Ref: #x-value-in-specified-commodity50527
Node: Market prices50543 Node: Valuation date50676
Ref: #market-prices50723 Ref: #valuation-date50844
Node: --infer-value market prices from transactions51665 Node: Market prices51266
Ref: #infer-value-market-prices-from-transactions51914 Ref: #market-prices51446
Node: Valuation commodity53196 Node: --infer-value market prices from transactions52388
Ref: #valuation-commodity53405 Ref: #infer-value-market-prices-from-transactions52637
Node: Simple valuation examples54631 Node: Valuation commodity53919
Ref: #simple-valuation-examples54833 Ref: #valuation-commodity54128
Node: --value Flexible valuation55492 Node: Simple valuation examples55354
Ref: #value-flexible-valuation55700 Ref: #simple-valuation-examples55556
Node: More valuation examples57647 Node: --value Flexible valuation56215
Ref: #more-valuation-examples57856 Ref: #value-flexible-valuation56423
Node: Effect of valuation on reports59861 Node: More valuation examples58370
Ref: #effect-of-valuation-on-reports60049 Ref: #more-valuation-examples58579
Node: COMMANDS67068 Node: Effect of valuation on reports60584
Ref: #commands67176 Ref: #effect-of-valuation-on-reports60772
Node: accounts68284 Node: COMMANDS67791
Ref: #accounts68382 Ref: #commands67899
Node: activity69081 Node: accounts69007
Ref: #activity69191 Ref: #accounts69105
Node: add69574 Node: activity69804
Ref: #add69675 Ref: #activity69914
Node: aregister72468 Node: add70297
Ref: #aregister72580 Ref: #add70398
Node: aregister and custom posting dates73953 Node: aregister73191
Ref: #aregister-and-custom-posting-dates74126 Ref: #aregister73303
Ref: #output-format-174719 Node: aregister and custom posting dates74676
Node: balance75124 Ref: #aregister-and-custom-posting-dates74849
Ref: #balance75241 Ref: #output-format-175442
Node: Classic balance report76721 Node: balance75847
Ref: #classic-balance-report76894 Ref: #balance75964
Node: Customising the classic balance report78218 Node: Classic balance report77444
Ref: #customising-the-classic-balance-report78446 Ref: #classic-balance-report77617
Node: Colour support80522 Node: Customising the classic balance report78941
Ref: #colour-support80689 Ref: #customising-the-classic-balance-report79169
Node: Flat mode80785 Node: Colour support81245
Ref: #flat-mode80933 Ref: #colour-support81412
Node: Depth limited balance reports81346 Node: Flat mode81508
Ref: #depth-limited-balance-reports81531 Ref: #flat-mode81656
Node: Percentages81987 Node: Depth limited balance reports82069
Ref: #percentages82144 Ref: #depth-limited-balance-reports82254
Node: Sorting by amount83281 Node: Percentages82710
Ref: #sorting-by-amount83447 Ref: #percentages82867
Node: Multicolumn balance report83941 Node: Sorting by amount84004
Ref: #multicolumn-balance-report84127 Ref: #sorting-by-amount84170
Node: Budget report89724 Node: Multicolumn balance report84664
Ref: #budget-report89867 Ref: #multicolumn-balance-report84850
Node: Budget report start date95156 Node: Budget report90447
Ref: #budget-report-start-date95321 Ref: #budget-report90590
Node: Nested budgets96653 Node: Budget report start date95879
Ref: #nested-budgets96798 Ref: #budget-report-start-date96044
Ref: #output-format-2100281 Node: Nested budgets97376
Node: balancesheet100442 Ref: #nested-budgets97521
Ref: #balancesheet100578 Ref: #output-format-2101004
Node: balancesheetequity102090 Node: balancesheet101165
Ref: #balancesheetequity102239 Ref: #balancesheet101301
Node: cashflow103315 Node: balancesheetequity102813
Ref: #cashflow103443 Ref: #balancesheetequity102962
Node: check-dates104659 Node: cashflow104038
Ref: #check-dates104786 Ref: #cashflow104166
Node: check-dupes105065 Node: check-dates105382
Ref: #check-dupes105191 Ref: #check-dates105509
Node: close105484 Node: check-dupes105788
Ref: #close105592 Ref: #check-dupes105914
Node: close usage107114 Node: close106207
Ref: #close-usage107207 Ref: #close106315
Node: codes110020 Node: close usage107837
Ref: #codes110128 Ref: #close-usage107930
Node: commodities110840 Node: codes110743
Ref: #commodities110967 Ref: #codes110851
Node: descriptions111049 Node: commodities111563
Ref: #descriptions111177 Ref: #commodities111690
Node: diff111481 Node: descriptions111772
Ref: #diff111587 Ref: #descriptions111900
Node: files112634 Node: diff112204
Ref: #files112734 Ref: #diff112310
Node: help112881 Node: files113357
Ref: #help112981 Ref: #files113457
Node: import114062 Node: help113604
Ref: #import114176 Ref: #help113704
Node: Importing balance assignments115098 Node: import114785
Ref: #importing-balance-assignments115279 Ref: #import114899
Node: Commodity display styles115928 Node: Importing balance assignments115821
Ref: #commodity-display-styles116099 Ref: #importing-balance-assignments116002
Node: incomestatement116228 Node: Commodity display styles116651
Ref: #incomestatement116361 Ref: #commodity-display-styles116822
Node: notes117706 Node: incomestatement116951
Ref: #notes117819 Ref: #incomestatement117084
Node: payees118187 Node: notes118429
Ref: #payees118293 Ref: #notes118542
Node: prices118713 Node: payees118910
Ref: #prices118819 Ref: #payees119016
Node: print119160 Node: prices119436
Ref: #print119270 Ref: #prices119542
Node: print-unique124066 Node: print119883
Ref: #print-unique124192 Ref: #print119993
Node: register124477 Node: print-unique124789
Ref: #register124604 Ref: #print-unique124915
Node: Custom register output129053 Node: register125200
Ref: #custom-register-output129182 Ref: #register125327
Node: register-match130519 Node: Custom register output129776
Ref: #register-match130653 Ref: #custom-register-output129905
Node: rewrite131004 Node: register-match131242
Ref: #rewrite131119 Ref: #register-match131376
Node: Re-write rules in a file132974 Node: rewrite131727
Ref: #re-write-rules-in-a-file133108 Ref: #rewrite131842
Node: Diff output format134318 Node: Re-write rules in a file133697
Ref: #diff-output-format134487 Ref: #re-write-rules-in-a-file133831
Node: rewrite vs print --auto135579 Node: Diff output format135041
Ref: #rewrite-vs.-print---auto135758 Ref: #diff-output-format135210
Node: roi136314 Node: rewrite vs print --auto136302
Ref: #roi136412 Ref: #rewrite-vs.-print---auto136481
Node: stats148622 Node: roi137037
Ref: #stats148721 Ref: #roi137135
Node: tags149509 Node: stats149345
Ref: #tags149607 Ref: #stats149444
Node: test150126 Node: tags150232
Ref: #test150234 Ref: #tags150330
Node: Add-on commands150981 Node: test150849
Ref: #add-on-commands151098 Ref: #test150957
Node: ui152441 Node: Add-on commands151704
Ref: #ui152529 Ref: #add-on-commands151821
Node: web152583 Node: ui153164
Ref: #web152686 Ref: #ui153252
Node: iadd152802 Node: web153306
Ref: #iadd152913 Ref: #web153409
Node: interest152995 Node: iadd153525
Ref: #interest153102 Ref: #iadd153636
Node: ENVIRONMENT153342 Node: interest153718
Ref: #environment153454 Ref: #interest153825
Node: FILES154439 Node: ENVIRONMENT154065
Ref: #files-1154542 Ref: #environment154177
Node: LIMITATIONS154755 Node: FILES155162
Ref: #limitations154874 Ref: #files-1155265
Node: TROUBLESHOOTING155616 Node: LIMITATIONS155478
Ref: #troubleshooting155729 Ref: #limitations155597
Node: TROUBLESHOOTING156339
Ref: #troubleshooting156452
 
End Tag Table End Tag Table

View File

@ -464,6 +464,10 @@ OPTIONS
disable balance assertion checks (note: does not disable balance disable balance assertion checks (note: does not disable balance
assignments) assignments)
-s --strict
do extra error checking (check that all posted accounts are de-
clared)
General reporting options: General reporting options:
-b --begin=DATE -b --begin=DATE
@ -853,6 +857,24 @@ OPTIONS
o or concatenate the files into one before reading, eg: cat a.journal o or concatenate the files into one before reading, eg: cat a.journal
b.journal | hledger -f- CMD. b.journal | hledger -f- CMD.
Strict mode
hledger checks input files for valid data. By default, the most impor-
tant errors are detected, while still accepting easy journal files
without a lot of declarations:
o Are the input files parseable, with valid syntax ?
o Are all transactions balanced ?
o Do all balance assertions pass ?
With the -s/--strict flag, additional checks are performed:
o Are all accounts referenced by transactions declared with an account
directive ?
experimental.
Output destination Output destination
hledger commands send their output to the terminal by default. You can hledger commands send their output to the terminal by default. You can
of course redirect this, eg into a file, using standard shell syntax: of course redirect this, eg into a file, using standard shell syntax:
@ -981,6 +1003,7 @@ OPTIONS
last/this/next -1, 0, 1 periods from the current period last/this/next -1, 0, 1 periods from the current period
day/week/month/quar- day/week/month/quar-
ter/year ter/year
20181201 8 digit YYYYMMDD with valid year month and day 20181201 8 digit YYYYMMDD with valid year month and day
201812 6 digit YYYYMM with valid year and month 201812 6 digit YYYYMM with valid year and month
@ -1071,7 +1094,6 @@ OPTIONS
1, 2009 1, 2009
-p "from 2009/1" the same -p "from 2009/1" the same
-p "from 2009" the same -p "from 2009" the same
-p "to 2009" everything before january -p "to 2009" everything before january
1, 2009 1, 2009
@ -1117,6 +1139,7 @@ OPTIONS
2008/11/25" 2008/11/25"
-p "quarterly from starts on 2009/04/01, ends on 2009/06/30, -p "quarterly from starts on 2009/04/01, ends on 2009/06/30,
2009-05-05 to 2009-06-01" which are first and last days of Q2 2009 2009-05-05 to 2009-06-01" which are first and last days of Q2 2009
-p "yearly from starts on 2009/01/01, first day of 2009 -p "yearly from starts on 2009/01/01, first day of 2009
2009-12-29" 2009-12-29"
@ -1569,8 +1592,6 @@ OPTIONS
balance balance
(bs, bse, (bs, bse,
cf, is) cf, is)
balance sums of costs value at re- not sup- value at re- value at balance sums of costs value at re- not sup- value at re- value at
changes port end or ported port or jour- DATE/today of changes port end or ported port or jour- DATE/today of
today of sums nal end of sums of post- today of sums nal end of sums of post-
@ -1593,6 +1614,8 @@ OPTIONS
start postings be- postings be- start postings be- postings be-
fore report fore report fore report fore report
start start start start
balance sums of costs same as not sup- balance value at balance sums of costs same as not sup- balance value at
changes of postings --value=end ported change in DATE/today of changes of postings --value=end ported change in DATE/today of
(bal, is, in period each period, sums of post- (bal, is, in period each period, sums of post-