diff --git a/erpnext/stock/doctype/material_request/mapper.py b/erpnext/stock/doctype/material_request/mapper.py index da617f4d8a9..26569f58cec 100644 --- a/erpnext/stock/doctype/material_request/mapper.py +++ b/erpnext/stock/doctype/material_request/mapper.py @@ -215,11 +215,17 @@ def make_purchase_orders_by_supplier(source_name: str, item_suppliers: str | lis } items_by_supplier = {} + requested_items = set() for row in item_suppliers: row = frappe._dict(row) pending = pending_items.get(row.material_request_item) or frappe._dict() item_link = get_link_to_form("Item", row.item_code) + if row.material_request_item in requested_items: + frappe.throw(_("Item {0} cannot be ordered more than once").format(item_link)) + + requested_items.add(row.material_request_item) + if not row.supplier: frappe.throw(_("Select a Supplier for Item {0}").format(item_link))