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_
(acctbals,_) = balanceReport ropts_ q j
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}]
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}]
putStr $ showTransaction (nulltransaction{tdate=addDays (-1) enddate, tdescription="closing balances", tpostings=nps})
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
>>>
2016/12/31 closing balances
assets:bank $-80
assets:cash $-10
liabilities $-25
assets:bank $-80 = $0
assets:cash $-10 = $0
liabilities $-25 = $0
equity:closing balances
2017/01/01 opening balances
assets:bank $80
assets:cash $10
liabilities $25
assets:bank $80 = $80
assets:cash $10 = $10
liabilities $25 = $25
equity:opening balances
>>>=0
@ -59,13 +59,13 @@ Y2016
liabilities:employer
>>>
2016/12/31 closing balances
assets:bank -5,733.00 EUR
liabilities:employer -1.00 EUR
assets:bank -5,733.00 EUR = 0.00 EUR
liabilities:employer -1.00 EUR = 0.00 EUR
equity:closing balances
2017/01/01 opening balances
assets:bank 5,733.00 EUR
liabilities:employer 1.00 EUR
assets:bank 5,733.00 EUR = 5,733.00 EUR
liabilities:employer 1.00 EUR = 1.00 EUR
equity:opening balances
>>>=0
@ -91,13 +91,13 @@ runghc ../../bin/hledger-equity.hs -f- -p 2016 assets liabilities
assets:cash
>>>
2016/12/31 closing balances
assets:bank $20
assets:cash $-15
assets:bank $20 = $0
assets:cash $-15 = $0
equity:closing balances
2017/01/01 opening balances
assets:bank $-20
assets:cash $15
assets:bank $-20 = $-20
assets:cash $15 = $15
equity:opening balances
>>>=0