634 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			634 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# http://hledger.org/journal.html#market-prices
 | 
						|
# http://hledger.org/hledger.html#market-value
 | 
						|
 | 
						|
# 1. Market prices are ignored by -B.
 | 
						|
<
 | 
						|
P 2011/01/01 € $1.35
 | 
						|
 | 
						|
2011/01/01
 | 
						|
    expenses:foreign       €100
 | 
						|
    assets
 | 
						|
 | 
						|
$ hledger -f- bal -NB
 | 
						|
               €-100  assets
 | 
						|
                €100  expenses:foreign
 | 
						|
 | 
						|
 | 
						|
# 2. Market prices are used by bal -V. 
 | 
						|
# Market prices for other commodities are not used.
 | 
						|
# Nor are transaction prices.
 | 
						|
<
 | 
						|
P 2011/01/01 € $1.35
 | 
						|
P 2011/01/01 GBP $1.35
 | 
						|
 | 
						|
2011/01/01
 | 
						|
    (expenses:foreign)       €100 @ $1.20
 | 
						|
 | 
						|
$ hledger -f- bal -N -V
 | 
						|
             $135.00  expenses:foreign
 | 
						|
 | 
						|
 | 
						|
# 3. The location of price directives does not matter.
 | 
						|
# If multiple directives have the same date, the last parsed is used.
 | 
						|
<
 | 
						|
3000/01/01
 | 
						|
  (a)    $100
 | 
						|
 | 
						|
P 2000/1/1 $ €1.35
 | 
						|
 | 
						|
3000/03/03
 | 
						|
  (b)    $100
 | 
						|
 | 
						|
P 2000/1/1 $ €1.30
 | 
						|
 | 
						|
$ hledger -f- bal -N -V a
 | 
						|
             €130.00  a
 | 
						|
 | 
						|
 | 
						|
# 4. Market prices in the future are ignored when the valuation date
 | 
						|
# is today, which is the default with -V. #453, #683
 | 
						|
<
 | 
						|
P 2000/1/1 $ €1.20
 | 
						|
P 3000/1/1 $ €1.30
 | 
						|
 | 
						|
3000/01/01
 | 
						|
  (a)    $100
 | 
						|
 | 
						|
$ hledger -f- bal -N -V
 | 
						|
             €120.00  a
 | 
						|
 | 
						|
 | 
						|
# 5. Market prices in the future are not ignored when they are before
 | 
						|
# the valuation date set with an explicit report end date, as in 
 | 
						|
# hledger 1.14 and older, and Ledger. See also valuation2.test, #1083
 | 
						|
<
 | 
						|
P 3000/1/1 $ €1.10
 | 
						|
 | 
						|
3000/01/01
 | 
						|
  (a)    $100
 | 
						|
 | 
						|
$ hledger -f- bal -N -V -e 3000/2
 | 
						|
             €110.00  a
 | 
						|
 | 
						|
 | 
						|
# 6. Market prices interact with D directives and with amount style canonicalisation. #131
 | 
						|
<
 | 
						|
 | 
						|
D 1000.00 H                ; declare a default commodity named H
 | 
						|
 | 
						|
P 2015/08/15 EEEE  41.66   ; default commodity H is used for these market prices
 | 
						|
P 2015/08/15 FFFF  74.62
 | 
						|
P 2015/08/15 GGGG  32.39
 | 
						|
 | 
						|
2015/08/15
 | 
						|
    a  2.4120 EEEE @@ 100  ; default commodity H is used for these transaction prices
 | 
						|
    a  0.3350 FFFF @@ 25
 | 
						|
    a  0.7718 GGGG @@ 25
 | 
						|
    b                      ; implicit balancing amount is in the cost commodity, H
 | 
						|
 | 
						|
$ hledger -f- balance -V
 | 
						|
            150.48 H  a
 | 
						|
           -150.00 H  b
 | 
						|
--------------------
 | 
						|
              0.48 H
 | 
						|
 | 
						|
 | 
						|
# 7. register -V affects posting amounts and total.
 | 
						|
<
 | 
						|
P 2000/1/1 $ €1.20
 | 
						|
2000/1/1
 | 
						|
  (a)    $100
 | 
						|
 | 
						|
$ hledger -f- reg -V
 | 
						|
2000-01-01                      (a)                        €120.00       €120.00
 | 
						|
 | 
						|
 | 
						|
# 8. print -V affects posting amounts but not balance assertions.
 | 
						|
<
 | 
						|
P 2000/1/1 $ €1.20
 | 
						|
2000/1/1
 | 
						|
  (a)    $100 = $100
 | 
						|
 | 
						|
$ hledger -f- print -V
 | 
						|
2000-01-01
 | 
						|
    (a)         €120.00 = $100
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# --value tests
 | 
						|
 | 
						|
<
 | 
						|
P 2000/01/01 A  1 B
 | 
						|
P 2000/01/15 A  5 B
 | 
						|
P 2000/02/01 A  2 B
 | 
						|
P 2000/03/01 A  3 B
 | 
						|
P 2000/04/01 A  4 B
 | 
						|
 | 
						|
2000/01/01
 | 
						|
  (a)      1 A @ 6 B
 | 
						|
 | 
						|
2000/02/01
 | 
						|
  (a)      1 A @ 7 B
 | 
						|
 | 
						|
2000/03/01
 | 
						|
  (a)      1 A @ 8 B
 | 
						|
 | 
						|
# print
 | 
						|
 | 
						|
# 9. print costs using transaction prices
 | 
						|
$ hledger -f- print --value=cost
 | 
						|
2000-01-01
 | 
						|
    (a)             6 B
 | 
						|
 | 
						|
2000-02-01
 | 
						|
    (a)             7 B
 | 
						|
 | 
						|
2000-03-01
 | 
						|
    (a)             8 B
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 10. print value using market prices on each transaction's (posting's) date
 | 
						|
$ hledger -f- print --value=then
 | 
						|
2000-01-01
 | 
						|
    (a)             1 B
 | 
						|
 | 
						|
2000-02-01
 | 
						|
    (a)             2 B
 | 
						|
 | 
						|
2000-03-01
 | 
						|
    (a)             3 B
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 11. print value using prices on last day of report period (2000-02-29)
 | 
						|
$ hledger -f- print --value=end date:2000/01-2000/03
 | 
						|
2000-01-01
 | 
						|
    (a)             2 B
 | 
						|
 | 
						|
2000-02-01
 | 
						|
    (a)             2 B
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 12. print value using prices on last day of report period (no period specified)
 | 
						|
# specified - uses last day of journal (2000-03-01)
 | 
						|
$ hledger -f- print --value=end
 | 
						|
2000-01-01
 | 
						|
    (a)             3 B
 | 
						|
 | 
						|
2000-02-01
 | 
						|
    (a)             3 B
 | 
						|
 | 
						|
2000-03-01
 | 
						|
    (a)             3 B
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 13. print value using prices on a specified date
 | 
						|
$ hledger -f- print --value=2000-01-15
 | 
						|
2000-01-01
 | 
						|
    (a)             5 B
 | 
						|
 | 
						|
2000-02-01
 | 
						|
    (a)             5 B
 | 
						|
 | 
						|
2000-03-01
 | 
						|
    (a)             5 B
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# 14. print value using prices today
 | 
						|
# (assuming today's date is >= 2000-04-01)
 | 
						|
$ hledger -f- print --value=now
 | 
						|
2000-01-01
 | 
						|
    (a)             4 B
 | 
						|
 | 
						|
2000-02-01
 | 
						|
    (a)             4 B
 | 
						|
 | 
						|
2000-03-01
 | 
						|
    (a)             4 B
 | 
						|
 | 
						|
>=0
 | 
						|
 | 
						|
# register
 | 
						|
 | 
						|
# 15. register report valued at cost.
 | 
						|
$ hledger -f- reg --value=cost
 | 
						|
2000-01-01                      (a)                            6 B           6 B
 | 
						|
2000-02-01                      (a)                            7 B          13 B
 | 
						|
2000-03-01                      (a)                            8 B          21 B
 | 
						|
 
 | 
						|
# 16. register report valued at posting dates
 | 
						|
$ hledger -f- reg --value=then
 | 
						|
2000-01-01                      (a)                            1 B           1 B
 | 
						|
2000-02-01                      (a)                            2 B           3 B
 | 
						|
2000-03-01                      (a)                            3 B           6 B
 | 
						|
 | 
						|
# 17. register report valued at period end
 | 
						|
$ hledger -f- reg --value=end
 | 
						|
2000-01-01                      (a)                            3 B           3 B
 | 
						|
2000-02-01                      (a)                            3 B           6 B
 | 
						|
2000-03-01                      (a)                            3 B           9 B
 | 
						|
 | 
						|
# 18. register report valued at specified date
 | 
						|
$ hledger -f- reg --value=2000-01-15
 | 
						|
2000-01-01                      (a)                            5 B           5 B
 | 
						|
2000-02-01                      (a)                            5 B          10 B
 | 
						|
2000-03-01                      (a)                            5 B          15 B
 | 
						|
 | 
						|
# 19. register report valued today
 | 
						|
$ hledger -f- reg --value=now
 | 
						|
2000-01-01                      (a)                            4 B           4 B
 | 
						|
2000-02-01                      (a)                            4 B           8 B
 | 
						|
2000-03-01                      (a)                            4 B          12 B
 | 
						|
 | 
						|
# 20. single-period register report valued at default date (same as --value=now)
 | 
						|
$ hledger -f- reg -V
 | 
						|
2000-01-01                      (a)                            4 B           4 B
 | 
						|
2000-02-01                      (a)                            4 B           8 B
 | 
						|
2000-03-01                      (a)                            4 B          12 B
 | 
						|
 | 
						|
# register with -H (starting balance)
 | 
						|
 | 
						|
# 21. register with starting balance, valued at cost.
 | 
						|
$ hledger -f- reg --value=cost -b 200002 -H
 | 
						|
2000-02-01                      (a)                            7 B          13 B
 | 
						|
2000-03-01                      (a)                            8 B          21 B
 | 
						|
 
 | 
						|
# 22. register with starting balance, valued at period end.
 | 
						|
# That is unspecified so the last posting date is used, ie 2000/3/1, so the price is 3 B.
 | 
						|
# Starting balance is 5 B as above.
 | 
						|
$ hledger -f- reg --value=end -b 200002 -H
 | 
						|
2000-02-01                      (a)                            3 B           8 B
 | 
						|
2000-03-01                      (a)                            3 B          11 B
 | 
						|
 | 
						|
# 23. register with starting balance, valued at specified date (when the price is 5 B).
 | 
						|
# Starting balance is 5 B as above.
 | 
						|
$ hledger -f- reg --value=2000-01-15 -b 200002 -H
 | 
						|
2000-02-01                      (a)                            5 B          10 B
 | 
						|
2000-03-01                      (a)                            5 B          15 B
 | 
						|
 | 
						|
# register, periodic
 | 
						|
 | 
						|
# 24. periodic register report valued at cost.
 | 
						|
# The total for january is 6 B (1 A valued at 1/1, price 1 B, and 1 A
 | 
						|
# valued at 1/20, price 5 B).
 | 
						|
# Need an extra transaction for this test:
 | 
						|
<
 | 
						|
P 2000/01/01 A  1 B
 | 
						|
P 2000/01/15 A  5 B
 | 
						|
P 2000/02/01 A  2 B
 | 
						|
P 2000/03/01 A  3 B
 | 
						|
P 2000/04/01 A  4 B
 | 
						|
 | 
						|
2000/01/01
 | 
						|
  (a)      1 A @ 6 B
 | 
						|
 | 
						|
2000/01/20
 | 
						|
  (a)      1 A @ 7 B
 | 
						|
 | 
						|
2000/02/01
 | 
						|
  (a)      1 A @ 8 B
 | 
						|
 | 
						|
2000/03/01
 | 
						|
  (a)      1 A @ 9 B
 | 
						|
 | 
						|
$ hledger -f- reg --value=cost -M
 | 
						|
2000-01                 a                                     13 B          13 B
 | 
						|
2000-02                 a                                      8 B          21 B
 | 
						|
2000-03                 a                                      9 B          30 B
 | 
						|
 
 | 
						|
# back to the original test journal:
 | 
						|
<
 | 
						|
P 2000/01/01 A  1 B
 | 
						|
P 2000/01/15 A  5 B
 | 
						|
P 2000/02/01 A  2 B
 | 
						|
P 2000/03/01 A  3 B
 | 
						|
P 2000/04/01 A  4 B
 | 
						|
 | 
						|
2000/01/01
 | 
						|
  (a)      1 A @ 6 B
 | 
						|
 | 
						|
2000/02/01
 | 
						|
  (a)      1 A @ 7 B
 | 
						|
 | 
						|
2000/03/01
 | 
						|
  (a)      1 A @ 8 B
 | 
						|
 | 
						|
# 25. periodic register report valued at period end
 | 
						|
$ hledger -f- reg --value=end -M
 | 
						|
2000-01                 a                                      5 B           5 B
 | 
						|
2000-02                 a                                      2 B           7 B
 | 
						|
2000-03                 a                                      3 B          10 B
 | 
						|
 | 
						|
# 26. periodic register report valued at specified date
 | 
						|
$ hledger -f- reg --value=2000-01-15 -M
 | 
						|
2000-01                 a                                      5 B           5 B
 | 
						|
2000-02                 a                                      5 B          10 B
 | 
						|
2000-03                 a                                      5 B          15 B
 | 
						|
 | 
						|
# 27. periodic register report valued today
 | 
						|
$ hledger -f- reg --value=now -M
 | 
						|
2000-01                 a                                      4 B           4 B
 | 
						|
2000-02                 a                                      4 B           8 B
 | 
						|
2000-03                 a                                      4 B          12 B
 | 
						|
 | 
						|
# 28. periodic register report valued at default date (same as --value=end)
 | 
						|
$ hledger -f- reg -V -M
 | 
						|
2000-01                 a                                      5 B           5 B
 | 
						|
2000-02                 a                                      2 B           7 B
 | 
						|
2000-03                 a                                      3 B          10 B
 | 
						|
 | 
						|
# balance
 | 
						|
 | 
						|
# 29. single column balance report valued at cost
 | 
						|
$ hledger -f- bal -N --value=cost
 | 
						|
                21 B  a
 | 
						|
 
 | 
						|
# 30. single column balance report valued at period end
 | 
						|
$ hledger -f- bal -N --value=end
 | 
						|
                 9 B  a
 | 
						|
 | 
						|
# 31. single column balance report valued at specified date
 | 
						|
$ hledger -f- bal -N --value=2000-01-15
 | 
						|
                15 B  a
 | 
						|
 | 
						|
# 32. single column balance report valued today
 | 
						|
$ hledger -f- bal -N --value=now
 | 
						|
                12 B  a
 | 
						|
 | 
						|
# 33. single column balance report valued at default date (same as --value=now)
 | 
						|
$ hledger -f- bal -N -V
 | 
						|
                12 B  a
 | 
						|
 | 
						|
# balance, periodic
 | 
						|
 | 
						|
# 34. multicolumn balance report valued at cost
 | 
						|
$ hledger -f- bal -MTA --value=cost
 | 
						|
Balance changes in 2000Q1, valued at cost:
 | 
						|
 | 
						|
   || Jan  Feb  Mar    Total  Average 
 | 
						|
===++=================================
 | 
						|
 a || 6 B  7 B  8 B     21 B      7 B 
 | 
						|
---++---------------------------------
 | 
						|
   || 6 B  7 B  8 B     21 B      7 B 
 | 
						|
 
 | 
						|
# 35. multicolumn balance report valued at period end
 | 
						|
$ hledger -f- bal -M --value=end
 | 
						|
Balance changes in 2000Q1, valued at period ends:
 | 
						|
 | 
						|
   || Jan  Feb  Mar 
 | 
						|
===++===============
 | 
						|
 a || 5 B  2 B  3 B 
 | 
						|
---++---------------
 | 
						|
   || 5 B  2 B  3 B 
 | 
						|
 | 
						|
# 36. multicolumn balance report valued at period end with -T or -A
 | 
						|
$ hledger -f- bal -MTA --value=end
 | 
						|
Balance changes in 2000Q1, valued at period ends:
 | 
						|
 | 
						|
   || Jan  Feb  Mar    Total  Average 
 | 
						|
===++=================================
 | 
						|
 a || 5 B  2 B  3 B     10 B      3 B 
 | 
						|
---++---------------------------------
 | 
						|
   || 5 B  2 B  3 B     10 B      3 B 
 | 
						|
 | 
						|
# 37. multicolumn balance report valued at other date
 | 
						|
$ hledger -f- bal -MTA --value=2000-01-15
 | 
						|
Balance changes in 2000Q1, valued at 2000-01-15:
 | 
						|
 | 
						|
   || Jan  Feb  Mar    Total  Average 
 | 
						|
===++=================================
 | 
						|
 a || 5 B  5 B  5 B     15 B      5 B 
 | 
						|
---++---------------------------------
 | 
						|
   || 5 B  5 B  5 B     15 B      5 B 
 | 
						|
 | 
						|
# 38. multicolumn balance report valued today (with today >= 2000-04-01)
 | 
						|
$ hledger -f- bal -M --value=now
 | 
						|
Balance changes in 2000Q1, current value:
 | 
						|
 | 
						|
   || Jan  Feb  Mar 
 | 
						|
===++===============
 | 
						|
 a || 4 B  4 B  4 B 
 | 
						|
---++---------------
 | 
						|
   || 4 B  4 B  4 B 
 | 
						|
 | 
						|
# 39. multicolumn balance report valued at default date (same as --value=end)
 | 
						|
$ hledger -f- bal -M -V
 | 
						|
Balance changes in 2000Q1, valued at period ends:
 | 
						|
 | 
						|
   || Jan  Feb  Mar 
 | 
						|
===++===============
 | 
						|
 a || 5 B  2 B  3 B 
 | 
						|
---++---------------
 | 
						|
   || 5 B  2 B  3 B 
 | 
						|
 | 
						|
# balance, periodic, with -H (starting balance and accumulating across periods)
 | 
						|
 | 
						|
# 40. multicolumn balance report with -H, valued at cost.
 | 
						|
# The starting balance on 2000/01/01 is 6 B (cost of the first 2 A).
 | 
						|
# February adds 1 A costing 7 B, making 13 B.
 | 
						|
# March adds 1 A costing 8 B, making 21 B.
 | 
						|
$ hledger -f- bal -M -H -b 200002 --value=cost
 | 
						|
Ending balances (historical) in 2000-02-01..2000-03-31, valued at cost:
 | 
						|
 | 
						|
   || 2000-02-29  2000-03-31 
 | 
						|
===++========================
 | 
						|
 a ||       13 B        21 B 
 | 
						|
---++------------------------
 | 
						|
   ||       13 B        21 B 
 | 
						|
 
 | 
						|
# 41. multicolumn balance report with -H valued at period end.
 | 
						|
# The starting balance is 1 A.
 | 
						|
# February adds 1 A making 2 A, which is valued at 2000/02/29 as 4 B.
 | 
						|
# March adds 1 A making 3 A, which is valued at 2000/03/31 as 9 B.
 | 
						|
$ hledger -f- bal -MA -H -b 200002 --value=end
 | 
						|
Ending balances (historical) in 2000-02-01..2000-03-31, valued at period ends:
 | 
						|
 | 
						|
   || 2000-02-29  2000-03-31  Average 
 | 
						|
===++=================================
 | 
						|
 a ||        4 B         9 B      6 B 
 | 
						|
---++---------------------------------
 | 
						|
   ||        4 B         9 B      6 B 
 | 
						|
 | 
						|
# 42. multicolumn balance report with -H valued at other date.
 | 
						|
# The starting balance is 5 B (1 A valued at 2000/1/15).
 | 
						|
$ hledger -f- bal -M -H -b 200002 --value=2000-01-15
 | 
						|
Ending balances (historical) in 2000-02-01..2000-03-31, valued at 2000-01-15:
 | 
						|
 | 
						|
   || 2000-02-29  2000-03-31 
 | 
						|
===++========================
 | 
						|
 a ||       10 B        15 B 
 | 
						|
---++------------------------
 | 
						|
   ||       10 B        15 B 
 | 
						|
 | 
						|
# 43. multicolumn balance report with -H, valuing each period's carried-over balances at cost.
 | 
						|
<
 | 
						|
P 2000/01/01 A  1 B
 | 
						|
P 2000/01/15 A  5 B
 | 
						|
P 2000/02/01 A  2 B
 | 
						|
P 2000/03/01 A  3 B
 | 
						|
P 2000/04/01 A  4 B
 | 
						|
 | 
						|
2000/01/01
 | 
						|
  (a)      1 A @ 6 B
 | 
						|
 | 
						|
$ hledger -f- bal -ME -H -p200001-200004 --value=c
 | 
						|
Ending balances (historical) in 2000Q1, valued at cost:
 | 
						|
 | 
						|
   || 2000-01-31  2000-02-29  2000-03-31 
 | 
						|
===++====================================
 | 
						|
 a ||        6 B         6 B         6 B 
 | 
						|
---++------------------------------------
 | 
						|
   ||        6 B         6 B         6 B 
 | 
						|
 | 
						|
# 44. multicolumn balance report with -H, valuing each period's carried-over balances at period end.
 | 
						|
# Unrelated, also -H always disables -T.
 | 
						|
$ hledger -f- bal -META -H -p200001-200004 --value=e
 | 
						|
Ending balances (historical) in 2000Q1, valued at period ends:
 | 
						|
 | 
						|
   || 2000-01-31  2000-02-29  2000-03-31  Average 
 | 
						|
===++=============================================
 | 
						|
 a ||        5 B         2 B         3 B      3 B 
 | 
						|
---++---------------------------------------------
 | 
						|
   ||        5 B         2 B         3 B      3 B 
 | 
						|
 | 
						|
# 45. multicolumn balance report with -H, valuing each period's carried-over balances at other date.
 | 
						|
$ hledger -f- bal -ME -H -p200001-200004 --value=2000-01-15
 | 
						|
Ending balances (historical) in 2000Q1, valued at 2000-01-15:
 | 
						|
 | 
						|
   || 2000-01-31  2000-02-29  2000-03-31 
 | 
						|
===++====================================
 | 
						|
 a ||        5 B         5 B         5 B 
 | 
						|
---++------------------------------------
 | 
						|
   ||        5 B         5 B         5 B 
 | 
						|
 | 
						|
# balance --budget. The periodic transactions setting budget amounts
 | 
						|
# are valued in the same way as ordinary transactions.
 | 
						|
 | 
						|
<
 | 
						|
P 2000/01/01 A  1 B
 | 
						|
P 2000/01/15 A  5 B
 | 
						|
P 2000/02/01 A  2 B
 | 
						|
P 2000/03/01 A  3 B
 | 
						|
P 2000/04/01 A  4 B
 | 
						|
 | 
						|
~ monthly
 | 
						|
  (a)  2 A @ 1 B
 | 
						|
 | 
						|
2000/01/01
 | 
						|
  (a)      1 A @ 6 B
 | 
						|
 | 
						|
2000/02/01
 | 
						|
  (a)      1 A @ 7 B
 | 
						|
 | 
						|
2000/03/01
 | 
						|
  (a)      1 A @ 8 B
 | 
						|
 | 
						|
# 46. budget report, unvalued (for reference).
 | 
						|
$ hledger -f- bal -M --budget
 | 
						|
Budget performance in 2000Q1:
 | 
						|
 | 
						|
   ||                Jan                 Feb                 Mar 
 | 
						|
===++============================================================
 | 
						|
 a || 1 A [  50% of 2 A]  1 A [  50% of 2 A]  1 A [  50% of 2 A] 
 | 
						|
---++------------------------------------------------------------
 | 
						|
   || 1 A [  50% of 2 A]  1 A [  50% of 2 A]  1 A [  50% of 2 A] 
 | 
						|
 | 
						|
# 47. budget report, valued at cost. 
 | 
						|
$ hledger -f- bal -MTA --budget --value=c
 | 
						|
Budget performance in 2000Q1, valued at cost:
 | 
						|
 | 
						|
   ||                Jan                 Feb                 Mar                Total             Average 
 | 
						|
===++=====================================================================================================
 | 
						|
 a || 6 B [ 300% of 2 B]  7 B [ 350% of 2 B]  8 B [ 400% of 2 B]  21 B [ 350% of 6 B]  7 B [ 350% of 2 B] 
 | 
						|
---++-----------------------------------------------------------------------------------------------------
 | 
						|
   || 6 B [ 300% of 2 B]  7 B [ 350% of 2 B]  8 B [ 400% of 2 B]  21 B [ 350% of 6 B]  7 B [ 350% of 2 B] 
 | 
						|
 | 
						|
# 48. budget report, valued at period ends.
 | 
						|
$ hledger -f- bal -MTA --budget --value=e
 | 
						|
Budget performance in 2000Q1, valued at period ends:
 | 
						|
 | 
						|
   ||                 Jan                  Feb                  Mar                 Total              Average 
 | 
						|
===++==========================================================================================================
 | 
						|
 a || 5 B [  50% of 10 B]  2 B [  50% of  4 B]  3 B [  50% of  6 B]  10 B [  50% of 20 B]  3 B [  50% of  7 B] 
 | 
						|
---++----------------------------------------------------------------------------------------------------------
 | 
						|
   || 5 B [  50% of 10 B]  2 B [  50% of  4 B]  3 B [  50% of  6 B]  10 B [  50% of 20 B]  3 B [  50% of  7 B] 
 | 
						|
 | 
						|
# 49. budget report, valued at other date.
 | 
						|
$ hledger -f- bal -MTA --budget --value=2000-01-15
 | 
						|
Budget performance in 2000Q1, valued at 2000-01-15:
 | 
						|
 | 
						|
   ||                 Jan                  Feb                  Mar                 Total              Average 
 | 
						|
===++==========================================================================================================
 | 
						|
 a || 5 B [  50% of 10 B]  5 B [  50% of 10 B]  5 B [  50% of 10 B]  15 B [  50% of 30 B]  5 B [  50% of 10 B] 
 | 
						|
---++----------------------------------------------------------------------------------------------------------
 | 
						|
   || 5 B [  50% of 10 B]  5 B [  50% of 10 B]  5 B [  50% of 10 B]  15 B [  50% of 30 B]  5 B [  50% of 10 B] 
 | 
						|
 | 
						|
# 50. --value=then with --historical. How is the starting total valued ?
 | 
						|
# Currently not supported.
 | 
						|
<
 | 
						|
P 2020-01-01 A 1 B
 | 
						|
P 2020-02-01 A 2 B
 | 
						|
P 2020-03-01 A 3 B
 | 
						|
P 2020-04-01 A 4 B
 | 
						|
 | 
						|
2020-01-01
 | 
						|
   (a)  1 A
 | 
						|
 | 
						|
2020-02-01
 | 
						|
   (a)  1 A
 | 
						|
 | 
						|
2020-03-01
 | 
						|
   (a)  1 A
 | 
						|
 | 
						|
2020-04-01
 | 
						|
   (a)  1 A
 | 
						|
 | 
						|
$ hledger -f- reg --value=then -b 2020-03 -H
 | 
						|
>2 /not yet implemented/
 | 
						|
>=1
 | 
						|
 | 
						|
# 51. --value=then with a report interval. How are the summary amounts valued ?
 | 
						|
# Currently each interval's unvalued sum is valued on its first day.
 | 
						|
<
 | 
						|
P 2020-01-01 A 1 B
 | 
						|
P 2020-02-01 A 2 B
 | 
						|
P 2020-03-01 A 3 B
 | 
						|
P 2020-04-01 A 4 B
 | 
						|
 | 
						|
2020-01-01
 | 
						|
   (a)  1 A
 | 
						|
 | 
						|
2020-02-01
 | 
						|
   (a)  1 A
 | 
						|
 | 
						|
2020-03-01
 | 
						|
   (a)  1 A
 | 
						|
 | 
						|
2020-04-01
 | 
						|
   (a)  1 A
 | 
						|
 | 
						|
$ hledger -f- reg --value=then -Q
 | 
						|
2020Q1                  a                                      3 B           3 B
 | 
						|
2020Q2                  a                                      4 B           7 B
 | 
						|
>=0
 | 
						|
 | 
						|
# 52. print --value should affect all postings, including when there's an implicit transaction price
 | 
						|
<
 | 
						|
P 2020-01-01 A 1 C
 | 
						|
P 2020-01-01 B 1 C
 | 
						|
 | 
						|
2020-01-01
 | 
						|
   a   1 A
 | 
						|
   b  -1 B
 | 
						|
 | 
						|
$ hledger -f- print -V
 | 
						|
2020-01-01
 | 
						|
    a             1 C
 | 
						|
    b            -1 C
 | 
						|
 | 
						|
>=0
 |