hledger/hledger/test/balance/balance.test
2024-10-08 23:07:07 -10:00

220 lines
5.7 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# * balance command
# ** 1.
$ hledger -f sample.journal balance --tree
$-1 assets
$1 bank:saving
$-2 cash
$2 expenses
$1 food
$1 supplies
$-2 income
$-1 gifts
$-1 salary
$1 liabilities:debts
--------------------
0
# ** 2.
$ hledger -f sample.journal balance --tree o
$1 expenses:food
$-2 income
$-1 gifts
$-1 salary
--------------------
$-1
# ** 3. Period reporting works for a specific year
<
2015/10/10 Client A | Invoice #1
assets:receivables $10,000.00
revenue:clients:A -$10,000.00
2015/11/02 Deposit | Invoice #1
assets:checking $10,000.00
assets:receivables -$10,000.00
2016/02/01 Client B | Invoice #2
assets:receivables $10.00
revenue:clients:B -$10.00
2016/02/15 ACME | Hosting Costs
expense:hosting $50.00
assets:checking -$50.00
2016/03/01 Deposit | Invoice #2
assets:checking $10.00
assets:receivables -$10.00
$ hledger -f - balance -b 2016 -e 2017 -N
$-40.00 assets:checking
$50.00 expense:hosting
$-10.00 revenue:clients:B
# ** 4. Period reporting works for two years
<
2015/10/10 Client A | Invoice #1
assets:receivables $10,000.00
revenue:clients:A -$10,000.00
2015/11/02 Deposit | Invoice #1
assets:checking $10,000.00
assets:receivables -$10,000.00
2016/02/01 Client B | Invoice #2
assets:receivables $10.00
revenue:clients:B -$10.00
2016/02/15 ACME | Hosting Costs
expense:hosting $50.00
assets:checking -$50.00
2016/03/01 Deposit | Invoice #2
assets:checking $10.00
assets:receivables -$10.00
$ hledger -f - balance --tree -b 2015 -e 2017 -N
$9,960.00 assets:checking
$50.00 expense:hosting
$-10,010.00 revenue:clients
$-10,000.00 A
$-10.00 B
# ** 5. Period reporting works for one month
<
2015/10/10 Client A | Invoice #1
assets:receivables $10,000.00
revenue:clients:A -$10,000.00
2015/11/02 Deposit | Invoice #1
assets:checking $10,000.00
assets:receivables -$10,000.00
2016/02/01 Client B | Invoice #2
assets:receivables $10.00
revenue:clients:B -$10.00
2016/02/15 ACME | Hosting Costs
expense:hosting $50.00
assets:checking -$50.00
2016/03/01 Deposit | Invoice #2
assets:checking $10.00
assets:receivables -$10.00
$ hledger -f - balance --tree -b 2015/11 -e 2015/12 -N
0 assets
$10,000.00 checking
$-10,000.00 receivables
# ** 6. Period reporting works for one month in another year
<
2015/10/10 Client A | Invoice #1
assets:receivables $10,000.00
revenue:clients:A -$10,000.00
2015/11/02 Deposit | Invoice #1
assets:checking $10,000.00
assets:receivables -$10,000.00
2016/02/01 Client B | Invoice #2
assets:receivables $10.00
revenue:clients:B -$10.00
2016/02/15 ACME | Hosting Costs
expense:hosting $50.00
assets:checking -$50.00
2016/03/01 Deposit | Invoice #2
assets:checking $10.00
assets:receivables -$10.00
$ hledger -f - balance -b 2016/10 -e 2016/11
--------------------
0
# ** 7. Default CSV output.
<
2021-01-01 Test
Assets:ABC "AB.C" 1
Assets:Cash -$1
$ hledger -f - balance -N --output-format=csv
"account","balance"
"Assets:ABC","""AB.C"" 1"
"Assets:Cash","$-1"
# ** 8. CSV output in tree mode.
<
2021-01-01 Test
Assets:ABC "AB.C" 1
Assets:Cash -$1
$ hledger -f - balance -N --output-format=csv --tree
"account","balance"
"Assets","$-1, ""AB.C"" 1"
"  ABC","""AB.C"" 1"
"  Cash","$-1"
# ** 9. CSV output always does not show thousands separators
<
2021-01-01 Test
Assets:ABC $10 000.00
Assets:Cash -$10 000.00
$ hledger -f - balance -N --output-format=csv
"account","balance"
"Assets:ABC","$10000.00"
"Assets:Cash","$-10000.00"
# ** 10. --declared includes all declared leaf accounts, even if they have no postings.
# They are filtered, depth-clipped, and form trees like the others.
# (XXX Here a:ac is not declared and so not shown, even though normally a balance report clipped to depth 2 would show it. Wrong ?)
<
account a
account a:aa
account a:ab
account a:ac:aca
account b
$ hledger -f - balance -NE --declared --tree --depth 2 a
0 a
0 aa
0 ab
# ** 11. In list mode we can see that non-leaf declared accounts are excluded.
<
account a
account a:aa
account a:ab
account a:ac:aca
account b
$ hledger -f - balance -NE --declared --flat
0 a:aa
0 a:ab
0 a:ac:aca
0 b
# ** 12. not:ACCT queries work with declared accounts.
<
account a
account a:aa
account a:ab
account a:ac:aca
account b
$ hledger -f - balance -NE --declared not:a
0 b
# ** 13. An empty periodic report in HTML output does not break.
<
$ hledger -f- bal -M -O html
> //
# ** 14. An empty totals column in HTML output does not break (#1933).
<
$ hledger -f- bal -MT -O html
> //
# ** 15. --count counts postings.
<
2023-01-01
a 10
a:aa 20
b
$ hledger -f- bal --count -1
2 a
1 b
--------------------
3