;doc: cli: simplify internal links
This commit is contained in:
parent
d6c12d5379
commit
c90d89e4fb
@ -296,9 +296,9 @@ If they're not doing what you expect, it's important to know exactly what they s
|
|||||||
#. they are [POSIX ERE][] (extended regular expressions)
|
#. they are [POSIX ERE][] (extended regular expressions)
|
||||||
#. they also support [GNU word boundaries][] (`\b`, `\B`, `\<`, `\>`)
|
#. they also support [GNU word boundaries][] (`\b`, `\B`, `\<`, `\>`)
|
||||||
#. they do not support [backreferences][]; if you write `\1`, it will match the digit `1`.
|
#. they do not support [backreferences][]; if you write `\1`, it will match the digit `1`.
|
||||||
Except when doing text replacement, eg in [account aliases](hledger.html#regex-aliases),
|
|
||||||
where [backreferences][] can be used in the replacement string to reference [capturing groups][] in the search regexp.
|
where [backreferences][] can be used in the replacement string to reference [capturing groups][] in the search regexp.
|
||||||
#. they do not support [mode modifiers][] (`(?s)`), character classes (`\w`, `\d`), or anything else not mentioned above.
|
#. they do not support [mode modifiers][] (`(?s)`), character classes (`\w`, `\d`), or anything else not mentioned above.
|
||||||
|
Except when doing text replacement, eg in [account aliases](#regex-aliases),
|
||||||
|
|
||||||
[POSIX ERE]: http://www.regular-expressions.info/posix.html#ere
|
[POSIX ERE]: http://www.regular-expressions.info/posix.html#ere
|
||||||
[backreferences]: https://www.regular-expressions.info/backref.html
|
[backreferences]: https://www.regular-expressions.info/backref.html
|
||||||
@ -396,11 +396,11 @@ You can specify multiple `-f` options, to read multiple files as one big journal
|
|||||||
There are some limitations with this:
|
There are some limitations with this:
|
||||||
|
|
||||||
- most directives do not affect sibling files
|
- most directives do not affect sibling files
|
||||||
- [balance assertions](hledger.html#balance-assertions) will not see any account balances from previous files
|
- [balance assertions](#balance-assertions) will not see any account balances from previous files
|
||||||
|
|
||||||
If you need either of those things, you can
|
If you need either of those things, you can
|
||||||
|
|
||||||
- use a single parent file which [includes](hledger.html#including-other-files) the others
|
- use a single parent file which [includes](#including-other-files) the others
|
||||||
- or concatenate the files into one before reading, eg: `cat a.journal b.journal | hledger -f- CMD`.
|
- or concatenate the files into one before reading, eg: `cat a.journal b.journal | hledger -f- CMD`.
|
||||||
|
|
||||||
## Strict mode
|
## Strict mode
|
||||||
@ -416,9 +416,9 @@ easy journal files without a lot of declarations:
|
|||||||
With the `-s`/`--strict` flag, additional checks are performed:
|
With the `-s`/`--strict` flag, additional checks are performed:
|
||||||
|
|
||||||
- Are all accounts posted to, declared with an `account` directive ?
|
- Are all accounts posted to, declared with an `account` directive ?
|
||||||
([Account error checking](hledger.html#account-error-checking))
|
([Account error checking](#account-error-checking))
|
||||||
- Are all commodities declared with a `commodity` directive ?
|
- Are all commodities declared with a `commodity` directive ?
|
||||||
([Commodity error checking](hledger.html#commodity-error-checking))
|
([Commodity error checking](#commodity-error-checking))
|
||||||
|
|
||||||
You can also use the [check](#check) command to run these and some additional checks.
|
You can also use the [check](#check) command to run these and some additional checks.
|
||||||
|
|
||||||
@ -659,7 +659,7 @@ instead most commands show transactions/postings/accounts which match (or negati
|
|||||||
- any of the status terms AND
|
- any of the status terms AND
|
||||||
- all the other terms.
|
- all the other terms.
|
||||||
|
|
||||||
The [print](hledger.html#print) command instead shows transactions which:
|
The [print](#print) command instead shows transactions which:
|
||||||
|
|
||||||
- match any of the description terms AND
|
- match any of the description terms AND
|
||||||
- have any postings matching any of the positive account terms AND
|
- have any postings matching any of the positive account terms AND
|
||||||
@ -700,9 +700,9 @@ or `hledger print cur:\\$`.
|
|||||||
|
|
||||||
**`date:PERIODEXPR`**
|
**`date:PERIODEXPR`**
|
||||||
: match dates within the specified period.
|
: match dates within the specified period.
|
||||||
PERIODEXPR is a [period expression](hledger.html#period-expressions) (with no report interval).
|
PERIODEXPR is a [period expression](#period-expressions) (with no report interval).
|
||||||
Examples: `date:2016`, `date:thismonth`, `date:2000/2/1-2/15`, `date:lastweek-`.
|
Examples: `date:2016`, `date:thismonth`, `date:2000/2/1-2/15`, `date:lastweek-`.
|
||||||
If the `--date2` command line flag is present, this matches [secondary dates](hledger.html#secondary-dates) instead.
|
If the `--date2` command line flag is present, this matches [secondary dates](#secondary-dates) instead.
|
||||||
|
|
||||||
**`date2:PERIODEXPR`**
|
**`date2:PERIODEXPR`**
|
||||||
: match secondary dates within the specified period.
|
: match secondary dates within the specified period.
|
||||||
@ -711,11 +711,11 @@ If the `--date2` command line flag is present, this matches [secondary dates](hl
|
|||||||
: match (or display, depending on command) accounts at or above this depth
|
: match (or display, depending on command) accounts at or above this depth
|
||||||
|
|
||||||
**`note:REGEX`**
|
**`note:REGEX`**
|
||||||
: match transaction [notes](hledger.html#payee-and-note)
|
: match transaction [notes](#payee-and-note)
|
||||||
(part of description right of `|`, or whole description when there's no `|`)
|
(part of description right of `|`, or whole description when there's no `|`)
|
||||||
|
|
||||||
**`payee:REGEX`**
|
**`payee:REGEX`**
|
||||||
: match transaction [payee/payer names](hledger.html#payee-and-note)
|
: match transaction [payee/payer names](#payee-and-note)
|
||||||
(part of description left of `|`, or whole description when there's no `|`)
|
(part of description left of `|`, or whole description when there's no `|`)
|
||||||
|
|
||||||
**`real:, real:0`**
|
**`real:, real:0`**
|
||||||
@ -743,7 +743,7 @@ Generally you can mix options and query arguments, and the resulting query will
|
|||||||
# COSTING
|
# COSTING
|
||||||
|
|
||||||
The `-B/--cost` flag converts amounts to their cost or sale amount at transaction time,
|
The `-B/--cost` flag converts amounts to their cost or sale amount at transaction time,
|
||||||
if they have a [transaction price](hledger.html#transaction-prices) specified.
|
if they have a [transaction price](#transaction-prices) specified.
|
||||||
If this flag is supplied, hledger will perform cost conversion first, and will apply
|
If this flag is supplied, hledger will perform cost conversion first, and will apply
|
||||||
any market price valuations (if requested) afterwards.
|
any market price valuations (if requested) afterwards.
|
||||||
|
|
||||||
@ -792,9 +792,9 @@ in this order of preference
|
|||||||
|
|
||||||
1. A *declared market price* or *inferred market price*:
|
1. A *declared market price* or *inferred market price*:
|
||||||
A's latest market price in B on or before the valuation date
|
A's latest market price in B on or before the valuation date
|
||||||
as declared by a [P directive](hledger.html#declaring-market-prices),
|
as declared by a [P directive](#declaring-market-prices),
|
||||||
or (with the `--infer-market-price` flag)
|
or (with the `--infer-market-price` flag)
|
||||||
inferred from [transaction prices](hledger.html#transaction-prices).
|
inferred from [transaction prices](#transaction-prices).
|
||||||
<!-- (Latest by date, then parse order.) -->
|
<!-- (Latest by date, then parse order.) -->
|
||||||
<!-- (A declared price overrides an inferred price on the same date.) -->
|
<!-- (A declared price overrides an inferred price on the same date.) -->
|
||||||
|
|
||||||
@ -819,10 +819,10 @@ Amounts for which no suitable market price can be found, are not converted.
|
|||||||
## --infer-market-price: market prices from transactions
|
## --infer-market-price: market prices from transactions
|
||||||
|
|
||||||
Normally, market value in hledger is fully controlled by, and requires,
|
Normally, market value in hledger is fully controlled by, and requires,
|
||||||
[P directives](hledger.html#declaring-market-prices) in your journal.
|
[P directives](#declaring-market-prices) in your journal.
|
||||||
Since adding and updating those can be a chore,
|
Since adding and updating those can be a chore,
|
||||||
and since transactions usually take place at close to market value,
|
and since transactions usually take place at close to market value,
|
||||||
why not use the recorded [transaction prices](hledger.html#transaction-prices)
|
why not use the recorded [transaction prices](#transaction-prices)
|
||||||
as additional market prices (as Ledger does) ?
|
as additional market prices (as Ledger does) ?
|
||||||
We could produce value reports without needing P directives at all.
|
We could produce value reports without needing P directives at all.
|
||||||
|
|
||||||
@ -870,11 +870,11 @@ follows, in this order of preference:
|
|||||||
|
|
||||||
This means:
|
This means:
|
||||||
|
|
||||||
- If you have [P directives](hledger.html#declaring-market-prices),
|
- If you have [P directives](#declaring-market-prices),
|
||||||
they determine which commodities `-V` will convert, and to what.
|
they determine which commodities `-V` will convert, and to what.
|
||||||
|
|
||||||
- If you have no P directives, and use the `--infer-market-price` flag,
|
- If you have no P directives, and use the `--infer-market-price` flag,
|
||||||
[transaction prices](hledger.html#transaction-prices) determine it.
|
[transaction prices](#transaction-prices) determine it.
|
||||||
|
|
||||||
Amounts for which no valuation commodity can be found are not converted.
|
Amounts for which no valuation commodity can be found are not converted.
|
||||||
|
|
||||||
@ -1140,7 +1140,7 @@ Normally hledger sums amounts, and organizes them in a hierarchy, based on accou
|
|||||||
The `--pivot FIELD` option causes it to sum and organize hierarchy based on the value of some other field instead.
|
The `--pivot FIELD` option causes it to sum and organize hierarchy based on the value of some other field instead.
|
||||||
FIELD can be:
|
FIELD can be:
|
||||||
`code`, `description`, `payee`, `note`,
|
`code`, `description`, `payee`, `note`,
|
||||||
or the full name (case insensitive) of any [tag](hledger.html#tags).
|
or the full name (case insensitive) of any [tag](#tags).
|
||||||
As with account names, values containing `colon:separated:parts` will be displayed hierarchically in reports.
|
As with account names, values containing `colon:separated:parts` will be displayed hierarchically in reports.
|
||||||
|
|
||||||
`--pivot` is a general option affecting all reports; you can think of hledger transforming
|
`--pivot` is a general option affecting all reports; you can think of hledger transforming
|
||||||
@ -1506,7 +1506,7 @@ or the current date when the command is run.
|
|||||||
Some examples: `2010-01-31`, `2010/01/31`, `2010.1.31`, `1/31`.
|
Some examples: `2010-01-31`, `2010/01/31`, `2010.1.31`, `1/31`.
|
||||||
|
|
||||||
(The UI also accepts simple dates, as well as the more flexible [smart
|
(The UI also accepts simple dates, as well as the more flexible [smart
|
||||||
dates](hledger.html#smart-dates) documented in the hledger manual.)
|
dates](#smart-dates) documented in the hledger manual.)
|
||||||
|
|
||||||
### Secondary dates
|
### Secondary dates
|
||||||
|
|
||||||
@ -1598,7 +1598,7 @@ separated from it by a space, indicating one of three statuses:
|
|||||||
|
|
||||||
When reporting, you can filter by status with
|
When reporting, you can filter by status with
|
||||||
the `-U/--unmarked`, `-P/--pending`, and `-C/--cleared` flags;
|
the `-U/--unmarked`, `-P/--pending`, and `-C/--cleared` flags;
|
||||||
or the `status:`, `status:!`, and `status:*` [queries](hledger.html#queries);
|
or the `status:`, `status:!`, and `status:*` [queries](#queries);
|
||||||
or the U, P, C keys in hledger-ui.
|
or the U, P, C keys in hledger-ui.
|
||||||
|
|
||||||
Note, in Ledger and in older versions of hledger, the "unmarked" state is called
|
Note, in Ledger and in older versions of hledger, the "unmarked" state is called
|
||||||
@ -1635,7 +1635,7 @@ or left blank. Transaction descriptions can be queried, unlike [comments](#comme
|
|||||||
You can optionally include a `|` (pipe) character in descriptions to subdivide the description
|
You can optionally include a `|` (pipe) character in descriptions to subdivide the description
|
||||||
into separate fields for payee/payer name on the left (up to the first `|`) and an additional note
|
into separate fields for payee/payer name on the left (up to the first `|`) and an additional note
|
||||||
field on the right (after the first `|`). This may be worthwhile if you need to do more precise
|
field on the right (after the first `|`). This may be worthwhile if you need to do more precise
|
||||||
[querying](hledger.html#queries) and [pivoting](hledger.html#pivoting) by payee or by note.
|
[querying](#queries) and [pivoting](#pivoting) by payee or by note.
|
||||||
|
|
||||||
## Comments
|
## Comments
|
||||||
|
|
||||||
@ -1679,7 +1679,7 @@ You can also comment larger regions of a file using [`comment` and `end comment`
|
|||||||
## Tags
|
## Tags
|
||||||
|
|
||||||
Tags are a way to add extra labels or labelled data to postings and transactions,
|
Tags are a way to add extra labels or labelled data to postings and transactions,
|
||||||
which you can then [search](hledger.html#queries) or [pivot](hledger.html#pivoting) on.
|
which you can then [search](#queries) or [pivot](#pivoting) on.
|
||||||
|
|
||||||
A simple tag is a word (which may contain hyphens) followed by a full colon,
|
A simple tag is a word (which may contain hyphens) followed by a full colon,
|
||||||
written inside a transaction or posting [comment](#comments) line:
|
written inside a transaction or posting [comment](#comments) line:
|
||||||
@ -1991,7 +1991,7 @@ There are several ways to record a transaction price:
|
|||||||
5. Like 2, but as in 4 the `@@` is parenthesised, i.e. `(@@)`; in hledger,
|
5. Like 2, but as in 4 the `@@` is parenthesised, i.e. `(@@)`; in hledger,
|
||||||
this is equivalent to 2.
|
this is equivalent to 2.
|
||||||
|
|
||||||
Use the [`-B/--cost`](hledger.html#reporting-options) flag to convert
|
Use the [`-B/--cost`](#reporting-options) flag to convert
|
||||||
amounts to their transaction price's commodity, if any.
|
amounts to their transaction price's commodity, if any.
|
||||||
(mnemonic: "B" is from "cost Basis", as in Ledger).
|
(mnemonic: "B" is from "cost Basis", as in Ledger).
|
||||||
Eg here is how -B affects the balance report for the example above:
|
Eg here is how -B affects the balance report for the example above:
|
||||||
@ -2086,7 +2086,7 @@ in the right file.
|
|||||||
### Assertions and multiple -f options
|
### Assertions and multiple -f options
|
||||||
|
|
||||||
Balance assertions don't work well across files specified
|
Balance assertions don't work well across files specified
|
||||||
with multiple -f options. Use include or [concatenate the files](hledger.html#input-files)
|
with multiple -f options. Use include or [concatenate the files](#input-files)
|
||||||
instead.
|
instead.
|
||||||
|
|
||||||
### Assertions and commodities
|
### Assertions and commodities
|
||||||
@ -2147,9 +2147,9 @@ and should normally be written without one:
|
|||||||
(a) $1 @ €1 = $1
|
(a) $1 @ €1 = $1
|
||||||
```
|
```
|
||||||
|
|
||||||
We do allow prices to be written there, however, and [print](hledger.html#print) shows them,
|
We do allow prices to be written there, however, and [print](#print) shows them,
|
||||||
even though they don't affect whether the assertion passes or fails.
|
even though they don't affect whether the assertion passes or fails.
|
||||||
This is for backward compatibility (hledger's [close](hledger.html#close) command used to generate balance assertions with prices),
|
This is for backward compatibility (hledger's [close](#close) command used to generate balance assertions with prices),
|
||||||
and because [balance *assignments*](#balance-assignments) do use them (see below).
|
and because [balance *assignments*](#balance-assignments) do use them (see below).
|
||||||
|
|
||||||
### Assertions and subaccounts
|
### Assertions and subaccounts
|
||||||
@ -2176,7 +2176,7 @@ flag or `real:` query.
|
|||||||
|
|
||||||
Balance assertions compare the exactly calculated amounts,
|
Balance assertions compare the exactly calculated amounts,
|
||||||
which are not always what is shown by reports.
|
which are not always what is shown by reports.
|
||||||
Eg a [commodity directive](https://hledger.org/hledger.html#declaring-commodities)
|
Eg a [commodity directive](#declaring-commodities)
|
||||||
may limit the display precision, but this will not affect balance assertions.
|
may limit the display precision, but this will not affect balance assertions.
|
||||||
Balance assertion failure messages show exact amounts.
|
Balance assertion failure messages show exact amounts.
|
||||||
|
|
||||||
@ -2334,7 +2334,7 @@ avoid include cycles and including directories, but this can be done, eg:
|
|||||||
|
|
||||||
The path may also be prefixed to force a specific file format,
|
The path may also be prefixed to force a specific file format,
|
||||||
overriding the file extension (as described in
|
overriding the file extension (as described in
|
||||||
[hledger.1 -> Input files](hledger.html#input-files)):
|
[hledger.1 -> Input files](#input-files)):
|
||||||
`include timedot:~/notes/2020*.md`.
|
`include timedot:~/notes/2020*.md`.
|
||||||
|
|
||||||
[glob patterns]: https://hackage.haskell.org/package/Glob-0.9.2/docs/System-FilePath-Glob.html#v:compile
|
[glob patterns]: https://hackage.haskell.org/package/Glob-0.9.2/docs/System-FilePath-Glob.html#v:compile
|
||||||
@ -2503,7 +2503,7 @@ P 2010/1/1 € $1.40
|
|||||||
```
|
```
|
||||||
|
|
||||||
The `-V`, `-X` and `--value` flags use these market prices to show amount values
|
The `-V`, `-X` and `--value` flags use these market prices to show amount values
|
||||||
in another commodity. See [Valuation](hledger.html#valuation).
|
in another commodity. See [Valuation](#valuation).
|
||||||
|
|
||||||
## Declaring accounts
|
## Declaring accounts
|
||||||
|
|
||||||
@ -2523,7 +2523,7 @@ Though not required, these declarations can provide several benefits:
|
|||||||
which helps detect typos.
|
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](hledger.html#account-names), eg this account directive declares the `assets:bank:checking` account:
|
[account name](#account-names), eg this account directive declares the `assets:bank:checking` account:
|
||||||
|
|
||||||
```journal
|
```journal
|
||||||
account assets:bank:checking
|
account assets:bank:checking
|
||||||
@ -2560,7 +2560,7 @@ account assets:bank:checking ; same-line comment, note 2+ spaces before ;
|
|||||||
|
|
||||||
Same-line comments are not supported by Ledger, or hledger <1.13.
|
Same-line comments are not supported by Ledger, or hledger <1.13.
|
||||||
|
|
||||||
<!-- Account comments may include [tags](hledger.html#tags), though we don't yet use them for anything. -->
|
<!-- Account comments may include [tags](#tags), though we don't yet use them for anything. -->
|
||||||
|
|
||||||
### Account subdirectives
|
### Account subdirectives
|
||||||
|
|
||||||
@ -2601,7 +2601,7 @@ but typically not investments or receivables.)
|
|||||||
Generally, to make these reports work you should declare your
|
Generally, to make these reports work you should declare your
|
||||||
top-level accounts and their types,
|
top-level accounts and their types,
|
||||||
using [account directives](#declaring-accounts)
|
using [account directives](#declaring-accounts)
|
||||||
with `type:` [tags](hledger.html#tags).
|
with `type:` [tags](#tags).
|
||||||
|
|
||||||
The tag's value should be one of:
|
The tag's value should be one of:
|
||||||
`Asset`, `Liability`, `Equity`, `Revenue`, `Expense`, `Cash`,
|
`Asset`, `Liability`, `Equity`, `Revenue`, `Expense`, `Cash`,
|
||||||
@ -2891,7 +2891,7 @@ read this whole section - or at least these tips:
|
|||||||
2. For troubleshooting, show the generated transactions with `hledger print --forecast tag:generated` or `hledger register --forecast tag:generated`.
|
2. For troubleshooting, show the generated transactions with `hledger print --forecast tag:generated` or `hledger register --forecast tag:generated`.
|
||||||
3. Forecasted transactions will begin only after the last non-forecasted transaction's date.
|
3. Forecasted transactions will begin only after the last non-forecasted transaction's date.
|
||||||
4. Forecasted transactions will end 6 months from today, by default. See below for the exact start/end rules.
|
4. Forecasted transactions will end 6 months from today, by default. See below for the exact start/end rules.
|
||||||
5. [period expressions](hledger.html#period-expressions) can be tricky. Their documentation needs improvement, but is worth studying.
|
5. [period expressions](#period-expressions) can be tricky. Their documentation needs improvement, but is worth studying.
|
||||||
6. Some period expressions with a repeating interval must begin on a natural boundary of that interval.
|
6. Some period expressions with a repeating interval must begin on a natural boundary of that interval.
|
||||||
Eg in `weekly from DATE`, DATE must be a monday. `~ weekly from 2019/10/1` (a tuesday) will give an error.
|
Eg in `weekly from DATE`, DATE must be a monday. `~ weekly from 2019/10/1` (a tuesday) will give an error.
|
||||||
7. Other period expressions with an interval are automatically expanded to cover a whole number of that interval.
|
7. Other period expressions with an interval are automatically expanded to cover a whole number of that interval.
|
||||||
@ -2901,14 +2901,14 @@ read this whole section - or at least these tips:
|
|||||||
`~ every 10th day of month from 2020/01/01`, will be adjusted to start on 2019/12/10.
|
`~ every 10th day of month from 2020/01/01`, will be adjusted to start on 2019/12/10.
|
||||||
|
|
||||||
Periodic transaction rules also have a second meaning:
|
Periodic transaction rules also have a second meaning:
|
||||||
they are used to define budget goals, shown in [budget reports](hledger.html#budget-report).
|
they are used to define budget goals, shown in [budget reports](#budget-report).
|
||||||
|
|
||||||
|
|
||||||
### Periodic rule syntax
|
### Periodic rule syntax
|
||||||
|
|
||||||
A periodic transaction rule looks like a normal journal entry,
|
A periodic transaction rule looks like a normal journal entry,
|
||||||
with the date replaced by a tilde (`~`) followed by a
|
with the date replaced by a tilde (`~`) followed by a
|
||||||
[period expression](hledger.html#period-expressions)
|
[period expression](#period-expressions)
|
||||||
(mnemonic: `~` looks like a recurring sine wave.):
|
(mnemonic: `~` looks like a recurring sine wave.):
|
||||||
```journal
|
```journal
|
||||||
~ monthly
|
~ monthly
|
||||||
@ -2949,14 +2949,14 @@ So,
|
|||||||
The `--forecast` flag activates any periodic transaction rules in the journal.
|
The `--forecast` flag activates any periodic transaction rules in the journal.
|
||||||
They will generate temporary recurring transactions,
|
They will generate temporary recurring transactions,
|
||||||
which are not saved in the journal, but will appear in all reports
|
which are not saved in the journal, but will appear in all reports
|
||||||
(eg [print](hledger.html#print)).
|
(eg [print](#print)).
|
||||||
This can be useful for estimating balances into the future,
|
This can be useful for estimating balances into the future,
|
||||||
or experimenting with different scenarios.
|
or experimenting with different scenarios.
|
||||||
Or, it can be used as a data entry aid: describe recurring
|
Or, it can be used as a data entry aid: describe recurring
|
||||||
transactions, and every so often copy the output of `print --forecast`
|
transactions, and every so often copy the output of `print --forecast`
|
||||||
into the journal.
|
into the journal.
|
||||||
|
|
||||||
These transactions will have an extra [tag](hledger.html#tags)
|
These transactions will have an extra [tag](#tags)
|
||||||
indicating which periodic rule generated them:
|
indicating which periodic rule generated them:
|
||||||
`generated-transaction:~ PERIODICEXPR`.
|
`generated-transaction:~ PERIODICEXPR`.
|
||||||
And a similar, hidden tag (beginning with an underscore) which,
|
And a similar, hidden tag (beginning with an underscore) which,
|
||||||
@ -2985,10 +2985,10 @@ Or, you can set your own arbitrary "forecast period", which can
|
|||||||
overlap recorded transactions, and need not be in the future, by
|
overlap recorded transactions, and need not be in the future, by
|
||||||
providing an option argument, like `--forecast=PERIODEXPR`.
|
providing an option argument, like `--forecast=PERIODEXPR`.
|
||||||
Note the equals sign is required, a space won't work.
|
Note the equals sign is required, a space won't work.
|
||||||
PERIODEXPR is a [period expression](hledger.html#period-expressions),
|
PERIODEXPR is a [period expression](#period-expressions),
|
||||||
which can specify the start date, end date, or both,
|
which can specify the start date, end date, or both,
|
||||||
like in a [`date:` query](hledger.html#queries).
|
like in a [`date:` query](#queries).
|
||||||
(See also hledger.1 -> [Report start & end date](hledger.html#report-start-end-date)).
|
(See also hledger.1 -> [Report start & end date](#report-start-end-date)).
|
||||||
Some examples: `--forecast=202001-202004`, `--forecast=jan-`, `--forecast=2020`.
|
Some examples: `--forecast=202001-202004`, `--forecast=jan-`, `--forecast=2020`.
|
||||||
|
|
||||||
### Budgeting with periodic transactions
|
### Budgeting with periodic transactions
|
||||||
@ -2997,7 +2997,7 @@ With the `--budget` flag, currently supported by the balance command,
|
|||||||
each periodic transaction rule declares recurring budget goals for the specified accounts.
|
each periodic transaction rule declares recurring budget goals for the specified accounts.
|
||||||
Eg the first example above declares a goal of spending $2000 on rent
|
Eg the first example above declares a goal of spending $2000 on rent
|
||||||
(and also, a goal of depositing $2000 into checking) every month.
|
(and also, a goal of depositing $2000 into checking) every month.
|
||||||
Goals and actual performance can then be compared in [budget reports](hledger.html#budget-report).
|
Goals and actual performance can then be compared in [budget reports](#budget-report).
|
||||||
|
|
||||||
See also: [Budgeting and Forecasting](budgeting-and-forecasting.html).
|
See also: [Budgeting and Forecasting](budgeting-and-forecasting.html).
|
||||||
|
|
||||||
@ -3019,7 +3019,7 @@ An auto posting rule looks a bit like a transaction:
|
|||||||
ACCOUNT [AMOUNT]
|
ACCOUNT [AMOUNT]
|
||||||
```
|
```
|
||||||
except the first line is an equals sign (mnemonic: `=` suggests matching),
|
except the first line is an equals sign (mnemonic: `=` suggests matching),
|
||||||
followed by a [query](hledger.html#queries) (which matches existing postings),
|
followed by a [query](#queries) (which matches existing postings),
|
||||||
and each "posting" line describes a posting to be generated,
|
and each "posting" line describes a posting to be generated,
|
||||||
and the posting amounts can be:
|
and the posting amounts can be:
|
||||||
|
|
||||||
@ -3118,12 +3118,11 @@ Also, any transaction that has been changed by auto posting rules will have thes
|
|||||||
|
|
||||||
How hledger reads CSV data, and the CSV rules file format.
|
How hledger reads CSV data, and the CSV rules file format.
|
||||||
|
|
||||||
hledger can read [CSV] files (Character Separated Value - usually
|
hledger can read [CSV](http://en.wikipedia.org/wiki/Comma-separated_values) files
|
||||||
comma, semicolon, or tab) containing dated records as if they were
|
(Character Separated Value - usually comma, semicolon, or tab)
|
||||||
journal files, automatically converting each CSV record into a
|
containing dated records as if they were journal files,
|
||||||
transaction.
|
automatically converting each CSV record into a transaction.
|
||||||
|
|
||||||
(To learn about *writing* CSV, see [CSV output](hledger.html#csv-output).)
|
|
||||||
(To learn about *writing* CSV, see [CSV output](#csv-output).)
|
(To learn about *writing* CSV, see [CSV output](#csv-output).)
|
||||||
|
|
||||||
We describe each CSV file's format with a corresponding *rules file*.
|
We describe each CSV file's format with a corresponding *rules file*.
|
||||||
@ -3519,13 +3518,13 @@ For more about the transaction parts they refer to, see the manual for hledger's
|
|||||||
#### Transaction field names
|
#### Transaction field names
|
||||||
|
|
||||||
`date`, `date2`, `status`, `code`, `description`, `comment` can be used to form the
|
`date`, `date2`, `status`, `code`, `description`, `comment` can be used to form the
|
||||||
[transaction's](hledger.html#transactions) first line.
|
[transaction's](#transactions) first line.
|
||||||
|
|
||||||
#### Posting field names
|
#### Posting field names
|
||||||
|
|
||||||
##### account
|
##### account
|
||||||
|
|
||||||
`accountN`, where N is 1 to 99, causes a [posting](hledger.html#postings) to be generated,
|
`accountN`, where N is 1 to 99, causes a [posting](#postings) to be generated,
|
||||||
with that account name.
|
with that account name.
|
||||||
|
|
||||||
Most often there are two postings, so you'll want to set `account1` and `account2`.
|
Most often there are two postings, so you'll want to set `account1` and `account2`.
|
||||||
@ -3550,7 +3549,7 @@ This is still supported
|
|||||||
because it keeps pre-hledger-1.17 csv rules files working,
|
because it keeps pre-hledger-1.17 csv rules files working,
|
||||||
and because it can be more succinct,
|
and because it can be more succinct,
|
||||||
and because it converts posting 2's amount to cost if there's a
|
and because it converts posting 2's amount to cost if there's a
|
||||||
[transaction price](hledger.html#transaction-prices), which can be useful.
|
[transaction price](#transaction-prices), which can be useful.
|
||||||
|
|
||||||
If you have an existing rules file using the unnumbered form, you
|
If you have an existing rules file using the unnumbered form, you
|
||||||
might want to use the numbered form in certain conditional blocks,
|
might want to use the numbered form in certain conditional blocks,
|
||||||
@ -3569,8 +3568,8 @@ N's amount. Or, `currency` with no number affects all postings.
|
|||||||
|
|
||||||
##### balance
|
##### balance
|
||||||
|
|
||||||
`balanceN` sets a [balance assertion](hledger.html#balance-assertions) amount
|
`balanceN` sets a [balance assertion](#balance-assertions) amount
|
||||||
(or if the posting amount is left empty, a [balance assignment](hledger.html#balance-assignments))
|
(or if the posting amount is left empty, a [balance assignment](#balance-assignments))
|
||||||
on posting N.
|
on posting N.
|
||||||
|
|
||||||
Also, for compatibility with hledger <1.17:
|
Also, for compatibility with hledger <1.17:
|
||||||
@ -3581,8 +3580,8 @@ You can adjust the type of assertion/assignment with the
|
|||||||
|
|
||||||
##### comment
|
##### comment
|
||||||
|
|
||||||
Finally, `commentN` sets a [comment](hledger.html#comments) on the Nth posting.
|
Finally, `commentN` sets a [comment](#comments) on the Nth posting.
|
||||||
Comments can also contain [tags](hledger.html#tags), as usual.
|
Comments can also contain [tags](#tags), as usual.
|
||||||
|
|
||||||
See TIPS below for more about setting amounts and currency.
|
See TIPS below for more about setting amounts and currency.
|
||||||
|
|
||||||
@ -3668,7 +3667,7 @@ REGEX is a case-insensitive [regular expression][] tries to match anywhere withi
|
|||||||
It is a POSIX ERE (extended regular expression)
|
It is a POSIX ERE (extended regular expression)
|
||||||
that also supports GNU word boundaries (`\b`, `\B`, `\<`, `\>`),
|
that also supports GNU word boundaries (`\b`, `\B`, `\<`, `\>`),
|
||||||
and nothing else.
|
and nothing else.
|
||||||
If you have trouble, be sure to check our https://hledger.org/hledger.html#regular-expressions doc.
|
If you have trouble, be sure to check our doc: https://hledger.org/hledger.html#regular-expressions
|
||||||
|
|
||||||
Important note: the record that is matched is not the original record, but a synthetic one,
|
Important note: the record that is matched is not the original record, but a synthetic one,
|
||||||
with any enclosing double quotes (but not enclosing whitespace) removed, and always comma-separated
|
with any enclosing double quotes (but not enclosing whitespace) removed, and always comma-separated
|
||||||
@ -3833,7 +3832,7 @@ decimal-mark ,
|
|||||||
```
|
```
|
||||||
|
|
||||||
hledger automatically accepts either period or comma as a decimal mark when parsing numbers
|
hledger automatically accepts either period or comma as a decimal mark when parsing numbers
|
||||||
(cf [Amounts](hledger.html#amounts)).
|
(cf [Amounts](#amounts)).
|
||||||
However if any numbers in the CSV contain digit group marks, such as thousand-separating commas,
|
However if any numbers in the CSV contain digit group marks, such as thousand-separating commas,
|
||||||
you should declare the decimal mark explicitly with this rule, to avoid misparsed numbers.
|
you should declare the decimal mark explicitly with this rule, to avoid misparsed numbers.
|
||||||
|
|
||||||
@ -3881,8 +3880,8 @@ include categorisation.rules
|
|||||||
|
|
||||||
Balance assertions generated by [assigning to balanceN](#posting-field-names)
|
Balance assertions generated by [assigning to balanceN](#posting-field-names)
|
||||||
are of the simple `=` type by default,
|
are of the simple `=` type by default,
|
||||||
which is a [single-commodity](https://hledger.org/hledger.html#assertions-and-commodities),
|
which is a [single-commodity](#assertions-and-commodities),
|
||||||
[subaccount-excluding](https://hledger.org/hledger.html#assertions-and-subaccounts) assertion.
|
[subaccount-excluding](#assertions-and-subaccounts) assertion.
|
||||||
You may find the subaccount-including variants more useful,
|
You may find the subaccount-including variants more useful,
|
||||||
eg if you have created some virtual subaccounts of checking to help with budgeting.
|
eg if you have created some virtual subaccounts of checking to help with budgeting.
|
||||||
You can select a different type of assertion with the `balance-type` rule:
|
You can select a different type of assertion with the `balance-type` rule:
|
||||||
@ -3935,7 +3934,7 @@ $ cat foo | hledger -f ssv:- foo
|
|||||||
```
|
```
|
||||||
|
|
||||||
You can override the file extension with a [separator](#separator) rule if needed.
|
You can override the file extension with a [separator](#separator) rule if needed.
|
||||||
See also: [Input files](hledger.html#input-files) in the hledger manual.
|
See also: [Input files](#input-files) in the hledger manual.
|
||||||
|
|
||||||
### Reading multiple CSV files
|
### Reading multiple CSV files
|
||||||
|
|
||||||
@ -3966,7 +3965,7 @@ When you download a CSV file periodically, eg to get your latest bank
|
|||||||
transactions, the new file may overlap with the old one, containing
|
transactions, the new file may overlap with the old one, containing
|
||||||
some of the same records.
|
some of the same records.
|
||||||
|
|
||||||
The [import](hledger.html#import) command will (a) detect the new
|
The [import](#import) command will (a) detect the new
|
||||||
transactions, and (b) append just those transactions to your main
|
transactions, and (b) append just those transactions to your main
|
||||||
journal. It is idempotent, so you don't have to remember how many
|
journal. It is idempotent, so you don't have to remember how many
|
||||||
times you ran it or with which version of the CSV.
|
times you ran it or with which version of the CSV.
|
||||||
@ -4038,7 +4037,7 @@ Here are the ways to set a posting's amount:
|
|||||||
|
|
||||||
4. **If the CSV has the balance instead of the transaction amount:**\
|
4. **If the CSV has the balance instead of the transaction amount:**\
|
||||||
Assign to `balanceN`, which sets posting N's amount indirectly via a
|
Assign to `balanceN`, which sets posting N's amount indirectly via a
|
||||||
[balance assignment](hledger.html#balance-assignments).
|
[balance assignment](#balance-assignments).
|
||||||
(Old syntax: `balance`, equivalent to `balance1`.)
|
(Old syntax: `balance`, equivalent to `balance1`.)
|
||||||
|
|
||||||
- **If hledger guesses the wrong default account name:**\
|
- **If hledger guesses the wrong default account name:**\
|
||||||
@ -4280,7 +4279,7 @@ In the docs below we'll assume it's time.
|
|||||||
|
|
||||||
A timedot file contains a series of day entries.
|
A timedot file contains a series of day entries.
|
||||||
A day entry begins with a non-indented hledger-style
|
A day entry begins with a non-indented hledger-style
|
||||||
[simple date](hledger.html#simple-dates) (Y-M-D, Y/M/D, Y.M.D..)
|
[simple date](#simple-dates) (Y-M-D, Y/M/D, Y.M.D..)
|
||||||
Any additional text on the same line is used as a transaction description for this day.
|
Any additional text on the same line is used as a transaction description for this day.
|
||||||
|
|
||||||
This is followed by optionally-indented timelog items for that day, one per line.
|
This is followed by optionally-indented timelog items for that day, one per line.
|
||||||
@ -4396,7 +4395,7 @@ Balance changes in 2016-02-01-2016-02-03:
|
|||||||
```
|
```
|
||||||
|
|
||||||
I prefer to use period for separating account components.
|
I prefer to use period for separating account components.
|
||||||
We can make this work with an [account alias](hledger.html#rewriting-accounts):
|
We can make this work with an [account alias](#rewriting-accounts):
|
||||||
|
|
||||||
```timedot
|
```timedot
|
||||||
2016/2/4
|
2016/2/4
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user