lib: doc: journal: clarify periodic transactions
[ci skip]
This commit is contained in:
		
							parent
							
								
									c4d45cffc4
								
							
						
					
					
						commit
						b04dc82125
					
				| @ -916,11 +916,11 @@ Prior to hledger 1.0, legacy `account` and `end` spellings were also supported. | |||||||
| ## Periodic transactions | ## Periodic transactions | ||||||
| 
 | 
 | ||||||
| Periodic transaction rules describe transactions that recur. | Periodic transaction rules describe transactions that recur. | ||||||
| They allow you to generate future transactions for forecast reports (with `--forecast`), | They allow you to generate future transactions for forecasting, | ||||||
| without having to write them out explicitly in the journal. | without having to write them out explicitly in the journal (with `--forecast`). | ||||||
| Secondly, they also can be used to define budget goals (with `--budget`). | Secondly, they also can be used to define budget goals (with `--budget`). | ||||||
| 
 | 
 | ||||||
| A periodic transaction rule looks like a regular journal entry, | A periodic transaction rule looks like a normal journal entry, | ||||||
| with the date replaced by a tilde (`~`) followed by a [period expression](manual.html#period-expressions) | with the date replaced by a tilde (`~`) followed by a [period expression](manual.html#period-expressions) | ||||||
| (mnemonic: `~` looks like a repeating sine wave): | (mnemonic: `~` looks like a repeating sine wave): | ||||||
| ```journal | ```journal | ||||||
| @ -932,9 +932,10 @@ There is an additional constraint on the period expression: | |||||||
| the start date must fall on a natural boundary of the interval. | the start date must fall on a natural boundary of the interval. | ||||||
| Eg `monthly from 2018/1/1` is valid, but `monthly from 2018/1/15` is not. | Eg `monthly from 2018/1/1` is valid, but `monthly from 2018/1/15` is not. | ||||||
| 
 | 
 | ||||||
| Also, if you write a transaction description or same-line comment,  | If you write a transaction description or same-line comment,  | ||||||
| it must be separated from the period expression by **two or more spaces**. Eg: | it must be separated from the period expression by **two or more spaces**. Eg: | ||||||
| ```journal | 
 | ||||||
|  | ``` | ||||||
| ;                              2 or more spaces | ;                              2 or more spaces | ||||||
| ;                                    || | ;                                    || | ||||||
| ;                                    vv | ;                                    vv | ||||||
| @ -943,24 +944,32 @@ it must be separated from the period expression by **two or more spaces**. Eg: | |||||||
|     income:acme inc |     income:acme inc | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ### Generating forecasts with periodic transactions | ### Forecasting with periodic transactions | ||||||
| 
 | 
 | ||||||
| With the `--forecast` flag, | With the `--forecast` flag, each periodic transaction rule generates | ||||||
| each periodic transaction rule generates future transactions recurring at the specified interval, | future transactions recurring at the specified interval. | ||||||
| beginning the day after the latest recorded journal transaction (or today, if there are no transactions), | These are not saved in the journal, but appear in all reports. | ||||||
| and ending 6 months from today (or at the report end date, if specified). | They will look like normal transactions, but with an extra | ||||||
| The generated transactions will appear in all reports. | [tag](manual.html#tags-1) named `recur`, whose value is the generating period expression. | ||||||
| They will have a "recur:" transaction tag added, with the generating period expression as its value. |  | ||||||
| 
 | 
 | ||||||
| This can be useful for forecasting balances into the future, | Forecast transactions begin  | ||||||
| and experimenting with different scenarios, without having to write a lot of journal entries. | on or after the day after the latest normal (non-periodic) transaction in the journal, | ||||||
| It can also help with data entry (describe most of your transactions with periodic rules, | or today if there are none. | ||||||
| and every so often copy the output of `print --forecast` to the journal). |  | ||||||
| 
 | 
 | ||||||
| You can generate one-time transactions too;  | They end on or before the report end date if specified, or 180 days from today if unspecified. | ||||||
|  | 
 | ||||||
|  | Forecasting can be useful for estimating balances into the future,  | ||||||
|  | and experimenting with different scenarios. | ||||||
|  | Note the start date logic means that forecasted transactions are automatically replaced | ||||||
|  | by normal transactions as you add those. | ||||||
|  | 
 | ||||||
|  | Forecasting can also help with data entry: | ||||||
|  | describe most of your transactions with periodic rules, | ||||||
|  | and every so often copy the output of `print --forecast` to the journal. | ||||||
|  | 
 | ||||||
|  | You can generate one-time transactions too: | ||||||
| just write a period expression specifying a date with no report interval. | just write a period expression specifying a date with no report interval. | ||||||
| You could use this to forecast an estimated transaction, that is automatically deactivated  | (You could also write a normal transaction with a future date, but remember this disables forecast transactions on previous dates.) | ||||||
| once the actual transaction (or any other transaction on or after that date) is recorded. |  | ||||||
| 
 | 
 | ||||||
| ### Setting budget goals with periodic transactions | ### Setting budget goals with periodic transactions | ||||||
| 
 | 
 | ||||||
| @ -980,7 +989,7 @@ and | |||||||
| Automated posting rules describe extra postings that should be added to certain transactions at report time, | Automated posting rules describe extra postings that should be added to certain transactions at report time, | ||||||
| when the `--auto` flag is used. | when the `--auto` flag is used. | ||||||
| 
 | 
 | ||||||
| An automated posting rule looks like a regular journal entry, | An automated posting rule looks like a normal journal entry, | ||||||
| except the first line is an equal sign (`=`) followed by a [query](manual.html#queries) | except the first line is an equal sign (`=`) followed by a [query](manual.html#queries) | ||||||
| (mnemonic: `=` looks like posting lines): | (mnemonic: `=` looks like posting lines): | ||||||
| ```journal | ```journal | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user