doc: update/style tutorial
This commit is contained in:
		
							parent
							
								
									7a8f813d2f
								
							
						
					
					
						commit
						5e7fd191f2
					
				| @ -48,7 +48,12 @@ pre { | ||||
| .shell::first-line { | ||||
| 		font-weight:bold; | ||||
| } | ||||
| .nobold::first-line { | ||||
| .shell.continued { | ||||
| 		background-color:white; | ||||
| 		border-top:none; | ||||
| 		border-top-left-radius:0; | ||||
| } | ||||
| .shell.continued::first-line, .nobold::first-line { | ||||
| 		font-weight:normal; | ||||
| } | ||||
| .bold { | ||||
|  | ||||
| @ -15,7 +15,7 @@ You'll need: | ||||
| 
 | ||||
| 1. A basic understanding of the command line, text file editing, and regular expressions. Or, the ability to ask for help on the IRC channel. | ||||
| 
 | ||||
| 2. hledger (see [Download](download.html)). These exercises were last tested with: hledger 0.23dev-20140212. | ||||
| 2. hledger (see [Download](download.html)). These exercises were last tested with: hledger 0.25.1. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @ -25,7 +25,7 @@ You'll need: | ||||
| 
 | ||||
| Get a command prompt, and run hledger to check the version. It should be reasonably [up to date](release-notes.html): | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ hledger --version | ||||
| hledger 0.23 | ||||
| ``` | ||||
| @ -37,7 +37,7 @@ hledger 0.23 | ||||
| hledger reads financial transactions from a "journal file" (so named because it represents a [General Journal](http://en.wikipedia.org/wiki/General_Journal)). | ||||
| The default journal file is in your home directory; check its path using the [stats](manual.html#stats) command. | ||||
| You should see something like: | ||||
| ``` | ||||
| ```shell | ||||
| $ hledger stats | ||||
| The hledger journal file "/home/YOU/.hledger.journal" was not found. | ||||
| Please create it first, eg with "hledger add" or a text editor. | ||||
| @ -54,34 +54,33 @@ Follow the help and use the [add](manual.html#add) command to record your first | ||||
| an imaginary purchase at the supermarket. | ||||
| We'll go through this in detail. Later you'll learn other ways to enter data. | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ hledger add | ||||
| Creating hledger journal file "/home/YOU/.hledger.journal". | ||||
| Adding transactions to journal file /home/YOU/.hledger.journal | ||||
| Provide field values at the prompts, or press enter to accept defaults. | ||||
| Use readline keys to edit, use tab key to complete account names. | ||||
| A code (in parentheses) may be entered following transaction dates. | ||||
| A comment may be entered following descriptions or amounts. | ||||
| 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 complete a transaction, enter . when prompted. | ||||
| To quit, press control-d or control-c. | ||||
| 
 | ||||
| Starting a new transaction. | ||||
| date ? [2014/02/12]:  | ||||
| To end a transaction, enter . when prompted. | ||||
| To quit, enter . at a date prompt or press control-d or control-c. | ||||
| Date [2015/05/25]: | ||||
| ``` | ||||
| 
 | ||||
| `add` prompts for each transaction field. The first is the date. | ||||
| The value in square brackets is the suggested default (today's date). Press enter to accept it. | ||||
| 
 | ||||
| ``` | ||||
| description ? : trip to the supermarket | ||||
| ```{.shell .continued} | ||||
| Description: trip to the supermarket | ||||
| ``` | ||||
| 
 | ||||
| Transactions have an optional description (a single line of text) to help you understand them. | ||||
| You can describe the transaction here, or put a payee name, or leave it blank.  | ||||
| Type `trip to the supermarket` and press enter. | ||||
| 
 | ||||
| ``` | ||||
| account 1 ? : expenses | ||||
| ```{.shell .continued} | ||||
| Account 1: expenses | ||||
| ``` | ||||
| 
 | ||||
| Transactions have two or more accounts. Keep it simple; just enter `expenses` for the first one. | ||||
| @ -91,20 +90,20 @@ A purchase is a transfer of money from an asset account to an expense account. | ||||
| An asset is something you own, like some money in a bank account or in your pocket. | ||||
| Once the money has been "moved" to an expense, you no longer own it, but the increasing balance in the expense account reminds you where it went. | ||||
| 
 | ||||
| ``` | ||||
| amount  1 ? : $10 | ||||
| ```{.shell .continued} | ||||
| Amount  1: $10 | ||||
| ``` | ||||
| 
 | ||||
| The amount being "moved" to `expenses`. In this case 10 US dollars. | ||||
| 
 | ||||
| ``` | ||||
| account 2 ? : assets | ||||
| ```{.shell .continued} | ||||
| Account 2: assets | ||||
| ``` | ||||
| 
 | ||||
| Next, specify which account the money comes from. Just say `assets`. | ||||
| 
 | ||||
| ``` | ||||
| amount  2 ? [$-10.0]:  | ||||
| ```{.shell .continued} | ||||
| Amount  2 ? [$-10.0]:  | ||||
| ``` | ||||
| 
 | ||||
| Now you're asked for the amount to "move" to or from the `assets` account. | ||||
| @ -115,19 +114,18 @@ In a balanced transaction, the sum of posted amounts is zero, in other words no | ||||
| hledger does not allow unbalanced transactions. | ||||
| Press enter to accept the default. It has an extra decimal place, but never mind. | ||||
| 
 | ||||
| ``` | ||||
| account 3 (or . to complete this transaction) ? : . | ||||
| ```{.shell .continued} | ||||
| Account 3 (or . to finish this transaction): . | ||||
| ``` | ||||
| 
 | ||||
| Type `.` (period) and press enter. | ||||
| 
 | ||||
| ``` | ||||
| Transaction entered: | ||||
| 2014/02/12 trip to the supermarket | ||||
| ```{.shell .continued} | ||||
| 2015/05/25 trip to the supermarket | ||||
|     expenses           $10 | ||||
|     assets          $-10.0 | ||||
| 
 | ||||
| Accept this transaction ? [y]: | ||||
| Save this transaction to the journal ? [y]: | ||||
| ``` | ||||
| 
 | ||||
| You are given a chance to review the transaction just entered. | ||||
| @ -138,12 +136,10 @@ two or more spaces, and an amount. | ||||
| (Account names can contain spaces, so at least two spaces are needed to separate them from the amount.) | ||||
| Press enter. | ||||
| 
 | ||||
| ``` | ||||
| Added to the journal. | ||||
| 
 | ||||
| Starting a new transaction. | ||||
| date ? [2014/02/12]: <CTRL-D> | ||||
| $ | ||||
| ```{.shell .continued} | ||||
| Saved. | ||||
| Starting the next transaction (. or ctrl-D/ctrl-C to quit) | ||||
| Date [2015/05/25]: <CTRL-D> | ||||
| ``` | ||||
| 
 | ||||
| hledger has saved it to the journal file and is ready for the next | ||||
| @ -151,12 +147,12 @@ entry.  Press control-d (on Windows, control-c) once to exit. | ||||
| 
 | ||||
| `stats` should now report that your journal exists and contains one transaction: | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ hledger stats | ||||
| Main journal file        : /home/YOU/.hledger.journal | ||||
| Included journal files   :  | ||||
| Transactions span        : 2014-02-12 to 2014-02-13 (1 days) | ||||
| Last transaction         : 2014-02-12 (0 days ago) | ||||
| Transactions span        : 2015-05-25 to 2015-05-26 (1 days) | ||||
| Last transaction         : 2015-05-25 (0 days ago) | ||||
| Transactions             : 1 (1.0 per day) | ||||
| Transactions last 30 days: 1 (0.0 per day) | ||||
| Transactions last 7 days : 1 (0.1 per day) | ||||
| @ -170,23 +166,25 @@ Commodities              : 1 ($) | ||||
| The [print](manual.html#print) command shows a tidied-up view of the transaction entries in your journal. | ||||
| Since there's just one so far, you should see: | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ hledger print | ||||
| 2014/02/12 trip to the supermarket | ||||
| 2015/05/25 trip to the supermarket | ||||
|     expenses           $10 | ||||
|     assets            $-10 | ||||
| 
 | ||||
| ``` | ||||
| 
 | ||||
| ### Examine your journal file | ||||
| 
 | ||||
| List and print the journal file (on Windows, use `dir` and `type` and the file path from `hledger stats`): | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ ls -l ~/.hledger.journal | ||||
| -rw-rw-r-- 1 YOU YOU 74 Feb 12 08:10 /home/YOU/.hledger.journal | ||||
| -rw-r--r--  1 YOU  YOU  114 May 25 16:55 /home/YOU/.hledger.journal | ||||
| $ cat ~/.hledger.journal | ||||
| ; journal created 2015-05-25 by hledger | ||||
| 
 | ||||
| 2014/02/12 trip to the supermarket | ||||
| 2015/05/25 trip to the supermarket | ||||
|     expenses           $10 | ||||
|     assets | ||||
| ``` | ||||
| @ -205,13 +203,13 @@ Only one missing amount is allowed in each transaction. | ||||
| Since the journal file is plain text, you can edit it directly with any text editor. | ||||
| Edit the file and change it to test whether two missing amounts is reported as an error. Eg: | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ emacs ~/.hledger.journal | ||||
| ``` | ||||
| 
 | ||||
| Remove the expenses amount and save the file. It now looks like this: | ||||
| 
 | ||||
| ``` | ||||
| ```journal | ||||
| 2014/02/12 trip to the supermarket | ||||
|     expenses            | ||||
|     assets | ||||
| @ -219,13 +217,13 @@ Remove the expenses amount and save the file. It now looks like this: | ||||
| 
 | ||||
| Running `print` again, you should see: | ||||
| 
 | ||||
| ``` | ||||
| $ hledger print | ||||
| ```shell | ||||
| hledger: could not balance this transaction (can't have more than one missing amount; remember to put 2 or more spaces before amounts) | ||||
| 2014/02/12 trip to the supermarket | ||||
| 2015/05/25 trip to the supermarket | ||||
|     expenses | ||||
|     assets | ||||
| 
 | ||||
| 
 | ||||
| ``` | ||||
| 
 | ||||
| All hledger commands expect the journal to be well-formed, and will report an error and exit otherwise. | ||||
| @ -236,9 +234,9 @@ Notice the last part of that error message: "`... remember to put 2 or more spac | ||||
| Another cause of this error is forgetting to put two spaces before the | ||||
| amount, like this: | ||||
| 
 | ||||
| ``` | ||||
| 2014/02/12 trip to the supermarket | ||||
|     expenses $10  ; <- only one space between expenses and $10 - need at least two | ||||
| ```journal | ||||
| 2015/05/25 trip to the supermarket | ||||
|     expenses $10  ; <- problem: only one space between expenses and $10 | ||||
|     assets | ||||
| ``` | ||||
| 
 | ||||
| @ -250,27 +248,36 @@ amount.  So remember: two or more spaces. | ||||
| 
 | ||||
| Edit the file to look like this: | ||||
| 
 | ||||
| ``` | ||||
| 2014/02/12 trip to the supermarket | ||||
|     expenses        $10 | ||||
|     assets          $10 | ||||
| ```journal | ||||
| 2015/05/25 trip to the supermarket | ||||
|     expenses           $10 | ||||
|     assets             $10  ; <- deliberate problem: both amounts are positive | ||||
| ``` | ||||
| 
 | ||||
| Here, we wrote both posting amounts but got the sign wrong on one of them, so they don't add up to zero. | ||||
| hledger should detect this mistake. Verify it by running some command, eg `print`. You should see: | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ hledger print | ||||
| hledger: could not balance this transaction (real postings are off by $20) | ||||
| 2014/02/12 trip to the supermarket | ||||
| 2015/05/25 trip to the supermarket | ||||
|     expenses           $10 | ||||
|     assets             $10 | ||||
| 
 | ||||
| 
 | ||||
| ``` | ||||
| 
 | ||||
| That makes sense. (It calls them "real" postings because there are some other kinds of posting you haven't learned about yet; they aren't important.) | ||||
| 
 | ||||
| Correct the mistake by adding the minus sign, or just removing the assets amount entirely, and verify | ||||
| that `print` works again. | ||||
| that `print` works again: | ||||
| ```shell | ||||
| $ hledger print | ||||
| 2015/05/25 trip to the supermarket | ||||
|     expenses           $10 | ||||
|     assets            $-10 | ||||
| 
 | ||||
| ``` | ||||
| 
 | ||||
| ### Record a transaction by editing | ||||
| 
 | ||||
| @ -278,26 +285,26 @@ Edit the file again and manually add a second purchase transaction. | ||||
| It's often quickest to copy & paste a similar entry, then change it. | ||||
| Make the file look like this: | ||||
| 
 | ||||
| ``` | ||||
| 2014/02/12 trip to the supermarket | ||||
| ```journal | ||||
| 2015/05/25 trip to the supermarket | ||||
|     expenses           $10 | ||||
|     assets | ||||
|     assets            $-10 | ||||
| 
 | ||||
| 2014/02/13 forgot the bread | ||||
|     expenses           $5 | ||||
| 2015/05/26 forgot the bread | ||||
|     expenses            $5 | ||||
|     assets | ||||
| ``` | ||||
| 
 | ||||
| The blank line between transactions is customary, though not required. | ||||
| Test your work with `print`. You should see: | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ hledger print | ||||
| 2014/02/12 trip to the supermarket | ||||
| 2015/05/25 trip to the supermarket | ||||
|     expenses           $10 | ||||
|     assets            $-10 | ||||
| 
 | ||||
| 2014/02/13 forgot the bread | ||||
| 2015/05/26 forgot the bread | ||||
|     expenses            $5 | ||||
|     assets             $-5 | ||||
| 
 | ||||
| @ -309,12 +316,12 @@ The [register](manual.html#register) command shows transactions in a different f | ||||
| Remember, a posting is an increase or decrease of some account by some amount, and a transaction contains two or more of them. | ||||
| Run `register` and compare with the output of `print` above. You should see: | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ hledger register | ||||
| 2014/02/12 trip to the super..  expenses                       $10           $10 | ||||
|                                 assets                        $-10             0 | ||||
| 2014/02/13 forgot the bread     expenses                        $5            $5 | ||||
|                                 assets                         $-5             0 | ||||
| 2015/05/25 trip to the supermarket  expenses                          $10           $10 | ||||
|                                     assets                           $-10             0 | ||||
| 2015/05/26 forgot the bread         expenses                           $5            $5 | ||||
|                                     assets                            $-5             0 | ||||
| ``` | ||||
| 
 | ||||
| Postings are displayed one per line. | ||||
| @ -330,22 +337,24 @@ The register report is more useful when we restrict it to a subset of postings - | ||||
| say, only the postings within a single account. | ||||
| You can do this by specifying the account name as a command line argument. | ||||
| 
 | ||||
| Run a register report for the `expenses` account. You should see: | ||||
| Run a register report for the `expenses` account. You should see something like the below. | ||||
| (On POSIX platforms, this command uses the terminal width so the output may look slightly different. | ||||
| You can force it to look like the below by running `export COLUMNS=80` first: | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ hledger register expenses | ||||
| 2014/02/12 trip to the super..  expenses                       $10           $10 | ||||
| 2014/02/13 forgot the bread     expenses                        $5           $15 | ||||
| 2015/05/25 trip to the super..  expenses                       $10           $10 | ||||
| 2015/05/26 forgot the bread     expenses                        $5           $15 | ||||
| ``` | ||||
| 
 | ||||
| Now it's clear that your `expenses` balance - ie, the total amount spent - has increased to $15. | ||||
| 
 | ||||
| Your `assets` balance should have dropped accordingly. Check it: | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ hledger register assets | ||||
| 2014/02/12 trip to the super..  assets                        $-10          $-10 | ||||
| 2014/02/13 forgot the bread     assets                         $-5          $-15 | ||||
| 2015/05/25 trip to the super..  assets                        $-10          $-10 | ||||
| 2015/05/26 forgot the bread     assets                         $-5          $-15 | ||||
| ``` | ||||
| 
 | ||||
| ### Query expressions | ||||
| @ -359,31 +368,31 @@ So "`e`" would match both `expenses` and `assets`. | ||||
| 
 | ||||
| And if you had an account named `other assets`, "`assets`" would also match that, so to match only the `assets` | ||||
| account you'd need a more precise pattern like "`^assets$`". | ||||
| If this doesn't make sense, read a little about regular expressions. | ||||
| In a regular expression `^` means "match at the beginning" and `$` means "match at the end". | ||||
| (In a regular expression `^` means "match at the beginning" and `$` means "match at the end".) | ||||
| If this doesn't make sense, read a little about [regular expressions](manual.html#regular-expressions). | ||||
| 
 | ||||
| Multiple query arguments are ANDed and ORed together in a fixed way - follow the link for details. | ||||
| Basically queries on the same field are ORed, and queries on different fields are ANDed. | ||||
| 
 | ||||
| Run the following examples and make sure they make sense, consulting the manual as needed. | ||||
| 
 | ||||
| Show only transactions whose description contains the regular expression "`bread`": | ||||
| 
 | ||||
| ``` | ||||
| $ hledger print desc:bread | ||||
| 2014/02/13 forgot the bread | ||||
| Show only transactions whose description ends with "bread": | ||||
| ```shell | ||||
| $ hledger print desc:bread$ | ||||
| 2015/05/26 forgot the bread | ||||
|     expenses            $5 | ||||
|     assets             $-5 | ||||
| 
 | ||||
| ``` | ||||
| 
 | ||||
| Show only postings on or after a certain date to an account whose name ends with "es": | ||||
| ``` | ||||
| $ hledger register date:2014/2/13- 'es$' | ||||
| 2014/02/13 forgot the bread     expenses                        $5            $5 | ||||
| ``` | ||||
| <!-- Note how the account-matching pattern `es$` needs to be quoted here, --> | ||||
| <!-- because it contains the regular expression metacharacter `$` which would otherwise be interpreted by the unix shell. --> | ||||
| 
 | ||||
| Note how the account-matching pattern `es$` needs to be quoted here, | ||||
| because it contains the regular expression metacharacter `$` which would otherwise be interpreted by the unix shell. | ||||
| Show only postings on or after a certain date to an account whose name contains "exp": | ||||
| ```shell | ||||
| $ hledger register date:2015/5/26- exp | ||||
| 2015/05/26 forgot the bread     expenses                        $5            $5 | ||||
| ``` | ||||
| 
 | ||||
| ### Show accounts and their balances with "hledger balance" | ||||
| 
 | ||||
| @ -391,7 +400,8 @@ The third of hledger's three core reporting commands is [balance](manual.html#ba | ||||
| Use it to list all the accounts posted to, and their ending balance. | ||||
| You should see account balances agreeing with the final running total in the register reports above: | ||||
| 
 | ||||
| ``` | ||||
| ```{.shell .nobold} | ||||
| $ hledger balance | ||||
|                 $-15  assets | ||||
|                  $15  expenses | ||||
| -------------------- | ||||
| @ -401,7 +411,7 @@ You should see account balances agreeing with the final running total in the reg | ||||
| The overall total of these balances is also shown. As with other reports, you can use a query expression to select a subset of the data to report on. | ||||
| Eg: | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ hledger balance assets | ||||
|                 $-15  assets | ||||
| -------------------- | ||||
| @ -411,8 +421,8 @@ $ hledger balance assets | ||||
| ### balance shows the sum of matched posting amounts | ||||
| 
 | ||||
| Here's a balance report based only on the postings dated 2013/2/13: | ||||
| ``` | ||||
| $ hledger balance date:2014/2/13 | ||||
| ```shell | ||||
| $ hledger balance date:2015/5/26 | ||||
|                  $-5  assets | ||||
|                   $5  expenses | ||||
| -------------------- | ||||
| @ -424,9 +434,9 @@ real-world account balance, rather it shows the sum of the postings | ||||
| you have selected. | ||||
| If you're not sure what those are, run a `register` report with the same arguments to see them: | ||||
| 
 | ||||
| ``` | ||||
| $ hledger register date:2014/2/13 | ||||
| 2014/02/13 forgot the bread     expenses                        $5            $5 | ||||
| ```shell | ||||
| $ hledger register date:2015/5/26 | ||||
| 2015/05/26 forgot the bread     expenses                        $5            $5 | ||||
|                                 assets                         $-5             0 | ||||
| ``` | ||||
| 
 | ||||
| @ -520,9 +530,9 @@ Five numbers does not give a lot of detail. If you want to know what | ||||
| portion of expenses went to buy food, you could add up just the | ||||
| transactions with (say) "supermarket" in their description. You know how to do this with hledger: | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ hledger register desc:supermarket expenses | ||||
| 2014/02/12 trip to the super..  expenses                       $10           $10 | ||||
| 2015/05/25 trip to the super..  expenses                       $10           $10 | ||||
| ``` | ||||
| 
 | ||||
| But descriptions are irregular, and as you can see we missed the $5 purchase on the following day. | ||||
| @ -586,21 +596,40 @@ In others, the tree structure is encoded as decimal account numbers, something l | ||||
| With hledger, tree structure is implied by writing account names like `ACCOUNT:SUBACCOUNT`. | ||||
| Try it: edit your journal file and change the account names like so: | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ cat ~/.hledger.journal | ||||
| 
 | ||||
| 2014/02/12 trip to the supermarket | ||||
|     expenses:supplies     $10 | ||||
|     assets:checking | ||||
| 2015/05/25 trip to the supermarket | ||||
|     expenses:supplies           $10 | ||||
|     assets:checking            $-10 | ||||
| 
 | ||||
| 2014/02/13 forgot the bread | ||||
|     expenses:food      $5 | ||||
| 2015/05/26 forgot the bread | ||||
|     expenses:food            $5 | ||||
|     assets:cash | ||||
| ``` | ||||
| 
 | ||||
| hledger will infer the chart of accounts from these names, and `balance` will indent subaccounts to show the tree structure: | ||||
| 
 | ||||
| hledger will infer the chart of accounts from these names. | ||||
| The `accounts` command will list all accounts posted to: | ||||
| ```shell | ||||
| $ hledger accounts | ||||
| assets:cash | ||||
| assets:checking | ||||
| expenses:food | ||||
| expenses:supplies | ||||
| ``` | ||||
| 
 | ||||
| and `accounts --tree` will show the tree structure, indenting subaccounts below their parents (and eliding the common part of their names): | ||||
| ```shell | ||||
| assets | ||||
|   cash | ||||
|   checking | ||||
| expenses | ||||
|   food | ||||
|   supplies | ||||
| ``` | ||||
| 
 | ||||
| Conversely, the `balance` command shows the tree structure by default: | ||||
| ```shell | ||||
| $ hledger balance | ||||
|                 $-15  assets | ||||
|                  $-5    cash | ||||
| @ -612,35 +641,27 @@ $ hledger balance | ||||
|                    0 | ||||
| ``` | ||||
| 
 | ||||
| For clarity, the common part of the subaccount names is not displayed. | ||||
| You can see the full account names used internally like this: | ||||
| As you can see, the balance reported for parent accounts includes the | ||||
| balances of any subaccounts (it would also include any postings to the | ||||
| parent account itself.) | ||||
| 
 | ||||
| ``` | ||||
| $ hledger balance --flat --empty | ||||
|                 $-15  assets | ||||
| To see full account names in a flat list, use `--flat`: | ||||
| 
 | ||||
| ```shell | ||||
| $ hledger balance --flat | ||||
|                  $-5  assets:cash | ||||
|                 $-10  assets:checking | ||||
|                  $15  expenses | ||||
|                   $5  expenses:food | ||||
|                  $10  expenses:supplies | ||||
| -------------------- | ||||
|                    0 | ||||
| ``` | ||||
| 
 | ||||
| With `--flat`, the balance command shows full account names without indentation. | ||||
| The `--empty` flag here requests that the accounts with no direct postings of their own be displayed. | ||||
| Normally the balance report omits or elides such "uninteresting" accounts when they don't add much information. | ||||
| (In the default indented view, they are included to clarify the structure.) | ||||
| 
 | ||||
| As you can see, the balance reported for parent accounts includes the | ||||
| balances of any subaccounts (it would also include any postings to the | ||||
| parent account itself.) | ||||
| 
 | ||||
| hledger accepts whatever account names you choose, so you can use as much or as little account hierarchy as you need. | ||||
| Most users have at least two levels of accounts. | ||||
| You can always limit the amount of detail in a balance report with `--depth`: | ||||
| You can limit the amount of detail in a balance report by hiding accounts below a certain depth: | ||||
| 
 | ||||
| ``` | ||||
| ```shell | ||||
| $ hledger balance --depth 1 | ||||
|                 $-15  assets | ||||
|                  $15  expenses | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user