From fe7128f02fdb7b73dfcbf219a17cddaf4a2c0f37 Mon Sep 17 00:00:00 2001 From: pandiyan Date: Wed, 5 Aug 2026 13:03:10 +0530 Subject: [PATCH 1/2] fix: do not copy blanket order naming series to the mapped order get_mapped_doc copies every same-named field that is not no_copy, so the Sales Order / Purchase Order / Quotation created from a Blanket Order inherited MFG-BLR-.YYYY.- and was named MFG-BLR-2026-00003 instead of SAL-ORD-2026-00001. exclude naming_series from the mapping, same as job card does when it maps to a Purchase Order. --- .../manufacturing/doctype/blanket_order/blanket_order.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/erpnext/manufacturing/doctype/blanket_order/blanket_order.py b/erpnext/manufacturing/doctype/blanket_order/blanket_order.py index d7ef3ce2acc..983f19f31d1 100644 --- a/erpnext/manufacturing/doctype/blanket_order/blanket_order.py +++ b/erpnext/manufacturing/doctype/blanket_order/blanket_order.py @@ -149,7 +149,11 @@ def make_order(source_name: str): "Blanket Order", source_name, { - "Blanket Order": {"doctype": doctype, "postprocess": update_doc}, + "Blanket Order": { + "doctype": doctype, + "field_no_map": ["naming_series"], + "postprocess": update_doc, + }, "Blanket Order Item": { "doctype": doctype + " Item", "field_map": {"rate": "blanket_order_rate", "parent": "blanket_order"}, From 7620553418e5d9e8739e0e865aadde0d7283f6fe Mon Sep 17 00:00:00 2001 From: pandiyan Date: Wed, 5 Aug 2026 13:03:10 +0530 Subject: [PATCH 2/2] test: assert mapped order keeps its own naming series --- .../manufacturing/doctype/blanket_order/test_blanket_order.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/erpnext/manufacturing/doctype/blanket_order/test_blanket_order.py b/erpnext/manufacturing/doctype/blanket_order/test_blanket_order.py index 284dffc91b7..e0a25c9a359 100644 --- a/erpnext/manufacturing/doctype/blanket_order/test_blanket_order.py +++ b/erpnext/manufacturing/doctype/blanket_order/test_blanket_order.py @@ -25,6 +25,7 @@ class TestBlanketOrder(ERPNextTestSuite): so.submit() self.assertEqual(so.doctype, "Sales Order") + self.assertNotEqual(so.naming_series, bo.naming_series) self.assertEqual(len(so.get("items")), len(bo.get("items"))) # check the rate, quantity and updation for the ordered quantity @@ -50,6 +51,7 @@ class TestBlanketOrder(ERPNextTestSuite): po.submit() self.assertEqual(po.doctype, "Purchase Order") + self.assertNotEqual(po.naming_series, bo.naming_series) self.assertEqual(len(po.get("items")), len(bo.get("items"))) # check the rate, quantity and updation for the ordered quantity