hledger/hledger/Hledger/Cli/Commands/Check.txt
2020-11-30 15:21:40 -08:00

65 lines
2.0 KiB
Plaintext

check
Check for various kinds of errors in your data. experimental
_FLAGS
hledger provides a number of built-in error checks to help prevent
problems in your data. Some of these are run automatically; or, you can
use this check command to run them on demand, with no output and a zero
exit code if all is well. Some examples:
hledger check # basic checks
hledger check -s # basic + strict checks
hledger check ordereddates uniqueleafnames # basic + specified checks
Here are the checks currently available:
Basic checks
These are always run by this command and other commands:
- parseable - data files are well-formed and can be successfully
parsed
- autobalanced - all transactions are balanced, inferring missing
amounts where necessary, and possibly converting commodities using
transaction prices or automatically-inferred transaction prices
- assertions - all balance assertions in the journal are passing.
(This check can be disabled with -I/--ignore-assertions.)
Strict checks
These are always run by this and other commands when -s/--strict is used
(strict mode):
- accounts - all account names used by transactions have been declared
- commodities - all commodity symbols used have been declared
Other checks
These checks can be run by specifying their names as arguments to the
check command:
- ordereddates - transactions are ordered by date (similar to the old
check-dates command)
- uniqueleafnames - all account leaf names are unique (similar to the
old check-dupes command)
Addon checks
Some checks are not yet integrated with this command, but are available
as add-on commands in
https://github.com/simonmichael/hledger/tree/master/bin:
- hledger-check-tagfiles - all tag values containing / (a forward
slash) exist as file paths
- hledger-check-fancyassertions - more complex balance assertions are
passing
You could make your own similar scripts to perform custom checks;
Cookbook -> Scripting may be helpful.