From 1f78f45aee164cc37a178f368664b04385ae6e32 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Tue, 3 Feb 2026 20:21:51 +0530 Subject: [PATCH 1/3] fix: rate comparison in stock reco (cherry picked from commit f1b4fe12a2d0e6959ef6ac1b614ffe0e87a51518) --- .../stock/doctype/stock_reconciliation/stock_reconciliation.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py index c7d8461704f..135a0804f12 100644 --- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py @@ -523,6 +523,9 @@ class StockReconciliation(StockController): if abs(difference_amount) > 0: return True + float_precision = frappe.db.get_default("float_precision") or 3 + item_dict["rate"] = flt(item_dict.get("rate"), float_precision) + item.valuation_rate = flt(item.valuation_rate, float_precision) 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")) From 64a7956a4a59022242e5f6c6a550a21750566b61 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Wed, 4 Feb 2026 12:02:14 +0530 Subject: [PATCH 2/3] fix: return None instead of 0 if valuation rate is falsy (cherry picked from commit e8d1e9d946ff19f608cd47a77734bbc72248fe56) --- .../stock/doctype/stock_reconciliation/stock_reconciliation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py index 135a0804f12..ac9e94f1e6a 100644 --- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py @@ -525,7 +525,7 @@ class StockReconciliation(StockController): float_precision = frappe.db.get_default("float_precision") or 3 item_dict["rate"] = flt(item_dict.get("rate"), float_precision) - item.valuation_rate = flt(item.valuation_rate, float_precision) + item.valuation_rate = flt(item.valuation_rate, float_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")) From e86ab97b7ed6ae2f55dccd90c5ea389b5ae45d82 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Wed, 4 Feb 2026 17:26:01 +0530 Subject: [PATCH 3/3] chore: add line in the end so linter check passes --- erpnext/public/js/utils/demo.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/public/js/utils/demo.js b/erpnext/public/js/utils/demo.js index e0da8985e9b..db15834ae95 100644 --- a/erpnext/public/js/utils/demo.js +++ b/erpnext/public/js/utils/demo.js @@ -28,4 +28,4 @@ erpnext.demo.clear_demo = function () { }, }); }); -}; \ No newline at end of file +};