cli: fix command help, really render as plain text
pandoc thinks .txt is a markdown file apparently
This commit is contained in:
		
							parent
							
								
									fa82cbcf6e
								
							
						
					
					
						commit
						4c5ac4dd06
					
				
							
								
								
									
										2
									
								
								Shake.hs
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Shake.hs
									
									
									
									
									
								
							| @ -377,7 +377,7 @@ main = do | ||||
|       need [src] | ||||
|       cmd Shell | ||||
|         -- "m4 -P -DHELP -I" commandsdir lib src "|" | ||||
|         pandoc fromsrcmd src "-o" out | ||||
|         pandoc fromsrcmd src "-t plain" "-o" out | ||||
| 
 | ||||
|     -- MISC | ||||
| 
 | ||||
|  | ||||
| @ -1,27 +1,24 @@ | ||||
| accounts, a\ | ||||
| accounts, a | ||||
| Show account names. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| This command lists account names, either declared with account | ||||
| directives (\--declared), posted to (\--used), or both (the default). | ||||
| With query arguments, only matched account names and account names | ||||
| referenced by matched postings are shown. It shows a flat list by | ||||
| default. With `--tree`, it uses indentation to show the account | ||||
| hierarchy. In flat mode you can add `--drop N` to omit the first few | ||||
| account name components. Account names can be depth-clipped with | ||||
| `depth:N` or `--depth N` or `-N`. | ||||
| directives (--declared), posted to (--used), or both (the default). With | ||||
| query arguments, only matched account names and account names referenced | ||||
| by matched postings are shown. It shows a flat list by default. With | ||||
| --tree, it uses indentation to show the account hierarchy. In flat mode | ||||
| you can add --drop N to omit the first few account name components. | ||||
| Account names can be depth-clipped with depth:N or --depth N or -N. | ||||
| 
 | ||||
| Examples: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger accounts | ||||
| assets:bank:checking | ||||
| assets:bank:saving | ||||
| assets:cash | ||||
| expenses:food | ||||
| expenses:supplies | ||||
| income:gifts | ||||
| income:salary | ||||
| liabilities:debts | ||||
| ``` | ||||
|     $ hledger accounts | ||||
|     assets:bank:checking | ||||
|     assets:bank:saving | ||||
|     assets:cash | ||||
|     expenses:food | ||||
|     expenses:supplies | ||||
|     income:gifts | ||||
|     income:salary | ||||
|     liabilities:debts | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| activity\ | ||||
| activity | ||||
| Show an ascii barchart of posting counts per interval. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| The activity command displays an ascii histogram showing transaction | ||||
| counts by day, week, month or other reporting interval (by day is the | ||||
| @ -9,10 +9,8 @@ default). With query arguments, it counts only matched transactions. | ||||
| 
 | ||||
| Examples: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger activity --quarterly | ||||
| 2008-01-01 ** | ||||
| 2008-04-01 ******* | ||||
| 2008-07-01  | ||||
| 2008-10-01 ** | ||||
| ``` | ||||
|     $ hledger activity --quarterly | ||||
|     2008-01-01 ** | ||||
|     2008-04-01 ******* | ||||
|     2008-07-01  | ||||
|     2008-10-01 ** | ||||
|  | ||||
| @ -1,18 +1,18 @@ | ||||
| add\ | ||||
| add | ||||
| Prompt for transactions and add them to the journal. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| Many hledger users edit their journals directly with a text editor, or | ||||
| generate them from CSV. For more interactive data entry, there is the | ||||
| `add` command, which prompts interactively on the console for new | ||||
| add command, which prompts interactively on the console for new | ||||
| transactions, and appends them to the journal file (if there are | ||||
| multiple `-f FILE` options, the first file is used.) Existing | ||||
| transactions are not changed. This is the only hledger command that | ||||
| writes to the journal file. | ||||
| multiple -f FILE options, the first file is used.) Existing transactions | ||||
| are not changed. This is the only hledger command that writes to the | ||||
| journal file. | ||||
| 
 | ||||
| To use it, just run `hledger add` and follow the prompts. You can add as | ||||
| many transactions as you like; when you are finished, enter `.` or press | ||||
| To use it, just run hledger add and follow the prompts. You can add as | ||||
| many transactions as you like; when you are finished, enter . or press | ||||
| control-d or control-c to exit. | ||||
| 
 | ||||
| Features: | ||||
| @ -21,50 +21,42 @@ Features: | ||||
|     description) recent transaction (filtered by the query, if any) as a | ||||
|     template. | ||||
| -   You can also set the initial defaults with command line arguments. | ||||
| -   [Readline-style edit | ||||
|     keys](http://tiswww.case.edu/php/chet/readline/rluserman.html#SEC3) | ||||
|     can be used during data entry. | ||||
| -   Readline-style edit keys can be used during data entry. | ||||
| -   The tab key will auto-complete whenever possible - accounts, | ||||
|     descriptions, dates (`yesterday`, `today`, `tomorrow`). If the input | ||||
|     area is empty, it will insert the default value. | ||||
| -   If the journal defines a [default commodity](#default-commodity), it | ||||
|     will be added to any bare numbers entered. | ||||
| -   A parenthesised transaction [code](#entries) may be entered | ||||
|     following a date. | ||||
| -   [Comments](#comments) and tags may be entered following a | ||||
|     description or amount. | ||||
| -   If you make a mistake, enter `<` at any prompt to restart the | ||||
|     descriptions, dates (yesterday, today, tomorrow). If the input area | ||||
|     is empty, it will insert the default value. | ||||
| -   If the journal defines a default commodity, it will be added to any | ||||
|     bare numbers entered. | ||||
| -   A parenthesised transaction code may be entered following a date. | ||||
| -   Comments and tags may be entered following a description or amount. | ||||
| -   If you make a mistake, enter < at any prompt to restart the | ||||
|     transaction. | ||||
| -   Input prompts are displayed in a different colour when the terminal | ||||
|     supports it. | ||||
| 
 | ||||
| Example (see the | ||||
| [tutorial](step-by-step.html#record-a-transaction-with-hledger-add) for | ||||
| a detailed explanation): | ||||
| Example (see the tutorial for a detailed explanation): | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger add | ||||
| Adding transactions to journal file /src/hledger/examples/sample.journal | ||||
| Any command line arguments will be used as defaults. | ||||
| Use tab key to complete, readline keys to edit, enter to accept defaults. | ||||
| An optional (CODE) may follow transaction dates. | ||||
| An optional ; COMMENT may follow descriptions or amounts. | ||||
| If you make a mistake, enter < at any prompt to restart the transaction. | ||||
| To end a transaction, enter . when prompted. | ||||
| To quit, enter . at a date prompt or press control-d or control-c. | ||||
| Date [2015/05/22]:  | ||||
| Description: supermarket | ||||
| Account 1: expenses:food | ||||
| Amount  1: $10 | ||||
| Account 2: assets:checking | ||||
| Amount  2 [$-10.0]:  | ||||
| Account 3 (or . or enter to finish this transaction): . | ||||
| 2015/05/22 supermarket | ||||
|     expenses:food             $10 | ||||
|     assets:checking        $-10.0 | ||||
|     $ hledger add | ||||
|     Adding transactions to journal file /src/hledger/examples/sample.journal | ||||
|     Any command line arguments will be used as defaults. | ||||
|     Use tab key to complete, readline keys to edit, enter to accept defaults. | ||||
|     An optional (CODE) may follow transaction dates. | ||||
|     An optional ; COMMENT may follow descriptions or amounts. | ||||
|     If you make a mistake, enter < at any prompt to restart the transaction. | ||||
|     To end a transaction, enter . when prompted. | ||||
|     To quit, enter . at a date prompt or press control-d or control-c. | ||||
|     Date [2015/05/22]:  | ||||
|     Description: supermarket | ||||
|     Account 1: expenses:food | ||||
|     Amount  1: $10 | ||||
|     Account 2: assets:checking | ||||
|     Amount  2 [$-10.0]:  | ||||
|     Account 3 (or . or enter to finish this transaction): . | ||||
|     2015/05/22 supermarket | ||||
|         expenses:food             $10 | ||||
|         assets:checking        $-10.0 | ||||
| 
 | ||||
| Save this transaction to the journal ? [y]:  | ||||
| Saved. | ||||
| Starting the next transaction (. or ctrl-D/ctrl-C to quit) | ||||
| Date [2015/05/22]: <CTRL-D> $ | ||||
| ``` | ||||
|     Save this transaction to the journal ? [y]:  | ||||
|     Saved. | ||||
|     Starting the next transaction (. or ctrl-D/ctrl-C to quit) | ||||
|     Date [2015/05/22]: <CTRL-D> $ | ||||
|  | ||||
| @ -1,416 +1,375 @@ | ||||
| balance, bal, b\ | ||||
| balance, bal, b | ||||
| Show accounts and their balances. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| The balance command is hledger\'s most versatile command. Note, despite | ||||
| The balance command is hledger's most versatile command. Note, despite | ||||
| the name, it is not always used for showing real-world account balances; | ||||
| the more accounting-aware [balancesheet](#balancesheet) and | ||||
| [incomestatement](#incomestatement) may be more convenient for that. | ||||
| the more accounting-aware balancesheet and incomestatement may be more | ||||
| convenient for that. | ||||
| 
 | ||||
| By default, it displays all accounts, and each account\'s change in | ||||
| By default, it displays all accounts, and each account's change in | ||||
| balance during the entire period of the journal. Balance changes are | ||||
| calculated by adding up the postings in each account. You can limit the | ||||
| postings matched, by a [query](#queries), to see fewer accounts, changes | ||||
| over a different time period, changes from only cleared transactions, | ||||
| etc. | ||||
| postings matched, by a query, to see fewer accounts, changes over a | ||||
| different time period, changes from only cleared transactions, etc. | ||||
| 
 | ||||
| If you include an account\'s complete history of postings in the report, | ||||
| the balance change is equivalent to the account\'s current ending | ||||
| balance. For a real-world account, typically you won\'t have all | ||||
| transactions in the journal; instead you\'ll have all transactions after | ||||
| a certain date, and an \"opening balances\" transaction setting the | ||||
| If you include an account's complete history of postings in the report, | ||||
| the balance change is equivalent to the account's current ending | ||||
| balance. For a real-world account, typically you won't have all | ||||
| transactions in the journal; instead you'll have all transactions after | ||||
| a certain date, and an "opening balances" transaction setting the | ||||
| correct starting balance on that date. Then the balance command will | ||||
| show real-world account balances. In some cases the -H/\--historical | ||||
| flag is used to ensure this (more below). | ||||
| show real-world account balances. In some cases the -H/--historical flag | ||||
| is used to ensure this (more below). | ||||
| 
 | ||||
| The balance command can produce several styles of report: | ||||
| 
 | ||||
| ### Classic balance report | ||||
| Classic balance report | ||||
| 
 | ||||
| This is the original balance report, as found in Ledger. It usually | ||||
| looks like this: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger balance | ||||
|                  $-1  assets | ||||
|                   $1    bank:saving | ||||
|                  $-2    cash | ||||
|                   $2  expenses | ||||
|                   $1    food | ||||
|                   $1    supplies | ||||
|                  $-2  income | ||||
|                  $-1    gifts | ||||
|                  $-1    salary | ||||
|                   $1  liabilities:debts | ||||
| -------------------- | ||||
|                    0 | ||||
| ``` | ||||
|     $ hledger balance | ||||
|                      $-1  assets | ||||
|                       $1    bank:saving | ||||
|                      $-2    cash | ||||
|                       $2  expenses | ||||
|                       $1    food | ||||
|                       $1    supplies | ||||
|                      $-2  income | ||||
|                      $-1    gifts | ||||
|                      $-1    salary | ||||
|                       $1  liabilities:debts | ||||
|     -------------------- | ||||
|                        0 | ||||
| 
 | ||||
| By default, accounts are displayed hierarchically, with subaccounts | ||||
| indented below their parent. At each level of the tree, accounts are | ||||
| sorted by [account code](/manual.html#declaring-accounts) if any, then | ||||
| by account name. Or with `-S/--sort-amount`, by their balance amount. | ||||
| sorted by account code if any, then by account name. Or with | ||||
| -S/--sort-amount, by their balance amount. | ||||
| 
 | ||||
| \"Boring\" accounts, which contain a single interesting subaccount and | ||||
| no balance of their own, are elided into the following line for more | ||||
| compact output. (Eg above, the \"liabilities\" account.) Use | ||||
| `--no-elide` to prevent this. | ||||
| "Boring" accounts, which contain a single interesting subaccount and no | ||||
| balance of their own, are elided into the following line for more | ||||
| compact output. (Eg above, the "liabilities" account.) Use --no-elide to | ||||
| prevent this. | ||||
| 
 | ||||
| Account balances are \"inclusive\" - they include the balances of any | ||||
| Account balances are "inclusive" - they include the balances of any | ||||
| subaccounts. | ||||
| 
 | ||||
| Accounts which have zero balance (and no non-zero subaccounts) are | ||||
| omitted. Use `-E/--empty` to show them. | ||||
| omitted. Use -E/--empty to show them. | ||||
| 
 | ||||
| A final total is displayed by default; use `-N/--no-total` to suppress | ||||
| it, eg: | ||||
| A final total is displayed by default; use -N/--no-total to suppress it, | ||||
| eg: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger balance -p 2008/6 expenses --no-total | ||||
|                   $2  expenses | ||||
|                   $1    food | ||||
|                   $1    supplies | ||||
| ``` | ||||
|     $ hledger balance -p 2008/6 expenses --no-total | ||||
|                       $2  expenses | ||||
|                       $1    food | ||||
|                       $1    supplies | ||||
| 
 | ||||
| ### Customising the classic balance report | ||||
| Customising the classic balance report | ||||
| 
 | ||||
| You can customise the layout of classic balance reports with | ||||
| `--format FMT`: | ||||
| --format FMT: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger balance --format "%20(account) %12(total)" | ||||
|               assets          $-1 | ||||
|          bank:saving           $1 | ||||
|                 cash          $-2 | ||||
|             expenses           $2 | ||||
|                 food           $1 | ||||
|             supplies           $1 | ||||
|               income          $-2 | ||||
|                gifts          $-1 | ||||
|               salary          $-1 | ||||
|    liabilities:debts           $1 | ||||
| --------------------------------- | ||||
|                                 0 | ||||
| ``` | ||||
|     $ hledger balance --format "%20(account) %12(total)" | ||||
|                   assets          $-1 | ||||
|              bank:saving           $1 | ||||
|                     cash          $-2 | ||||
|                 expenses           $2 | ||||
|                     food           $1 | ||||
|                 supplies           $1 | ||||
|                   income          $-2 | ||||
|                    gifts          $-1 | ||||
|                   salary          $-1 | ||||
|        liabilities:debts           $1 | ||||
|     --------------------------------- | ||||
|                                     0 | ||||
| 
 | ||||
| The FMT format string (plus a newline) specifies the formatting applied | ||||
| to each account/balance pair. It may contain any suitable text, with | ||||
| data fields interpolated like so: | ||||
| 
 | ||||
| `%[MIN][.MAX](FIELDNAME)` | ||||
| %[MIN][.MAX](FIELDNAME) | ||||
| 
 | ||||
| -   MIN pads with spaces to at least this width (optional) | ||||
| -   MAX truncates at this width (optional) | ||||
| -   FIELDNAME must be enclosed in parentheses, and can be one of: | ||||
| 
 | ||||
|     -   `depth_spacer` - a number of spaces equal to the account\'s | ||||
|         depth, or if MIN is specified, MIN \* depth spaces. | ||||
|     -   `account` - the account\'s name | ||||
|     -   `total` - the account\'s balance/posted total, right justified | ||||
|     -   depth_spacer - a number of spaces equal to the account's depth, | ||||
|         or if MIN is specified, MIN * depth spaces. | ||||
|     -   account - the account's name | ||||
|     -   total - the account's balance/posted total, right justified | ||||
| 
 | ||||
| Also, FMT can begin with an optional prefix to control how | ||||
| multi-commodity amounts are rendered: | ||||
| 
 | ||||
| -   `%_` - render on multiple lines, bottom-aligned (the default) | ||||
| -   `%^` - render on multiple lines, top-aligned | ||||
| -   `%,` - render on one line, comma-separated | ||||
| -   %_ - render on multiple lines, bottom-aligned (the default) | ||||
| -   %^ - render on multiple lines, top-aligned | ||||
| -   %, - render on one line, comma-separated | ||||
| 
 | ||||
| There are some quirks. Eg in one-line mode, `%(depth_spacer)` has no | ||||
| effect, instead `%(account)` has indentation built in. <!-- XXX retest: | ||||
| Consistent column widths are not well enforced, causing ragged edges unless you set suitable widths. | ||||
| Beware of specifying a maximum width; it will clip account names and amounts that are too wide, with no visible indication. | ||||
| --> Experimentation may be needed to get pleasing results. | ||||
| There are some quirks. Eg in one-line mode, %(depth_spacer) has no | ||||
| effect, instead %(account) has indentation built in. Experimentation may | ||||
| be needed to get pleasing results. | ||||
| 
 | ||||
| Some example formats: | ||||
| 
 | ||||
| -   `%(total)` - the account\'s total | ||||
| -   `%-20.20(account)` - the account\'s name, left justified, padded to | ||||
|     20 characters and clipped at 20 characters | ||||
| -   `%,%-50(account)  %25(total)` - account name padded to 50 | ||||
|     characters, total padded to 20 characters, with multiple commodities | ||||
|     rendered on one line | ||||
| -   `%20(total)  %2(depth_spacer)%-(account)` - the default format for | ||||
|     the single-column balance report | ||||
| -   %(total) - the account's total | ||||
| -   %-20.20(account) - the account's name, left justified, padded to 20 | ||||
|     characters and clipped at 20 characters | ||||
| -   %,%-50(account)  %25(total) - account name padded to 50 characters, | ||||
|     total padded to 20 characters, with multiple commodities rendered on | ||||
|     one line | ||||
| -   %20(total)  %2(depth_spacer)%-(account) - the default format for the | ||||
|     single-column balance report | ||||
| 
 | ||||
| ### Colour support | ||||
| Colour support | ||||
| 
 | ||||
| The balance command shows negative amounts in red, if: | ||||
| 
 | ||||
| -   the `TERM` environment variable is not set to `dumb` | ||||
| -   the TERM environment variable is not set to dumb | ||||
| -   the output is not being redirected or piped anywhere | ||||
| 
 | ||||
| ### Flat mode | ||||
| Flat mode | ||||
| 
 | ||||
| To see a flat list instead of the default hierarchical display, use | ||||
| `--flat`. In this mode, accounts (unless depth-clipped) show their full | ||||
| names and \"exclusive\" balance, excluding any subaccount balances. In | ||||
| this mode, you can also use `--drop N` to omit the first few account | ||||
| name components. | ||||
| --flat. In this mode, accounts (unless depth-clipped) show their full | ||||
| names and "exclusive" balance, excluding any subaccount balances. In | ||||
| this mode, you can also use --drop N to omit the first few account name | ||||
| components. | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger balance -p 2008/6 expenses -N --flat --drop 1 | ||||
|                   $1  food | ||||
|                   $1  supplies | ||||
| ``` | ||||
|     $ hledger balance -p 2008/6 expenses -N --flat --drop 1 | ||||
|                       $1  food | ||||
|                       $1  supplies | ||||
| 
 | ||||
| ### Depth limited balance reports | ||||
| Depth limited balance reports | ||||
| 
 | ||||
| With `--depth N` or `depth:N` or just `-N`, balance reports show | ||||
| accounts only to the specified numeric depth. This is very useful to | ||||
| summarise a complex set of accounts and get an overview. | ||||
| With --depth N or depth:N or just -N, balance reports show accounts only | ||||
| to the specified numeric depth. This is very useful to summarise a | ||||
| complex set of accounts and get an overview. | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger balance -N -1 | ||||
|                  $-1  assets | ||||
|                   $2  expenses | ||||
|                  $-2  income | ||||
|                   $1  liabilities | ||||
| ``` | ||||
|     $ hledger balance -N -1 | ||||
|                      $-1  assets | ||||
|                       $2  expenses | ||||
|                      $-2  income | ||||
|                       $1  liabilities | ||||
| 
 | ||||
| Flat-mode balance reports, which normally show exclusive balances, show | ||||
| inclusive balances at the depth limit. | ||||
| 
 | ||||
| <!-- $ for y in 2006 2007 2008 2009 2010; do echo; echo $y; hledger -f $y.journal balance ^expenses --depth 2; done --> | ||||
| ### Multicolumn balance report | ||||
| Multicolumn balance report | ||||
| 
 | ||||
| Multicolumn or tabular balance reports are a very useful hledger | ||||
| feature, and usually the preferred style. They share many of the above | ||||
| features, but they show the report as a table, with columns representing | ||||
| time periods. This mode is activated by providing a [reporting | ||||
| interval](#reporting-interval). | ||||
| time periods. This mode is activated by providing a reporting interval. | ||||
| 
 | ||||
| There are three types of multicolumn balance report, showing different | ||||
| information: | ||||
| 
 | ||||
| 1.  By default: each column shows the sum of postings in that period, ie | ||||
|     the account\'s change of balance in that period. This is useful eg | ||||
|     for a monthly income statement: <!-- | ||||
|     multicolumn income statement:  | ||||
|     the account's change of balance in that period. This is useful eg | ||||
|     for a monthly income statement: | ||||
| 
 | ||||
|        $ hledger balance ^income ^expense -p 'monthly this year' --depth 3 | ||||
|         $ hledger balance --quarterly income expenses -E | ||||
|         Balance changes in 2008: | ||||
| 
 | ||||
|     or cashflow statement: | ||||
|                            ||  2008q1  2008q2  2008q3  2008q4  | ||||
|         ===================++================================= | ||||
|          expenses:food     ||       0      $1       0       0  | ||||
|          expenses:supplies ||       0      $1       0       0  | ||||
|          income:gifts      ||       0     $-1       0       0  | ||||
|          income:salary     ||     $-1       0       0       0  | ||||
|         -------------------++--------------------------------- | ||||
|                            ||     $-1      $1       0       0  | ||||
| 
 | ||||
|        $ hledger balance ^assets ^liabilities 'not:(receivable|payable)' -p 'weekly this month' | ||||
|     --> | ||||
| 
 | ||||
|     ``` {.shell} | ||||
|     $ hledger balance --quarterly income expenses -E | ||||
|     Balance changes in 2008: | ||||
| 
 | ||||
|                        ||  2008q1  2008q2  2008q3  2008q4  | ||||
|     ===================++================================= | ||||
|      expenses:food     ||       0      $1       0       0  | ||||
|      expenses:supplies ||       0      $1       0       0  | ||||
|      income:gifts      ||       0     $-1       0       0  | ||||
|      income:salary     ||     $-1       0       0       0  | ||||
|     -------------------++--------------------------------- | ||||
|                        ||     $-1      $1       0       0  | ||||
|     ``` | ||||
| 
 | ||||
| 2.  With `--cumulative`: each column shows the ending balance for that | ||||
| 2.  With --cumulative: each column shows the ending balance for that | ||||
|     period, accumulating the changes across periods, starting from 0 at | ||||
|     the report start date: | ||||
| 
 | ||||
|     ``` {.shell} | ||||
|     $ hledger balance --quarterly income expenses -E --cumulative | ||||
|     Ending balances (cumulative) in 2008: | ||||
|         $ hledger balance --quarterly income expenses -E --cumulative | ||||
|         Ending balances (cumulative) in 2008: | ||||
| 
 | ||||
|                        ||  2008/03/31  2008/06/30  2008/09/30  2008/12/31  | ||||
|     ===================++================================================= | ||||
|      expenses:food     ||           0          $1          $1          $1  | ||||
|      expenses:supplies ||           0          $1          $1          $1  | ||||
|      income:gifts      ||           0         $-1         $-1         $-1  | ||||
|      income:salary     ||         $-1         $-1         $-1         $-1  | ||||
|     -------------------++------------------------------------------------- | ||||
|                        ||         $-1           0           0           0  | ||||
|     ``` | ||||
|                            ||  2008/03/31  2008/06/30  2008/09/30  2008/12/31  | ||||
|         ===================++================================================= | ||||
|          expenses:food     ||           0          $1          $1          $1  | ||||
|          expenses:supplies ||           0          $1          $1          $1  | ||||
|          income:gifts      ||           0         $-1         $-1         $-1  | ||||
|          income:salary     ||         $-1         $-1         $-1         $-1  | ||||
|         -------------------++------------------------------------------------- | ||||
|                            ||         $-1           0           0           0  | ||||
| 
 | ||||
| 3.  With `--historical/-H`: each column shows the actual historical | ||||
|     ending balance for that period, accumulating the changes across | ||||
|     periods, starting from the actual balance at the report start date. | ||||
|     This is useful eg for a multi-period balance sheet, and when you are | ||||
|     showing only the data after a certain start date: | ||||
| 3.  With --historical/-H: each column shows the actual historical ending | ||||
|     balance for that period, accumulating the changes across periods, | ||||
|     starting from the actual balance at the report start date. This is | ||||
|     useful eg for a multi-period balance sheet, and when you are showing | ||||
|     only the data after a certain start date: | ||||
| 
 | ||||
|     ``` {.shell} | ||||
|     $ hledger balance ^assets ^liabilities --quarterly --historical --begin 2008/4/1 | ||||
|     Ending balances (historical) in 2008/04/01-2008/12/31: | ||||
|         $ hledger balance ^assets ^liabilities --quarterly --historical --begin 2008/4/1 | ||||
|         Ending balances (historical) in 2008/04/01-2008/12/31: | ||||
| 
 | ||||
|                           ||  2008/06/30  2008/09/30  2008/12/31  | ||||
|     ======================++===================================== | ||||
|      assets:bank:checking ||          $1          $1           0  | ||||
|      assets:bank:saving   ||          $1          $1          $1  | ||||
|      assets:cash          ||         $-2         $-2         $-2  | ||||
|      liabilities:debts    ||           0           0          $1  | ||||
|     ----------------------++------------------------------------- | ||||
|                           ||           0           0           0  | ||||
|     ``` | ||||
|                               ||  2008/06/30  2008/09/30  2008/12/31  | ||||
|         ======================++===================================== | ||||
|          assets:bank:checking ||          $1          $1           0  | ||||
|          assets:bank:saving   ||          $1          $1          $1  | ||||
|          assets:cash          ||         $-2         $-2         $-2  | ||||
|          liabilities:debts    ||           0           0          $1  | ||||
|         ----------------------++------------------------------------- | ||||
|                               ||           0           0           0  | ||||
| 
 | ||||
| Multicolumn balance reports display accounts in flat mode by default; to | ||||
| see the hierarchy, use `--tree`. | ||||
| see the hierarchy, use --tree. | ||||
| 
 | ||||
| With a reporting interval (like `--quarterly` above), the report | ||||
| start/end dates will be adjusted if necessary so that they encompass the | ||||
| displayed report periods. This is so that the first and last periods | ||||
| will be \"full\" and comparable to the others. | ||||
| With a reporting interval (like --quarterly above), the report start/end | ||||
| dates will be adjusted if necessary so that they encompass the displayed | ||||
| report periods. This is so that the first and last periods will be | ||||
| "full" and comparable to the others. | ||||
| 
 | ||||
| The `-E/--empty` flag does two things in multicolumn balance reports: | ||||
| The -E/--empty flag does two things in multicolumn balance reports: | ||||
| first, the report will show all columns within the specified report | ||||
| period (without -E, leading and trailing columns with all zeroes are not | ||||
| shown). Second, all accounts which existed at the report start date will | ||||
| be considered, not just the ones with activity during the report period | ||||
| (use -E to include low-activity accounts which would otherwise would be | ||||
| omitted). With `--budget`, `--empty` also shows unbudgeted accounts. | ||||
| omitted). With --budget, --empty also shows unbudgeted accounts. | ||||
| 
 | ||||
| The `-T/--row-total` flag adds an additional column showing the total | ||||
| for each row. | ||||
| The -T/--row-total flag adds an additional column showing the total for | ||||
| each row. | ||||
| 
 | ||||
| The `-A/--average` flag adds a column showing the average value in each | ||||
| The -A/--average flag adds a column showing the average value in each | ||||
| row. | ||||
| 
 | ||||
| Here\'s an example of all three: | ||||
| Here's an example of all three: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger balance -Q income expenses --tree -ETA | ||||
| Balance changes in 2008: | ||||
|     $ hledger balance -Q income expenses --tree -ETA | ||||
|     Balance changes in 2008: | ||||
| 
 | ||||
|             ||  2008q1  2008q2  2008q3  2008q4    Total  Average  | ||||
| ============++=================================================== | ||||
|  expenses   ||       0      $2       0       0       $2       $1  | ||||
|    food     ||       0      $1       0       0       $1        0  | ||||
|    supplies ||       0      $1       0       0       $1        0  | ||||
|  income     ||     $-1     $-1       0       0      $-2      $-1  | ||||
|    gifts    ||       0     $-1       0       0      $-1        0  | ||||
|    salary   ||     $-1       0       0       0      $-1        0  | ||||
| ------------++--------------------------------------------------- | ||||
|             ||     $-1      $1       0       0        0        0  | ||||
|                 ||  2008q1  2008q2  2008q3  2008q4    Total  Average  | ||||
|     ============++=================================================== | ||||
|      expenses   ||       0      $2       0       0       $2       $1  | ||||
|        food     ||       0      $1       0       0       $1        0  | ||||
|        supplies ||       0      $1       0       0       $1        0  | ||||
|      income     ||     $-1     $-1       0       0      $-2      $-1  | ||||
|        gifts    ||       0     $-1       0       0      $-1        0  | ||||
|        salary   ||     $-1       0       0       0      $-1        0  | ||||
|     ------------++--------------------------------------------------- | ||||
|                 ||     $-1      $1       0       0        0        0  | ||||
| 
 | ||||
| # Average is rounded to the dollar here since all journal amounts are | ||||
| ``` | ||||
|     # Average is rounded to the dollar here since all journal amounts are | ||||
| 
 | ||||
| Limitations: | ||||
| 
 | ||||
| In multicolumn reports the [`-V/--value` flag](#market-value) uses the | ||||
| market price on the report end date, for all columns (not the price on | ||||
| each column\'s end date). | ||||
| In multicolumn reports the -V/--value flag uses the market price on the | ||||
| report end date, for all columns (not the price on each column's end | ||||
| date). | ||||
| 
 | ||||
| Eliding of boring parent accounts in tree mode, as in the classic | ||||
| balance report, is not yet supported in multicolumn reports. | ||||
| 
 | ||||
| ### Budget report | ||||
| Budget report | ||||
| 
 | ||||
| With `--budget`, extra columns are displayed showing budget goals for | ||||
| each account and period, if any. Budget goals are defined by [periodic | ||||
| transactions](journal.html#periodic-transactions). This is very useful | ||||
| for comparing planned and actual income, expenses, time usage, etc. | ||||
| \--budget is most often combined with a [report | ||||
| interval](manual.html#report-intervals). | ||||
| With --budget, extra columns are displayed showing budget goals for each | ||||
| account and period, if any. Budget goals are defined by periodic | ||||
| transactions. This is very useful for comparing planned and actual | ||||
| income, expenses, time usage, etc. --budget is most often combined with | ||||
| a report interval. | ||||
| 
 | ||||
| For example, you can take average monthly expenses in the common expense | ||||
| categories to construct a minimal monthly budget: | ||||
| 
 | ||||
| ``` {.journal} | ||||
| ;; Budget | ||||
| ~ monthly | ||||
|   income  $2000 | ||||
|   expenses:food    $400 | ||||
|   expenses:bus     $50 | ||||
|   expenses:movies  $30 | ||||
|   assets:bank:checking | ||||
|     ;; Budget | ||||
|     ~ monthly | ||||
|       income  $2000 | ||||
|       expenses:food    $400 | ||||
|       expenses:bus     $50 | ||||
|       expenses:movies  $30 | ||||
|       assets:bank:checking | ||||
| 
 | ||||
| ;; Two months worth of expenses | ||||
| 2017-11-01 | ||||
|   income  $1950 | ||||
|   expenses:food    $396 | ||||
|   expenses:bus     $49 | ||||
|   expenses:movies  $30 | ||||
|   expenses:supplies  $20 | ||||
|   assets:bank:checking | ||||
|     ;; Two months worth of expenses | ||||
|     2017-11-01 | ||||
|       income  $1950 | ||||
|       expenses:food    $396 | ||||
|       expenses:bus     $49 | ||||
|       expenses:movies  $30 | ||||
|       expenses:supplies  $20 | ||||
|       assets:bank:checking | ||||
| 
 | ||||
| 2017-12-01 | ||||
|   income  $2100 | ||||
|   expenses:food    $412 | ||||
|   expenses:bus     $53 | ||||
|   expenses:gifts   $100 | ||||
|   assets:bank:checking | ||||
| ``` | ||||
|     2017-12-01 | ||||
|       income  $2100 | ||||
|       expenses:food    $412 | ||||
|       expenses:bus     $53 | ||||
|       expenses:gifts   $100 | ||||
|       assets:bank:checking | ||||
| 
 | ||||
| You can now see a monthly budget report: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger balance -M --budget | ||||
| Budget performance in 2017/11/01-2017/12/31: | ||||
|     $ hledger balance -M --budget | ||||
|     Budget performance in 2017/11/01-2017/12/31: | ||||
| 
 | ||||
|                       ||                      Nov                       Dec  | ||||
| ======================++==================================================== | ||||
|  assets               || $-2445 [  99% of $-2480]  $-2665 [ 107% of $-2480]  | ||||
|  assets:bank          || $-2445 [  99% of $-2480]  $-2665 [ 107% of $-2480]  | ||||
|  assets:bank:checking || $-2445 [  99% of $-2480]  $-2665 [ 107% of $-2480]  | ||||
|  expenses             ||   $495 [ 103% of   $480]    $565 [ 118% of   $480]  | ||||
|  expenses:bus         ||    $49 [  98% of    $50]     $53 [ 106% of    $50]  | ||||
|  expenses:food        ||   $396 [  99% of   $400]    $412 [ 103% of   $400]  | ||||
|  expenses:movies      ||    $30 [ 100% of    $30]       0 [   0% of    $30]  | ||||
|  income               ||  $1950 [  98% of  $2000]   $2100 [ 105% of  $2000]  | ||||
| ----------------------++---------------------------------------------------- | ||||
|                       ||      0 [              0]       0 [              0]  | ||||
| ``` | ||||
|                           ||                      Nov                       Dec  | ||||
|     ======================++==================================================== | ||||
|      assets               || $-2445 [  99% of $-2480]  $-2665 [ 107% of $-2480]  | ||||
|      assets:bank          || $-2445 [  99% of $-2480]  $-2665 [ 107% of $-2480]  | ||||
|      assets:bank:checking || $-2445 [  99% of $-2480]  $-2665 [ 107% of $-2480]  | ||||
|      expenses             ||   $495 [ 103% of   $480]    $565 [ 118% of   $480]  | ||||
|      expenses:bus         ||    $49 [  98% of    $50]     $53 [ 106% of    $50]  | ||||
|      expenses:food        ||   $396 [  99% of   $400]    $412 [ 103% of   $400]  | ||||
|      expenses:movies      ||    $30 [ 100% of    $30]       0 [   0% of    $30]  | ||||
|      income               ||  $1950 [  98% of  $2000]   $2100 [ 105% of  $2000]  | ||||
|     ----------------------++---------------------------------------------------- | ||||
|                           ||      0 [              0]       0 [              0]  | ||||
| 
 | ||||
| By default, only accounts with budget goals during the report period are | ||||
| shown. In the example above, transactions in `expenses:gifts` and | ||||
| `expenses:supplies` are counted towards `expenses` budget, but accounts | ||||
| `expenses:gifts` and `expenses:supplies` are not shown, as they don\'t | ||||
| have any budgets. | ||||
| shown. In the example above, transactions in expenses:gifts and | ||||
| expenses:supplies are counted towards expenses budget, but accounts | ||||
| expenses:gifts and expenses:supplies are not shown, as they don't have | ||||
| any budgets. | ||||
| 
 | ||||
| You can use `--empty` shows unbudgeted accounts as well: | ||||
| You can use --empty shows unbudgeted accounts as well: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger balance -M --budget --empty | ||||
| Budget performance in 2017/11/01-2017/12/31: | ||||
|     $ hledger balance -M --budget --empty | ||||
|     Budget performance in 2017/11/01-2017/12/31: | ||||
| 
 | ||||
|                       ||                      Nov                       Dec  | ||||
| ======================++==================================================== | ||||
|  assets               || $-2445 [  99% of $-2480]  $-2665 [ 107% of $-2480]  | ||||
|  assets:bank          || $-2445 [  99% of $-2480]  $-2665 [ 107% of $-2480]  | ||||
|  assets:bank:checking || $-2445 [  99% of $-2480]  $-2665 [ 107% of $-2480]  | ||||
|  expenses             ||   $495 [ 103% of   $480]    $565 [ 118% of   $480]  | ||||
|  expenses:bus         ||    $49 [  98% of    $50]     $53 [ 106% of    $50]  | ||||
|  expenses:food        ||   $396 [  99% of   $400]    $412 [ 103% of   $400]  | ||||
|  expenses:gifts       ||      0                      $100                    | ||||
|  expenses:movies      ||    $30 [ 100% of    $30]       0 [   0% of    $30]  | ||||
|  expenses:supplies    ||    $20                         0                    | ||||
|  income               ||  $1950 [  98% of  $2000]   $2100 [ 105% of  $2000]  | ||||
| ----------------------++---------------------------------------------------- | ||||
|                       ||      0 [              0]       0 [              0]  | ||||
| ``` | ||||
|                           ||                      Nov                       Dec  | ||||
|     ======================++==================================================== | ||||
|      assets               || $-2445 [  99% of $-2480]  $-2665 [ 107% of $-2480]  | ||||
|      assets:bank          || $-2445 [  99% of $-2480]  $-2665 [ 107% of $-2480]  | ||||
|      assets:bank:checking || $-2445 [  99% of $-2480]  $-2665 [ 107% of $-2480]  | ||||
|      expenses             ||   $495 [ 103% of   $480]    $565 [ 118% of   $480]  | ||||
|      expenses:bus         ||    $49 [  98% of    $50]     $53 [ 106% of    $50]  | ||||
|      expenses:food        ||   $396 [  99% of   $400]    $412 [ 103% of   $400]  | ||||
|      expenses:gifts       ||      0                      $100                    | ||||
|      expenses:movies      ||    $30 [ 100% of    $30]       0 [   0% of    $30]  | ||||
|      expenses:supplies    ||    $20                         0                    | ||||
|      income               ||  $1950 [  98% of  $2000]   $2100 [ 105% of  $2000]  | ||||
|     ----------------------++---------------------------------------------------- | ||||
|                           ||      0 [              0]       0 [              0]  | ||||
| 
 | ||||
| You can roll over unspent budgets to next period with `--cumulative`: | ||||
| You can roll over unspent budgets to next period with --cumulative: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger balance -M --budget --cumulative | ||||
| Budget performance in 2017/11/01-2017/12/31: | ||||
|     $ hledger balance -M --budget --cumulative | ||||
|     Budget performance in 2017/11/01-2017/12/31: | ||||
| 
 | ||||
|                       ||                      Nov                       Dec  | ||||
| ======================++==================================================== | ||||
|  assets               || $-2445 [  99% of $-2480]  $-5110 [ 103% of $-4960]  | ||||
|  assets:bank          || $-2445 [  99% of $-2480]  $-5110 [ 103% of $-4960]  | ||||
|  assets:bank:checking || $-2445 [  99% of $-2480]  $-5110 [ 103% of $-4960]  | ||||
|  expenses             ||   $495 [ 103% of   $480]   $1060 [ 110% of   $960]  | ||||
|  expenses:bus         ||    $49 [  98% of    $50]    $102 [ 102% of   $100]  | ||||
|  expenses:food        ||   $396 [  99% of   $400]    $808 [ 101% of   $800]  | ||||
|  expenses:movies      ||    $30 [ 100% of    $30]     $30 [  50% of    $60]  | ||||
|  income               ||  $1950 [  98% of  $2000]   $4050 [ 101% of  $4000]  | ||||
| ----------------------++---------------------------------------------------- | ||||
|                       ||      0 [              0]       0 [              0]  | ||||
| ``` | ||||
|                           ||                      Nov                       Dec  | ||||
|     ======================++==================================================== | ||||
|      assets               || $-2445 [  99% of $-2480]  $-5110 [ 103% of $-4960]  | ||||
|      assets:bank          || $-2445 [  99% of $-2480]  $-5110 [ 103% of $-4960]  | ||||
|      assets:bank:checking || $-2445 [  99% of $-2480]  $-5110 [ 103% of $-4960]  | ||||
|      expenses             ||   $495 [ 103% of   $480]   $1060 [ 110% of   $960]  | ||||
|      expenses:bus         ||    $49 [  98% of    $50]    $102 [ 102% of   $100]  | ||||
|      expenses:food        ||   $396 [  99% of   $400]    $808 [ 101% of   $800]  | ||||
|      expenses:movies      ||    $30 [ 100% of    $30]     $30 [  50% of    $60]  | ||||
|      income               ||  $1950 [  98% of  $2000]   $4050 [ 101% of  $4000]  | ||||
|     ----------------------++---------------------------------------------------- | ||||
|                           ||      0 [              0]       0 [              0]  | ||||
| 
 | ||||
| Note, the `-S/--sort-amount` flag is not yet fully supported with | ||||
| `--budget`. | ||||
| Note, the -S/--sort-amount flag is not yet fully supported with | ||||
| --budget. | ||||
| 
 | ||||
| For more examples, see [Budgeting and | ||||
| Forecasting](https://github.com/simonmichael/hledger/wiki/Budgeting%20and%20forecasting). | ||||
| For more examples, see Budgeting and Forecasting. | ||||
| 
 | ||||
| #### Nested budgets | ||||
| Nested budgets | ||||
| 
 | ||||
| You can add budgets to any account in your account hierarchy. If you | ||||
| have budgets on both parent account and some of its children, then | ||||
| @ -427,82 +386,75 @@ To illustrate this, consider the following budget: | ||||
|         expenses:personal:electronics    $100.00 | ||||
|         liabilities | ||||
| 
 | ||||
| With this, monthly budget for electronics is defined to be \$100 and | ||||
| budget for personal expenses is an additional \$1000, which implicity | ||||
| means that budget for both `expenses:personal` and `expenses` is \$1100. | ||||
| With this, monthly budget for electronics is defined to be $100 and | ||||
| budget for personal expenses is an additional $1000, which implicity | ||||
| means that budget for both expenses:personal and expenses is $1100. | ||||
| 
 | ||||
| Transactions in `expenses:personal:electronics` will be counted both | ||||
| towards its \$100 budget and \$1100 of `expenses:personal` , and | ||||
| transactions in any other subaccount of `expenses:personal` would be | ||||
| counted towards only towards the budget of `expenses:personal`. | ||||
| Transactions in expenses:personal:electronics will be counted both | ||||
| towards its $100 budget and $1100 of expenses:personal , and | ||||
| transactions in any other subaccount of expenses:personal would be | ||||
| counted towards only towards the budget of expenses:personal. | ||||
| 
 | ||||
| For example, let\'s consider these transactions: | ||||
| For example, let's consider these transactions: | ||||
| 
 | ||||
| ``` {.journal} | ||||
| ~ monthly from 2019/01 | ||||
|     expenses:personal             $1,000.00 | ||||
|     expenses:personal:electronics    $100.00 | ||||
|     liabilities | ||||
|     ~ monthly from 2019/01 | ||||
|         expenses:personal             $1,000.00 | ||||
|         expenses:personal:electronics    $100.00 | ||||
|         liabilities | ||||
| 
 | ||||
| 2019/01/01 Google home hub | ||||
|     expenses:personal:electronics          $90.00 | ||||
|     liabilities                           $-90.00 | ||||
|     2019/01/01 Google home hub | ||||
|         expenses:personal:electronics          $90.00 | ||||
|         liabilities                           $-90.00 | ||||
| 
 | ||||
| 2019/01/02 Phone screen protector | ||||
|     expenses:personal:electronics:upgrades          $10.00 | ||||
|     liabilities | ||||
|     2019/01/02 Phone screen protector | ||||
|         expenses:personal:electronics:upgrades          $10.00 | ||||
|         liabilities | ||||
| 
 | ||||
| 2019/01/02 Weekly train ticket | ||||
|     expenses:personal:train tickets       $153.00 | ||||
|     liabilities | ||||
|     2019/01/02 Weekly train ticket | ||||
|         expenses:personal:train tickets       $153.00 | ||||
|         liabilities | ||||
| 
 | ||||
| 2019/01/03 Flowers | ||||
|     expenses:personal          $30.00 | ||||
|     liabilities | ||||
| ``` | ||||
|     2019/01/03 Flowers | ||||
|         expenses:personal          $30.00 | ||||
|         liabilities | ||||
| 
 | ||||
| As you can see, we have transactions in | ||||
| `expenses:personal:electronics:upgrades` and | ||||
| `expenses:personal:train tickets`, and since both of these accounts are | ||||
| expenses:personal:electronics:upgrades and | ||||
| expenses:personal:train tickets, and since both of these accounts are | ||||
| without explicitly defined budget, these transactions would be counted | ||||
| towards budgets of `expenses:personal:electronics` and | ||||
| `expenses:personal` accordingly: | ||||
| towards budgets of expenses:personal:electronics and expenses:personal | ||||
| accordingly: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger balance --budget -M | ||||
| Budget performance in 2019/01: | ||||
|     $ hledger balance --budget -M | ||||
|     Budget performance in 2019/01: | ||||
| 
 | ||||
|                                ||                           Jan  | ||||
| ===============================++=============================== | ||||
|  expenses                      ||  $283.00 [  26% of  $1100.00]  | ||||
|  expenses:personal             ||  $283.00 [  26% of  $1100.00]  | ||||
|  expenses:personal:electronics ||  $100.00 [ 100% of   $100.00]  | ||||
|  liabilities                   || $-283.00 [  26% of $-1100.00]  | ||||
| -------------------------------++------------------------------- | ||||
|                                ||        0 [                 0]  | ||||
| ``` | ||||
|                                    ||                           Jan  | ||||
|     ===============================++=============================== | ||||
|      expenses                      ||  $283.00 [  26% of  $1100.00]  | ||||
|      expenses:personal             ||  $283.00 [  26% of  $1100.00]  | ||||
|      expenses:personal:electronics ||  $100.00 [ 100% of   $100.00]  | ||||
|      liabilities                   || $-283.00 [  26% of $-1100.00]  | ||||
|     -------------------------------++------------------------------- | ||||
|                                    ||        0 [                 0]  | ||||
| 
 | ||||
| And with `--empty`, we can get a better picture of budget allocation and | ||||
| And with --empty, we can get a better picture of budget allocation and | ||||
| consumption: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger balance --budget -M --empty | ||||
| Budget performance in 2019/01: | ||||
|     $ hledger balance --budget -M --empty | ||||
|     Budget performance in 2019/01: | ||||
| 
 | ||||
|                                         ||                           Jan  | ||||
| ========================================++=============================== | ||||
|  expenses                               ||  $283.00 [  26% of  $1100.00]  | ||||
|  expenses:personal                      ||  $283.00 [  26% of  $1100.00]  | ||||
|  expenses:personal:electronics          ||  $100.00 [ 100% of   $100.00]  | ||||
|  expenses:personal:electronics:upgrades ||   $10.00                       | ||||
|  expenses:personal:train tickets        ||  $153.00                       | ||||
|  liabilities                            || $-283.00 [  26% of $-1100.00]  | ||||
| ----------------------------------------++------------------------------- | ||||
|                                         ||        0 [                 0]  | ||||
| ``` | ||||
|                                             ||                           Jan  | ||||
|     ========================================++=============================== | ||||
|      expenses                               ||  $283.00 [  26% of  $1100.00]  | ||||
|      expenses:personal                      ||  $283.00 [  26% of  $1100.00]  | ||||
|      expenses:personal:electronics          ||  $100.00 [ 100% of   $100.00]  | ||||
|      expenses:personal:electronics:upgrades ||   $10.00                       | ||||
|      expenses:personal:train tickets        ||  $153.00                       | ||||
|      liabilities                            || $-283.00 [  26% of $-1100.00]  | ||||
|     ----------------------------------------++------------------------------- | ||||
|                                             ||        0 [                 0]  | ||||
| 
 | ||||
| ### Output format | ||||
| Output format | ||||
| 
 | ||||
| The balance command supports [output | ||||
| destination](/manual.html#output-destination) and [output | ||||
| format](/manual.html#output-format) selection. | ||||
| The balance command supports output destination and output format | ||||
| selection. | ||||
|  | ||||
| @ -1,45 +1,41 @@ | ||||
| balancesheet, bs\ | ||||
| balancesheet, bs | ||||
| This command displays a simple balance sheet, showing historical ending | ||||
| balances of asset and liability accounts (ignoring any report begin | ||||
| date). It assumes that these accounts are under a top-level `asset` or | ||||
| `liability` account (case insensitive, plural forms also allowed). | ||||
| date). It assumes that these accounts are under a top-level asset or | ||||
| liability account (case insensitive, plural forms also allowed). | ||||
| 
 | ||||
| Note this report shows all account balances with normal positive sign | ||||
| (like conventional financial statements, unlike balance/print/register) | ||||
| (experimental). | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| Example: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger balancesheet | ||||
| Balance Sheet | ||||
|     $ hledger balancesheet | ||||
|     Balance Sheet | ||||
| 
 | ||||
| Assets: | ||||
|                  $-1  assets | ||||
|                   $1    bank:saving | ||||
|                  $-2    cash | ||||
| -------------------- | ||||
|                  $-1 | ||||
|     Assets: | ||||
|                      $-1  assets | ||||
|                       $1    bank:saving | ||||
|                      $-2    cash | ||||
|     -------------------- | ||||
|                      $-1 | ||||
| 
 | ||||
| Liabilities: | ||||
|                   $1  liabilities:debts | ||||
| -------------------- | ||||
|                   $1 | ||||
|     Liabilities: | ||||
|                       $1  liabilities:debts | ||||
|     -------------------- | ||||
|                       $1 | ||||
| 
 | ||||
| Total: | ||||
| -------------------- | ||||
|                    0 | ||||
| ``` | ||||
|     Total: | ||||
|     -------------------- | ||||
|                        0 | ||||
| 
 | ||||
| With a [reporting interval](#reporting-interval), multiple columns will | ||||
| be shown, one for each report period. As with [multicolumn balance | ||||
| reports](#multicolumn-balance-reports), you can alter the report mode | ||||
| with `--change`/`--cumulative`/`--historical`. Normally balancesheet | ||||
| shows historical ending balances, which is what you need for a balance | ||||
| sheet; note this means it ignores report begin dates. | ||||
| With a reporting interval, multiple columns will be shown, one for each | ||||
| report period. As with multicolumn balance reports, you can alter the | ||||
| report mode with --change/--cumulative/--historical. Normally | ||||
| balancesheet shows historical ending balances, which is what you need | ||||
| for a balance sheet; note this means it ignores report begin dates. | ||||
| 
 | ||||
| This command also supports [output | ||||
| destination](/manual.html#output-destination) and [output | ||||
| format](/manual.html#output-format) selection. | ||||
| This command also supports output destination and output format | ||||
| selection. | ||||
|  | ||||
| @ -1,33 +1,31 @@ | ||||
| balancesheetequity, bse\ | ||||
| Just like [balancesheet](#balancesheet), but also reports Equity (which | ||||
| it assumes is under a top-level `equity` account). | ||||
| balancesheetequity, bse | ||||
| Just like balancesheet, but also reports Equity (which it assumes is | ||||
| under a top-level equity account). | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| Example: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger balancesheetequity | ||||
| Balance Sheet With Equity | ||||
|     $ hledger balancesheetequity | ||||
|     Balance Sheet With Equity | ||||
| 
 | ||||
| Assets: | ||||
|                  $-2  assets | ||||
|                   $1    bank:saving | ||||
|                  $-3    cash | ||||
| -------------------- | ||||
|                  $-2 | ||||
|     Assets: | ||||
|                      $-2  assets | ||||
|                       $1    bank:saving | ||||
|                      $-3    cash | ||||
|     -------------------- | ||||
|                      $-2 | ||||
| 
 | ||||
| Liabilities: | ||||
|                   $1  liabilities:debts | ||||
| -------------------- | ||||
|                   $1 | ||||
|     Liabilities: | ||||
|                       $1  liabilities:debts | ||||
|     -------------------- | ||||
|                       $1 | ||||
| 
 | ||||
| Equity: | ||||
|           $1  equity:owner | ||||
| -------------------- | ||||
|           $1 | ||||
|     Equity: | ||||
|               $1  equity:owner | ||||
|     -------------------- | ||||
|               $1 | ||||
| 
 | ||||
| Total: | ||||
| -------------------- | ||||
|                    0 | ||||
| ``` | ||||
|     Total: | ||||
|     -------------------- | ||||
|                        0 | ||||
|  | ||||
| @ -1,37 +1,33 @@ | ||||
| cashflow, cf\ | ||||
| cashflow, cf | ||||
| This command displays a simple cashflow statement, showing changes in | ||||
| \"cash\" accounts. It assumes that these accounts are under a top-level | ||||
| `asset` account (case insensitive, plural forms also allowed) and do not | ||||
| contain `receivable` or `A/R` in their name. Note this report shows all | ||||
| "cash" accounts. It assumes that these accounts are under a top-level | ||||
| asset account (case insensitive, plural forms also allowed) and do not | ||||
| contain receivable or A/R in their name. Note this report shows all | ||||
| account balances with normal positive sign (like conventional financial | ||||
| statements, unlike balance/print/register) (experimental). | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| Example: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger cashflow | ||||
| Cashflow Statement | ||||
|     $ hledger cashflow | ||||
|     Cashflow Statement | ||||
| 
 | ||||
| Cash flows: | ||||
|                  $-1  assets | ||||
|                   $1    bank:saving | ||||
|                  $-2    cash | ||||
| -------------------- | ||||
|                  $-1 | ||||
|     Cash flows: | ||||
|                      $-1  assets | ||||
|                       $1    bank:saving | ||||
|                      $-2    cash | ||||
|     -------------------- | ||||
|                      $-1 | ||||
| 
 | ||||
| Total: | ||||
| -------------------- | ||||
|                  $-1 | ||||
| ``` | ||||
|     Total: | ||||
|     -------------------- | ||||
|                      $-1 | ||||
| 
 | ||||
| With a [reporting interval](#reporting-interval), multiple columns will | ||||
| be shown, one for each report period. Normally cashflow shows changes in | ||||
| assets per period, though as with [multicolumn balance | ||||
| reports](#multicolumn-balance-reports) you can alter the report mode | ||||
| with `--change`/`--cumulative`/`--historical`. | ||||
| With a reporting interval, multiple columns will be shown, one for each | ||||
| report period. Normally cashflow shows changes in assets per period, | ||||
| though as with multicolumn balance reports you can alter the report mode | ||||
| with --change/--cumulative/--historical. | ||||
| 
 | ||||
| This command also supports [output | ||||
| destination](/manual.html#output-destination) and [output | ||||
| format](/manual.html#output-format) selection. | ||||
| This command also supports output destination and output format | ||||
| selection. | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| check-dates\ | ||||
| Check that transactions are sorted by increasing date. With \--date2, | ||||
| checks secondary dates instead. With \--strict, dates must also be | ||||
| unique. With a query, only matched transactions\' dates are checked. | ||||
| check-dates | ||||
| Check that transactions are sorted by increasing date. With --date2, | ||||
| checks secondary dates instead. With --strict, dates must also be | ||||
| unique. With a query, only matched transactions' dates are checked. | ||||
| Reads the default journal file, or another specified with -f. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| check-dupes\ | ||||
| check-dupes | ||||
| Reports account names having the same leaf but different prefixes. In | ||||
| other words, two or more leaves that are categorized differently. Reads | ||||
| the default journal file, or another specified as an argument. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| An example: http://stefanorodighiero.net/software/hledger-dupes.html | ||||
|  | ||||
| @ -1,16 +1,16 @@ | ||||
| close, equity\ | ||||
| Prints a \"closing balances\" transaction and an \"opening balances\" | ||||
| close, equity | ||||
| Prints a "closing balances" transaction and an "opening balances" | ||||
| transaction that bring account balances to and from zero, respectively. | ||||
| Useful for bringing asset/liability balances forward into a new journal | ||||
| file, or for closing out revenues/expenses to retained earnings at the | ||||
| end of a period. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| The closing transaction transfers balances to \"equity:closing | ||||
| balances\". The opening transaction transfers balances from | ||||
| \"equity:opening balances\". You can chose to print just one of the | ||||
| transactions by using the `--opening` or `--closing` flag. | ||||
| The closing transaction transfers balances to "equity:closing balances". | ||||
| The opening transaction transfers balances from "equity:opening | ||||
| balances". You can chose to print just one of the transactions by using | ||||
| the --opening or --closing flag. | ||||
| 
 | ||||
| If you split your journal files by time (eg yearly), you will typically | ||||
| run this command at the end of the year, and save the closing | ||||
| @ -21,34 +21,33 @@ loaded. Ie, if you load just one file, the balances are initialised | ||||
| correctly; or if you load several files, the redundant closing/opening | ||||
| transactions cancel each other out. (They will show up in print or | ||||
| register reports; you can exclude them with a query like | ||||
| `not:desc:'(opening|closing) balances'`.) | ||||
| not:desc:'(opening|closing) balances'.) | ||||
| 
 | ||||
| If you\'re running a business, you might also use this command to | ||||
| \"close the books\" at the end of an accounting period, transferring | ||||
| income statement account balances to retained earnings. (You may want to | ||||
| change the equity account name to something like \"equity:retained | ||||
| earnings\".) | ||||
| If you're running a business, you might also use this command to "close | ||||
| the books" at the end of an accounting period, transferring income | ||||
| statement account balances to retained earnings. (You may want to change | ||||
| the equity account name to something like "equity:retained earnings".) | ||||
| 
 | ||||
| By default, the closing transaction is dated yesterday, the balances are | ||||
| calculated as of end of yesterday, and the opening transaction is dated | ||||
| today. To close on some other date, use: `hledger close -e OPENINGDATE`. | ||||
| Eg, to close/open on the 2018/2019 boundary, use `-e 2019`. You can also | ||||
| use -p or `date:PERIOD` (any starting date is ignored). | ||||
| today. To close on some other date, use: hledger close -e OPENINGDATE. | ||||
| Eg, to close/open on the 2018/2019 boundary, use -e 2019. You can also | ||||
| use -p or date:PERIOD (any starting date is ignored). | ||||
| 
 | ||||
| Both transactions will include balance assertions for the | ||||
| closed/reopened accounts. You probably shouldn\'t use status or realness | ||||
| filters (like -C or -R or `status:`) with this command, or the generated | ||||
| closed/reopened accounts. You probably shouldn't use status or realness | ||||
| filters (like -C or -R or status:) with this command, or the generated | ||||
| balance assertions will depend on these flags. Likewise, if you run this | ||||
| command with \--auto, the balance assertions will probably always | ||||
| require \--auto. | ||||
| command with --auto, the balance assertions will probably always require | ||||
| --auto. | ||||
| 
 | ||||
| Examples: | ||||
| 
 | ||||
| Carrying asset/liability balances into a new file for 2019, all from | ||||
| command line: | ||||
| 
 | ||||
| *Warning: we use `>>` here to append; be careful not to type a single | ||||
| `>` which would wipe your journal!* | ||||
| _Warning: we use >> here to append; be careful not to type a single > | ||||
| which would wipe your journal!_ | ||||
| 
 | ||||
|     $ hledger close -f 2018.journal -e 2019 assets liabilities --opening >>2019.journal | ||||
|     $ hledger close -f 2018.journal -e 2019 assets liabilities --closing >>2018.journal | ||||
| @ -66,7 +65,7 @@ balance assertions: | ||||
|         expenses:food          5 | ||||
|         assets:bank:checking  -5  ; [2019/1/2] | ||||
| 
 | ||||
| Here\'s one way to resolve that: | ||||
| Here's one way to resolve that: | ||||
| 
 | ||||
|     ; in 2018.journal: | ||||
|     2018/12/30 a purchase made in 2018, clearing the following year | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| files\ | ||||
| files | ||||
| List all files included in the journal. With a REGEX argument, only file | ||||
| names matching the regular expression (case sensitive) are shown. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
|  | ||||
| @ -1,40 +1,35 @@ | ||||
| help\ | ||||
| help | ||||
| Show any of the hledger manuals. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| The `help` command displays any of the main [hledger | ||||
| manuals](/docs.html), in one of several ways. Run it with no argument to | ||||
| list the manuals, or provide a full or partial manual name to select | ||||
| one. | ||||
| The help command displays any of the main hledger manuals, in one of | ||||
| several ways. Run it with no argument to list the manuals, or provide a | ||||
| full or partial manual name to select one. | ||||
| 
 | ||||
| hledger manuals are available in several formats. hledger help will use | ||||
| the first of these display methods that it finds: info, man, \$PAGER, | ||||
| the first of these display methods that it finds: info, man, $PAGER, | ||||
| less, stdout (or when non-interactive, just stdout). You can force a | ||||
| particular viewer with the `--info`, `--man`, `--pager`, `--cat` flags. | ||||
| particular viewer with the --info, --man, --pager, --cat flags. | ||||
| 
 | ||||
| Examples: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger help | ||||
| Please choose a manual by typing "hledger help MANUAL" (a substring is ok). | ||||
| Manuals: hledger hledger-ui hledger-web hledger-api journal csv timeclock timedot | ||||
| ``` | ||||
|     $ hledger help | ||||
|     Please choose a manual by typing "hledger help MANUAL" (a substring is ok). | ||||
|     Manuals: hledger hledger-ui hledger-web hledger-api journal csv timeclock timedot | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger help h --man | ||||
|     $ hledger help h --man | ||||
| 
 | ||||
| hledger(1)                    hledger User Manuals                    hledger(1) | ||||
|     hledger(1)                    hledger User Manuals                    hledger(1) | ||||
| 
 | ||||
| NAME | ||||
|        hledger - a command-line accounting tool | ||||
|     NAME | ||||
|            hledger - a command-line accounting tool | ||||
| 
 | ||||
| SYNOPSIS | ||||
|        hledger [-f FILE] COMMAND [OPTIONS] [ARGS] | ||||
|        hledger [-f FILE] ADDONCMD -- [OPTIONS] [ARGS] | ||||
|        hledger | ||||
|     SYNOPSIS | ||||
|            hledger [-f FILE] COMMAND [OPTIONS] [ARGS] | ||||
|            hledger [-f FILE] ADDONCMD -- [OPTIONS] [ARGS] | ||||
|            hledger | ||||
| 
 | ||||
| DESCRIPTION | ||||
|        hledger  is  a  cross-platform  program  for tracking money, time, or any | ||||
| ... | ||||
| ``` | ||||
|     DESCRIPTION | ||||
|            hledger  is  a  cross-platform  program  for tracking money, time, or any | ||||
|     ... | ||||
|  | ||||
| @ -1,21 +1,19 @@ | ||||
| import\ | ||||
| import | ||||
| Read new transactions added to each FILE since last run, and add them to | ||||
| the main journal file. Or with \--dry-run, just print the transactions | ||||
| the main journal file. Or with --dry-run, just print the transactions | ||||
| that would be added. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| The input files are specified as arguments - no need to write -f before | ||||
| each one. So eg to add new transactions from all CSV files to the main | ||||
| journal, it\'s just: `hledger import *.csv` | ||||
| journal, it's just: hledger import *.csv | ||||
| 
 | ||||
| New transactions are detected in the same way as print \--new: by | ||||
| New transactions are detected in the same way as print --new: by | ||||
| assuming transactions are always added to the input files in increasing | ||||
| date order, and by saving `.latest.FILE` state files. | ||||
| date order, and by saving .latest.FILE state files. | ||||
| 
 | ||||
| The \--dry-run output is in journal format, so you can filter it, eg to | ||||
| The --dry-run output is in journal format, so you can filter it, eg to | ||||
| see only uncategorised transactions: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger import --dry ... | hledger -f- print unknown --ignore-assertions | ||||
| ``` | ||||
|     $ hledger import --dry ... | hledger -f- print unknown --ignore-assertions | ||||
|  | ||||
| @ -1,47 +1,42 @@ | ||||
| incomestatement, is\ | ||||
| incomestatement, is | ||||
| This command displays a simple income statement, showing revenues and | ||||
| expenses during a period. It assumes that these accounts are under a | ||||
| top-level `revenue` or `income` or `expense` account (case insensitive, | ||||
| plural forms also allowed). Note this report shows all account balances | ||||
| with normal positive sign (like conventional financial statements, | ||||
| unlike balance/print/register) (experimental). | ||||
| top-level revenue or income or expense account (case insensitive, plural | ||||
| forms also allowed). Note this report shows all account balances with | ||||
| normal positive sign (like conventional financial statements, unlike | ||||
| balance/print/register) (experimental). | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| This command displays a simple [income | ||||
| statement](http://en.wikipedia.org/wiki/Income_statement). It currently | ||||
| assumes that you have top-level accounts named `income` (or `revenue`) | ||||
| and `expense` (plural forms also allowed.) | ||||
| This command displays a simple income statement. It currently assumes | ||||
| that you have top-level accounts named income (or revenue) and expense | ||||
| (plural forms also allowed.) | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger incomestatement | ||||
| Income Statement | ||||
|     $ hledger incomestatement | ||||
|     Income Statement | ||||
| 
 | ||||
| Revenues: | ||||
|                  $-2  income | ||||
|                  $-1    gifts | ||||
|                  $-1    salary | ||||
| -------------------- | ||||
|                  $-2 | ||||
|     Revenues: | ||||
|                      $-2  income | ||||
|                      $-1    gifts | ||||
|                      $-1    salary | ||||
|     -------------------- | ||||
|                      $-2 | ||||
| 
 | ||||
| Expenses: | ||||
|                   $2  expenses | ||||
|                   $1    food | ||||
|                   $1    supplies | ||||
| -------------------- | ||||
|                   $2 | ||||
|     Expenses: | ||||
|                       $2  expenses | ||||
|                       $1    food | ||||
|                       $1    supplies | ||||
|     -------------------- | ||||
|                       $2 | ||||
| 
 | ||||
| Total: | ||||
| -------------------- | ||||
|                    0 | ||||
| ``` | ||||
|     Total: | ||||
|     -------------------- | ||||
|                        0 | ||||
| 
 | ||||
| With a [reporting interval](#reporting-interval), multiple columns will | ||||
| be shown, one for each report period. Normally incomestatement shows | ||||
| revenues/expenses per period, though as with [multicolumn balance | ||||
| reports](#multicolumn-balance-reports) you can alter the report mode | ||||
| with `--change`/`--cumulative`/`--historical`. | ||||
| With a reporting interval, multiple columns will be shown, one for each | ||||
| report period. Normally incomestatement shows revenues/expenses per | ||||
| period, though as with multicolumn balance reports you can alter the | ||||
| report mode with --change/--cumulative/--historical. | ||||
| 
 | ||||
| This command also supports [output | ||||
| destination](/manual.html#output-destination) and [output | ||||
| format](/manual.html#output-format) selection. | ||||
| This command also supports output destination and output format | ||||
| selection. | ||||
|  | ||||
| @ -1,8 +1,7 @@ | ||||
| prices\ | ||||
| Print [market price directives](/manual#market-prices) from the journal. | ||||
| With \--costs, also print synthetic market prices based on [transaction | ||||
| prices](/manual#transaction-prices). With \--inverted-costs, also print | ||||
| inverse prices based on transaction prices. Prices (and postings | ||||
| providing prices) can be filtered by a query. | ||||
| prices | ||||
| Print market price directives from the journal. With --costs, also print | ||||
| synthetic market prices based on transaction prices. With | ||||
| --inverted-costs, also print inverse prices based on transaction prices. | ||||
| Prices (and postings providing prices) can be filtered by a query. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
|  | ||||
| @ -1,105 +1,96 @@ | ||||
| print, txns, p\ | ||||
| print, txns, p | ||||
| Show transaction journal entries, sorted by date. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| The print command displays full journal entries (transactions) from the | ||||
| journal file in date order, tidily formatted. With \--date2, | ||||
| transactions are sorted by secondary date instead. | ||||
| journal file in date order, tidily formatted. With --date2, transactions | ||||
| are sorted by secondary date instead. | ||||
| 
 | ||||
| print\'s output is always a valid [hledger journal](/journal.html).\ | ||||
| print's output is always a valid hledger journal. | ||||
| It preserves all transaction information, but it does not preserve | ||||
| directives or inter-transaction comments | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger print | ||||
| 2008/01/01 income | ||||
|     assets:bank:checking            $1 | ||||
|     income:salary                  $-1 | ||||
|     $ hledger print | ||||
|     2008/01/01 income | ||||
|         assets:bank:checking            $1 | ||||
|         income:salary                  $-1 | ||||
| 
 | ||||
| 2008/06/01 gift | ||||
|     assets:bank:checking            $1 | ||||
|     income:gifts                   $-1 | ||||
|     2008/06/01 gift | ||||
|         assets:bank:checking            $1 | ||||
|         income:gifts                   $-1 | ||||
| 
 | ||||
| 2008/06/02 save | ||||
|     assets:bank:saving              $1 | ||||
|     assets:bank:checking           $-1 | ||||
|     2008/06/02 save | ||||
|         assets:bank:saving              $1 | ||||
|         assets:bank:checking           $-1 | ||||
| 
 | ||||
| 2008/06/03 * eat & shop | ||||
|     expenses:food                $1 | ||||
|     expenses:supplies            $1 | ||||
|     assets:cash                 $-2 | ||||
|     2008/06/03 * eat & shop | ||||
|         expenses:food                $1 | ||||
|         expenses:supplies            $1 | ||||
|         assets:cash                 $-2 | ||||
| 
 | ||||
| 2008/12/31 * pay off | ||||
|     liabilities:debts               $1 | ||||
|     assets:bank:checking           $-1 | ||||
| ``` | ||||
|     2008/12/31 * pay off | ||||
|         liabilities:debts               $1 | ||||
|         assets:bank:checking           $-1 | ||||
| 
 | ||||
| Normally, the journal entry\'s explicit or implicit amount style is | ||||
| Normally, the journal entry's explicit or implicit amount style is | ||||
| preserved. Ie when an amount is omitted in the journal, it will be | ||||
| omitted in the output. You can use the `-x`/`--explicit` flag to make | ||||
| all amounts explicit, which can be useful for troubleshooting or for | ||||
| making your journal more readable and robust against data entry errors. | ||||
| Note, `-x` will cause postings with a multi-commodity amount (these can | ||||
| arise when a multi-commodity transaction has an implicit amount) will be | ||||
| split into multiple single-commodity postings, for valid journal output. | ||||
| omitted in the output. You can use the -x/--explicit flag to make all | ||||
| amounts explicit, which can be useful for troubleshooting or for making | ||||
| your journal more readable and robust against data entry errors. Note, | ||||
| -x will cause postings with a multi-commodity amount (these can arise | ||||
| when a multi-commodity transaction has an implicit amount) will be split | ||||
| into multiple single-commodity postings, for valid journal output. | ||||
| 
 | ||||
| With `-B`/`--cost`, amounts with [transaction | ||||
| prices](/journal.html#transaction-prices) are converted to cost using | ||||
| that price. This can be used for troubleshooting. | ||||
| With -B/--cost, amounts with transaction prices are converted to cost | ||||
| using that price. This can be used for troubleshooting. | ||||
| 
 | ||||
| With `-m`/`--match` and a STR argument, print will show at most one | ||||
| With -m/--match and a STR argument, print will show at most one | ||||
| transaction: the one one whose description is most similar to STR, and | ||||
| is most recent. STR should contain at least two characters. If there is | ||||
| no similar-enough match, no transaction will be shown. | ||||
| 
 | ||||
| With `--new`, for each FILE being read, hledger reads (and writes) a | ||||
| special state file (`.latest.FILE` in the same directory), containing | ||||
| the latest transaction date(s) that were seen last time FILE was read. | ||||
| When this file is found, only transactions with newer dates (and new | ||||
| With --new, for each FILE being read, hledger reads (and writes) a | ||||
| special state file (.latest.FILE in the same directory), containing the | ||||
| latest transaction date(s) that were seen last time FILE was read. When | ||||
| this file is found, only transactions with newer dates (and new | ||||
| transactions on the latest date) are printed. This is useful for | ||||
| ignoring already-seen entries in import data, such as downloaded CSV | ||||
| files. Eg: | ||||
| 
 | ||||
| ``` {.console} | ||||
| $ hledger -f bank1.csv print --new | ||||
| # shows transactions added since last print --new on this file | ||||
| ``` | ||||
|     $ hledger -f bank1.csv print --new | ||||
|     # shows transactions added since last print --new on this file | ||||
| 
 | ||||
| This assumes that transactions added to FILE always have same or | ||||
| increasing dates, and that transactions on the same day do not get | ||||
| reordered. See also the [import](#import) command. | ||||
| reordered. See also the import command. | ||||
| 
 | ||||
| This command also supports [output | ||||
| destination](/manual.html#output-destination) and [output | ||||
| format](/manual.html#output-format) selection. Here\'s an example of | ||||
| print\'s CSV output: | ||||
| This command also supports output destination and output format | ||||
| selection. Here's an example of print's CSV output: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger print -Ocsv | ||||
| "txnidx","date","date2","status","code","description","comment","account","amount","commodity","credit","debit","posting-status","posting-comment" | ||||
| "1","2008/01/01","","","","income","","assets:bank:checking","1","$","","1","","" | ||||
| "1","2008/01/01","","","","income","","income:salary","-1","$","1","","","" | ||||
| "2","2008/06/01","","","","gift","","assets:bank:checking","1","$","","1","","" | ||||
| "2","2008/06/01","","","","gift","","income:gifts","-1","$","1","","","" | ||||
| "3","2008/06/02","","","","save","","assets:bank:saving","1","$","","1","","" | ||||
| "3","2008/06/02","","","","save","","assets:bank:checking","-1","$","1","","","" | ||||
| "4","2008/06/03","","*","","eat & shop","","expenses:food","1","$","","1","","" | ||||
| "4","2008/06/03","","*","","eat & shop","","expenses:supplies","1","$","","1","","" | ||||
| "4","2008/06/03","","*","","eat & shop","","assets:cash","-2","$","2","","","" | ||||
| "5","2008/12/31","","*","","pay off","","liabilities:debts","1","$","","1","","" | ||||
| "5","2008/12/31","","*","","pay off","","assets:bank:checking","-1","$","1","","","" | ||||
| ``` | ||||
|     $ hledger print -Ocsv | ||||
|     "txnidx","date","date2","status","code","description","comment","account","amount","commodity","credit","debit","posting-status","posting-comment" | ||||
|     "1","2008/01/01","","","","income","","assets:bank:checking","1","$","","1","","" | ||||
|     "1","2008/01/01","","","","income","","income:salary","-1","$","1","","","" | ||||
|     "2","2008/06/01","","","","gift","","assets:bank:checking","1","$","","1","","" | ||||
|     "2","2008/06/01","","","","gift","","income:gifts","-1","$","1","","","" | ||||
|     "3","2008/06/02","","","","save","","assets:bank:saving","1","$","","1","","" | ||||
|     "3","2008/06/02","","","","save","","assets:bank:checking","-1","$","1","","","" | ||||
|     "4","2008/06/03","","*","","eat & shop","","expenses:food","1","$","","1","","" | ||||
|     "4","2008/06/03","","*","","eat & shop","","expenses:supplies","1","$","","1","","" | ||||
|     "4","2008/06/03","","*","","eat & shop","","assets:cash","-2","$","2","","","" | ||||
|     "5","2008/12/31","","*","","pay off","","liabilities:debts","1","$","","1","","" | ||||
|     "5","2008/12/31","","*","","pay off","","assets:bank:checking","-1","$","1","","","" | ||||
| 
 | ||||
| -   There is one CSV record per posting, with the parent transaction\'s | ||||
| -   There is one CSV record per posting, with the parent transaction's | ||||
|     fields repeated. | ||||
| -   The \"txnidx\" (transaction index) field shows which postings belong | ||||
| -   The "txnidx" (transaction index) field shows which postings belong | ||||
|     to the same transaction. (This number might change if transactions | ||||
|     are reordered within the file, files are parsed/included in a | ||||
|     different order, etc.) | ||||
| -   The amount is separated into \"commodity\" (the symbol) and | ||||
|     \"amount\" (numeric quantity) fields. | ||||
| -   The numeric amount is repeated in either the \"credit\" or \"debit\" | ||||
| -   The amount is separated into "commodity" (the symbol) and "amount" | ||||
|     (numeric quantity) fields. | ||||
| -   The numeric amount is repeated in either the "credit" or "debit" | ||||
|     column, for convenience. (Those names are not accurate in the | ||||
|     accounting sense; it just puts negative amounts under credit and | ||||
|     zero or greater amounts under debit.) | ||||
|  | ||||
| @ -1,18 +1,16 @@ | ||||
| print-unique\ | ||||
| print-unique | ||||
| Print transactions which do not reuse an already-seen description. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| Example: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ cat unique.journal | ||||
| 1/1 test | ||||
|  (acct:one)  1 | ||||
| 2/2 test | ||||
|  (acct:two)  2 | ||||
| $ LEDGER_FILE=unique.journal hledger print-unique | ||||
| (-f option not supported) | ||||
| 2015/01/01 test | ||||
|     (acct:one)             1 | ||||
| ``` | ||||
|     $ cat unique.journal | ||||
|     1/1 test | ||||
|      (acct:one)  1 | ||||
|     2/2 test | ||||
|      (acct:two)  2 | ||||
|     $ LEDGER_FILE=unique.journal hledger print-unique | ||||
|     (-f option not supported) | ||||
|     2015/01/01 test | ||||
|         (acct:one)             1 | ||||
|  | ||||
| @ -110,3 +110,4 @@ $ hledger reg -w $COLUMNS,40      # use terminal width, and set description widt | ||||
| This command also supports | ||||
| [output destination](/manual.html#output-destination) and | ||||
| [output format](/manual.html#output-format) selection. | ||||
| 
 | ||||
|  | ||||
| @ -1,97 +1,87 @@ | ||||
| register, reg, r\ | ||||
| register, reg, r | ||||
| Show postings and their running total. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| The register command displays postings in date order, one per line, and | ||||
| their running total. This is typically used with a [query](#queries) | ||||
| selecting a particular account, to see that account\'s activity: | ||||
| their running total. This is typically used with a query selecting a | ||||
| particular account, to see that account's activity: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger register checking | ||||
| 2008/01/01 income               assets:bank:checking            $1            $1 | ||||
| 2008/06/01 gift                 assets:bank:checking            $1            $2 | ||||
| 2008/06/02 save                 assets:bank:checking           $-1            $1 | ||||
| 2008/12/31 pay off              assets:bank:checking           $-1             0 | ||||
| ``` | ||||
|     $ hledger register checking | ||||
|     2008/01/01 income               assets:bank:checking            $1            $1 | ||||
|     2008/06/01 gift                 assets:bank:checking            $1            $2 | ||||
|     2008/06/02 save                 assets:bank:checking           $-1            $1 | ||||
|     2008/12/31 pay off              assets:bank:checking           $-1             0 | ||||
| 
 | ||||
| With \--date2, it shows and sorts by secondary date instead. | ||||
| With --date2, it shows and sorts by secondary date instead. | ||||
| 
 | ||||
| The `--historical`/`-H` flag adds the balance from any undisplayed prior | ||||
| The --historical/-H flag adds the balance from any undisplayed prior | ||||
| postings to the running total. This is useful when you want to see only | ||||
| recent activity, with a historically accurate running balance: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger register checking -b 2008/6 --historical | ||||
| 2008/06/01 gift                 assets:bank:checking            $1            $2 | ||||
| 2008/06/02 save                 assets:bank:checking           $-1            $1 | ||||
| 2008/12/31 pay off              assets:bank:checking           $-1             0 | ||||
| ``` | ||||
|     $ hledger register checking -b 2008/6 --historical | ||||
|     2008/06/01 gift                 assets:bank:checking            $1            $2 | ||||
|     2008/06/02 save                 assets:bank:checking           $-1            $1 | ||||
|     2008/12/31 pay off              assets:bank:checking           $-1             0 | ||||
| 
 | ||||
| The `--depth` option limits the amount of sub-account detail displayed. | ||||
| The --depth option limits the amount of sub-account detail displayed. | ||||
| 
 | ||||
| The `--average`/`-A` flag shows the running average posting amount | ||||
| instead of the running total (so, the final number displayed is the | ||||
| average for the whole report period). This flag implies `--empty` (see | ||||
| below). It is affected by `--historical`. It works best when showing | ||||
| just one account and one commodity. | ||||
| The --average/-A flag shows the running average posting amount instead | ||||
| of the running total (so, the final number displayed is the average for | ||||
| the whole report period). This flag implies --empty (see below). It is | ||||
| affected by --historical. It works best when showing just one account | ||||
| and one commodity. | ||||
| 
 | ||||
| The `--related`/`-r` flag shows the *other* postings in the transactions | ||||
| of the postings which would normally be shown. | ||||
| The --related/-r flag shows the _other_ postings in the transactions of | ||||
| the postings which would normally be shown. | ||||
| 
 | ||||
| With a [reporting interval](#reporting-interval), register shows summary | ||||
| postings, one per interval, aggregating the postings to each account: | ||||
| With a reporting interval, register shows summary postings, one per | ||||
| interval, aggregating the postings to each account: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger register --monthly income | ||||
| 2008/01                 income:salary                          $-1           $-1 | ||||
| 2008/06                 income:gifts                           $-1           $-2 | ||||
| ``` | ||||
|     $ hledger register --monthly income | ||||
|     2008/01                 income:salary                          $-1           $-1 | ||||
|     2008/06                 income:gifts                           $-1           $-2 | ||||
| 
 | ||||
| Periods with no activity, and summary postings with a zero amount, are | ||||
| not shown by default; use the `--empty`/`-E` flag to see them: | ||||
| not shown by default; use the --empty/-E flag to see them: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger register --monthly income -E | ||||
| 2008/01                 income:salary                          $-1           $-1 | ||||
| 2008/02                                                          0           $-1 | ||||
| 2008/03                                                          0           $-1 | ||||
| 2008/04                                                          0           $-1 | ||||
| 2008/05                                                          0           $-1 | ||||
| 2008/06                 income:gifts                           $-1           $-2 | ||||
| 2008/07                                                          0           $-2 | ||||
| 2008/08                                                          0           $-2 | ||||
| 2008/09                                                          0           $-2 | ||||
| 2008/10                                                          0           $-2 | ||||
| 2008/11                                                          0           $-2 | ||||
| 2008/12                                                          0           $-2 | ||||
| ``` | ||||
|     $ hledger register --monthly income -E | ||||
|     2008/01                 income:salary                          $-1           $-1 | ||||
|     2008/02                                                          0           $-1 | ||||
|     2008/03                                                          0           $-1 | ||||
|     2008/04                                                          0           $-1 | ||||
|     2008/05                                                          0           $-1 | ||||
|     2008/06                 income:gifts                           $-1           $-2 | ||||
|     2008/07                                                          0           $-2 | ||||
|     2008/08                                                          0           $-2 | ||||
|     2008/09                                                          0           $-2 | ||||
|     2008/10                                                          0           $-2 | ||||
|     2008/11                                                          0           $-2 | ||||
|     2008/12                                                          0           $-2 | ||||
| 
 | ||||
| Often, you\'ll want to see just one line per interval. The `--depth` | ||||
| option helps with this, causing subaccounts to be aggregated: | ||||
| Often, you'll want to see just one line per interval. The --depth option | ||||
| helps with this, causing subaccounts to be aggregated: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger register --monthly assets --depth 1h | ||||
| 2008/01                 assets                                  $1            $1 | ||||
| 2008/06                 assets                                 $-1             0 | ||||
| 2008/12                 assets                                 $-1           $-1 | ||||
| ``` | ||||
|     $ hledger register --monthly assets --depth 1h | ||||
|     2008/01                 assets                                  $1            $1 | ||||
|     2008/06                 assets                                 $-1             0 | ||||
|     2008/12                 assets                                 $-1           $-1 | ||||
| 
 | ||||
| Note when using report intervals, if you specify start/end dates these | ||||
| will be adjusted outward if necessary to contain a whole number of | ||||
| intervals. This ensures that the first and last intervals are full | ||||
| length and comparable to the others in the report. | ||||
| 
 | ||||
| ### Custom register output | ||||
| Custom register output | ||||
| 
 | ||||
| register uses the full terminal width by default, except on windows. You | ||||
| can override this by setting the `COLUMNS` environment variable (not a | ||||
| bash shell variable) or by using the `--width`/`-w` option. | ||||
| can override this by setting the COLUMNS environment variable (not a | ||||
| bash shell variable) or by using the --width/-w option. | ||||
| 
 | ||||
| The description and account columns normally share the space equally | ||||
| (about half of (width - 40) each). You can adjust this by adding a | ||||
| description width as part of \--width\'s argument, comma-separated: | ||||
| `--width W,D` . Here\'s a diagram: | ||||
| description width as part of --width's argument, comma-separated: | ||||
| --width W,D . Here's a diagram: | ||||
| 
 | ||||
|     <--------------------------------- width (W) ----------------------------------> | ||||
|     date (10)  description (D)       account (W-41-D)     amount (12)   balance (12) | ||||
| @ -99,15 +89,12 @@ description width as part of \--width\'s argument, comma-separated: | ||||
| 
 | ||||
| and some examples: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger reg                     # use terminal width (or 80 on windows) | ||||
| $ hledger reg -w 100              # use width 100 | ||||
| $ COLUMNS=100 hledger reg         # set with one-time environment variable | ||||
| $ export COLUMNS=100; hledger reg # set till session end (or window resize) | ||||
| $ hledger reg -w 100,40           # set overall width 100, description width 40 | ||||
| $ hledger reg -w $COLUMNS,40      # use terminal width, and set description width | ||||
| ``` | ||||
|     $ hledger reg                     # use terminal width (or 80 on windows) | ||||
|     $ hledger reg -w 100              # use width 100 | ||||
|     $ COLUMNS=100 hledger reg         # set with one-time environment variable | ||||
|     $ export COLUMNS=100; hledger reg # set till session end (or window resize) | ||||
|     $ hledger reg -w 100,40           # set overall width 100, description width 40 | ||||
|     $ hledger reg -w $COLUMNS,40      # use terminal width, and set description width | ||||
| 
 | ||||
| This command also supports [output | ||||
| destination](/manual.html#output-destination) and [output | ||||
| format](/manual.html#output-format) selection. | ||||
| This command also supports output destination and output format | ||||
| selection. | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| register-match\ | ||||
| register-match | ||||
| Print the one posting whose transaction description is closest to DESC, | ||||
| in the style of the register command. If there are multiple equally good | ||||
| matches, it shows the most recent. Query options (options, not | ||||
| arguments) can be used to restrict the search space. Helps | ||||
| ledger-autosync detect already-seen transactions when importing. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
|  | ||||
| @ -1,15 +1,15 @@ | ||||
| rewrite\ | ||||
| rewrite | ||||
| Print all transactions, rewriting the postings of matched transactions. | ||||
| For now the only rewrite available is adding new postings, like print | ||||
| \--auto. | ||||
| --auto. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| This is a start at a generic rewriter of transaction entries. It reads | ||||
| the default journal and prints the transactions, like print, but adds | ||||
| one or more specified postings to any transactions matching QUERY. The | ||||
| posting amounts can be fixed, or a multiplier of the existing | ||||
| transaction\'s first posting amount. | ||||
| transaction's first posting amount. | ||||
| 
 | ||||
| Examples: | ||||
| 
 | ||||
| @ -29,116 +29,100 @@ spaces between account and amount. | ||||
| 
 | ||||
| More: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger rewrite -- [QUERY]        --add-posting "ACCT  AMTEXPR" ... | ||||
| $ hledger rewrite -- ^income        --add-posting '(liabilities:tax)  *.33' | ||||
| $ hledger rewrite -- expenses:gifts --add-posting '(budget:gifts)  *-1"' | ||||
| $ hledger rewrite -- ^income        --add-posting '(budget:foreign currency)  *0.25 JPY; diversify' | ||||
| ``` | ||||
|     $ hledger rewrite -- [QUERY]        --add-posting "ACCT  AMTEXPR" ... | ||||
|     $ hledger rewrite -- ^income        --add-posting '(liabilities:tax)  *.33' | ||||
|     $ hledger rewrite -- expenses:gifts --add-posting '(budget:gifts)  *-1"' | ||||
|     $ hledger rewrite -- ^income        --add-posting '(budget:foreign currency)  *0.25 JPY; diversify' | ||||
| 
 | ||||
| Argument for `--add-posting` option is a usual posting of transaction | ||||
| with an exception for amount specification. More precisely, you can use | ||||
| `'*'` (star symbol) before the amount to indicate that that this is a | ||||
| factor for an amount of original matched posting. If the amount includes | ||||
| a commodity name, the new posting amount will be in the new commodity; | ||||
| otherwise, it will be in the matched posting amount\'s commodity. | ||||
| Argument for --add-posting option is a usual posting of transaction with | ||||
| an exception for amount specification. More precisely, you can use '*' | ||||
| (star symbol) before the amount to indicate that that this is a factor | ||||
| for an amount of original matched posting. If the amount includes a | ||||
| commodity name, the new posting amount will be in the new commodity; | ||||
| otherwise, it will be in the matched posting amount's commodity. | ||||
| 
 | ||||
| #### Re-write rules in a file | ||||
| Re-write rules in a file | ||||
| 
 | ||||
| During the run this tool will execute so called [\"Automated | ||||
| Transactions\"](http://ledger-cli.org/3.0/doc/ledger3.html#Automated-Transactions) | ||||
| During the run this tool will execute so called "Automated Transactions" | ||||
| found in any journal it process. I.e instead of specifying this | ||||
| operations in command line you can put them in a journal file. | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ rewrite-rules.journal | ||||
| ``` | ||||
|     $ rewrite-rules.journal | ||||
| 
 | ||||
| Make contents look like this: | ||||
| 
 | ||||
| ``` {.journal} | ||||
| = ^income | ||||
|     (liabilities:tax)  *.33 | ||||
|     = ^income | ||||
|         (liabilities:tax)  *.33 | ||||
| 
 | ||||
| = expenses:gifts | ||||
|     budget:gifts  *-1 | ||||
|     assets:budget  *1 | ||||
| ``` | ||||
|     = expenses:gifts | ||||
|         budget:gifts  *-1 | ||||
|         assets:budget  *1 | ||||
| 
 | ||||
| Note that `'='` (equality symbol) that is used instead of date in | ||||
| Note that '=' (equality symbol) that is used instead of date in | ||||
| transactions you usually write. It indicates the query by which you want | ||||
| to match the posting to add new ones. | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger rewrite -- -f input.journal -f rewrite-rules.journal > rewritten-tidy-output.journal | ||||
| ``` | ||||
|     $ hledger rewrite -- -f input.journal -f rewrite-rules.journal > rewritten-tidy-output.journal | ||||
| 
 | ||||
| This is something similar to the commands pipeline: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger rewrite -- -f input.journal '^income' --add-posting '(liabilities:tax)  *.33' \ | ||||
|   | hledger rewrite -- -f - expenses:gifts      --add-posting 'budget:gifts  *-1'       \ | ||||
|                                                 --add-posting 'assets:budget  *1'       \ | ||||
|   > rewritten-tidy-output.journal | ||||
| ``` | ||||
|     $ hledger rewrite -- -f input.journal '^income' --add-posting '(liabilities:tax)  *.33' \ | ||||
|       | hledger rewrite -- -f - expenses:gifts      --add-posting 'budget:gifts  *-1'       \ | ||||
|                                                     --add-posting 'assets:budget  *1'       \ | ||||
|       > rewritten-tidy-output.journal | ||||
| 
 | ||||
| It is important to understand that relative order of such entries in | ||||
| journal is important. You can re-use result of previously added | ||||
| postings. | ||||
| 
 | ||||
| #### Diff output format | ||||
| Diff output format | ||||
| 
 | ||||
| To use this tool for batch modification of your journal files you may | ||||
| find useful output in form of unified diff. | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger rewrite -- --diff -f examples/sample.journal '^income' --add-posting '(liabilities:tax)  *.33' | ||||
| ``` | ||||
|     $ hledger rewrite -- --diff -f examples/sample.journal '^income' --add-posting '(liabilities:tax)  *.33' | ||||
| 
 | ||||
| Output might look like: | ||||
| 
 | ||||
| ``` {.diff} | ||||
| --- /tmp/examples/sample.journal | ||||
| +++ /tmp/examples/sample.journal | ||||
| @@ -18,3 +18,4 @@ | ||||
|  2008/01/01 income | ||||
| -    assets:bank:checking  $1 | ||||
| +    assets:bank:checking            $1 | ||||
|      income:salary | ||||
| +    (liabilities:tax)                0 | ||||
| @@ -22,3 +23,4 @@ | ||||
|  2008/06/01 gift | ||||
| -    assets:bank:checking  $1 | ||||
| +    assets:bank:checking            $1 | ||||
|      income:gifts | ||||
| +    (liabilities:tax)                0 | ||||
| ``` | ||||
|     --- /tmp/examples/sample.journal | ||||
|     +++ /tmp/examples/sample.journal | ||||
|     @@ -18,3 +18,4 @@ | ||||
|      2008/01/01 income | ||||
|     -    assets:bank:checking  $1 | ||||
|     +    assets:bank:checking            $1 | ||||
|          income:salary | ||||
|     +    (liabilities:tax)                0 | ||||
|     @@ -22,3 +23,4 @@ | ||||
|      2008/06/01 gift | ||||
|     -    assets:bank:checking  $1 | ||||
|     +    assets:bank:checking            $1 | ||||
|          income:gifts | ||||
|     +    (liabilities:tax)                0 | ||||
| 
 | ||||
| If you\'ll pass this through `patch` tool you\'ll get transactions | ||||
| If you'll pass this through patch tool you'll get transactions | ||||
| containing the posting that matches your query be updated. Note that | ||||
| multiple files might be update according to list of input files | ||||
| specified via `--file` options and `include` directives inside of these | ||||
| specified via --file options and include directives inside of these | ||||
| files. | ||||
| 
 | ||||
| Be careful. Whole transaction being re-formatted in a style of output | ||||
| from `hledger print`. | ||||
| from hledger print. | ||||
| 
 | ||||
| See also: | ||||
| 
 | ||||
| https://github.com/simonmichael/hledger/issues/99 | ||||
| 
 | ||||
| #### rewrite vs. print \--auto | ||||
| rewrite vs. print --auto | ||||
| 
 | ||||
| This command predates print \--auto, and currently does much the same | ||||
| This command predates print --auto, and currently does much the same | ||||
| thing, but with these differences: | ||||
| 
 | ||||
| -   with multiple files, rewrite lets rules in any file affect all other | ||||
|     files. print \--auto uses standard directive scoping; rules affect | ||||
|     files. print --auto uses standard directive scoping; rules affect | ||||
|     only child files. | ||||
| 
 | ||||
| -   rewrite\'s query limits which transactions can be rewritten; all are | ||||
|     printed. print \--auto\'s query limits which transactions are | ||||
|     printed. | ||||
| -   rewrite's query limits which transactions can be rewritten; all are | ||||
|     printed. print --auto's query limits which transactions are printed. | ||||
| 
 | ||||
| -   rewrite applies rules specified on command line or in the journal. | ||||
|     print \--auto applies rules specified in the journal. | ||||
|     print --auto applies rules specified in the journal. | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| roi\ | ||||
| roi | ||||
| Shows the time-weighted (TWR) and money-weighted (IRR) rate of return on | ||||
| your investments. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| This command assumes that you have account(s) that hold nothing but your | ||||
| investments and whenever you record current appraisal/valuation of these | ||||
| @ -14,8 +14,8 @@ originating from unrealized profit and loss account(s) are assumed to be | ||||
| your investments or withdrawals. | ||||
| 
 | ||||
| At a minimum, you need to supply a query (which could be just an account | ||||
| name) to select your investments with `--inv`, and another query to | ||||
| identify your profit and loss transactions with `--pnl`. | ||||
| name) to select your investments with --inv, and another query to | ||||
| identify your profit and loss transactions with --pnl. | ||||
| 
 | ||||
| It will compute and display the internalized rate of return (IRR) and | ||||
| time-weighted rate of return (TWR) for your investments for the time | ||||
|  | ||||
| @ -1,28 +1,25 @@ | ||||
| stats\ | ||||
| stats | ||||
| Show some journal statistics. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| The stats command displays summary information for the whole journal, or | ||||
| a matched part of it. With a [reporting interval](#reporting-interval), | ||||
| it shows a report for each report period. | ||||
| a matched part of it. With a reporting interval, it shows a report for | ||||
| each report period. | ||||
| 
 | ||||
| Example: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| $ hledger stats | ||||
| Main journal file        : /src/hledger/examples/sample.journal | ||||
| Included journal files   :  | ||||
| Transactions span        : 2008-01-01 to 2009-01-01 (366 days) | ||||
| Last transaction         : 2008-12-31 (2333 days ago) | ||||
| Transactions             : 5 (0.0 per day) | ||||
| Transactions last 30 days: 0 (0.0 per day) | ||||
| Transactions last 7 days : 0 (0.0 per day) | ||||
| Payees/descriptions      : 5 | ||||
| Accounts                 : 8 (depth 3) | ||||
| Commodities              : 1 ($) | ||||
| ``` | ||||
|     $ hledger stats | ||||
|     Main journal file        : /src/hledger/examples/sample.journal | ||||
|     Included journal files   :  | ||||
|     Transactions span        : 2008-01-01 to 2009-01-01 (366 days) | ||||
|     Last transaction         : 2008-12-31 (2333 days ago) | ||||
|     Transactions             : 5 (0.0 per day) | ||||
|     Transactions last 30 days: 0 (0.0 per day) | ||||
|     Transactions last 7 days : 0 (0.0 per day) | ||||
|     Payees/descriptions      : 5 | ||||
|     Accounts                 : 8 (depth 3) | ||||
|     Commodities              : 1 ($) | ||||
| 
 | ||||
| This command also supports [output | ||||
| destination](/manual.html#output-destination) and [output | ||||
| format](/manual.html#output-format) selection. | ||||
| This command also supports output destination and output format | ||||
| selection. | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| tags\ | ||||
| tags | ||||
| List all the tag names used in the journal. With a TAGREGEX argument, | ||||
| only tag names matching the regular expression (case insensitive) are | ||||
| shown. With QUERY arguments, only transactions matching the query are | ||||
| considered. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| test\ | ||||
| test | ||||
| Run built-in unit tests. | ||||
| 
 | ||||
| *FLAGS* | ||||
| _FLAGS_ | ||||
| 
 | ||||
| This command runs the unit tests built in to hledger-lib and hledger, | ||||
| printing test names and results on stdout. If any test fails, the exit | ||||
| @ -15,7 +15,7 @@ If a numeric second argument is provided, it will set the randomness | ||||
| seed, for repeatable results from tests using randomness (currently none | ||||
| of them). | ||||
| 
 | ||||
| This is mainly used by developers, but it\'s nice to be able to | ||||
| This is mainly used by developers, but it's nice to be able to | ||||
| sanity-check your installed hledger executable at any time. All tests | ||||
| are expected to pass - if you ever see otherwise, something has gone | ||||
| wrong, please report a bug! | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user