doc: periodic txns, automated postings edits
[ci skip]
This commit is contained in:
parent
f3dd66d9b3
commit
298651fa02
@ -877,52 +877,57 @@ It can include journal, timeclock or timedot files, but not CSV files.
|
|||||||
|
|
||||||
# Periodic transactions
|
# Periodic transactions
|
||||||
|
|
||||||
A periodic transaction starts with a tilde ‘~’ in place of a date followed by a [period expression](manual.html#period-expressions):
|
Periodic transactions are a kind of rule with a dual purpose: they can specify
|
||||||
|
recurring future transactions (with `--forecast`), or budget goals (with `--budget`).
|
||||||
|
They look a bit like a transaction, except the first line is a tilde (`~`) followed by a [period expression](manual.html#period-expressions):
|
||||||
```journal
|
```journal
|
||||||
~ weekly
|
~ weekly
|
||||||
assets:bank:checking $400 ; paycheck
|
assets:bank:checking $400 ; paycheck
|
||||||
income:acme inc
|
income:acme inc
|
||||||
```
|
```
|
||||||
|
|
||||||
Periodic transactions are used for forecasting and budgeting only, they have no effect unless the `--forecast` or `--budget` flag is used.
|
With `--forecast`, each periodic transaction rule generates recurring "forecast" transactions at the specified interval,
|
||||||
With `--forecast`, each periodic transaction rule generates recurring forecast transactions
|
beginning the day after the latest recorded journal transaction (or today, if there are no transactions)
|
||||||
at the specified interval, beginning the day after the last recorded journal transaction
|
and ending 6 months from today (or at the report end date, if specified).
|
||||||
and ending 6 months from today, or at the specified report end date.
|
|
||||||
With `balance --budget`, each periodic transaction declares recurring budget goals for one or more accounts.
|
With `balance --budget`, each periodic transaction declares recurring budget goals for the specified accounts.
|
||||||
|
Eg the example above declares the goal of receiving $400 from `income:acme inc`
|
||||||
|
(and also, depositing $400 into `assets:bank:checking`) every week.
|
||||||
|
|
||||||
For more details, see:
|
For more details, see:
|
||||||
[balance > Budgeting](manual.html#budgeting),
|
[balance: Budgeting](manual.html#budgeting)
|
||||||
|
and
|
||||||
[Budgeting and Forecasting](budgeting-and-forecasting.html).
|
[Budgeting and Forecasting](budgeting-and-forecasting.html).
|
||||||
|
|
||||||
# Automated posting rules
|
# Automated postings
|
||||||
|
|
||||||
Automated posting rule starts with an equal sign '=' in place of a date, followed by a [query](manual.html#queries):
|
Automated postings are postings added automatically by rule to certain transactions (with `--auto`).
|
||||||
|
An automated posting rule looks like a transaction where the first line is an equal sign (`=`) followed by a [query](manual.html#queries):
|
||||||
```journal
|
```journal
|
||||||
= expenses:gifts
|
= expenses:gifts
|
||||||
budget:gifts *-1
|
budget:gifts *-1
|
||||||
assets:budget *1
|
assets:budget *1
|
||||||
```
|
```
|
||||||
|
|
||||||
When `--auto` option is specified on the command line, automated posting rule will add its postings to all transactions that match the query.
|
The posting amounts can be of the form `*N`, which means "the amount of the matched transaction's first posting, multiplied by N".
|
||||||
|
They can also be ordinary fixed amounts.
|
||||||
|
Fixed amounts with no commodity symbol will be given the same commodity as the matched transaction's first posting.
|
||||||
|
|
||||||
If amount in the automated posting rule includes commodity name, new posting will be made in the given commodity, otherwise commodity of the matched transaction will be used.
|
This example adds a corresponding (unbalanced) budget posting to every transaction involving the `expenses:gifts` account:
|
||||||
|
|
||||||
When amount in the automated posting rule begins with the '*', amount will be treated as a multiplier that is applied to the amount of the first posting in the matched transaction.
|
|
||||||
|
|
||||||
In example above, every transaction in `expenses:gifts` account will
|
|
||||||
have two additional postings added to it: amount of the original gift
|
|
||||||
will be debited from `budget:gifts` and credited into `assets:budget`:
|
|
||||||
```journal
|
```journal
|
||||||
; Original transaction
|
= expenses:gifts
|
||||||
|
(budget:gifts) *-1
|
||||||
|
|
||||||
2017-12-14
|
2017-12-14
|
||||||
expenses:gifts $20
|
expenses:gifts $20
|
||||||
assets
|
assets
|
||||||
|
```
|
||||||
; With automated postings applied
|
```shell
|
||||||
|
$ hledger print --auto
|
||||||
2017/12/14
|
2017/12/14
|
||||||
expenses:gifts $20
|
expenses:gifts $20
|
||||||
assets
|
assets
|
||||||
budget:gifts $-20
|
(budget:gifts) $-20
|
||||||
assets:budget $20
|
|
||||||
```
|
```
|
||||||
|
|
||||||
# EDITOR SUPPORT
|
# EDITOR SUPPORT
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user