hledger/hledger/test/balance/balance.test

202 lines
5.4 KiB
Plaintext

# 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 always shows full account names, even in tree mode (#1565).
<
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"
"Assets:ABC","""AB.C"" 1"
"Assets: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 totals column does not break HTML output (#1933).
<
$ hledger -f- bal -YT -O html
> //