From 66ba7be2392eb2b41e2959c0b4a5af0ece922118 Mon Sep 17 00:00:00 2001 From: Sudharsanan11 Date: Mon, 25 May 2026 14:43:39 +0530 Subject: [PATCH] fix(stock): remove precision for valuation rate while calculating difference amount --- .../stock_reconciliation/stock_reconciliation.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py index 526aa4a0257..f21f4da7174 100644 --- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py @@ -570,15 +570,18 @@ class StockReconciliation(StockController): def calculate_difference_amount(self, item, item_dict): qty_precision = item.precision("qty") - val_precision = item.precision("valuation_rate") + amount_precision = item.precision("amount") new_qty = flt(item.qty, qty_precision) - new_valuation_rate = flt(item.valuation_rate or item_dict.get("rate"), val_precision) + new_valuation_rate = flt(item.valuation_rate or item_dict.get("rate")) current_qty = flt(item_dict.get("qty"), qty_precision) - current_valuation_rate = flt(item_dict.get("rate"), val_precision) + current_valuation_rate = flt(item_dict.get("rate")) - self.difference_amount += (new_qty * new_valuation_rate) - (current_qty * current_valuation_rate) + new_amount = flt(new_qty * new_valuation_rate, amount_precision) + current_amount = flt(current_qty * current_valuation_rate, amount_precision) + + self.difference_amount += new_amount - current_amount def validate_data(self): def _get_msg(row_num, msg):