From 2c9c6c379829fc889fe1e2bb3c1dbe98d9309aad Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 16 Dec 2025 18:11:44 +0530 Subject: [PATCH] fix(subcontract): ignore BOM qty validation for alternative items (backport #51122) (#51135) fix(subcontract): ignore BOM qty validation for alternative items (#51122) (cherry picked from commit 2f19244660b0d26a0c3915c825e776f1eb377a33) Co-authored-by: Kavin <78342682+kavin-114@users.noreply.github.com> --- .../subcontracting_receipt/subcontracting_receipt.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py b/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py index 15e0259722f..cd20986dc5a 100644 --- a/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py +++ b/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py @@ -543,6 +543,12 @@ class SubcontractingReceipt(SubcontractingController): for row in self.items: precision = row.precision("qty") + + # if allow alternative item, ignore the validation as per BOM required qty + is_allow_alternative_item = frappe.db.get_value("BOM", row.bom, "allow_alternative_item") + if is_allow_alternative_item: + continue + for bom_item in self._get_materials_from_bom( row.item_code, row.bom, row.get("include_exploded_items") ):