[Item][Validation] if sle exists, soem fields can not be changed
diff --git a/stock/doctype/item/item.py b/stock/doctype/item/item.py
index 2a2fa58..b579195 100644
--- a/stock/doctype/item/item.py
+++ b/stock/doctype/item/item.py
@@ -181,7 +181,8 @@
 		self.check_item_tax()
 		self.validate_barcode()
 		self.check_non_asset_warehouse()
-
+		self.cant_change()
+		
 		if cstr(self.doc.is_manufactured_item) == "No":
 			self.doc.is_pro_applicable = "No"
 
@@ -242,3 +243,15 @@
 		if self.doc.slideshow:
 			from website.helpers.slideshow import get_slideshow
 			get_slideshow(self)
+	
+	def cant_change(self):
+		vals = webnotes.conn.get_value("Item", self.doc.name, 
+			["has_serial_no", "is_stock_item", "valuation_method"], as_dict=True)
+			
+		if (vals.has_serial_no != self.doc.has_serial_no or 
+			vals.is_stock_item != self.doc.is_stock_item or 
+			vals.valuation_method != self.doc.valuation_method):
+				if self.check_if_sle_exists():
+					webnotes.msgprint(_("As there are existing stock transactions for this item, \
+						you can not change the values of 'Has Serial No', 'Is Stock Item' and \
+						'Valuation Method'"), raise_exception=1)
\ No newline at end of file