mirror of
https://github.com/simonmichael/hledger.git
synced 2024-12-27 12:24:43 +03:00
81b92be803
[ci skip]
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
|