hledger/tests/cashflow/cashflow.test
Simon Michael 6c60e4a97b bs/cf/is: always show a tabular report, even with no report interval
Previously, if you specified no report interval, the text output of
these commands was a simple report like the original balance command,
with amounts on the left and account names on the right. Also,
balances used arithmetic sign like the balance command.
Now it always draws a table, with account names in the left
column, and shows balances with normal-positive sign, consistent with
the multicolumn reports. Less code, fewer bugs.
2018-01-23 11:05:01 -08:00

253 lines
7.8 KiB
Plaintext

# 1.
hledger -f - cashflow
<<<
2016/1/1
assets 1
b
>>>
Cashflow Statement 2016/01/01
|| 2016/01/01
============++============
Cash flows ||
------------++------------
assets || 1
------------++------------
|| 1
>>>2
>>>= 0
# 2. Period reporting works for a specific year
hledger -f - cashflow -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
>>>
Cashflow Statement 2016
|| 2016
=================++=========
Cash flows ||
-----------------++---------
assets:checking || $-40.00
-----------------++---------
|| $-40.00
>>>2
>>>= 0
# 3. Period reporting works for two years
hledger -f - cashflow -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
>>>
Cashflow Statement 2015/01/01-2016/12/31
|| 2015/01/01-2016/12/31
=================++=======================
Cash flows ||
-----------------++-----------------------
assets:checking || $9,960.00
-----------------++-----------------------
|| $9,960.00
>>>2
>>>= 0
# 4. Period reporting works for one month
hledger -f - cashflow -b 2015/11 -e 2015/12
<<<
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
>>>
Cashflow Statement 2015/11
|| 2015/11
=================++============
Cash flows ||
-----------------++------------
assets:checking || $10,000.00
-----------------++------------
|| $10,000.00
>>>2
>>>= 0
# 5. Period reporting works for one month in another year
hledger -f - cashflow -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
>>>
Cashflow Statement 2016/10
|| 2016/10
============++=========
Cash flows ||
------------++---------
------------++---------
|| 0
>>>2
>>>= 0
# 6. Multicolumn test
hledger -f sample.journal cashflow -p 'monthly in 2008'
>>>
Cashflow Statement 2008
|| 2008/01 2008/02 2008/03 2008/04 2008/05 2008/06 2008/07 2008/08 2008/09 2008/10 2008/11 2008/12
======================++============================================================================================================
Cash flows ||
----------------------++------------------------------------------------------------------------------------------------------------
assets:bank:checking || $1 0 0 0 0 0 0 0 0 0 0 $-1
assets:bank:saving || 0 0 0 0 0 $1 0 0 0 0 0 0
assets:cash || 0 0 0 0 0 $-2 0 0 0 0 0 0
----------------------++------------------------------------------------------------------------------------------------------------
|| $1 0 0 0 0 $-1 0 0 0 0 0 $-1
>>>= 0
# 7. Multicolumn test (historical)
hledger -f sample.journal cashflow -p 'monthly in 2008' -A --historical
>>>
Cashflow Statement 2008 (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 Average
======================++=========================================================================================================================================================
Cash flows ||
----------------------++---------------------------------------------------------------------------------------------------------------------------------------------------------
assets:bank:checking || $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 0 $1
assets:bank:saving || 0 0 0 0 0 $1 $1 $1 $1 $1 $1 $1 $1
assets:cash || 0 0 0 0 0 $-2 $-2 $-2 $-2 $-2 $-2 $-2 $-1
----------------------++---------------------------------------------------------------------------------------------------------------------------------------------------------
|| $1 $1 $1 $1 $1 0 0 0 0 0 0 $-1 0
>>>= 0
# 8. without -N/--no-total
hledger -f sample.journal cf
>>>
Cashflow Statement 2008
|| 2008
====================++======
Cash flows ||
--------------------++------
assets:bank:saving || $1
assets:cash || $-2
--------------------++------
|| $-1
>>>2
>>>= 0
# 9. with -N
hledger -f sample.journal cf -N
>>>
Cashflow Statement 2008
|| 2008
====================++======
Cash flows ||
--------------------++------
assets:bank:saving || $1
assets:cash || $-2
>>>2
>>>= 0
# 10. exclude fixed assets from cashflow
hledger -f - cashflow
<<<
2016/1/1
assets 1
b
2016/1/1
assets:fixed assets:equipment 1
b
>>>
Cashflow Statement 2016/01/01
|| 2016/01/01
============++============
Cash flows ||
------------++------------
assets || 1
------------++------------
|| 1
>>>2
>>>= 0