From d53c922b659d948d3496304533d532048ebbfc56 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Wed, 10 Dec 2025 16:53:02 +0530 Subject: [PATCH 1/2] fix: check if item is variant when creating WO from MR --- erpnext/stock/doctype/material_request/material_request.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py index bdc980f3d4..c660b2653c 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -844,7 +844,10 @@ def raise_work_orders(material_request, company): for d in mr.items: if (d.stock_qty - d.ordered_qty) > 0: - if frappe.db.exists("BOM", {"item": d.item_code, "is_default": 1}): + if frappe.db.exists("BOM", {"item": d.item_code, "is_default": 1}) or ( + (variant_of := frappe.get_value("Item", d.item_code, "variant_of")) + and frappe.db.exists("BOM", {"item": variant_of, "is_default": 1, "is_active": 1}) + ): wo_order = frappe.new_doc("Work Order") wo_order.update( { -- GitLab From c33fc786e94de794e61581e82366b9387c6d689f Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Wed, 10 Dec 2025 21:53:11 +0530 Subject: [PATCH 2/2] fix: add is_active filter --- erpnext/stock/doctype/material_request/material_request.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py index c660b2653c..27815b2765 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -844,7 +844,7 @@ def raise_work_orders(material_request, company): for d in mr.items: if (d.stock_qty - d.ordered_qty) > 0: - if frappe.db.exists("BOM", {"item": d.item_code, "is_default": 1}) or ( + if frappe.db.exists("BOM", {"item": d.item_code, "is_default": 1, "is_active": 1}) or ( (variant_of := frappe.get_value("Item", d.item_code, "variant_of")) and frappe.db.exists("BOM", {"item": variant_of, "is_default": 1, "is_active": 1}) ): -- GitLab