From 0bec4193013d888b98e641f964ac2a8b6778897b 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 0975865f2af..ae9f7800c2f 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -845,7 +845,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( { From a52f42c7e4d62b85e2b7909c8849fe8db2745a36 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 ae9f7800c2f..f56fa8b6e7b 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -845,7 +845,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}) ):