fix: serial no with zero quantity issue in stock reco
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
index 3f6a2c8..04d1a3a 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
@@ -4,7 +4,7 @@
from typing import Optional
import frappe
-from frappe import _, msgprint
+from frappe import _, bold, msgprint
from frappe.utils import cint, cstr, flt
import erpnext
@@ -89,7 +89,7 @@
if item_dict.get("serial_nos"):
item.current_serial_no = item_dict.get("serial_nos")
- if self.purpose == "Stock Reconciliation" and not item.serial_no:
+ if self.purpose == "Stock Reconciliation" and not item.serial_no and item.qty:
item.serial_no = item.current_serial_no
item.current_qty = item_dict.get("qty")
@@ -140,6 +140,14 @@
self.validate_item(row.item_code, row)
+ if row.serial_no and not row.qty:
+ self.validation_messages.append(
+ _get_msg(
+ row_num,
+ f"Quantity should not be zero for the {bold(row.item_code)} since serial nos are specified",
+ )
+ )
+
# validate warehouse
if not frappe.db.get_value("Warehouse", row.warehouse):
self.validation_messages.append(_get_msg(row_num, _("Warehouse not found in the system")))