From a3596f717b6a8145535d4a133d518f565e4ec0c5 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Sun, 2 Mar 2025 11:29:39 +0530 Subject: [PATCH 1/2] fix: dont update rate of free item when batch is updated --- erpnext/stock/get_item_details.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index c1c043b2582..d87df79fc7a 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -227,7 +227,7 @@ def update_stock(ctx, out, doc=None): else: qty -= batch_qty - out.update({"batch_no": batch_no, "actual_batch_qty": qty}) + out.update({"batch_no": batch_no, "actual_batch_qty": batch_qty}) if rate: out.update({"rate": rate, "price_list_rate": rate}) @@ -1095,7 +1095,7 @@ def get_batch_based_item_price(pctx: ItemPriceCtx | dict | str, item_code) -> fl if not item_price: item_price = get_item_price(pctx, item_code, ignore_party=True, force_batch_no=True) - if item_price and item_price[0].uom == pctx.uom: + if item_price and item_price[0].uom == pctx.uom and not pctx.get("items")[0].get("is_free_item"): return item_price[0].price_list_rate return 0.0 From 7c9c0c7776b709005e4abe0edaa2591e3fa1e7cc Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Sun, 2 Mar 2025 12:07:31 +0530 Subject: [PATCH 2/2] fix: error --- erpnext/stock/get_item_details.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index d87df79fc7a..148ea784f3a 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -1095,7 +1095,7 @@ def get_batch_based_item_price(pctx: ItemPriceCtx | dict | str, item_code) -> fl if not item_price: item_price = get_item_price(pctx, item_code, ignore_party=True, force_batch_no=True) - if item_price and item_price[0].uom == pctx.uom and not pctx.get("items")[0].get("is_free_item"): + if item_price and item_price[0].uom == pctx.uom and not pctx.get("items", [{}])[0].get("is_free_item", 0): return item_price[0].price_list_rate return 0.0