;doc: document how aliases can break account types (#1820)
This commit is contained in:
parent
cb040dbe29
commit
0f8ede3038
@ -848,10 +848,12 @@ Match real or virtual postings respectively.
|
|||||||
Match unmarked, pending, or cleared transactions respectively.
|
Match unmarked, pending, or cleared transactions respectively.
|
||||||
|
|
||||||
**`type:ACCTTYPES`**\
|
**`type:ACCTTYPES`**\
|
||||||
Match by account type (see [Declaring accounts > Account types](#account-types)).
|
Match by account type (see ).
|
||||||
`ACCTTYPES` is one or more of the single-letter account type codes
|
`ACCTTYPES` is one or more of the single-letter account type codes
|
||||||
`ALERXCV`, case insensitive.
|
`ALERXCV`, case insensitive.
|
||||||
Eg: `hledger bal type:AL` shows asset and liability balances.
|
Eg: `hledger bal type:AL` shows asset and liability balances.
|
||||||
|
Note: certain kinds of account alias can disrupt this, see
|
||||||
|
[Rewriting accounts > Aliases and account types](#aliases-and-account-types).
|
||||||
|
|
||||||
**`tag:REGEX[=REGEX]`**\
|
**`tag:REGEX[=REGEX]`**\
|
||||||
Match by tag name, and optionally also by tag value.
|
Match by tag name, and optionally also by tag value.
|
||||||
@ -3337,6 +3339,34 @@ $ hledger print --alias old="new USD" | hledger -f- print
|
|||||||
other
|
other
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Aliases and account types
|
||||||
|
|
||||||
|
If an account with a type declaration is renamed by an alias,
|
||||||
|
normally the account type remains in effect.
|
||||||
|
|
||||||
|
However, renaming in a way that reshapes the account tree
|
||||||
|
(eg renaming parent accounts but not their children, or vice versa)
|
||||||
|
could prevent child accounts from inheriting the account type of their parents.
|
||||||
|
<!--
|
||||||
|
Eg: with `account expenses ; type:X` and `hledger acc --alias /expenses$/=expenses:uncategorised`,
|
||||||
|
"expenses:uncategorised" is declared to be type X and "expenses" has no type declared,
|
||||||
|
nor do its children (because of the $, they do not get aliased and remain under "expenses").
|
||||||
|
-->
|
||||||
|
|
||||||
|
Secondly, if an account's type is being inferred from its name,
|
||||||
|
renaming it by an alias could prevent or alter that.
|
||||||
|
<!--
|
||||||
|
With `hledger -f examples/sample.journal acc --alias expenses=foo` and no account declarations,
|
||||||
|
it tries and fails to infer a type for "foo".
|
||||||
|
-->
|
||||||
|
|
||||||
|
If you are using account aliases and the [`type:` query](#queries) is not matching accounts as you expect,
|
||||||
|
try troubleshooting with the accounts command, eg something like:
|
||||||
|
|
||||||
|
```journal
|
||||||
|
$ hledger accounts --alias assets=bassetts type:a
|
||||||
|
```
|
||||||
|
|
||||||
## Default parent account
|
## Default parent account
|
||||||
|
|
||||||
You can specify a parent account which will be prepended to all accounts
|
You can specify a parent account which will be prepended to all accounts
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user