;update manuals
This commit is contained in:
		
							parent
							
								
									701768765a
								
							
						
					
					
						commit
						0b15d5771a
					
				| @ -656,9 +656,8 @@ Are all accounts posted to, declared with an \f[C]account\f[R] directive | |||||||
| Are all commodities declared with a \f[C]commodity\f[R] directive ? | Are all commodities declared with a \f[C]commodity\f[R] directive ? | ||||||
| (Commodity error checking) | (Commodity error checking) | ||||||
| .PP | .PP | ||||||
| See also: https://hledger.org/checking-for-errors.html | You can also use the check command to run these and some additional | ||||||
| .PP | checks. | ||||||
| \f[I]experimental.\f[R] |  | ||||||
| .SH TIME PERIODS | .SH TIME PERIODS | ||||||
| .SS Smart dates | .SS Smart dates | ||||||
| .PP | .PP | ||||||
| @ -830,12 +829,35 @@ T} | |||||||
| .SS Report intervals | .SS Report intervals | ||||||
| .PP | .PP | ||||||
| A report interval can be specified so that commands like register, | A report interval can be specified so that commands like register, | ||||||
| balance and activity will divide their reports into multiple subperiods. | balance and activity become multi-period, showing each subperiod as a | ||||||
| The basic intervals can be selected with one of \f[C]-D/--daily\f[R], | separate row or column. | ||||||
| \f[C]-W/--weekly\f[R], \f[C]-M/--monthly\f[R], \f[C]-Q/--quarterly\f[R], | .PP | ||||||
| or \f[C]-Y/--yearly\f[R]. | The following \[dq]standard\[dq] report intervals can be enabled by | ||||||
| More complex intervals may be specified with a period expression. | using their corresponding flag: | ||||||
| Report intervals can not be specified with a query. | .PP | ||||||
|  | \f[C]-D/--daily\f[R], \f[C]-W/--weekly\f[R], \f[C]-M/--monthly\f[R], | ||||||
|  | \f[C]-Q/--quarterly\f[R], \f[C]-Y/--yearly\f[R]. | ||||||
|  | .PP | ||||||
|  | These standard intervals always start on natural interval boundaries: eg | ||||||
|  | \f[C]--weekly\f[R] starts on mondays, \f[C]--monthly\f[R] starts on the | ||||||
|  | first of the month, \f[C]--yearly\f[R] always starts on January 1st, | ||||||
|  | etc. | ||||||
|  | .PP | ||||||
|  | Certain more complex intervals, and more flexible boundary dates, can be | ||||||
|  | specified by \f[C]-p/--period\f[R]. | ||||||
|  | These are described in period expressions, below. | ||||||
|  | .PP | ||||||
|  | Report intervals can only be specified by the flags above, and not by | ||||||
|  | query arguments, currently. | ||||||
|  | .PP | ||||||
|  | Report intervals have another effect: multi-period reports are always | ||||||
|  | expanded to fill a whole number of subperiods. | ||||||
|  | So if you use a report interval (other than \f[C]--daily\f[R]), and you | ||||||
|  | have specified a start or end date, you may notice those dates being | ||||||
|  | overridden (ie, the report starts earlier than your requested start | ||||||
|  | date, or ends later than your requested end date). | ||||||
|  | This is done to ensure \[dq]full\[dq] first and last subperiods, so that | ||||||
|  | all subperiods\[aq] numbers are comparable. | ||||||
| .SS Period expressions | .SS Period expressions | ||||||
| .PP | .PP | ||||||
| The \f[C]-p/--period\f[R] option accepts period expressions, a shorthand | The \f[C]-p/--period\f[R] option accepts period expressions, a shorthand | ||||||
| @ -2031,6 +2053,12 @@ $ hledger print -o foo.txt | |||||||
| $ hledger print -o -        # write to stdout (the default) | $ hledger print -o -        # write to stdout (the default) | ||||||
| \f[R] | \f[R] | ||||||
| .fi | .fi | ||||||
|  | .PP | ||||||
|  | hledger can optionally produce debug output (if enabled with | ||||||
|  | \f[C]--debug=N\f[R]); this goes to stderr, and is not affected by | ||||||
|  | \f[C]-o/--output-file\f[R]. | ||||||
|  | If you need to capture it, use shell redirects, eg: | ||||||
|  | \f[C]hledger bal --debug=3 >file 2>&1\f[R]. | ||||||
| .SS Output format | .SS Output format | ||||||
| .PP | .PP | ||||||
| Some commands (print, register, the balance commands) offer a choice of | Some commands (print, register, the balance commands) offer a choice of | ||||||
| @ -3612,7 +3640,8 @@ These checks can be run only by giving their names as arguments to | |||||||
| They are more specialised and not desirable for everyone, therefore | They are more specialised and not desirable for everyone, therefore | ||||||
| optional: | optional: | ||||||
| .IP \[bu] 2 | .IP \[bu] 2 | ||||||
| \f[B]ordereddates\f[R] - transactions are ordered by date in each file | \f[B]ordereddates\f[R] - transactions are ordered by date within each | ||||||
|  | file | ||||||
| .IP \[bu] 2 | .IP \[bu] 2 | ||||||
| \f[B]payees\f[R] - all payees used by transactions have been declared | \f[B]payees\f[R] - all payees used by transactions have been declared | ||||||
| .IP \[bu] 2 | .IP \[bu] 2 | ||||||
| @ -5440,23 +5469,15 @@ Amounts have a number (the \[dq]quantity\[dq]): | |||||||
| \f[R] | \f[R] | ||||||
| .fi | .fi | ||||||
| .PP | .PP | ||||||
| \&..and usually a currency or commodity name (the \[dq]commodity\[dq]). | \&..and usually a currency symbol or commodity name (more on this | ||||||
| This is a symbol, word, or phrase, to the left or right of the quantity, | below), to the left or right of the quantity, with or without a | ||||||
| with or without a separating space: | separating space: | ||||||
| .IP | .IP | ||||||
| .nf | .nf | ||||||
| \f[C] | \f[C] | ||||||
| $1 | $1 | ||||||
| 4000 AAPL | 4000 AAPL | ||||||
| \f[R] | 3 \[dq]green apples\[dq] | ||||||
| .fi |  | ||||||
| .PP |  | ||||||
| If the commodity name contains spaces, numbers, or punctuation, it must |  | ||||||
| be enclosed in double quotes: |  | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| 3 \[dq]no. 42 green apples\[dq] |  | ||||||
| \f[R] | \f[R] | ||||||
| .fi | .fi | ||||||
| .PP | .PP | ||||||
| @ -5526,14 +5547,49 @@ Are these digit group marks or decimal marks ? | |||||||
| .PP | .PP | ||||||
| If you don\[aq]t tell it otherwise, hledger will assume both of the | If you don\[aq]t tell it otherwise, hledger will assume both of the | ||||||
| above are decimal marks, parsing both numbers as 1. | above are decimal marks, parsing both numbers as 1. | ||||||
| To prevent confusion and undetected typos, especially if your data | To prevent confusion and undetected typos, we recommend adding | ||||||
| contains digit group marks, we recommend you explicitly declare the | \f[C]commodity\f[R] directives at the top of your journal file to | ||||||
| decimal mark (and optionally a digit group mark), for each commodity, | explicitly declare the decimal mark (and optionally a digit group mark) | ||||||
| using \f[C]commodity\f[R] directives (described below): | for each commodity. | ||||||
|  | Read on for more about this. | ||||||
|  | .SS Commodity | ||||||
|  | .PP | ||||||
|  | Amounts in hledger have both a \[dq]quantity\[dq], which is a signed | ||||||
|  | decimal number, and a \[dq]commodity\[dq], which is a currency symbol, | ||||||
|  | stock ticker, or any word or phrase describing something you are | ||||||
|  | tracking. | ||||||
|  | .PP | ||||||
|  | If the commodity name contains non-letters (spaces, numbers, or | ||||||
|  | punctuation), you must always write it inside double quotes | ||||||
|  | (\f[C]\[dq]green apples\[dq]\f[R], \f[C]\[dq]ABC123\[dq]\f[R]). | ||||||
|  | .PP | ||||||
|  | If you write just a bare number, that too will have a commodity, with | ||||||
|  | name \f[C]\[dq]\[dq]\f[R]; we call that the \[dq]no-symbol | ||||||
|  | commodity\[dq]. | ||||||
|  | .PP | ||||||
|  | Actually, hledger combines these single-commodity amounts into more | ||||||
|  | powerful multi-commodity amounts, which are what it works with most of | ||||||
|  | the time. | ||||||
|  | A multi-commodity amount could be, eg: | ||||||
|  | \f[C]1 USD, 2 EUR, 3.456 TSLA\f[R]. | ||||||
|  | In practice, you will only see multi-commodity amounts in hledger\[aq]s | ||||||
|  | output; you can\[aq]t write them directly in the journal file. | ||||||
|  | .PP | ||||||
|  | (If you are writing scripts or working with hledger\[aq]s internals, | ||||||
|  | these are the \f[C]Amount\f[R] and \f[C]MixedAmount\f[R] types.) | ||||||
|  | .SS Commodity directives | ||||||
|  | .PP | ||||||
|  | You can add \f[C]commodity\f[R] directives to the journal, preferably at | ||||||
|  | the top, to declare your commodities and help with number parsing (see | ||||||
|  | above) and display (see below). | ||||||
|  | These are optional, but recommended. | ||||||
|  | They are described in more detail in JOURNAL FORMAT -> Declaring | ||||||
|  | commodities. | ||||||
|  | Here\[aq]s a quick example: | ||||||
| .IP | .IP | ||||||
| .nf | .nf | ||||||
| \f[C] | \f[C] | ||||||
| # number formats for $, EUR, INR and the no-symbol commodity: | # number format and display style for $, EUR, INR and the no-symbol commodity: | ||||||
| commodity $1,000.00 | commodity $1,000.00 | ||||||
| commodity EUR 1.000,00 | commodity EUR 1.000,00 | ||||||
| commodity INR 9,99,99,999.00 | commodity INR 9,99,99,999.00 | ||||||
| @ -5541,19 +5597,15 @@ commodity 1 000 000.9455 | |||||||
| \f[R] | \f[R] | ||||||
| .fi | .fi | ||||||
| .PP | .PP | ||||||
| Note, \f[C]commodity\f[R] directives declare both the number format for |  | ||||||
| parsing input, and the display style for showing output. |  | ||||||
| For the former, they are position-sensitive, affecting only following |  | ||||||
| amounts, so commodity directives should be at the top of your journal |  | ||||||
| file. |  | ||||||
| This is discussed more on #793. |  | ||||||
| .PP |  | ||||||
| .SS Commodity display style | .SS Commodity display style | ||||||
| .PP | .PP | ||||||
| For the amounts in each commodity, hledger chooses a consistent display | For the amounts in each commodity, hledger chooses a consistent display | ||||||
| style to use in most reports. | style to use in most reports. | ||||||
| (Except for price amounts, which are always displayed as written). | (Exceptions: price amounts, and all amounts displayed by the | ||||||
| The display style is inferred as follows. | \f[C]print\f[R] command, are displayed with all of their decimal digits | ||||||
|  | visible.) | ||||||
|  | .PP | ||||||
|  | A commodity\[aq]s display style is inferred as follows. | ||||||
| .PP | .PP | ||||||
| First, if a default commodity is declared with \f[C]D\f[R], this | First, if a default commodity is declared with \f[C]D\f[R], this | ||||||
| commodity and its style is applied to any no-symbol amounts in the | commodity and its style is applied to any no-symbol amounts in the | ||||||
| @ -6206,47 +6258,54 @@ payee Whole Foods | |||||||
| .fi | .fi | ||||||
| .SS Declaring commodities | .SS Declaring commodities | ||||||
| .PP | .PP | ||||||
| The \f[C]commodity\f[R] directive has several functions: | You can use \f[C]commodity\f[R] directives to declare your commodities. | ||||||
|  | In fact the \f[C]commodity\f[R] directive performs several functions at | ||||||
|  | once: | ||||||
| .IP "1." 3 | .IP "1." 3 | ||||||
| It declares commodities which may be used in the journal. | It declares commodities which may be used in the journal. | ||||||
| This is currently not enforced, but can serve as documentation. | This can optionally be enforced, providing useful error checking. | ||||||
|  | (Cf Commodity error checking) | ||||||
| .IP "2." 3 | .IP "2." 3 | ||||||
| It declares what decimal mark character (period or comma) to expect when | It declares which decimal mark character (period or comma), to expect | ||||||
| parsing input - useful to disambiguate international number formats in | when parsing input - useful to disambiguate international number formats | ||||||
| your data. | in your data. | ||||||
| (Without this, hledger will parse both \f[C]1,000\f[R] and | Without this, hledger will parse both \f[C]1,000\f[R] and | ||||||
| \f[C]1.000\f[R] as 1). | \f[C]1.000\f[R] as 1. | ||||||
|  | (Cf Amounts) | ||||||
| .IP "3." 3 | .IP "3." 3 | ||||||
| It declares a commodity\[aq]s display style in output - decimal and | It declares how to render the commodity\[aq]s amounts when displaying | ||||||
| digit group marks, number of decimal places, symbol placement etc. | output - the decimal mark, any digit group marks, the number of decimal | ||||||
|  | places, symbol placement and so on. | ||||||
|  | (Cf Commodity display style) | ||||||
| .PP | .PP | ||||||
| You are likely to run into one of the problems solved by commodity | You will run into one of the problems solved by commodity directives | ||||||
| directives, sooner or later, so it\[aq]s a good idea to just always use | sooner or later, so we recommend using them, for robust and predictable | ||||||
| them to declare your commodities. | parsing and display. | ||||||
| .PP | .PP | ||||||
| A commodity directive is just the word \f[C]commodity\f[R] followed by | Generally you should put them at the top of your journal file (since for | ||||||
| an amount. | function 2, they affect only following amounts, cf #793). | ||||||
| It may be written on a single line, like this: | .PP | ||||||
|  | A commodity directive is just the word \f[C]commodity\f[R] followed by a | ||||||
|  | sample amount, like this: | ||||||
| .IP | .IP | ||||||
| .nf | .nf | ||||||
| \f[C] | \f[C] | ||||||
| ; commodity EXAMPLEAMOUNT | ;commodity SAMPLEAMOUNT | ||||||
| 
 | 
 | ||||||
| ; display AAAA amounts with the symbol on the right, space-separated, | commodity $1000.00 | ||||||
| ; using period as decimal point, with four decimal places, and | commodity 1,000.0000 AAAA  ; optional same-line comment | ||||||
| ; separating thousands with comma. |  | ||||||
| commodity 1,000.0000 AAAA |  | ||||||
| \f[R] | \f[R] | ||||||
| .fi | .fi | ||||||
| .PP | .PP | ||||||
| or on multiple lines, using the \[dq]format\[dq] subdirective. | It may also be written on multiple lines, and use the \f[C]format\f[R] | ||||||
| (In this case the commodity symbol appears twice and should be the same | subdirective, as in Ledger. | ||||||
| in both places.): | Note in this case the commodity symbol appears twice; it must be the | ||||||
|  | same in both places: | ||||||
| .IP | .IP | ||||||
| .nf | .nf | ||||||
| \f[C] | \f[C] | ||||||
| ; commodity SYMBOL | ;commodity SYMBOL | ||||||
| ;   format EXAMPLEAMOUNT | ;  format SAMPLEAMOUNT | ||||||
| 
 | 
 | ||||||
| ; display indian rupees with currency name on the left, | ; display indian rupees with currency name on the left, | ||||||
| ; thousands, lakhs and crores comma-separated, | ; thousands, lakhs and crores comma-separated, | ||||||
| @ -6256,10 +6315,25 @@ commodity INR | |||||||
| \f[R] | \f[R] | ||||||
| .fi | .fi | ||||||
| .PP | .PP | ||||||
| The quantity of the amount does not matter; only the format is | Remember that if the commodity symbol contains spaces, numbers, or | ||||||
|  | punctuation, it must be enclosed in double quotes (cf Commodity). | ||||||
|  | .PP | ||||||
|  | The amount\[aq]s quantity does not matter; only the format is | ||||||
| significant. | significant. | ||||||
| The number must include a decimal mark: either a period or a comma, | It must include a decimal mark - either a period or a comma - followed | ||||||
| followed by 0 or more decimal digits. | by 0 or more decimal digits. | ||||||
|  | .PP | ||||||
|  | A few more examples: | ||||||
|  | .IP | ||||||
|  | .nf | ||||||
|  | \f[C] | ||||||
|  | # number formats for $, EUR, INR and the no-symbol commodity: | ||||||
|  | commodity $1,000.00 | ||||||
|  | commodity EUR 1.000,00 | ||||||
|  | commodity INR 9,99,99,999.0 | ||||||
|  | commodity 1 000 000. | ||||||
|  | \f[R] | ||||||
|  | .fi | ||||||
| .PP | .PP | ||||||
| Note hledger normally uses banker\[aq]s rounding, so 0.5 displayed with | Note hledger normally uses banker\[aq]s rounding, so 0.5 displayed with | ||||||
| zero decimal digits is \[dq]0\[dq]. | zero decimal digits is \[dq]0\[dq]. | ||||||
| @ -6273,19 +6347,20 @@ This works similarly to account error checking, see the notes there for | |||||||
| more details. | more details. | ||||||
| .SS Default commodity | .SS Default commodity | ||||||
| .PP | .PP | ||||||
| The \f[C]D\f[R] directive sets a default commodity, to be used for | The \f[C]D\f[R] directive sets a default commodity, to be used for any | ||||||
| amounts without a commodity symbol (ie, plain numbers). | subsequent commodityless amounts (ie, plain numbers) seen while parsing | ||||||
| This commodity will be applied to all subsequent commodity-less amounts, | the journal. | ||||||
| or until the next \f[C]D\f[R] directive. | This effect lasts until the next \f[C]D\f[R] directive, or the end of | ||||||
| (Note, this is different from Ledger\[aq]s \f[C]D\f[R].) | the journal. | ||||||
| .PP | .PP | ||||||
| For compatibility/historical reasons, \f[C]D\f[R] also acts like a | For compatibility/historical reasons, \f[C]D\f[R] also acts like a | ||||||
| \f[C]commodity\f[R] directive, setting the commodity\[aq]s display style | \f[C]commodity\f[R] directive (setting the commodity\[aq]s decimal mark | ||||||
| (for output) and decimal mark (for parsing input). | for parsing and display style for output). | ||||||
| As with \f[C]commodity\f[R], the amount must always be written with a | .PP | ||||||
| decimal mark (period or comma). | As with \f[C]commodity\f[R], the amount must include a decimal mark | ||||||
| If both directives are used, \f[C]commodity\f[R]\[aq]s style takes | (either period or comma). | ||||||
| precedence. | If both \f[C]commodity\f[R] and \f[C]D\f[R] directives are used for the | ||||||
|  | same commodity, the \f[C]commodity\f[R] style takes precedence. | ||||||
| .PP | .PP | ||||||
| The syntax is \f[C]D AMOUNT\f[R]. | The syntax is \f[C]D AMOUNT\f[R]. | ||||||
| Eg: | Eg: | ||||||
| @ -6494,7 +6569,7 @@ using the following rules: | |||||||
| tab(@); | tab(@); | ||||||
| l l. | l l. | ||||||
| T{ | T{ | ||||||
| If name matches regular expression: | If name matches this regular expression: | ||||||
| T}@T{ | T}@T{ | ||||||
| account type is: | account type is: | ||||||
| T} | T} | ||||||
| @ -6528,10 +6603,10 @@ T} | |||||||
| .PP | .PP | ||||||
| .TS | .TS | ||||||
| tab(@); | tab(@); | ||||||
| lw(56.9n) lw(13.1n). | lw(57.6n) lw(12.4n). | ||||||
| T{ | T{ | ||||||
| If account type is \f[C]Asset\f[R] and name does not contain regular | If account type is \f[C]Asset\f[R] and name does not contain this | ||||||
| expression: | regular expression: | ||||||
| T}@T{ | T}@T{ | ||||||
| account type is: | account type is: | ||||||
| T} | T} | ||||||
| @ -7789,13 +7864,13 @@ REGEX | |||||||
| \f[R] | \f[R] | ||||||
| .fi | .fi | ||||||
| .PP | .PP | ||||||
| REGEX is a case-insensitive regular expression which tries to match | REGEX is a case-insensitive regular expression that tries to match | ||||||
| anywhere within the CSV record. | anywhere within the CSV record. | ||||||
| It is a POSIX ERE (extended regular expression) that also supports GNU | It is a POSIX ERE (extended regular expression) that also supports GNU | ||||||
| word boundaries (\f[C]\[rs]b\f[R], \f[C]\[rs]B\f[R], \f[C]\[rs]<\f[R], | word boundaries (\f[C]\[rs]b\f[R], \f[C]\[rs]B\f[R], \f[C]\[rs]<\f[R], | ||||||
| \f[C]\[rs]>\f[R]), and nothing else. | \f[C]\[rs]>\f[R]), and nothing else. | ||||||
| If you have trouble, be sure to check our | If you have trouble, be sure to check our doc: | ||||||
| https://hledger.org/hledger.html#regular-expressions doc. | https://hledger.org/hledger.html#regular-expressions | ||||||
| .PP | .PP | ||||||
| Important note: the record that is matched is not the original record, | Important note: the record that is matched is not the original record, | ||||||
| but a synthetic one, with any enclosing double quotes (but not enclosing | but a synthetic one, with any enclosing double quotes (but not enclosing | ||||||
|  | |||||||
							
								
								
									
										1053
									
								
								hledger/hledger.info
									
									
									
									
									
								
							
							
						
						
									
										1053
									
								
								hledger/hledger.info
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -497,9 +497,8 @@ DATA FILES | |||||||
|        o Are all commodities declared with a commodity directive ?  (Commodity |        o Are all commodities declared with a commodity directive ?  (Commodity | ||||||
|          error checking) |          error checking) | ||||||
| 
 | 
 | ||||||
|        See also: https://hledger.org/checking-for-errors.html |        You can also use the check command to run  these  and  some  additional | ||||||
| 
 |        checks. | ||||||
|        experimental. |  | ||||||
| 
 | 
 | ||||||
| TIME PERIODS | TIME PERIODS | ||||||
|    Smart dates |    Smart dates | ||||||
| @ -576,11 +575,32 @@ TIME PERIODS | |||||||
| 
 | 
 | ||||||
|    Report intervals |    Report intervals | ||||||
|        A report interval can be specified so that commands like register, bal- |        A report interval can be specified so that commands like register, bal- | ||||||
|        ance and activity will divide their reports into  multiple  subperiods. |        ance and activity become multi-period, showing each subperiod as a sep- | ||||||
|        The   basic   intervals   can  be  selected  with  one  of  -D/--daily, |        arate row or column. | ||||||
|        -W/--weekly, -M/--monthly, -Q/--quarterly, or -Y/--yearly.   More  com- | 
 | ||||||
|        plex  intervals  may  be  specified  with  a period expression.  Report |        The following "standard" report intervals can be enabled by using their | ||||||
|        intervals can not be specified with a query. |        corresponding flag: | ||||||
|  | 
 | ||||||
|  |        -D/--daily, -W/--weekly, -M/--monthly, -Q/--quarterly, -Y/--yearly. | ||||||
|  | 
 | ||||||
|  |        These  standard  intervals always start on natural interval boundaries: | ||||||
|  |        eg --weekly starts on mondays, --monthly starts on  the  first  of  the | ||||||
|  |        month, --yearly always starts on January 1st, etc. | ||||||
|  | 
 | ||||||
|  |        Certain  more  complex intervals, and more flexible boundary dates, can | ||||||
|  |        be specified by -p/--period.  These are  described  in  period  expres- | ||||||
|  |        sions, below. | ||||||
|  | 
 | ||||||
|  |        Report  intervals  can only be specified by the flags above, and not by | ||||||
|  |        query arguments, currently. | ||||||
|  | 
 | ||||||
|  |        Report intervals have another effect: multi-period reports  are  always | ||||||
|  |        expanded  to fill a whole number of subperiods.  So if you use a report | ||||||
|  |        interval (other than --daily), and you have specified a  start  or  end | ||||||
|  |        date,  you  may  notice  those  dates  being overridden (ie, the report | ||||||
|  |        starts earlier than your requested start date, or ends later than  your | ||||||
|  |        requested end date).  This is done to ensure "full" first and last sub- | ||||||
|  |        periods, so that all subperiods' numbers are comparable. | ||||||
| 
 | 
 | ||||||
|    Period expressions |    Period expressions | ||||||
|        The -p/--period option accepts period expressions, a shorthand  way  of |        The -p/--period option accepts period expressions, a shorthand  way  of | ||||||
| @ -606,7 +626,6 @@ TIME PERIODS | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|        -p "1/1 4/1" |        -p "1/1 4/1" | ||||||
| 
 |  | ||||||
|        -p "january-apr" |        -p "january-apr" | ||||||
|        -p "this year to 4/1" |        -p "this year to 4/1" | ||||||
| 
 | 
 | ||||||
| @ -1162,8 +1181,6 @@ VALUATION | |||||||
|        posting         cost           value     at   value at  posting   value     at   value      at |        posting         cost           value     at   value at  posting   value     at   value      at | ||||||
|        amounts                        report   end   date                report    or   DATE/today |        amounts                        report   end   date                report    or   DATE/today | ||||||
|                                       or today                           journal end |                                       or today                           journal end | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|        summary post-   summarised     value     at   sum  of  postings   value     at   value      at |        summary post-   summarised     value     at   sum  of  postings   value     at   value      at | ||||||
|        ing   amounts   cost           period ends    in interval, val-   period ends    DATE/today |        ing   amounts   cost           period ends    in interval, val-   period ends    DATE/today | ||||||
|        with   report                                 ued  at  interval |        with   report                                 ued  at  interval | ||||||
| @ -1201,6 +1218,12 @@ VALUATION | |||||||
|        is,        bs   postings  in                  period at respec-   each period,   sums of post- |        is,        bs   postings  in                  period at respec-   each period,   sums of post- | ||||||
|        --change,  cf   period                        tive      posting   valued    at   ings |        --change,  cf   period                        tive      posting   valued    at   ings | ||||||
|        --change)                                     dates               period ends |        --change)                                     dates               period ends | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|        end  balances   sums      of   same      as   sums of values of   period   end   value      at |        end  balances   sums      of   same      as   sums of values of   period   end   value      at | ||||||
|        (bal  -H,  is   costs     of   --value=end    postings     from   balances,      DATE/today of |        (bal  -H,  is   costs     of   --value=end    postings     from   balances,      DATE/today of | ||||||
|        --H, bs, cf)    postings                      before     period   valued    at   sums of post- |        --H, bs, cf)    postings                      before     period   valued    at   sums of post- | ||||||
| @ -1322,6 +1345,11 @@ OUTPUT | |||||||
|               $ hledger print -o foo.txt |               $ hledger print -o foo.txt | ||||||
|               $ hledger print -o -        # write to stdout (the default) |               $ hledger print -o -        # write to stdout (the default) | ||||||
| 
 | 
 | ||||||
|  |        hledger   can   optionally   produce  debug  output  (if  enabled  with | ||||||
|  |        --debug=N); this goes to stderr, and is not  affected  by  -o/--output- | ||||||
|  |        file.   If you need to capture it, use shell redirects, eg: hledger bal | ||||||
|  |        --debug=3 >file 2>&1. | ||||||
|  | 
 | ||||||
|    Output format |    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), there |        output format.  In addition to the usual plain text format (txt), there | ||||||
| @ -2588,7 +2616,7 @@ COMMANDS | |||||||
|        check.  They are more  specialised  and  not  desirable  for  everyone, |        check.  They are more  specialised  and  not  desirable  for  everyone, | ||||||
|        therefore optional: |        therefore optional: | ||||||
| 
 | 
 | ||||||
|        o ordereddates - transactions are ordered by date in each file |        o ordereddates - transactions are ordered by date within each file | ||||||
| 
 | 
 | ||||||
|        o payees - all payees used by transactions have been declared |        o payees - all payees used by transactions have been declared | ||||||
| 
 | 
 | ||||||
| @ -3964,17 +3992,13 @@ JOURNAL FORMAT | |||||||
| 
 | 
 | ||||||
|               1 |               1 | ||||||
| 
 | 
 | ||||||
|        ..and usually a currency or commodity name (the "commodity").  This  is |        ..and usually a currency symbol or commodity name (more on this below), | ||||||
|        a  symbol,  word, or phrase, to the left or right of the quantity, with |        to the left or right of the quantity,  with  or  without  a  separating | ||||||
|        or without a separating space: |        space: | ||||||
| 
 | 
 | ||||||
|               $1 |               $1 | ||||||
|               4000 AAPL |               4000 AAPL | ||||||
| 
 |               3 "green apples" | ||||||
|        If the commodity name contains spaces, numbers, or punctuation, it must |  | ||||||
|        be enclosed in double quotes: |  | ||||||
| 
 |  | ||||||
|               3 "no. 42 green apples" |  | ||||||
| 
 | 
 | ||||||
|        Amounts can be preceded by a minus sign (or a plus sign, though plus is |        Amounts can be preceded by a minus sign (or a plus sign, though plus is | ||||||
|        the default), The sign can be written before or after a left-side  com- |        the default), The sign can be written before or after a left-side  com- | ||||||
| @ -4017,29 +4041,53 @@ JOURNAL FORMAT | |||||||
| 
 | 
 | ||||||
|        If  you  don't tell it otherwise, hledger will assume both of the above |        If  you  don't tell it otherwise, hledger will assume both of the above | ||||||
|        are decimal marks, parsing both numbers as 1.  To prevent confusion and |        are decimal marks, parsing both numbers as 1.  To prevent confusion and | ||||||
|        undetected  typos,  especially if your data contains digit group marks, |        undetected  typos,  we recommend adding commodity directives at the top | ||||||
|        we recommend you explicitly declare the decimal mark (and optionally  a |        of your journal file  to  explicitly  declare  the  decimal  mark  (and | ||||||
|        digit  group  mark),  for  each  commodity,  using commodity directives |        optionally  a  digit  group mark) for each commodity.  Read on for more | ||||||
|        (described below): |        about this. | ||||||
| 
 | 
 | ||||||
|               # number formats for $, EUR, INR and the no-symbol commodity: |    Commodity | ||||||
|  |        Amounts in hledger have both a "quantity", which is  a  signed  decimal | ||||||
|  |        number, and a "commodity", which is a currency symbol, stock ticker, or | ||||||
|  |        any word or phrase describing something you are tracking. | ||||||
|  | 
 | ||||||
|  |        If the commodity name contains non-letters (spaces, numbers, or punctu- | ||||||
|  |        ation),  you must always write it inside double quotes ("green apples", | ||||||
|  |        "ABC123"). | ||||||
|  | 
 | ||||||
|  |        If you write just a bare number, that too will have a  commodity,  with | ||||||
|  |        name ""; we call that the "no-symbol commodity". | ||||||
|  | 
 | ||||||
|  |        Actually,  hledger  combines  these  single-commodity amounts into more | ||||||
|  |        powerful multi-commodity amounts, which are what it works with most  of | ||||||
|  |        the  time.   A multi-commodity amount could be, eg: 1 USD, 2 EUR, 3.456 | ||||||
|  |        TSLA.  In practice,  you  will  only  see  multi-commodity  amounts  in | ||||||
|  |        hledger's output; you can't write them directly in the journal file. | ||||||
|  | 
 | ||||||
|  |        (If  you are writing scripts or working with hledger's internals, these | ||||||
|  |        are the Amount and MixedAmount types.) | ||||||
|  | 
 | ||||||
|  |    Commodity directives | ||||||
|  |        You can add commodity directives to the journal, preferably at the top, | ||||||
|  |        to  declare  your  commodities and help with number parsing (see above) | ||||||
|  |        and display (see below).  These are optional,  but  recommended.   They | ||||||
|  |        are  described  in  more detail in JOURNAL FORMAT -> Declaring commodi- | ||||||
|  |        ties.  Here's a quick example: | ||||||
|  | 
 | ||||||
|  |               # number format and display style for $, EUR, INR and the no-symbol commodity: | ||||||
|               commodity $1,000.00 |               commodity $1,000.00 | ||||||
|               commodity EUR 1.000,00 |               commodity EUR 1.000,00 | ||||||
|               commodity INR 9,99,99,999.00 |               commodity INR 9,99,99,999.00 | ||||||
|               commodity 1 000 000.9455 |               commodity 1 000 000.9455 | ||||||
| 
 | 
 | ||||||
|        Note, commodity directives declare both the number format  for  parsing |  | ||||||
|        input,  and the display style for showing output.  For the former, they |  | ||||||
|        are position-sensitive, affecting only following amounts, so  commodity |  | ||||||
|        directives  should  be  at  the top of your journal file.  This is dis- |  | ||||||
|        cussed more on #793. |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
|    Commodity display style |    Commodity display style | ||||||
|        For the amounts in each commodity, hledger chooses a consistent display |        For the amounts in each commodity, hledger chooses a consistent display | ||||||
|        style  to  use  in  most reports.  (Except for price amounts, which are |        style  to  use  in  most  reports.  (Exceptions: price amounts, and all | ||||||
|        always displayed as written).  The display style is  inferred  as  fol- |        amounts displayed by the print command, are displayed with all of their | ||||||
|        lows. |        decimal digits visible.) | ||||||
|  | 
 | ||||||
|  |        A commodity's display style is inferred as follows. | ||||||
| 
 | 
 | ||||||
|        First,  if  a  default commodity is declared with D, this commodity and |        First,  if  a  default commodity is declared with D, this commodity and | ||||||
|        its style is applied to any no-symbol amounts in the journal. |        its style is applied to any no-symbol amounts in the journal. | ||||||
| @ -4342,9 +4390,6 @@ JOURNAL FORMAT | |||||||
|        tive       directive   rec-                                     2018/06) |        tive       directive   rec-                                     2018/06) | ||||||
|                               tives |                               tives | ||||||
|        ------------------------------------------------------------------------------------ |        ------------------------------------------------------------------------------------ | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|        account                any       document    account   names,   all  entries in all |        account                any       document    account   names,   all  entries in all | ||||||
|                               text      declare account types & dis-   files,  before   or |                               text      declare account types & dis-   files,  before   or | ||||||
|                                         play order                     after |                                         play order                     after | ||||||
| @ -4360,6 +4405,11 @@ JOURNAL FORMAT | |||||||
|                   ment                                                 until  end  of cur- |                   ment                                                 until  end  of cur- | ||||||
|                                                                        rent  file  or  end |                                                                        rent  file  or  end | ||||||
|                                                                        directive |                                                                        directive | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|        commod-                format    declare a commodity and  its   number    notation: |        commod-                format    declare a commodity and  its   number    notation: | ||||||
|        ity                              number  notation  &  display   following   entries |        ity                              number  notation  &  display   following   entries | ||||||
|                                         style                          in  that  commodity |                                         style                          in  that  commodity | ||||||
| @ -4494,39 +4544,44 @@ JOURNAL FORMAT | |||||||
|               payee Whole Foods |               payee Whole Foods | ||||||
| 
 | 
 | ||||||
|    Declaring commodities |    Declaring commodities | ||||||
|        The commodity directive has several functions: |        You  can use commodity directives to declare your commodities.  In fact | ||||||
|  |        the commodity directive performs several functions at once: | ||||||
| 
 | 
 | ||||||
|        1. It  declares  commodities which may be used in the journal.  This is |        1. It declares commodities which may be used in the journal.  This  can | ||||||
|           currently not enforced, but can serve as documentation. |           optionally  be  enforced, providing useful error checking.  (Cf Com- | ||||||
|  |           modity error checking) | ||||||
| 
 | 
 | ||||||
|        2. It declares what decimal mark character (period or comma) to  expect |        2. It declares which decimal  mark  character  (period  or  comma),  to | ||||||
|           when  parsing  input  -  useful to disambiguate international number |           expect  when  parsing  input  - useful to disambiguate international | ||||||
|           formats in your data.  (Without this, hledger will parse both  1,000 |           number formats in your data.  Without this, hledger will parse  both | ||||||
|           and 1.000 as 1). |           1,000 and 1.000 as 1.  (Cf Amounts) | ||||||
| 
 | 
 | ||||||
|        3. It  declares  a  commodity's  display  style in output - decimal and |        3. It  declares  how  to render the commodity's amounts when displaying | ||||||
|           digit group marks, number of decimal places, symbol placement etc. |           output - the decimal mark, any digit group marks, the number of dec- | ||||||
|  |           imal  places,  symbol  placement  and  so on.  (Cf Commodity display | ||||||
|  |           style) | ||||||
| 
 | 
 | ||||||
|        You are likely to run into one of  the  problems  solved  by  commodity |        You will run into one of the problems solved  by  commodity  directives | ||||||
|        directives,  sooner  or  later,  so it's a good idea to just always use |        sooner or later, so we recommend using them, for robust and predictable | ||||||
|        them to declare your commodities. |        parsing and display. | ||||||
| 
 | 
 | ||||||
|        A commodity directive is just the word commodity followed by an amount. |        Generally you should put them at the top of your  journal  file  (since | ||||||
|        It may be written on a single line, like this: |        for function 2, they affect only following amounts, cf #793). | ||||||
| 
 | 
 | ||||||
|               ; commodity EXAMPLEAMOUNT |        A  commodity  directive is just the word commodity followed by a sample | ||||||
|  |        amount, like this: | ||||||
| 
 | 
 | ||||||
|               ; display AAAA amounts with the symbol on the right, space-separated, |               ;commodity SAMPLEAMOUNT | ||||||
|               ; using period as decimal point, with four decimal places, and |  | ||||||
|               ; separating thousands with comma. |  | ||||||
|               commodity 1,000.0000 AAAA |  | ||||||
| 
 | 
 | ||||||
|        or  on  multiple lines, using the "format" subdirective.  (In this case |               commodity $1000.00 | ||||||
|        the commodity symbol appears twice and  should  be  the  same  in  both |               commodity 1,000.0000 AAAA  ; optional same-line comment | ||||||
|        places.): |  | ||||||
| 
 | 
 | ||||||
|               ; commodity SYMBOL |        It may also be written on multiple lines, and use the format  subdirec- | ||||||
|               ;   format EXAMPLEAMOUNT |        tive,  as  in  Ledger.   Note in this case the commodity symbol appears | ||||||
|  |        twice; it must be the same in both places: | ||||||
|  | 
 | ||||||
|  |               ;commodity SYMBOL | ||||||
|  |               ;  format SAMPLEAMOUNT | ||||||
| 
 | 
 | ||||||
|               ; display indian rupees with currency name on the left, |               ; display indian rupees with currency name on the left, | ||||||
|               ; thousands, lakhs and crores comma-separated, |               ; thousands, lakhs and crores comma-separated, | ||||||
| @ -4534,9 +4589,20 @@ JOURNAL FORMAT | |||||||
|               commodity INR |               commodity INR | ||||||
|                 format INR 1,00,00,000.00 |                 format INR 1,00,00,000.00 | ||||||
| 
 | 
 | ||||||
|        The quantity of the amount does not matter; only the format is signifi- |        Remember that if the commodity  symbol  contains  spaces,  numbers,  or | ||||||
|        cant.  The number must include a decimal mark: either  a  period  or  a |        punctuation, it must be enclosed in double quotes (cf Commodity). | ||||||
|        comma, followed by 0 or more decimal digits. | 
 | ||||||
|  |        The  amount's quantity does not matter; only the format is significant. | ||||||
|  |        It must include a decimal mark - either a period or a comma -  followed | ||||||
|  |        by 0 or more decimal digits. | ||||||
|  | 
 | ||||||
|  |        A few more examples: | ||||||
|  | 
 | ||||||
|  |               # number formats for $, EUR, INR and the no-symbol commodity: | ||||||
|  |               commodity $1,000.00 | ||||||
|  |               commodity EUR 1.000,00 | ||||||
|  |               commodity INR 9,99,99,999.0 | ||||||
|  |               commodity 1 000 000. | ||||||
| 
 | 
 | ||||||
|        Note  hledger  normally  uses  banker's rounding, so 0.5 displayed with |        Note  hledger  normally  uses  banker's rounding, so 0.5 displayed with | ||||||
|        zero decimal digits is "0".  (More at Commodity display style.) |        zero decimal digits is "0".  (More at Commodity display style.) | ||||||
| @ -4548,16 +4614,18 @@ JOURNAL FORMAT | |||||||
|        see the notes there for more details. |        see the notes there for more details. | ||||||
| 
 | 
 | ||||||
|    Default commodity |    Default commodity | ||||||
|        The  D directive sets a default commodity, to be used for amounts with- |        The D directive sets a default commodity, to be used for any subsequent | ||||||
|        out a commodity symbol (ie, plain numbers).   This  commodity  will  be |        commodityless amounts (ie, plain numbers) seen while parsing the  jour- | ||||||
|        applied  to  all subsequent commodity-less amounts, or until the next D |        nal.   This  effect lasts until the next D directive, or the end of the | ||||||
|        directive.  (Note, this is different from Ledger's D.) |        journal. | ||||||
| 
 | 
 | ||||||
|        For compatibility/historical reasons, D  also  acts  like  a  commodity |        For compatibility/historical reasons, D  also  acts  like  a  commodity | ||||||
|        directive, setting the commodity's display style (for output) and deci- |        directive (setting the commodity's decimal mark for parsing and display | ||||||
|        mal mark (for parsing input).   As  with  commodity,  the  amount  must |        style for output). | ||||||
|        always  be  written  with  a  decimal  mark (period or comma).  If both | 
 | ||||||
|        directives are used, commodity's style takes precedence. |        As with commodity, the amount  must  include  a  decimal  mark  (either | ||||||
|  |        period  or comma).  If both commodity and D directives are used for the | ||||||
|  |        same commodity, the commodity style takes precedence. | ||||||
| 
 | 
 | ||||||
|        The syntax is D AMOUNT.  Eg: |        The syntax is D AMOUNT.  Eg: | ||||||
| 
 | 
 | ||||||
| @ -4718,8 +4786,8 @@ JOURNAL FORMAT | |||||||
|        cally using the following rules: |        cally using the following rules: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|        If  name  matches  regular   account type is: |        If name matches this regu-   account type is: | ||||||
|        expression: |        lar expression: | ||||||
|        ---------------------------------------------- |        ---------------------------------------------- | ||||||
|        ^assets?(:|$)                Asset |        ^assets?(:|$)                Asset | ||||||
|        ^(debts?|lia-                Liability |        ^(debts?|lia-                Liability | ||||||
| @ -4729,10 +4797,9 @@ JOURNAL FORMAT | |||||||
|        ^expenses?(:|$)              Expense |        ^expenses?(:|$)              Expense | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|        If account type is Asset and name does not contain  regu-   account  type |        If account type is Asset and name does  not  contain  this   account type | ||||||
|        lar expression:                                             is: |        regular expression:                                          is: | ||||||
|        -------------------------------------------------------------------------- |        -------------------------------------------------------------------------- | ||||||
| 
 |  | ||||||
|        (investment|receivable|:A/R|:fixed)                          Cash |        (investment|receivable|:A/R|:fixed)                          Cash | ||||||
| 
 | 
 | ||||||
|        Even so, explicit declarations may be a good idea, for clarity and pre- |        Even so, explicit declarations may be a good idea, for clarity and pre- | ||||||
| @ -5695,11 +5762,11 @@ CSV FORMAT | |||||||
| 
 | 
 | ||||||
|               REGEX |               REGEX | ||||||
| 
 | 
 | ||||||
|        REGEX is a case-insensitive regular expression  which  tries  to  match |        REGEX is a case-insensitive regular expression that tries to match any- | ||||||
|        anywhere  within  the  CSV record.  It is a POSIX ERE (extended regular |        where  within  the  CSV  record.   It  is a POSIX ERE (extended regular | ||||||
|        expression) that also supports GNU word boundaries (\b,  \B,  \<,  \>), |        expression) that also supports GNU word boundaries (\b,  \B,  \<,  \>), | ||||||
|        and  nothing  else.   If  you  have  trouble,  be  sure  to  check  our |        and  nothing  else.   If  you  have  trouble, be sure to check our doc: | ||||||
|        https://hledger.org/hledger.html#regular-expressions doc. |        https://hledger.org/hledger.html#regular-expressions | ||||||
| 
 | 
 | ||||||
|        Important note: the record that is matched is not the original  record, |        Important note: the record that is matched is not the original  record, | ||||||
|        but  a synthetic one, with any enclosing double quotes (but not enclos- |        but  a synthetic one, with any enclosing double quotes (but not enclos- | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user