equity: generate assertions

This commit is contained in:
Mykola Orliuk 2017-01-25 23:56:10 +02:00 committed by Simon Michael
parent f3cb32a56f
commit 0a8212bda3
2 changed files with 28 additions and 16 deletions

View File

@ -73,10 +73,22 @@ main = do
q = queryFromOpts today ropts_ q = queryFromOpts today ropts_
(acctbals,_) = balanceReport ropts_ q j (acctbals,_) = balanceReport ropts_ q j
balancingamt = negate $ sum $ map (\(_,_,_,b) -> normaliseMixedAmountSquashPricesForDisplay b) acctbals balancingamt = negate $ sum $ map (\(_,_,_,b) -> normaliseMixedAmountSquashPricesForDisplay b) acctbals
ps = [posting{paccount=a, pamount=normaliseMixedAmountSquashPricesForDisplay b} | (a,_,_,b) <- acctbals] ps = [posting{paccount=a
,pamount=mixed [b]
,pbalanceassertion=Just b
}
|(a,_,_,mb) <- acctbals
,b <- amounts $ normaliseMixedAmountSquashPricesForDisplay mb
]
++ [posting{paccount="equity:opening balances", pamount=balancingamt}] ++ [posting{paccount="equity:opening balances", pamount=balancingamt}]
enddate = fromMaybe today $ queryEndDate (date2_ ropts_) q enddate = fromMaybe today $ queryEndDate (date2_ ropts_) q
nps = [posting{paccount=a, pamount=negate $ normaliseMixedAmountSquashPricesForDisplay b} | (a,_,_,b) <- acctbals] nps = [posting{paccount=a
,pamount=mixed [negate b]
,pbalanceassertion=Just b{aquantity=0}
}
|(a,_,_,mb) <- acctbals
,b <- amounts $ normaliseMixedAmountSquashPricesForDisplay mb
]
++ [posting{paccount="equity:closing balances", pamount=negate balancingamt}] ++ [posting{paccount="equity:closing balances", pamount=negate balancingamt}]
putStr $ showTransaction (nulltransaction{tdate=addDays (-1) enddate, tdescription="closing balances", tpostings=nps}) putStr $ showTransaction (nulltransaction{tdate=addDays (-1) enddate, tdescription="closing balances", tpostings=nps})
putStr $ showTransaction (nulltransaction{tdate=enddate, tdescription="opening balances", tpostings=ps}) putStr $ showTransaction (nulltransaction{tdate=enddate, tdescription="opening balances", tpostings=ps})

View File

@ -21,15 +21,15 @@ runghc ../../bin/hledger-equity.hs -f- -p 2016 assets liabilities
assets:cash assets:cash
>>> >>>
2016/12/31 closing balances 2016/12/31 closing balances
assets:bank $-80 assets:bank $-80 = $0
assets:cash $-10 assets:cash $-10 = $0
liabilities $-25 liabilities $-25 = $0
equity:closing balances equity:closing balances
2017/01/01 opening balances 2017/01/01 opening balances
assets:bank $80 assets:bank $80 = $80
assets:cash $10 assets:cash $10 = $10
liabilities $25 liabilities $25 = $25
equity:opening balances equity:opening balances
>>>=0 >>>=0
@ -59,13 +59,13 @@ Y2016
liabilities:employer liabilities:employer
>>> >>>
2016/12/31 closing balances 2016/12/31 closing balances
assets:bank -5,733.00 EUR assets:bank -5,733.00 EUR = 0.00 EUR
liabilities:employer -1.00 EUR liabilities:employer -1.00 EUR = 0.00 EUR
equity:closing balances equity:closing balances
2017/01/01 opening balances 2017/01/01 opening balances
assets:bank 5,733.00 EUR assets:bank 5,733.00 EUR = 5,733.00 EUR
liabilities:employer 1.00 EUR liabilities:employer 1.00 EUR = 1.00 EUR
equity:opening balances equity:opening balances
>>>=0 >>>=0
@ -91,13 +91,13 @@ runghc ../../bin/hledger-equity.hs -f- -p 2016 assets liabilities
assets:cash assets:cash
>>> >>>
2016/12/31 closing balances 2016/12/31 closing balances
assets:bank $20 assets:bank $20 = $0
assets:cash $-15 assets:cash $-15 = $0
equity:closing balances equity:closing balances
2017/01/01 opening balances 2017/01/01 opening balances
assets:bank $-20 assets:bank $-20 = $-20
assets:cash $15 assets:cash $15 = $15
equity:opening balances equity:opening balances
>>>=0 >>>=0