hledger/tests/incomestatement/incomestatement.test
Simon Michael 6b349e3123 bs/bse/cf/is: show all balances as normally-positive (experimental)
Income, liability and equity balances, which until now we have
always displayed as negative numbers, are now shown as normally positive
by these reports.
Negative numbers now indicate a contra-balance (eg an overdrawn
checking account), a net loss, a negative net worth, etc.
This makes these reports more like conventional financial statements,
and easier to read and share with normal people.
2018-01-18 11:01:07 -08:00

284 lines
15 KiB
Plaintext

# 1. Simple statement works
hledger -f - incomestatement
<<<
2016/1/1
income 1
b
>>>
Income Statement
Revenues:
1 income
--------------------
1
Expenses:
--------------------
0
Total:
--------------------
1
>>>2
>>>= 0
# 2. Period reporting works for a specific year
hledger -f - incomestatement -b 2016 -e 2017
<<<
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
>>>
Income Statement
Revenues:
$-10.00 revenue:clients:B
--------------------
$-10.00
Expenses:
$50.00 expense:hosting
--------------------
$50.00
Total:
--------------------
$40.00
>>>2
>>>= 0
# 3. Period reporting works for two years
hledger -f - incomestatement -b 2015 -e 2017
<<<
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
>>>
Income Statement
Revenues:
$-10,010.00 revenue:clients
$-10,000.00 A
$-10.00 B
--------------------
$-10,010.00
Expenses:
$50.00 expense:hosting
--------------------
$50.00
Total:
--------------------
$-9,960.00
>>>2
>>>= 0
# 4. Period reporting works for one month
hledger -f - incomestatement -b 2015/10 -e 2015/11
<<<
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
>>>
Income Statement
Revenues:
$-10,000.00 revenue:clients:A
--------------------
$-10,000.00
Expenses:
--------------------
0
Total:
--------------------
$-10,000.00
>>>2
>>>= 0
# 5. Period reporting works for one month in another year
hledger -f - incomestatement -b 2016/10 -e 2016/11
<<<
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
>>>
Income Statement
Revenues:
--------------------
0
Expenses:
--------------------
0
Total:
--------------------
0
>>>2
>>>= 0
# 6. Multicolumn test
# old (arithmetic sign):
# Income Statement
#
# || 2008/01 2008/02 2008/03 2008/04 2008/05 2008/06 2008/07 2008/08 2008/09 2008/10 2008/11 2008/12 Total Average
# ===================++==============================================================================================================================
# Revenues ||
# -------------------++------------------------------------------------------------------------------------------------------------------------------
# income:gifts || 0 0 0 0 0 $-1 0 0 0 0 0 0 $-1 0
# income:salary || $-1 0 0 0 0 0 0 0 0 0 0 0 $-1 0
# -------------------++------------------------------------------------------------------------------------------------------------------------------
# || $-1 0 0 0 0 $-1 0 0 0 0 0 0 $-2 0
# ===================++==============================================================================================================================
# Expenses ||
# -------------------++------------------------------------------------------------------------------------------------------------------------------
# expenses:food || 0 0 0 0 0 $1 0 0 0 0 0 0 $1 0
# expenses:supplies || 0 0 0 0 0 $1 0 0 0 0 0 0 $1 0
# -------------------++------------------------------------------------------------------------------------------------------------------------------
# || 0 0 0 0 0 $2 0 0 0 0 0 0 $2 0
# ===================++==============================================================================================================================
# Total || $-1 0 0 0 0 $1 0 0 0 0 0 0 0 0
#
hledger -f sample.journal incomestatement -p 'monthly in 2008' -AT
>>>
Income Statement
|| 2008/01 2008/02 2008/03 2008/04 2008/05 2008/06 2008/07 2008/08 2008/09 2008/10 2008/11 2008/12 Total Average
===================++==============================================================================================================================
Revenues ||
-------------------++------------------------------------------------------------------------------------------------------------------------------
income:gifts || 0 0 0 0 0 $1 0 0 0 0 0 0 $1 0
income:salary || $1 0 0 0 0 0 0 0 0 0 0 0 $1 0
-------------------++------------------------------------------------------------------------------------------------------------------------------
|| $1 0 0 0 0 $1 0 0 0 0 0 0 $2 0
===================++==============================================================================================================================
Expenses ||
-------------------++------------------------------------------------------------------------------------------------------------------------------
expenses:food || 0 0 0 0 0 $1 0 0 0 0 0 0 $1 0
expenses:supplies || 0 0 0 0 0 $1 0 0 0 0 0 0 $1 0
-------------------++------------------------------------------------------------------------------------------------------------------------------
|| 0 0 0 0 0 $2 0 0 0 0 0 0 $2 0
===================++==============================================================================================================================
Net: || $1 0 0 0 0 $-1 0 0 0 0 0 0 0 0
>>>= 0
# 7. Multicolumn test (historical)
# old (arithmetic sign):
# Income Statement (Historical Ending Balances)
#
# || 2008/01/31 2008/02/29 2008/03/31 2008/04/30 2008/05/31 2008/06/30 2008/07/31 2008/08/31 2008/09/30 2008/10/31 2008/11/30 2008/12/31
# ===================++================================================================================================================================================
# Revenues ||
# -------------------++------------------------------------------------------------------------------------------------------------------------------------------------
# income:gifts || 0 0 0 0 0 $-1 $-1 $-1 $-1 $-1 $-1 $-1
# income:salary || $-1 $-1 $-1 $-1 $-1 $-1 $-1 $-1 $-1 $-1 $-1 $-1
# -------------------++------------------------------------------------------------------------------------------------------------------------------------------------
# || $-1 $-1 $-1 $-1 $-1 $-2 $-2 $-2 $-2 $-2 $-2 $-2
# ===================++================================================================================================================================================
# Expenses ||
# -------------------++------------------------------------------------------------------------------------------------------------------------------------------------
# expenses:food || 0 0 0 0 0 $1 $1 $1 $1 $1 $1 $1
# expenses:supplies || 0 0 0 0 0 $1 $1 $1 $1 $1 $1 $1
# -------------------++------------------------------------------------------------------------------------------------------------------------------------------------
# || 0 0 0 0 0 $2 $2 $2 $2 $2 $2 $2
# ===================++================================================================================================================================================
# Total || $-1 $-1 $-1 $-1 $-1 0 0 0 0 0 0 0
#
hledger -f sample.journal incomestatement -p 'monthly in 2008' --historical
>>>
Income Statement (Historical Ending Balances)
|| 2008/01/31 2008/02/29 2008/03/31 2008/04/30 2008/05/31 2008/06/30 2008/07/31 2008/08/31 2008/09/30 2008/10/31 2008/11/30 2008/12/31
===================++================================================================================================================================================
Revenues ||
-------------------++------------------------------------------------------------------------------------------------------------------------------------------------
income:gifts || 0 0 0 0 0 $1 $1 $1 $1 $1 $1 $1
income:salary || $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1
-------------------++------------------------------------------------------------------------------------------------------------------------------------------------
|| $1 $1 $1 $1 $1 $2 $2 $2 $2 $2 $2 $2
===================++================================================================================================================================================
Expenses ||
-------------------++------------------------------------------------------------------------------------------------------------------------------------------------
expenses:food || 0 0 0 0 0 $1 $1 $1 $1 $1 $1 $1
expenses:supplies || 0 0 0 0 0 $1 $1 $1 $1 $1 $1 $1
-------------------++------------------------------------------------------------------------------------------------------------------------------------------------
|| 0 0 0 0 0 $2 $2 $2 $2 $2 $2 $2
===================++================================================================================================================================================
Net: || $1 $1 $1 $1 $1 0 0 0 0 0 0 0
>>>= 0