266 lines
		
	
	
		
			8.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			266 lines
		
	
	
		
			8.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Test budget addon
 | |
| 
 | |
| # Rewrite rules within journal always applied
 | |
| runghc ../../bin/hledger-budget.hs bal -f - --no-total -DH budget
 | |
| <<<
 | |
| = ^assets:bank$ date:2017/1 amt:<0
 | |
|     assets:bank  *0.008
 | |
|     expenses:fee  *-0.008  ; cash withdraw fee
 | |
| = ^expenses:housing
 | |
|     (budget:housing)  *-1
 | |
| = ^expenses:grocery ^expenses:food
 | |
|     (budget:food)  *-1
 | |
| 
 | |
| 2016/12/31
 | |
|     expenses:housing  $600
 | |
|     assets:cash
 | |
| 
 | |
| 2017/1/1
 | |
|     expenses:food  $20
 | |
|     expenses:leisure  $15
 | |
|     expenses:grocery  $30
 | |
|     assets:cash
 | |
| 
 | |
| 2017/1/2
 | |
|     assets:cash  $200.00
 | |
|     assets:bank
 | |
| 
 | |
| 2017/2/1
 | |
|     assets:cash  $100.00
 | |
|     assets:bank
 | |
| 
 | |
| ; order with normal entries doesn't matter
 | |
| ; but relative order matters to refer-rewritten transactions
 | |
| = ^expenses not:housing not:grocery not:food
 | |
|     (budget:misc)  *-1
 | |
| >>>
 | |
| Ending balances (historical) in 2016/12/31-2017/01/02:
 | |
| 
 | |
|                 ||  2016/12/31  2017/01/01  2017/01/02 
 | |
| ================++=====================================
 | |
|  budget:food    ||           0     $-50.00     $-50.00 
 | |
|  budget:housing ||    $-600.00    $-600.00    $-600.00 
 | |
|  budget:misc    ||           0     $-15.00     $-16.60 
 | |
| 
 | |
| >>>2
 | |
| >>>=0
 | |
| 
 | |
| # Rewrite rules can chain one another according to order of definition
 | |
| runghc ../../bin/hledger-budget.hs reg -f -
 | |
| <<<
 | |
| 
 | |
| ; unfortunately date override in posting comment doesn't work
 | |
| 
 | |
| = liabilities:credit amt:<0 date:2016/12
 | |
|     liabilities:credit  *-1  ; [2017/1/1]
 | |
|     assets:bank  *1  ; [2017/1/1]
 | |
| 
 | |
| = liabilities:credit amt:<0 date:2017/1
 | |
|     liabilities:credit  *-1  ; [2017/2/1]
 | |
|     assets:bank  *1  ; [2017/2/1]
 | |
| 
 | |
| = liabilities:credit amt:<0 date:2017/2
 | |
|     liabilities:credit  *-1  ; [2017/3/1]
 | |
|     assets:bank  *1  ; [2017/3/1]
 | |
| 
 | |
| = assets:bank date:2017/2 amt:<0
 | |
|     assets:bank  *0.008
 | |
|     expenses:fee  *-0.008  ; :salary-card: cash withdraw fee
 | |
| 
 | |
| = expenses:fee tag:salary-card date:2017-2017/12/26
 | |
|     income:compensate  *-0.5
 | |
|     assets:bank  *0.5  ; compensation from employer
 | |
| 
 | |
| 2016/12/31
 | |
|     expenses:housing  $600
 | |
|     liabilities:credit
 | |
| 
 | |
| 2017/1/1
 | |
|     expenses:food  $20
 | |
|     expenses:leisure  $15
 | |
|     expenses:grocery  $30
 | |
|     liabilities:credit
 | |
| 
 | |
| 2017/1/2
 | |
|     assets:cash  $200.00
 | |
|     liabilities:credit
 | |
| 
 | |
| 2017/2/1
 | |
|     assets:cash  $100.00
 | |
|     liabilities:credit
 | |
| >>>
 | |
| 2016/12/31                      expenses:housing           $600.00       $600.00
 | |
|                                 liabilities:credit        $-600.00             0
 | |
|                                 liabilities:credit         $600.00       $600.00
 | |
|                                 assets:bank               $-600.00             0
 | |
| 2017/01/01                      expenses:food               $20.00        $20.00
 | |
|                                 expenses:leisure            $15.00        $35.00
 | |
|                                 expenses:grocery            $30.00        $65.00
 | |
|                                 liabilities:credit         $-65.00             0
 | |
|                                 liabilities:credit          $65.00        $65.00
 | |
|                                 assets:bank                $-65.00             0
 | |
| 2017/01/02                      assets:cash                $200.00       $200.00
 | |
|                                 liabilities:credit        $-200.00             0
 | |
|                                 liabilities:credit         $200.00       $200.00
 | |
|                                 assets:bank               $-200.00             0
 | |
| 2017/02/01                      assets:cash                $100.00       $100.00
 | |
|                                 liabilities:credit        $-100.00             0
 | |
|                                 liabilities:credit         $100.00       $100.00
 | |
|                                 assets:bank               $-100.00             0
 | |
|                                 assets:bank                 $-0.80        $-0.80
 | |
|                                 expenses:fee                 $0.80             0
 | |
|                                 income:compensate           $-0.40        $-0.40
 | |
|                                 assets:bank                  $0.40             0
 | |
| >>>2
 | |
| >>>=0
 | |
| 
 | |
| # Periodical transactions within journal being applied with inverted sign in amounts
 | |
| # As well, accounts from periodic transaction being used for bucketing
 | |
| runghc ../../bin/hledger-budget.hs bal -f - --no-total -DH expenses
 | |
| <<<
 | |
| ~ daily from 2016/12/31
 | |
|     expenses:food  $8
 | |
|     assets
 | |
| 
 | |
| ~ weekly
 | |
|     expenses:leisure  $20
 | |
|     expenses:grocery  $50
 | |
|     expenses:housing  $250
 | |
|     expenses:fee  $10
 | |
|     assets
 | |
| 
 | |
| = ^assets:bank$ date:2017/1 amt:<0
 | |
|     assets:bank  *0.008
 | |
|     expenses:fee  *-0.008  ; cash withdraw fee
 | |
| 
 | |
| 2016/12/31
 | |
|     expenses:housing:rent  $600
 | |
|     assets:cash
 | |
| 
 | |
| 2017/1/1
 | |
|     expenses:food  $20
 | |
|     expenses:leisure  $15
 | |
|     expenses:grocery  $30
 | |
|     assets:cash
 | |
| 
 | |
| 2017/1/2
 | |
|     assets:cash  $200.00
 | |
|     assets:bank
 | |
| 
 | |
| 2017/1/4
 | |
|     assets:cash  $100.00
 | |
|     assets:bank
 | |
| >>>
 | |
| Ending balances (historical) in 2016/12/26-2017/01/04:
 | |
| 
 | |
|                   ||  2016/12/26  2016/12/27  2016/12/28  2016/12/29  2016/12/30  2016/12/31  2017/01/01  2017/01/02  2017/01/03  2017/01/04 
 | |
| ==================++=========================================================================================================================
 | |
|  expenses:fee     ||        $-10        $-10        $-10        $-10        $-10        $-10        $-10     $-18.40     $-18.40     $-17.60 
 | |
|  expenses:food    ||           0           0           0           0           0         $-8       $4.00      $-4.00     $-12.00     $-20.00 
 | |
|  expenses:grocery ||        $-50        $-50        $-50        $-50        $-50        $-50     $-20.00     $-70.00     $-70.00     $-70.00 
 | |
|  expenses:housing ||       $-250       $-250       $-250       $-250       $-250     $350.00     $350.00     $100.00     $100.00     $100.00 
 | |
|  expenses:leisure ||        $-20        $-20        $-20        $-20        $-20        $-20      $-5.00     $-25.00     $-25.00     $-25.00 
 | |
| 
 | |
| >>>2
 | |
| >>>=0
 | |
| 
 | |
| # We still can disable bucketing keeping rewrites and budget offset
 | |
| runghc ../../bin/hledger-budget.hs bal -f - --no-total --no-buckets -DH expenses
 | |
| <<<
 | |
| ~ daily from 2016/12/31
 | |
|     expenses:food  $8
 | |
|     assets
 | |
| 
 | |
| = ^assets:bank$ date:2017/1 amt:<0
 | |
|     assets:bank  *0.008
 | |
|     expenses:fee  *-0.008  ; cash withdraw fee
 | |
| 
 | |
| 2016/12/31
 | |
|     expenses:housing:rent  $600
 | |
|     assets:bank
 | |
| 
 | |
| 2017/1/1
 | |
|     expenses:food  $20
 | |
|     expenses:leisure  $15
 | |
|     expenses:grocery  $30
 | |
|     assets:bank
 | |
| >>>
 | |
| Ending balances (historical) in 2016/12/31-2017/01/01:
 | |
| 
 | |
|                        ||  2016/12/31  2017/01/01 
 | |
| =======================++=========================
 | |
|  expenses:fee          ||           0          $1 
 | |
|  expenses:food         ||         $-8          $4 
 | |
|  expenses:grocery      ||           0         $30 
 | |
|  expenses:housing:rent ||        $600        $600 
 | |
|  expenses:leisure      ||           0         $15 
 | |
| 
 | |
| >>>2
 | |
| >>>=0
 | |
| 
 | |
| # We can disable offset keeping rewrites and bucketing
 | |
| # Note that original account names used for query
 | |
| runghc ../../bin/hledger-budget.hs bal -f - --no-total --no-offset -DH expenses
 | |
| <<<
 | |
| ~ daily from 2016/12/31
 | |
|     expenses:food  $8
 | |
|     assets
 | |
| 
 | |
| = ^assets:bank$ date:2017/1 amt:<0
 | |
|     assets:bank  *0.008
 | |
|     expenses:fee  *-0.008  ; cash withdraw fee
 | |
| 
 | |
| 2016/12/31
 | |
|     expenses:housing:rent  $600
 | |
|     assets:bank
 | |
| 
 | |
| 2017/1/1
 | |
|     expenses:food  $20
 | |
|     expenses:leisure  $15
 | |
|     expenses:grocery  $30
 | |
|     assets:bank
 | |
| >>>
 | |
| Ending balances (historical) in 2016/12/31-2017/01/01:
 | |
| 
 | |
|                ||  2016/12/31  2017/01/01 
 | |
| ===============++=========================
 | |
|  <unbucketed>  ||        $600        $646 
 | |
|  expenses:food ||           0         $20 
 | |
| 
 | |
| >>>2
 | |
| >>>=0
 | |
| 
 | |
| # We can keep just rewrites
 | |
| runghc ../../bin/hledger-budget.hs bal -f - --no-total --no-buckets --no-offset -DH expenses
 | |
| <<<
 | |
| ~ daily from 2016/12/31
 | |
|     expenses:food  $8
 | |
|     assets
 | |
| 
 | |
| = ^assets:bank$ date:2017/1 amt:<0
 | |
|     assets:bank  *0.008
 | |
|     expenses:fee  *-0.008  ; cash withdraw fee
 | |
| 
 | |
| 2016/12/31
 | |
|     expenses:housing:rent  $600
 | |
|     assets:bank
 | |
| 
 | |
| 2017/1/1
 | |
|     expenses:food  $20
 | |
|     expenses:leisure  $15
 | |
|     expenses:grocery  $30
 | |
|     assets:bank
 | |
| >>>
 | |
| Ending balances (historical) in 2016/12/31-2017/01/01:
 | |
| 
 | |
|                        ||  2016/12/31  2017/01/01 
 | |
| =======================++=========================
 | |
|  expenses:fee          ||           0          $1 
 | |
|  expenses:food         ||           0         $20 
 | |
|  expenses:grocery      ||           0         $30 
 | |
|  expenses:housing:rent ||        $600        $600 
 | |
|  expenses:leisure      ||           0         $15 
 | |
| 
 | |
| >>>2
 | |
| >>>=0
 |