From e57593fcf86e9fc30d5c801ae5ce66974480f197 Mon Sep 17 00:00:00 2001 From: khushi8112 Date: Thu, 18 Jun 2026 02:25:13 +0530 Subject: [PATCH] fix(item): add server-side guard for serial/batch items in make_opening_stock_entry Co-Authored-By: Claude Sonnet 4.6 --- erpnext/stock/doctype/item/item.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py index 32901b0953a..74e8dde48af 100644 --- a/erpnext/stock/doctype/item/item.py +++ b/erpnext/stock/doctype/item/item.py @@ -1601,6 +1601,10 @@ def make_opening_stock_entry( if not item.is_stock_item: frappe.throw(_("Opening Stock can only be set for stock items.")) + if item.has_serial_no or item.has_batch_no: + frappe.throw( + _("Opening Stock for serialised or batch items must be set via the Stock Reconciliation form.") + ) if item.stock_ledger_created(): frappe.throw( _("Opening Stock cannot be created as stock transactions already exist for item {0}.").format(