validate item of item_price record
diff --git a/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.txt b/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.txt
index c1ace7c..e28bdb7 100644
--- a/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.txt
+++ b/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-02-22 01:27:42", 
   "docstatus": 0, 
-  "modified": "2013-12-20 19:23:37", 
+  "modified": "2014-02-13 11:29:35", 
   "modified_by": "Administrator", 
   "owner": "wasim@webnotestech.com"
  }, 
@@ -27,29 +27,6 @@
  }, 
  {
   "doctype": "DocField", 
-  "fieldname": "reference_name", 
-  "fieldtype": "Data", 
-  "hidden": 0, 
-  "in_filter": 0, 
-  "in_list_view": 1, 
-  "label": "Reference Name", 
-  "oldfieldname": "reference_name", 
-  "oldfieldtype": "Data", 
-  "read_only": 1, 
-  "search_index": 0
- }, 
- {
-  "doctype": "DocField", 
-  "fieldname": "bom_detail_no", 
-  "fieldtype": "Data", 
-  "in_list_view": 1, 
-  "label": "BOM Detail No", 
-  "oldfieldname": "bom_detail_no", 
-  "oldfieldtype": "Data", 
-  "read_only": 1
- }, 
- {
-  "doctype": "DocField", 
   "fieldname": "main_item_code", 
   "fieldtype": "Data", 
   "in_list_view": 1, 
@@ -65,12 +42,13 @@
   "in_list_view": 1, 
   "label": "Raw Material Item Code", 
   "oldfieldname": "rm_item_code", 
-  "oldfieldtype": "Data"
+  "oldfieldtype": "Data", 
+  "read_only": 1
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "description", 
-  "fieldtype": "Data", 
+  "fieldtype": "Text", 
   "in_list_view": 1, 
   "label": "Description", 
   "oldfieldname": "description", 
@@ -81,6 +59,11 @@
  }, 
  {
   "doctype": "DocField", 
+  "fieldname": "col_break1", 
+  "fieldtype": "Column Break"
+ }, 
+ {
+  "doctype": "DocField", 
   "fieldname": "required_qty", 
   "fieldtype": "Float", 
   "in_list_view": 1, 
@@ -100,21 +83,22 @@
  }, 
  {
   "doctype": "DocField", 
+  "fieldname": "stock_uom", 
+  "fieldtype": "Link", 
+  "label": "Stock Uom", 
+  "oldfieldname": "stock_uom", 
+  "oldfieldtype": "Data", 
+  "options": "UOM", 
+  "read_only": 1
+ }, 
+ {
+  "doctype": "DocField", 
   "fieldname": "rate", 
   "fieldtype": "Currency", 
   "label": "Rate", 
   "oldfieldname": "rate", 
   "oldfieldtype": "Currency", 
-  "options": "Company:company:default_currency"
- }, 
- {
-  "doctype": "DocField", 
-  "fieldname": "conversion_factor", 
-  "fieldtype": "Float", 
-  "hidden": 1, 
-  "label": "Conversion Factor", 
-  "oldfieldname": "conversion_factor", 
-  "oldfieldtype": "Currency", 
+  "options": "Company:company:default_currency", 
   "read_only": 1
  }, 
  {
@@ -129,21 +113,46 @@
  }, 
  {
   "doctype": "DocField", 
-  "fieldname": "stock_uom", 
-  "fieldtype": "Link", 
-  "label": "Stock Uom", 
-  "oldfieldname": "stock_uom", 
-  "oldfieldtype": "Data", 
-  "options": "UOM", 
+  "fieldname": "conversion_factor", 
+  "fieldtype": "Float", 
+  "hidden": 1, 
+  "label": "Conversion Factor", 
+  "oldfieldname": "conversion_factor", 
+  "oldfieldtype": "Currency", 
   "read_only": 1
  }, 
  {
   "doctype": "DocField", 
   "fieldname": "current_stock", 
   "fieldtype": "Float", 
+  "hidden": 1, 
   "label": "Current Stock", 
   "oldfieldname": "current_stock", 
   "oldfieldtype": "Currency", 
   "read_only": 1
+ }, 
+ {
+  "doctype": "DocField", 
+  "fieldname": "reference_name", 
+  "fieldtype": "Data", 
+  "hidden": 1, 
+  "in_filter": 0, 
+  "in_list_view": 1, 
+  "label": "Reference Name", 
+  "oldfieldname": "reference_name", 
+  "oldfieldtype": "Data", 
+  "read_only": 1, 
+  "search_index": 0
+ }, 
+ {
+  "doctype": "DocField", 
+  "fieldname": "bom_detail_no", 
+  "fieldtype": "Data", 
+  "hidden": 1, 
+  "in_list_view": 1, 
+  "label": "BOM Detail No", 
+  "oldfieldname": "bom_detail_no", 
+  "oldfieldtype": "Data", 
+  "read_only": 1
  }
 ]
\ No newline at end of file
diff --git a/erpnext/stock/doctype/item_price/item_price.py b/erpnext/stock/doctype/item_price/item_price.py
index cb07e70..284c52f 100644
--- a/erpnext/stock/doctype/item_price/item_price.py
+++ b/erpnext/stock/doctype/item_price/item_price.py
@@ -12,10 +12,19 @@
 		self.doc, self.doclist = d, dl
 
 	def validate(self):
+		self.validate_item()
 		self.validate_price_list()
 		self.check_duplicate_item()
 		self.update_price_list_details()
 		self.update_item_details()
+		
+	def validate_item(self):
+		if not webnotes.conn.exists("Item", self.doc.item_code):
+			throw("{doctype}: {item} {not_found}".format(**{
+				"doctype": _("Item"), 
+				"item": self.doc.item_code, 
+				"not_found": _(" not found")
+			}))
 
 	def validate_price_list(self):
 		enabled = webnotes.conn.get_value("Price List", self.doc.price_list, "enabled")
@@ -38,8 +47,9 @@
 				}), ItemPriceDuplicateItem)
 
 	def update_price_list_details(self):
-		self.doc.buying, self.doc.selling, self.doc.currency = webnotes.conn.get_value("Price List", 
-			{"name": self.doc.price_list, "enabled": 1}, ["buying", "selling", "currency"])
+		self.doc.buying, self.doc.selling, self.doc.currency = \
+			webnotes.conn.get_value("Price List", {"name": self.doc.price_list, "enabled": 1}, 
+				["buying", "selling", "currency"])
 
 	def update_item_details(self):
 		self.doc.item_name, self.doc.item_description = webnotes.conn.get_value("Item",