item name added to BOM
diff --git a/erpnext/manufacturing/doctype/bom/bom.js b/erpnext/manufacturing/doctype/bom/bom.js
index 4f78c41..7dedfac 100644
--- a/erpnext/manufacturing/doctype/bom/bom.js
+++ b/erpnext/manufacturing/doctype/bom/bom.js
@@ -61,6 +61,7 @@
 }
 
 cur_frm.add_fetch("item", "description", "description");
+cur_frm.add_fetch("item", "item_name", "item_name");
 cur_frm.add_fetch("item", "stock_uom", "uom");
 
 
diff --git a/erpnext/manufacturing/doctype/bom/bom.json b/erpnext/manufacturing/doctype/bom/bom.json
index 7dac33c..9d76d2f 100644
--- a/erpnext/manufacturing/doctype/bom/bom.json
+++ b/erpnext/manufacturing/doctype/bom/bom.json
@@ -22,6 +22,33 @@
    "search_index": 1
   }, 
   {
+   "fieldname": "item_name", 
+   "fieldtype": "Data", 
+   "label": "Item Name", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
+   "fieldname": "rm_cost_as_per", 
+   "fieldtype": "Select", 
+   "label": "Rate Of Materials Based On", 
+   "options": "Valuation Rate\nLast Purchase Rate\nPrice List", 
+   "permlevel": 0
+  }, 
+  {
+   "depends_on": "eval:doc.rm_cost_as_per===\"Price List\"", 
+   "fieldname": "buying_price_list", 
+   "fieldtype": "Link", 
+   "label": "Price List", 
+   "options": "Price List", 
+   "permlevel": 0
+  }, 
+  {
+   "fieldname": "cb0", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0
+  }, 
+  {
    "allow_on_submit": 1, 
    "default": "1", 
    "fieldname": "is_active", 
@@ -48,11 +75,6 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "cb0", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0
-  }, 
-  {
    "description": "Manage cost of operations", 
    "fieldname": "with_operations", 
    "fieldtype": "Check", 
@@ -60,21 +82,6 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "rm_cost_as_per", 
-   "fieldtype": "Select", 
-   "label": "Rate Of Materials Based On", 
-   "options": "Valuation Rate\nLast Purchase Rate\nPrice List", 
-   "permlevel": 0
-  }, 
-  {
-   "depends_on": "eval:doc.rm_cost_as_per===\"Price List\"", 
-   "fieldname": "buying_price_list", 
-   "fieldtype": "Link", 
-   "label": "Price List", 
-   "options": "Price List", 
-   "permlevel": 0
-  }, 
-  {
    "depends_on": "with_operations", 
    "description": "Specify the operations, operating cost and give a unique Operation no to your operations.", 
    "fieldname": "operations_section", 
@@ -245,7 +252,7 @@
  "is_submittable": 1, 
  "issingle": 0, 
  "istable": 0, 
- "modified": "2015-01-07 11:11:07.047695", 
+ "modified": "2015-01-20 11:54:43.042697", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
  "name": "BOM", 
diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py
index 5c4a841..4d079f4 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -53,7 +53,7 @@
 		self.manage_default_bom()
 
 	def get_item_det(self, item_code):
-		item = frappe.db.sql("""select name, is_asset_item, is_purchase_item,
+		item = frappe.db.sql("""select name, item_name, is_asset_item, is_purchase_item,
 			docstatus, description, is_sub_contracted_item, stock_uom, default_bom,
 			last_purchase_rate
 			from `tabItem` where name=%s""", item_code, as_dict = 1)
@@ -69,7 +69,7 @@
 
 	def set_bom_material_details(self):
 		for item in self.get("items"):
-			ret = self.get_bom_material_detail({"item_code": item.item_code, "bom_no": item.bom_no,
+			ret = self.get_bom_material_detail({"item_code": item.item_code, "item_name": item.item_name, "bom_no": item.bom_no,
 				"qty": item.qty})
 
 			for r in ret:
@@ -93,6 +93,7 @@
 
 		rate = self.get_rm_rate(args)
 		ret_item = {
+			 'item_name'	: item and args['item_name'] or '',
 			 'description'  : item and args['description'] or '',
 			 'stock_uom'	: item and args['stock_uom'] or '',
 			 'bom_no'		: args['bom_no'],
@@ -203,9 +204,10 @@
 		if not item:
 			frappe.throw(_("Item {0} does not exist in the system or has expired").format(self.item))
 		else:
-			ret = frappe.db.get_value("Item", self.item, ["description", "stock_uom"])
+			ret = frappe.db.get_value("Item", self.item, ["description", "stock_uom", "item_name"])
 			self.description = ret[0]
 			self.uom = ret[1]
+			self.item_name= ret[2]
 
 	def validate_materials(self):
 		""" Validate raw material entries """
@@ -313,6 +315,7 @@
 			else:
 				self.add_to_cur_exploded_items(frappe._dict({
 					'item_code'				: d.item_code,
+					'item_name'				: d.item_name,
 					'description'			: d.description,
 					'stock_uom'				: d.stock_uom,
 					'qty'					: flt(d.qty),
@@ -328,7 +331,7 @@
 	def get_child_exploded_items(self, bom_no, qty):
 		""" Add all items from Flat BOM of child BOM"""
 		# Did not use qty_consumed_per_unit in the query, as it leads to rounding loss
-		child_fb_items = frappe.db.sql("""select bom_item.item_code, bom_item.description,
+		child_fb_items = frappe.db.sql("""select bom_item.item_code, bom_item.item_name, bom_item.description,
 			bom_item.stock_uom, bom_item.qty, bom_item.rate,
 			ifnull(bom_item.qty, 0 ) / ifnull(bom.quantity, 1) as qty_consumed_per_unit
 			from `tabBOM Explosion Item` bom_item, tabBOM bom
@@ -337,6 +340,7 @@
 		for d in child_fb_items:
 			self.add_to_cur_exploded_items(frappe._dict({
 				'item_code'				: d['item_code'],
+				'item_name'				: d['item_name'],
 				'description'			: d['description'],
 				'stock_uom'				: d['stock_uom'],
 				'qty'					: d['qty_consumed_per_unit']*qty,
diff --git a/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.json b/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.json
index 58b505d..71b6da5 100644
--- a/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.json
+++ b/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.json
@@ -17,6 +17,21 @@
    "read_only": 1
   }, 
   {
+   "fieldname": "item_name", 
+   "fieldtype": "Data", 
+   "in_list_view": 1, 
+   "label": "Item Name", 
+   "permlevel": 0, 
+   "precision": "", 
+   "read_only": 1
+  }, 
+  {
+   "fieldname": "column_break_2", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
    "fieldname": "description", 
    "fieldtype": "Text", 
    "in_list_view": 1, 
@@ -29,6 +44,12 @@
    "width": "300px"
   }, 
   {
+   "fieldname": "section_break_4", 
+   "fieldtype": "Section Break", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
    "fieldname": "qty", 
    "fieldtype": "Float", 
    "in_list_view": 1, 
@@ -50,17 +71,22 @@
    "read_only": 1
   }, 
   {
-   "fieldname": "amount", 
-   "fieldtype": "Currency", 
+   "fieldname": "qty_consumed_per_unit", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
    "in_list_view": 1, 
-   "label": "Amount", 
-   "oldfieldname": "amount_as_per_sr", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
+   "label": "Qty Consumed Per Unit", 
+   "no_copy": 0, 
    "permlevel": 0, 
    "read_only": 1
   }, 
   {
+   "fieldname": "column_break_8", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
    "fieldname": "stock_uom", 
    "fieldtype": "Link", 
    "in_list_view": 0, 
@@ -72,19 +98,20 @@
    "read_only": 1
   }, 
   {
-   "fieldname": "qty_consumed_per_unit", 
-   "fieldtype": "Float", 
-   "hidden": 0, 
+   "fieldname": "amount", 
+   "fieldtype": "Currency", 
    "in_list_view": 1, 
-   "label": "Qty Consumed Per Unit", 
-   "no_copy": 0, 
+   "label": "Amount", 
+   "oldfieldname": "amount_as_per_sr", 
+   "oldfieldtype": "Currency", 
+   "options": "Company:company:default_currency", 
    "permlevel": 0, 
    "read_only": 1
   }
  ], 
  "idx": 1, 
  "istable": 1, 
- "modified": "2014-12-12 11:18:01.745641", 
+ "modified": "2015-01-20 13:28:52.258152", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
  "name": "BOM Explosion Item", 
diff --git a/erpnext/manufacturing/doctype/bom_item/bom_item.json b/erpnext/manufacturing/doctype/bom_item/bom_item.json
index 872f532..79287eb 100644
--- a/erpnext/manufacturing/doctype/bom_item/bom_item.json
+++ b/erpnext/manufacturing/doctype/bom_item/bom_item.json
@@ -1,147 +1,155 @@
 {
- "creation": "2013-02-22 01:27:49",
- "docstatus": 0,
- "doctype": "DocType",
+ "creation": "2013-02-22 01:27:49", 
+ "docstatus": 0, 
+ "doctype": "DocType", 
  "fields": [
   {
-   "fieldname": "operation",
-   "fieldtype": "Select",
-   "in_list_view": 1,
-   "label": "Operation",
-   "oldfieldname": "operation_no",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
+   "fieldname": "operation", 
+   "fieldtype": "Select", 
+   "in_list_view": 1, 
+   "label": "Operation", 
+   "oldfieldname": "operation_no", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
    "reqd": 0
-  },
+  }, 
   {
-   "fieldname": "item_code",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "in_list_view": 1,
-   "label": "Item Code",
-   "oldfieldname": "item_code",
-   "oldfieldtype": "Link",
-   "options": "Item",
-   "permlevel": 0,
-   "reqd": 1,
+   "fieldname": "item_code", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "in_list_view": 1, 
+   "label": "Item Code", 
+   "oldfieldname": "item_code", 
+   "oldfieldtype": "Link", 
+   "options": "Item", 
+   "permlevel": 0, 
+   "reqd": 1, 
    "search_index": 1
-  },
+  }, 
   {
-   "fieldname": "bom_no",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "in_list_view": 1,
-   "label": "BOM No",
-   "oldfieldname": "bom_no",
-   "oldfieldtype": "Link",
-   "options": "BOM",
-   "permlevel": 0,
-   "print_width": "150px",
-   "reqd": 0,
-   "search_index": 1,
+   "fieldname": "item_name", 
+   "fieldtype": "Data", 
+   "in_list_view": 1, 
+   "label": "Item Name", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
+   "fieldname": "bom_no", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "in_list_view": 0, 
+   "label": "BOM No", 
+   "oldfieldname": "bom_no", 
+   "oldfieldtype": "Link", 
+   "options": "BOM", 
+   "permlevel": 0, 
+   "print_width": "150px", 
+   "reqd": 0, 
+   "search_index": 1, 
    "width": "150px"
-  },
+  }, 
   {
-   "fieldname": "col_break1",
-   "fieldtype": "Column Break",
+   "fieldname": "col_break1", 
+   "fieldtype": "Column Break", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "description",
-   "fieldtype": "Text",
-   "label": "Item Description",
-   "oldfieldname": "description",
-   "oldfieldtype": "Text",
-   "permlevel": 0,
-   "print_width": "250px",
-   "reqd": 0,
-   "width": "250px"
-  },
+   "fieldname": "description", 
+   "fieldtype": "Text", 
+   "label": "Item Description", 
+   "oldfieldname": "description", 
+   "oldfieldtype": "Text", 
+   "permlevel": 0, 
+   "print_width": "250px", 
+   "reqd": 0, 
+   "width": "25px"
+  }, 
   {
-   "fieldname": "quantity_and_rate",
-   "fieldtype": "Section Break",
-   "label": "Quantity and Rate",
+   "fieldname": "quantity_and_rate", 
+   "fieldtype": "Section Break", 
+   "label": "Quantity and Rate", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "qty",
-   "fieldtype": "Float",
-   "in_list_view": 1,
-   "label": "Qty",
-   "oldfieldname": "qty",
-   "oldfieldtype": "Currency",
-   "permlevel": 0,
+   "fieldname": "qty", 
+   "fieldtype": "Float", 
+   "in_list_view": 1, 
+   "label": "Qty", 
+   "oldfieldname": "qty", 
+   "oldfieldtype": "Currency", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "description": "See \"Rate Of Materials Based On\" in Costing Section",
-   "fieldname": "rate",
-   "fieldtype": "Currency",
-   "in_list_view": 1,
-   "label": "Rate",
-   "options": "Company:company:default_currency",
-   "permlevel": 0,
+   "description": "See \"Rate Of Materials Based On\" in Costing Section", 
+   "fieldname": "rate", 
+   "fieldtype": "Currency", 
+   "in_list_view": 1, 
+   "label": "Rate", 
+   "options": "Company:company:default_currency", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "col_break2",
-   "fieldtype": "Column Break",
+   "fieldname": "col_break2", 
+   "fieldtype": "Column Break", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "stock_uom",
-   "fieldtype": "Link",
-   "in_list_view": 0,
-   "label": "Stock UOM",
-   "oldfieldname": "stock_uom",
-   "oldfieldtype": "Data",
-   "options": "UOM",
-   "permlevel": 0,
-   "read_only": 1,
+   "fieldname": "stock_uom", 
+   "fieldtype": "Link", 
+   "in_list_view": 0, 
+   "label": "Stock UOM", 
+   "oldfieldname": "stock_uom", 
+   "oldfieldtype": "Data", 
+   "options": "UOM", 
+   "permlevel": 0, 
+   "read_only": 1, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "amount",
-   "fieldtype": "Currency",
-   "in_list_view": 1,
-   "label": "Amount",
-   "oldfieldname": "amount_as_per_mar",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
-   "permlevel": 0,
-   "print_width": "150px",
-   "read_only": 1,
+   "fieldname": "amount", 
+   "fieldtype": "Currency", 
+   "in_list_view": 1, 
+   "label": "Amount", 
+   "oldfieldname": "amount_as_per_mar", 
+   "oldfieldtype": "Currency", 
+   "options": "Company:company:default_currency", 
+   "permlevel": 0, 
+   "print_width": "150px", 
+   "read_only": 1, 
    "width": "150px"
-  },
+  }, 
   {
-   "fieldname": "scrap",
-   "fieldtype": "Float",
-   "label": "Scrap %",
-   "oldfieldname": "scrap",
-   "oldfieldtype": "Currency",
-   "permlevel": 0,
+   "fieldname": "scrap", 
+   "fieldtype": "Float", 
+   "label": "Scrap %", 
+   "oldfieldname": "scrap", 
+   "oldfieldtype": "Currency", 
+   "permlevel": 0, 
    "print_hide": 1
-  },
+  }, 
   {
-   "fieldname": "qty_consumed_per_unit",
-   "fieldtype": "Float",
-   "hidden": 1,
-   "label": "Qty Consumed Per Unit",
-   "oldfieldname": "qty_consumed_per_unit",
-   "oldfieldtype": "Float",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "qty_consumed_per_unit", 
+   "fieldtype": "Float", 
+   "hidden": 1, 
+   "label": "Qty Consumed Per Unit", 
+   "oldfieldname": "qty_consumed_per_unit", 
+   "oldfieldtype": "Float", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 1
   }
- ],
- "idx": 1,
- "istable": 1,
- "modified": "2014-12-12 11:15:43.798755",
- "modified_by": "Administrator",
- "module": "Manufacturing",
- "name": "BOM Item",
- "owner": "Administrator",
- "permissions": [],
- "sort_field": "modified",
+ ], 
+ "idx": 1, 
+ "istable": 1, 
+ "modified": "2015-01-20 13:28:35.152945", 
+ "modified_by": "Administrator", 
+ "module": "Manufacturing", 
+ "name": "BOM Item", 
+ "owner": "Administrator", 
+ "permissions": [], 
+ "sort_field": "modified", 
  "sort_order": "DESC"
-}
+}
\ No newline at end of file
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index ccbf676..9a74469 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -105,3 +105,4 @@
 erpnext.patches.v5_0.remove_shopping_cart_app
 erpnext.patches.v5_0.update_companywise_payment_account
 erpnext.patches.v5_0.remove_birthday_events
+erpnext.patches.v5_0.update_item_name_in_bom
diff --git a/erpnext/patches/v5_0/update_item_name_in_bom.py b/erpnext/patches/v5_0/update_item_name_in_bom.py
new file mode 100644
index 0000000..20c346e
--- /dev/null
+++ b/erpnext/patches/v5_0/update_item_name_in_bom.py
@@ -0,0 +1,12 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+import frappe
+
+def execute():
+	frappe.db.sql("""update `tabBOM` set `tabBOM`.item_name = ( select `tabItem`.item_name \
+		from `tabItem` where `tabItem`.name = `tabBOM`.item)""")
+	frappe.db.sql("""update `tabBOM Item` set item_name = ( select item_name  \
+		from tabItem where `tabItem`.name = `tabBOM Item`.item_code)""")
+	frappe.db.sql("""update `tabBOM Explosion Item` set `tabBOM Explosion Item`.item_name = \
+		( select `tabItem`.item_name from `tabItem` where `tabItem`.name = `tabBOM Explosion Item`.item_code)""")
\ No newline at end of file