fix: do not modify rate in the child item merely for comparison (backport #53301) (#53375)

Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com>
fix: do not modify rate in the child item merely for comparison (#53301)
This commit is contained in:
mergify[bot]
2026-03-12 09:20:39 +00:00
committed by GitHub
parent 0d527ac8ea
commit 0e00ab8865

View File

@@ -525,11 +525,11 @@ class StockReconciliation(StockController):
return True
rate_precision = item.precision("valuation_rate")
item_dict["rate"] = flt(item_dict.get("rate"), rate_precision)
item.valuation_rate = flt(item.valuation_rate, rate_precision) if item.valuation_rate else None
rate = flt(item_dict.get("rate"), rate_precision)
valuation_rate = flt(item.valuation_rate, rate_precision) if item.valuation_rate else None
if (
(item.qty is None or item.qty == item_dict.get("qty"))
and (item.valuation_rate is None or item.valuation_rate == item_dict.get("rate"))
and (valuation_rate is None or valuation_rate == rate)
and (not item.serial_no or (item.serial_no == item_dict.get("serial_nos")))
):
return False
@@ -999,9 +999,9 @@ class StockReconciliation(StockController):
def set_total_qty_and_amount(self):
for d in self.get("items"):
d.amount = flt(d.qty, d.precision("qty")) * flt(d.valuation_rate, d.precision("valuation_rate"))
d.current_amount = flt(d.current_qty, d.precision("current_qty")) * flt(
d.current_valuation_rate, d.precision("current_valuation_rate")
d.amount = flt(flt(d.qty) * flt(d.valuation_rate), d.precision("amount"))
d.current_amount = flt(
flt(d.current_qty) * flt(d.current_valuation_rate), d.precision("current_amount")
)
d.quantity_difference = flt(d.qty) - flt(d.current_qty)