Merge pull request #55249 from aerele/fix/support-#68708

fix(stock): remove precision for valuation rate while creating sle
This commit is contained in:
rohitwaghchaure
2026-05-25 17:21:01 +05:30
committed by GitHub

View File

@@ -570,15 +570,18 @@ class StockReconciliation(StockController):
def calculate_difference_amount(self, item, item_dict): def calculate_difference_amount(self, item, item_dict):
qty_precision = item.precision("qty") qty_precision = item.precision("qty")
val_precision = item.precision("valuation_rate") amount_precision = item.precision("amount")
new_qty = flt(item.qty, qty_precision) 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_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 validate_data(self):
def _get_msg(row_num, msg): def _get_msg(row_num, msg):
@@ -888,7 +891,7 @@ class StockReconciliation(StockController):
"company": self.company, "company": self.company,
"stock_uom": frappe.db.get_value("Item", row.item_code, "stock_uom"), "stock_uom": frappe.db.get_value("Item", row.item_code, "stock_uom"),
"is_cancelled": 1 if self.docstatus == 2 else 0, "is_cancelled": 1 if self.docstatus == 2 else 0,
"valuation_rate": flt(row.valuation_rate, row.precision("valuation_rate")), "valuation_rate": flt(row.valuation_rate),
} }
) )