diff --git a/hledger/Hledger/Cli/Commands/Balance.txt b/hledger/Hledger/Cli/Commands/Balance.txt index ddf94468f..2fe47d168 100644 --- a/hledger/Hledger/Cli/Commands/Balance.txt +++ b/hledger/Hledger/Cli/Commands/Balance.txt @@ -606,6 +606,18 @@ Budget performance in 2017/11/01-2017/12/31: ----------------------++---------------------------------------------------- || 0 [ 0] 0 [ 0] +It's common to limit budgets/budget reports to just expenses + +hledger bal -M --budget expenses + +or just revenues and expenses (eg, using account types): + +hledger bal -M --budget type:rx + +It's also common to limit or convert them to a single currency (cur:COMM +or -X COMM [--infer-market-prices]). If showing multiple currencies, +--layout bare or --layout tall can help. + For more examples and notes, see Budgeting. Budget report start date @@ -737,8 +749,8 @@ Selecting budget goals The budget report evaluates periodic transaction rules to generate special "goal transactions", which generate the goal amounts for each -account in each report subperiod. When troubleshooting, you can use the -print command to show these as forecasted transactions: +account in each report subperiod. When troubleshooting, you can use +print --forecast to show these as forecasted transactions: $ hledger print --forecast=BUDGETREPORTPERIOD tag:generated @@ -755,6 +767,47 @@ regular expression or query). This means you can give your periodic rules descriptions (remember that two spaces are needed), and then select from multiple budgets defined in your journal. +Budget vs forecast + +hledger --forecast ... and hledger balance --budget ... are separate +features, though both of them use the periodic transaction rules defined +in the journal, and both of them generate temporary transactions for +reporting purposes ("forecast transactions" and "budget goal +transactions", respectively). You can use both features at the same time +if you want. Here are some differences between them, as of hledger 1.29: + +CLI: + +- --forecast is a general hledger option, usable with any command +- --budget is a balance command option, usable only with that command. + +Visibility of generated transactions: + +- forecast transactions are visible in any report, like ordinary + transactions +- budget goal transactions are invisible except for the goal amounts + they produce in --budget reports. + +Periodic transaction rules: + +- --forecast uses all available periodic transaction rules +- --budget uses all periodic rules (--budget) or a selected subset + (--budget=DESCPAT) + +Period of generated transactions: + +- --forecast generates forecast transactions + - from after the last regular transaction to the end of the report + period (--forecast) + - or, during a specified period (--forecast=PERIODEXPR) + - possibly further restricted by a period specified in the + periodic transaction rule + - and always restricted within the bounds of the report period +- --budget generates budget goal transactions + - throughout the report period + - possibly restricted by a period specified in the periodic + transaction rule. + Data layout The --layout option affects how balance reports show multi-commodity diff --git a/hledger/Hledger/Cli/Commands/Check.txt b/hledger/Hledger/Cli/Commands/Check.txt index bc2a5f1b6..007f2c2c1 100644 --- a/hledger/Hledger/Cli/Commands/Check.txt +++ b/hledger/Hledger/Cli/Commands/Check.txt @@ -62,6 +62,8 @@ therefore optional: - recentassertions - all accounts with balance assertions have a balance assertion no more than 7 days before their latest posting +- tags - all tags used by transactions have been declared + - uniqueleafnames - all account leaf names are unique Custom checks diff --git a/hledger/Hledger/Cli/Commands/Import.txt b/hledger/Hledger/Cli/Commands/Import.txt index 0dc6d52a8..7662d76d4 100644 --- a/hledger/Hledger/Cli/Commands/Import.txt +++ b/hledger/Hledger/Cli/Commands/Import.txt @@ -75,6 +75,13 @@ or (live updating): $ ls bank.csv* | entr bash -c 'echo ====; hledger import --dry bank.csv | hledger -f- -I print unknown' +Note: when importing from multiple files at once, it's currently +possible for some .latest files to be updated successfully, while the +actual import fails because of a problem in one of the files, leaving +them out of sync (and causing some transactions to be missed). To +prevent this, do a --dry-run first and fix any problems before the real +import. + Importing balance assignments Entries added by import will have their posting amounts made explicit