306 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			306 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
 | 
						|
# 1. Simple case
 | 
						|
<
 | 
						|
2016/1/1 open
 | 
						|
    assets:bank         $100
 | 
						|
    assets:cash         $20
 | 
						|
    equity:opening
 | 
						|
 | 
						|
2016/1/15 spend
 | 
						|
    expenses:sweets     $5
 | 
						|
    assets:cash
 | 
						|
 | 
						|
2016/1/19 withdraw
 | 
						|
    assets:cash         $20
 | 
						|
    assets:bank
 | 
						|
 | 
						|
2016/1/20 lend
 | 
						|
    liabilities         $25
 | 
						|
    assets:cash
 | 
						|
 | 
						|
$ hledger close -f- -e 2017-01-01 assets liabilities
 | 
						|
2016-12-31 closing balances
 | 
						|
    assets:bank                                $-80 = $0
 | 
						|
    assets:cash                                $-10 = $0
 | 
						|
    liabilities                                $-25 = $0
 | 
						|
    equity:opening/closing balances
 | 
						|
 | 
						|
2017-01-01 opening balances
 | 
						|
    assets:bank                                 $80 = $80
 | 
						|
    assets:cash                                 $10 = $10
 | 
						|
    liabilities                                 $25 = $25
 | 
						|
    equity:opening/closing balances
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 2. A begin date should be ignored
 | 
						|
$ hledger close -f- -e 2017-01-01 assets liabilities -b 2016-12-01
 | 
						|
2016-12-31 closing balances
 | 
						|
    assets:bank                                $-80 = $0
 | 
						|
    assets:cash                                $-10 = $0
 | 
						|
    liabilities                                $-25 = $0
 | 
						|
    equity:opening/closing balances
 | 
						|
 | 
						|
2017-01-01 opening balances
 | 
						|
    assets:bank                                 $80 = $80
 | 
						|
    assets:cash                                 $10 = $10
 | 
						|
    liabilities                                 $25 = $25
 | 
						|
    equity:opening/closing balances
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 3. Print just the opening transaction
 | 
						|
<
 | 
						|
2016/1/1 open
 | 
						|
    assets:bank         $100
 | 
						|
    assets:cash         $20
 | 
						|
    equity:opening
 | 
						|
 | 
						|
2016/1/15 spend
 | 
						|
    expenses:sweets     $5
 | 
						|
    assets:cash
 | 
						|
 | 
						|
2016/1/19 withdraw
 | 
						|
    assets:cash         $20
 | 
						|
    assets:bank
 | 
						|
 | 
						|
2016/1/20 lend
 | 
						|
    liabilities         $25
 | 
						|
    assets:cash
 | 
						|
 | 
						|
$ hledger close -f- -p 2016 assets liabilities --open
 | 
						|
2017-01-01 opening balances
 | 
						|
    assets:bank                                 $80 = $80
 | 
						|
    assets:cash                                 $10 = $10
 | 
						|
    liabilities                                 $25 = $25
 | 
						|
    equity:opening/closing balances
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 4. Print just the closing transaction. 
 | 
						|
$ hledger close -f- -p 2016 assets liabilities --close
 | 
						|
2016-12-31 closing balances
 | 
						|
    assets:bank                                $-80 = $0
 | 
						|
    assets:cash                                $-10 = $0
 | 
						|
    liabilities                                $-25 = $0
 | 
						|
    equity:opening/closing balances
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 5. Supplying --open --close is the same as just "close"
 | 
						|
# Also -x makes it show the equity amounts.
 | 
						|
$ hledger close -f- -p 2016 assets liabilities --open --close -x
 | 
						|
2016-12-31 closing balances
 | 
						|
    assets:bank                                $-80 = $0
 | 
						|
    assets:cash                                $-10 = $0
 | 
						|
    liabilities                                $-25 = $0
 | 
						|
    equity:opening/closing balances            $115
 | 
						|
 | 
						|
2017-01-01 opening balances
 | 
						|
    assets:bank                                 $80 = $80
 | 
						|
    assets:cash                                 $10 = $10
 | 
						|
    liabilities                                 $25 = $25
 | 
						|
    equity:opening/closing balances           $-115
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 6. Closing a multi-priced balance. By default the transaction prices are ignored.
 | 
						|
<
 | 
						|
2019/01/01
 | 
						|
    assets                          1A @ 1B
 | 
						|
    assets                          1A @ 1C
 | 
						|
    equity
 | 
						|
 | 
						|
$ hledger -f- close assets -p 2019 -x
 | 
						|
2019-12-31 closing balances
 | 
						|
    assets                                      -2A = 0A
 | 
						|
    equity:opening/closing balances              2A
 | 
						|
 | 
						|
2020-01-01 opening balances
 | 
						|
    assets                                       2A = 2A
 | 
						|
    equity:opening/closing balances             -2A
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 7. With --show-costs, the transaction prices are preserved.
 | 
						|
# Only the last posting in each commodity gets a balance assertion (#1035).
 | 
						|
# Balance assertion amounts do not have a price.
 | 
						|
$ hledger -f- close assets -p 2019 --show-costs -x
 | 
						|
2019-12-31 closing balances
 | 
						|
    assets                                 -1A @ 1B
 | 
						|
    assets                                 -1A @ 1C = 0A
 | 
						|
    equity:opening/closing balances         1A @ 1B
 | 
						|
    equity:opening/closing balances         1A @ 1C
 | 
						|
 | 
						|
2020-01-01 opening balances
 | 
						|
    assets                                  1A @ 1B
 | 
						|
    assets                                  1A @ 1C = 2A
 | 
						|
    equity:opening/closing balances        -1A @ 1B
 | 
						|
    equity:opening/closing balances        -1A @ 1C
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 8. Closing a multi-priced balance, slightly more complex
 | 
						|
# (different price in each transaction).
 | 
						|
<
 | 
						|
2019/01/01
 | 
						|
    (assets)                        1A @ 1B
 | 
						|
 | 
						|
2019/01/02
 | 
						|
    (assets)                        1A @ 2B
 | 
						|
 | 
						|
$ hledger -f- close assets -p 2019 -x
 | 
						|
2019-12-31 closing balances
 | 
						|
    assets                                      -2A = 0A
 | 
						|
    equity:opening/closing balances              2A
 | 
						|
 | 
						|
2020-01-01 opening balances
 | 
						|
    assets                                       2A = 2A
 | 
						|
    equity:opening/closing balances             -2A
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 9. The same, with costs.
 | 
						|
$ hledger -f- close assets -p 2019 --show-costs -x
 | 
						|
2019-12-31 closing balances
 | 
						|
    assets                                 -1A @ 1B
 | 
						|
    assets                                 -1A @ 2B = 0A
 | 
						|
    equity:opening/closing balances         1A @ 1B
 | 
						|
    equity:opening/closing balances         1A @ 2B
 | 
						|
 | 
						|
2020-01-01 opening balances
 | 
						|
    assets                                  1A @ 1B
 | 
						|
    assets                                  1A @ 2B = 2A
 | 
						|
    equity:opening/closing balances        -1A @ 1B
 | 
						|
    equity:opening/closing balances        -1A @ 2B
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 10. Closing a multi-priced balance, a more complex example.
 | 
						|
# Decimal places specified by the amount display style should not be stripped
 | 
						|
# even if they are zeros (#1137).
 | 
						|
<
 | 
						|
2016/01/31
 | 
						|
    liabilities:employer                      $5,000.00
 | 
						|
    income:salary
 | 
						|
 | 
						|
2016/02/05
 | 
						|
    liabilities:employer                     $-5,000.00 @ 0.95 EUR
 | 
						|
    expenses:tax                               1,852.50 EUR
 | 
						|
    assets:bank                                2,897.00 EUR
 | 
						|
    liabilities:employer
 | 
						|
 | 
						|
2016/02/29
 | 
						|
    liabilities:employer                      $5,000.00
 | 
						|
    income:salary
 | 
						|
 | 
						|
2016/03/04
 | 
						|
    liabilities:employer                     $-5,000.00 @ 0.93 EUR
 | 
						|
    expenses:tax                               1,813.50 EUR
 | 
						|
    assets:bank                                2,836.00 EUR
 | 
						|
    liabilities:employer
 | 
						|
 | 
						|
$ hledger -f- close -p 2016 assets liabilities --show-costs -x
 | 
						|
2016-12-31 closing balances
 | 
						|
    assets:bank                               -5,733.00 EUR = 0.00 EUR
 | 
						|
    liabilities:employer                        $-10,000.00
 | 
						|
    liabilities:employer               $5,000.00 @ 0.93 EUR
 | 
						|
    liabilities:employer               $5,000.00 @ 0.95 EUR = $0.00
 | 
						|
    liabilities:employer                          -1.00 EUR = 0.00 EUR
 | 
						|
    equity:opening/closing balances              $10,000.00
 | 
						|
    equity:opening/closing balances    $-5,000.00 @ 0.93 EUR
 | 
						|
    equity:opening/closing balances    $-5,000.00 @ 0.95 EUR
 | 
						|
    equity:opening/closing balances            5,734.00 EUR
 | 
						|
 | 
						|
2017-01-01 opening balances
 | 
						|
    assets:bank                                 5,733.00 EUR = 5,733.00 EUR
 | 
						|
    liabilities:employer                          $10,000.00
 | 
						|
    liabilities:employer               $-5,000.00 @ 0.93 EUR
 | 
						|
    liabilities:employer               $-5,000.00 @ 0.95 EUR = $0.00
 | 
						|
    liabilities:employer                            1.00 EUR = 1.00 EUR
 | 
						|
    equity:opening/closing balances              $-10,000.00
 | 
						|
    equity:opening/closing balances     $5,000.00 @ 0.93 EUR
 | 
						|
    equity:opening/closing balances     $5,000.00 @ 0.95 EUR
 | 
						|
    equity:opening/closing balances            -5,734.00 EUR
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 11. With --interleaved, each transfer's postings are adjacent.
 | 
						|
# (And balances with the same cost are not necessarily combined into
 | 
						|
# a single posting. Eg the 5734 EUR above is 5733 EUR and 1 EUR below.)
 | 
						|
$ hledger -f- close -p 2016 assets liabilities --interleaved --show-costs -x
 | 
						|
2016-12-31 closing balances
 | 
						|
    assets:bank                                -5,733.00 EUR = 0.00 EUR
 | 
						|
    equity:opening/closing balances             5,733.00 EUR
 | 
						|
    liabilities:employer                         $-10,000.00
 | 
						|
    equity:opening/closing balances               $10,000.00
 | 
						|
    liabilities:employer                $5,000.00 @ 0.93 EUR
 | 
						|
    equity:opening/closing balances    $-5,000.00 @ 0.93 EUR
 | 
						|
    liabilities:employer                $5,000.00 @ 0.95 EUR = $0.00
 | 
						|
    equity:opening/closing balances    $-5,000.00 @ 0.95 EUR
 | 
						|
    liabilities:employer                           -1.00 EUR = 0.00 EUR
 | 
						|
    equity:opening/closing balances                 1.00 EUR
 | 
						|
 | 
						|
2017-01-01 opening balances
 | 
						|
    assets:bank                                 5,733.00 EUR = 5,733.00 EUR
 | 
						|
    equity:opening/closing balances            -5,733.00 EUR
 | 
						|
    liabilities:employer                          $10,000.00
 | 
						|
    equity:opening/closing balances              $-10,000.00
 | 
						|
    liabilities:employer               $-5,000.00 @ 0.93 EUR
 | 
						|
    equity:opening/closing balances     $5,000.00 @ 0.93 EUR
 | 
						|
    liabilities:employer               $-5,000.00 @ 0.95 EUR = $0.00
 | 
						|
    equity:opening/closing balances     $5,000.00 @ 0.95 EUR
 | 
						|
    liabilities:employer                            1.00 EUR = 1.00 EUR
 | 
						|
    equity:opening/closing balances                -1.00 EUR
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 12. A tricky case where a closing posting was rounded and failed to balance (#1164)
 | 
						|
<
 | 
						|
commodity $0.00
 | 
						|
commodity AAA 0.00000000
 | 
						|
 | 
						|
2019-01-01 opening balance
 | 
						|
    (assets:usd)                                 $49.50
 | 
						|
 | 
						|
2019-01-02 buy some AAA
 | 
						|
    assets:usd                                  -$49.2619200
 | 
						|
    assets:aaa                               AAA 510
 | 
						|
    assets:usd                                   -$0.1280810
 | 
						|
    expenses:banking                              $0.1280810
 | 
						|
 | 
						|
$ hledger -f- close -p 2019 assets --show-costs -x
 | 
						|
2019-12-31 closing balances
 | 
						|
    assets:aaa                                      AAA -510.00000000 = AAA 0.00000000
 | 
						|
    assets:usd                                                $-49.50
 | 
						|
    assets:usd                         $49.390001 @ AAA 10.3528242505 = $0.00
 | 
						|
    equity:opening/closing balances                            $49.50
 | 
						|
    equity:opening/closing balances    $-49.390001 @ AAA 10.3528242505
 | 
						|
    equity:opening/closing balances                  AAA 510.00000000
 | 
						|
 | 
						|
2020-01-01 opening balances
 | 
						|
    assets:aaa                                        AAA 510.00000000 = AAA 510.00000000
 | 
						|
    assets:usd                                                  $49.50
 | 
						|
    assets:usd                         $-49.390001 @ AAA 10.3528242505 = $0.109999
 | 
						|
    equity:opening/closing balances                            $-49.50
 | 
						|
    equity:opening/closing balances     $49.390001 @ AAA 10.3528242505
 | 
						|
    equity:opening/closing balances                  AAA -510.00000000
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 13. The same, without costs and with --interleaved.
 | 
						|
$ hledger -f- close -p 2019 assets --interleaved -x
 | 
						|
2019-12-31 closing balances
 | 
						|
    assets:aaa                         AAA -510.00000000 = AAA 0.00000000
 | 
						|
    equity:opening/closing balances     AAA 510.00000000
 | 
						|
    assets:usd                                $-0.109999 = $0.00
 | 
						|
    equity:opening/closing balances            $0.109999
 | 
						|
 | 
						|
2020-01-01 opening balances
 | 
						|
    assets:aaa                          AAA 510.00000000 = AAA 510.00000000
 | 
						|
    equity:opening/closing balances    AAA -510.00000000
 | 
						|
    assets:usd                                 $0.109999 = $0.109999
 | 
						|
    equity:opening/closing balances           $-0.109999
 | 
						|
 | 
						|
>=0
 |