From 1c90c7f97a9915a4cfb0d3d1a8b6fa6f3b2b4a66 Mon Sep 17 00:00:00 2001 From: Stephen Morgan Date: Mon, 15 Nov 2021 12:14:36 +1100 Subject: [PATCH] fix: prices: Do not include zero amounts when calculating amounts for balance assignments. (#1736) This is not usually a problem, but can get in the way of auto-inferring prices. --- hledger-lib/Hledger/Data/Balancing.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hledger-lib/Hledger/Data/Balancing.hs b/hledger-lib/Hledger/Data/Balancing.hs index 644fcc39e..cf4b21a0f 100644 --- a/hledger-lib/Hledger/Data/Balancing.hs +++ b/hledger-lib/Hledger/Data/Balancing.hs @@ -508,7 +508,7 @@ addOrAssignAmountAndCheckAssertionB p@Posting{paccount=acc, pamount=amt, pbalanc oldbalothercommodities <- filterMixedAmount ((acommodity baamount /=) . acommodity) <$> getRunningBalanceB acc return $ maAddAmount oldbalothercommodities baamount diff <- (if bainclusive then setInclusiveRunningBalanceB else setRunningBalanceB) acc newbal - let p' = p{pamount=diff, poriginal=Just $ originalPosting p} + let p' = p{pamount=filterMixedAmount (not . amountIsZero) diff, poriginal=Just $ originalPosting p} whenM (R.reader bsAssrt) $ checkBalanceAssertionB p' newbal return p'