[refactor] Material Transfer for Manufacture
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.js b/erpnext/manufacturing/doctype/production_order/production_order.js
index f7ebaa9..2eeef08 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.js
+++ b/erpnext/manufacturing/doctype/production_order/production_order.js
@@ -7,7 +7,7 @@
 		cfn_set_fields(doc, dt, dn);
 
 		this.frm.add_fetch("sales_order", "delivery_date", "expected_delivery_date");
-		
+
 		if(doc.__islocal) {
 			cur_frm.set_value({
 			"actual_start_date": "",
@@ -70,7 +70,7 @@
 			method: "set_production_order_operations"
 		});
 	},
-	
+
 	planned_start_date: function() {
 		return this.frm.call({
 			doc: this.frm.doc,
@@ -144,7 +144,7 @@
 }
 
 cur_frm.cscript['Transfer Raw Materials'] = function() {
-	cur_frm.cscript.make_se('Material Transfer');
+	cur_frm.cscript.make_se('Material Transfer for Manufacture');
 }
 
 cur_frm.cscript['Update Finished Goods'] = function() {
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.py b/erpnext/manufacturing/doctype/production_order/production_order.py
index 67b53f6..7375cf2 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/production_order.py
@@ -210,7 +210,7 @@
 				d.status = "Completed"
 			else:
 				frappe.throw(_("Completed Qty can not be greater than 'Qty to Manufacture'"))
-		
+
 	def set_actual_dates(self):
 		if self.get("operations"):
 			actual_date = frappe.db.sql("""select min(actual_start_time) as start_date, max(actual_end_time) as end_date from `tabProduction Order Operation`
@@ -220,11 +220,11 @@
 		else:
 			self.actual_start_date = None
 			self.actual_end_date = None
-			
+
 	def validate_delivery_date(self):
 		if self.planned_start_date and self.expected_delivery_date and getdate(self.expected_delivery_date) < getdate(self.planned_start_date):
 			frappe.throw(_("Expected Delivery Date cannot be greater than Planned Start Date"))
-			
+
 		if self.planned_end_date and self.expected_delivery_date and getdate(self.expected_delivery_date) < getdate(self.planned_end_date):
 			frappe.msgprint(_("Production might not be able to finish by the Expected Delivery Date."))
 
@@ -254,7 +254,7 @@
 	stock_entry.use_multi_level_bom = production_order.use_multi_level_bom
 	stock_entry.fg_completed_qty = qty or (flt(production_order.qty) - flt(production_order.produced_qty))
 
-	if purpose=="Material Transfer":
+	if purpose=="Material Transfer for Manufacture":
 		stock_entry.to_warehouse = production_order.wip_warehouse
 	else:
 		stock_entry.from_warehouse = production_order.wip_warehouse
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 147525e..d1955f2 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -111,3 +111,4 @@
 execute:frappe.reload_doc('crm', 'doctype', 'lead')
 execute:frappe.reload_doc('crm', 'doctype', 'opportunity')
 erpnext.patches.v5_0.rename_customer_issue
+erpnext.patches.v5_0.update_material_transfer_for_manufacture
diff --git a/erpnext/patches/v5_0/update_material_transfer_for_manufacture.py b/erpnext/patches/v5_0/update_material_transfer_for_manufacture.py
new file mode 100644
index 0000000..d862ad3
--- /dev/null
+++ b/erpnext/patches/v5_0/update_material_transfer_for_manufacture.py
@@ -0,0 +1,5 @@
+import frappe
+
+def execute():
+	frappe.db.sql("""update `tabStock Entry` set purpose='Material Transfer for Manufacture'
+		where ifnull(production_order, '')!='' and purpose='Material Transfer'""")
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index cc7169b..a77aa74 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -122,7 +122,7 @@
 	clean_up: function() {
 		// Clear Production Order record from locals, because it is updated via Stock Entry
 		if(this.frm.doc.production_order &&
-				this.frm.doc.purpose == "Manufacture") {
+				in_list(["Manufacture", "Material Transfer for Manufacture"], this.frm.doc.purpose)) {
 			frappe.model.remove_from_locals("Production Order",
 				this.frm.doc.production_order);
 		}
@@ -164,7 +164,7 @@
 	},
 
 	toggle_enable_bom: function() {
-		this.frm.toggle_enable("bom_no", this.frm.doc.purpose!="Manufacture");
+		this.frm.toggle_enable("bom_no", !in_list(["Manufacture", "Material Transfer for Manufacture"], this.frm.doc.purpose));
 	},
 
 	get_doctype_docname: function() {
@@ -233,8 +233,10 @@
 		if(!row.t_warehouse) row.t_warehouse = this.frm.doc.to_warehouse;
 	},
 
-	source_mandatory: ["Material Issue", "Material Transfer", "Purchase Return", "Subcontract"],
-	target_mandatory: ["Material Receipt", "Material Transfer", "Sales Return", "Subcontract"],
+	source_mandatory: ["Material Issue", "Material Transfer", "Purchase Return", "Subcontract",
+		"Material Transfer for Manufacture"],
+	target_mandatory: ["Material Receipt", "Material Transfer", "Sales Return", "Subcontract",
+		"Material Transfer for Manufacture"],
 
 	from_warehouse: function(doc) {
 		var me = this;
@@ -251,6 +253,7 @@
 	},
 
 	set_warehouse_if_missing: function(fieldname, value, condition) {
+		var changed = false;
 		for (var i=0, l=(this.frm.doc.items || []).length; i<l; i++) {
 			var row = this.frm.doc.items[i];
 			if (!row[fieldname]) {
@@ -259,8 +262,10 @@
 				}
 
 				frappe.model.set_value(row.doctype, row.name, fieldname, value, "Link");
+				changed = true;
 			}
 		}
+		refresh_field("items");
 	},
 
 	items_on_form_rendered: function(doc, grid_row) {
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.json b/erpnext/stock/doctype/stock_entry/stock_entry.json
index 7746d98..ac6e94b 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.json
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -1,674 +1,674 @@
 {
- "allow_copy": 0,
- "allow_import": 1,
- "allow_rename": 0,
- "autoname": "naming_series:",
- "creation": "2013-04-09 11:43:55",
- "docstatus": 0,
- "doctype": "DocType",
+ "allow_copy": 0, 
+ "allow_import": 1, 
+ "allow_rename": 0, 
+ "autoname": "naming_series:", 
+ "creation": "2013-04-09 11:43:55", 
+ "docstatus": 0, 
+ "doctype": "DocType", 
  "fields": [
   {
-   "fieldname": "col1",
-   "fieldtype": "Column Break",
-   "oldfieldtype": "Column Break",
-   "permlevel": 0,
-   "print_width": "50%",
-   "read_only": 0,
+   "fieldname": "col1", 
+   "fieldtype": "Column Break", 
+   "oldfieldtype": "Column Break", 
+   "permlevel": 0, 
+   "print_width": "50%", 
+   "read_only": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "fieldname": "naming_series",
-   "fieldtype": "Select",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Series",
-   "no_copy": 1,
-   "oldfieldname": "naming_series",
-   "oldfieldtype": "Select",
-   "options": "STE-",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 1,
+   "allow_on_submit": 0, 
+   "fieldname": "naming_series", 
+   "fieldtype": "Select", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Series", 
+   "no_copy": 1, 
+   "oldfieldname": "naming_series", 
+   "oldfieldtype": "Select", 
+   "options": "STE-", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
    "search_index": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "default": "Material Issue",
-   "fieldname": "purpose",
-   "fieldtype": "Select",
-   "hidden": 0,
-   "in_filter": 1,
-   "in_list_view": 1,
-   "label": "Purpose",
-   "no_copy": 0,
-   "oldfieldname": "purpose",
-   "oldfieldtype": "Select",
-   "options": "Material Issue\nMaterial Receipt\nMaterial Transfer\nManufacture\nRepack\nSubcontract\nSales Return\nPurchase Return",
-   "permlevel": 0,
-   "print_hide": 0,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 1,
+   "allow_on_submit": 0, 
+   "default": "Material Issue", 
+   "fieldname": "purpose", 
+   "fieldtype": "Select", 
+   "hidden": 0, 
+   "in_filter": 1, 
+   "in_list_view": 1, 
+   "label": "Purpose", 
+   "no_copy": 0, 
+   "oldfieldname": "purpose", 
+   "oldfieldtype": "Select", 
+   "options": "Material Issue\nMaterial Receipt\nMaterial Transfer\nMaterial Transfer for Manufacture\nManufacture\nRepack\nSubcontract\nSales Return\nPurchase Return", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
    "search_index": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "depends_on": "eval:doc.purpose==\"Sales Return\"",
-   "fieldname": "delivery_note_no",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Delivery Note No",
-   "no_copy": 1,
-   "oldfieldname": "delivery_note_no",
-   "oldfieldtype": "Link",
-   "options": "Delivery Note",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "depends_on": "eval:in_list([\"Material Transfer for Manufacture\", \"Manufacture\"], doc.purpose)", 
+   "fieldname": "production_order", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 1, 
+   "label": "Production Order", 
+   "no_copy": 0, 
+   "oldfieldname": "production_order", 
+   "oldfieldtype": "Link", 
+   "options": "Production Order", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 1
-  },
+  }, 
   {
-   "depends_on": "eval:doc.purpose==\"Sales Return\"",
-   "fieldname": "sales_invoice_no",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "label": "Sales Invoice No",
-   "no_copy": 1,
-   "options": "Sales Invoice",
-   "permlevel": 0,
-   "print_hide": 1,
+   "depends_on": "eval:!inList([\"Sales Return\", \"Purchase Return\"], doc.purpose)", 
+   "fieldname": "bom_no", 
+   "fieldtype": "Link", 
+   "label": "BOM No", 
+   "options": "BOM", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "depends_on": "eval:doc.purpose==\"Purchase Return\"",
-   "fieldname": "purchase_receipt_no",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Purchase Receipt No",
-   "no_copy": 1,
-   "oldfieldname": "purchase_receipt_no",
-   "oldfieldtype": "Link",
-   "options": "Purchase Receipt",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.purpose==\"Sales Return\"", 
+   "fieldname": "delivery_note_no", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Delivery Note No", 
+   "no_copy": 1, 
+   "oldfieldname": "delivery_note_no", 
+   "oldfieldtype": "Link", 
+   "options": "Delivery Note", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 1
-  },
+  }, 
   {
-   "fieldname": "col2",
-   "fieldtype": "Column Break",
-   "oldfieldtype": "Column Break",
-   "permlevel": 0,
-   "print_width": "50%",
-   "read_only": 0,
+   "depends_on": "eval:doc.purpose==\"Sales Return\"", 
+   "fieldname": "sales_invoice_no", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "label": "Sales Invoice No", 
+   "no_copy": 1, 
+   "options": "Sales Invoice", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.purpose==\"Purchase Return\"", 
+   "fieldname": "purchase_receipt_no", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Purchase Receipt No", 
+   "no_copy": 1, 
+   "oldfieldname": "purchase_receipt_no", 
+   "oldfieldtype": "Link", 
+   "options": "Purchase Receipt", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 1
+  }, 
+  {
+   "fieldname": "col2", 
+   "fieldtype": "Column Break", 
+   "oldfieldtype": "Column Break", 
+   "permlevel": 0, 
+   "print_width": "50%", 
+   "read_only": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "default": "Today",
-   "fieldname": "posting_date",
-   "fieldtype": "Date",
-   "hidden": 0,
-   "in_filter": 1,
-   "in_list_view": 0,
-   "label": "Posting Date",
-   "no_copy": 1,
-   "oldfieldname": "posting_date",
-   "oldfieldtype": "Date",
-   "permlevel": 0,
-   "print_hide": 0,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 1,
+   "allow_on_submit": 0, 
+   "default": "Today", 
+   "fieldname": "posting_date", 
+   "fieldtype": "Date", 
+   "hidden": 0, 
+   "in_filter": 1, 
+   "in_list_view": 0, 
+   "label": "Posting Date", 
+   "no_copy": 1, 
+   "oldfieldname": "posting_date", 
+   "oldfieldtype": "Date", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
    "search_index": 1
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "fieldname": "posting_time",
-   "fieldtype": "Time",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Posting Time",
-   "no_copy": 1,
-   "oldfieldname": "posting_time",
-   "oldfieldtype": "Time",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 1,
+   "allow_on_submit": 0, 
+   "fieldname": "posting_time", 
+   "fieldtype": "Time", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Posting Time", 
+   "no_copy": 1, 
+   "oldfieldname": "posting_time", 
+   "oldfieldtype": "Time", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "items_section",
-   "fieldtype": "Section Break",
-   "label": "Items",
-   "oldfieldtype": "Section Break",
-   "permlevel": 0,
+   "fieldname": "items_section", 
+   "fieldtype": "Section Break", 
+   "label": "Items", 
+   "oldfieldtype": "Section Break", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "fieldname": "from_warehouse",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 0,
-   "in_list_view": 1,
-   "label": "Default Source Warehouse",
-   "no_copy": 1,
-   "oldfieldname": "from_warehouse",
-   "oldfieldtype": "Link",
-   "options": "Warehouse",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "fieldname": "from_warehouse", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "in_list_view": 1, 
+   "label": "Default Source Warehouse", 
+   "no_copy": 1, 
+   "oldfieldname": "from_warehouse", 
+   "oldfieldtype": "Link", 
+   "options": "Warehouse", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "cb0",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "cb0", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "fieldname": "to_warehouse",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 0,
-   "in_list_view": 1,
-   "label": "Default Target Warehouse",
-   "no_copy": 1,
-   "oldfieldname": "to_warehouse",
-   "oldfieldtype": "Link",
-   "options": "Warehouse",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "fieldname": "to_warehouse", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "in_list_view": 1, 
+   "label": "Default Target Warehouse", 
+   "no_copy": 1, 
+   "oldfieldname": "to_warehouse", 
+   "oldfieldtype": "Link", 
+   "options": "Warehouse", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "sb0",
-   "fieldtype": "Section Break",
-   "options": "Simple",
-   "permlevel": 0,
+   "fieldname": "sb0", 
+   "fieldtype": "Section Break", 
+   "options": "Simple", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "fieldname": "items",
-   "fieldtype": "Table",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Items",
-   "no_copy": 0,
-   "oldfieldname": "mtn_details",
-   "oldfieldtype": "Table",
-   "options": "Stock Entry Detail",
-   "permlevel": 0,
-   "print_hide": 0,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "fieldname": "items", 
+   "fieldtype": "Table", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Items", 
+   "no_copy": 0, 
+   "oldfieldname": "mtn_details", 
+   "oldfieldtype": "Table", 
+   "options": "Stock Entry Detail", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "description": "Get valuation rate and available stock at source/target warehouse on mentioned posting date-time. If serialized item, please press this button after entering serial nos.",
-   "fieldname": "get_stock_and_rate",
-   "fieldtype": "Button",
-   "label": "Get Stock and Rate",
-   "oldfieldtype": "Button",
-   "options": "get_stock_and_rate",
-   "permlevel": 0,
-   "print_hide": 1,
+   "description": "Get valuation rate and available stock at source/target warehouse on mentioned posting date-time. If serialized item, please press this button after entering serial nos.", 
+   "fieldname": "get_stock_and_rate", 
+   "fieldtype": "Button", 
+   "label": "Get Stock and Rate", 
+   "oldfieldtype": "Button", 
+   "options": "get_stock_and_rate", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 0
-  },
+  }, 
   {
-   "depends_on": "eval:(doc.purpose!==\"Sales Return\" && doc.purpose!==\"Purchase Return\")",
-   "fieldname": "sb1",
-   "fieldtype": "Section Break",
-   "label": "From Bill of Materials",
-   "permlevel": 0,
+   "depends_on": "eval:(doc.purpose!==\"Sales Return\" && doc.purpose!==\"Purchase Return\")", 
+   "fieldname": "sb1", 
+   "fieldtype": "Section Break", 
+   "label": "From Bill of Materials", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "depends_on": "eval:inList([\"Material Transfer\", \"Manufacture\"], doc.purpose)",
-   "fieldname": "production_order",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 1,
-   "label": "Production Order",
-   "no_copy": 0,
-   "oldfieldname": "production_order",
-   "oldfieldtype": "Link",
-   "options": "Production Order",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
-   "search_index": 1
-  },
-  {
-   "depends_on": "eval:!inList([\"Sales Return\", \"Purchase Return\"], doc.purpose)",
-   "fieldname": "bom_no",
-   "fieldtype": "Link",
-   "label": "BOM No",
-   "options": "BOM",
-   "permlevel": 0,
-   "read_only": 0
-  },
-  {
-   "allow_on_submit": 0,
-   "depends_on": "eval:!inList([\"Sales Return\", \"Purchase Return\"], doc.purpose)",
-   "description": "As per Stock UOM",
-   "fieldname": "fg_completed_qty",
-   "fieldtype": "Float",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Manufacturing Quantity",
-   "no_copy": 0,
-   "oldfieldname": "fg_completed_qty",
-   "oldfieldtype": "Currency",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "depends_on": "eval:!inList([\"Sales Return\", \"Purchase Return\"], doc.purpose)", 
+   "description": "As per Stock UOM", 
+   "fieldname": "fg_completed_qty", 
+   "fieldtype": "Float", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Manufacturing Quantity", 
+   "no_copy": 0, 
+   "oldfieldname": "fg_completed_qty", 
+   "oldfieldtype": "Currency", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "depends_on": "eval:inList([\"Manufacture\", \"Repack\"], doc.purpose)",
-   "fieldname": "additional_operating_cost",
-   "fieldtype": "Currency",
-   "label": "Additional Operating Cost",
-   "no_copy": 1,
-   "options": "Company:company:default_currency",
-   "permlevel": 0,
+   "depends_on": "eval:inList([\"Manufacture\", \"Repack\"], doc.purpose)", 
+   "fieldname": "additional_operating_cost", 
+   "fieldtype": "Currency", 
+   "label": "Additional Operating Cost", 
+   "no_copy": 1, 
+   "options": "Company:company:default_currency", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "cb1",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "cb1", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "default": "1",
-   "depends_on": "eval:!inList([\"Sales Return\", \"Purchase Return\"], doc.purpose)",
-   "description": "If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.",
-   "fieldname": "use_multi_level_bom",
-   "fieldtype": "Check",
-   "label": "Use Multi-Level BOM",
-   "permlevel": 0,
-   "print_hide": 1,
+   "default": "1", 
+   "depends_on": "eval:!inList([\"Sales Return\", \"Purchase Return\"], doc.purpose)", 
+   "description": "If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.", 
+   "fieldname": "use_multi_level_bom", 
+   "fieldtype": "Check", 
+   "label": "Use Multi-Level BOM", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "depends_on": "eval:!inList([\"Sales Return\", \"Purchase Return\"], doc.purpose)",
-   "fieldname": "get_items",
-   "fieldtype": "Button",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Get Items",
-   "no_copy": 0,
-   "oldfieldtype": "Button",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "depends_on": "eval:!inList([\"Sales Return\", \"Purchase Return\"], doc.purpose)", 
+   "fieldname": "get_items", 
+   "fieldtype": "Button", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Get Items", 
+   "no_copy": 0, 
+   "oldfieldtype": "Button", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "fold",
-   "fieldtype": "Fold",
+   "fieldname": "fold", 
+   "fieldtype": "Fold", 
    "permlevel": 0
-  },
+  }, 
   {
-   "depends_on": "eval:(doc.purpose==\"Sales Return\" || doc.purpose==\"Purchase Return\")",
-   "fieldname": "contact_section",
-   "fieldtype": "Section Break",
-   "label": "Contact Info",
-   "permlevel": 0,
+   "depends_on": "eval:(doc.purpose==\"Sales Return\" || doc.purpose==\"Purchase Return\")", 
+   "fieldname": "contact_section", 
+   "fieldtype": "Section Break", 
+   "label": "Contact Info", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "depends_on": "eval:doc.purpose==\"Purchase Return\"",
-   "fieldname": "supplier",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Supplier",
-   "no_copy": 1,
-   "oldfieldname": "supplier",
-   "oldfieldtype": "Link",
-   "options": "Supplier",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.purpose==\"Purchase Return\"", 
+   "fieldname": "supplier", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Supplier", 
+   "no_copy": 1, 
+   "oldfieldname": "supplier", 
+   "oldfieldtype": "Link", 
+   "options": "Supplier", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "depends_on": "eval:doc.purpose==\"Purchase Return\"",
-   "fieldname": "supplier_name",
-   "fieldtype": "Data",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Supplier Name",
-   "no_copy": 1,
-   "oldfieldname": "supplier_name",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
-   "print_hide": 0,
-   "read_only": 1,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.purpose==\"Purchase Return\"", 
+   "fieldname": "supplier_name", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Supplier Name", 
+   "no_copy": 1, 
+   "oldfieldname": "supplier_name", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 1, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "depends_on": "eval:doc.purpose==\"Purchase Return\"",
-   "fieldname": "supplier_address",
-   "fieldtype": "Small Text",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Supplier Address",
-   "no_copy": 1,
-   "oldfieldname": "supplier_address",
-   "oldfieldtype": "Small Text",
-   "permlevel": 0,
-   "print_hide": 0,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.purpose==\"Purchase Return\"", 
+   "fieldname": "supplier_address", 
+   "fieldtype": "Small Text", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Supplier Address", 
+   "no_copy": 1, 
+   "oldfieldname": "supplier_address", 
+   "oldfieldtype": "Small Text", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "depends_on": "eval:doc.purpose==\"Sales Return\"",
-   "fieldname": "customer",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Customer",
-   "no_copy": 1,
-   "oldfieldname": "customer",
-   "oldfieldtype": "Link",
-   "options": "Customer",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.purpose==\"Sales Return\"", 
+   "fieldname": "customer", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Customer", 
+   "no_copy": 1, 
+   "oldfieldname": "customer", 
+   "oldfieldtype": "Link", 
+   "options": "Customer", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "depends_on": "eval:doc.purpose==\"Sales Return\"",
-   "fieldname": "customer_name",
-   "fieldtype": "Data",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Customer Name",
-   "no_copy": 1,
-   "oldfieldname": "customer_name",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
-   "print_hide": 0,
-   "read_only": 1,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.purpose==\"Sales Return\"", 
+   "fieldname": "customer_name", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Customer Name", 
+   "no_copy": 1, 
+   "oldfieldname": "customer_name", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 1, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "depends_on": "eval:doc.purpose==\"Sales Return\"",
-   "fieldname": "customer_address",
-   "fieldtype": "Small Text",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Customer Address",
-   "no_copy": 1,
-   "oldfieldname": "customer_address",
-   "oldfieldtype": "Small Text",
-   "permlevel": 0,
-   "print_hide": 0,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "depends_on": "eval:doc.purpose==\"Sales Return\"", 
+   "fieldname": "customer_address", 
+   "fieldtype": "Small Text", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Customer Address", 
+   "no_copy": 1, 
+   "oldfieldname": "customer_address", 
+   "oldfieldtype": "Small Text", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "more_info",
-   "fieldtype": "Section Break",
-   "label": "More Info",
-   "oldfieldtype": "Section Break",
-   "permlevel": 0,
+   "fieldname": "more_info", 
+   "fieldtype": "Section Break", 
+   "label": "More Info", 
+   "oldfieldtype": "Section Break", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "project_name",
-   "fieldtype": "Link",
-   "in_filter": 1,
-   "label": "Project Name",
-   "oldfieldname": "project_name",
-   "oldfieldtype": "Link",
-   "options": "Project",
-   "permlevel": 0,
+   "fieldname": "project_name", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "label": "Project Name", 
+   "oldfieldname": "project_name", 
+   "oldfieldtype": "Link", 
+   "options": "Project", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "fieldname": "remarks",
-   "fieldtype": "Text",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Remarks",
-   "no_copy": 1,
-   "oldfieldname": "remarks",
-   "oldfieldtype": "Text",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "fieldname": "remarks", 
+   "fieldtype": "Text", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Remarks", 
+   "no_copy": 1, 
+   "oldfieldname": "remarks", 
+   "oldfieldtype": "Text", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "col5",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
-   "print_width": "50%",
-   "read_only": 0,
+   "fieldname": "col5", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
+   "print_width": "50%", 
+   "read_only": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "total_amount",
-   "fieldtype": "Currency",
-   "label": "Total Amount",
-   "options": "Company:company:default_currency",
-   "permlevel": 0,
+   "fieldname": "total_amount", 
+   "fieldtype": "Currency", 
+   "label": "Total Amount", 
+   "options": "Company:company:default_currency", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "fieldname": "company",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 1,
-   "label": "Company",
-   "no_copy": 0,
-   "oldfieldname": "company",
-   "oldfieldtype": "Link",
-   "options": "Company",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 1,
+   "allow_on_submit": 0, 
+   "fieldname": "company", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 1, 
+   "label": "Company", 
+   "no_copy": 0, 
+   "oldfieldname": "company", 
+   "oldfieldtype": "Link", 
+   "options": "Company", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "fiscal_year",
-   "fieldtype": "Link",
-   "in_filter": 0,
-   "label": "Fiscal Year",
-   "options": "Fiscal Year",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
+   "fieldname": "fiscal_year", 
+   "fieldtype": "Link", 
+   "in_filter": 0, 
+   "label": "Fiscal Year", 
+   "options": "Fiscal Year", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "allow_on_submit": 1,
-   "fieldname": "select_print_heading",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "in_filter": 0,
-   "label": "Print Heading",
-   "no_copy": 0,
-   "oldfieldname": "select_print_heading",
-   "oldfieldtype": "Link",
-   "options": "Print Heading",
-   "permlevel": 0,
-   "print_hide": 0,
-   "read_only": 0,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 1, 
+   "fieldname": "select_print_heading", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "in_filter": 0, 
+   "label": "Print Heading", 
+   "no_copy": 0, 
+   "oldfieldname": "select_print_heading", 
+   "oldfieldtype": "Link", 
+   "options": "Print Heading", 
+   "permlevel": 0, 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "allow_on_submit": 0,
-   "fieldname": "amended_from",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "ignore_user_permissions": 1,
-   "in_filter": 0,
-   "label": "Amended From",
-   "no_copy": 1,
-   "oldfieldname": "amended_from",
-   "oldfieldtype": "Link",
-   "options": "Stock Entry",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 1,
-   "report_hide": 0,
-   "reqd": 0,
+   "allow_on_submit": 0, 
+   "fieldname": "amended_from", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 1, 
+   "in_filter": 0, 
+   "label": "Amended From", 
+   "no_copy": 1, 
+   "oldfieldname": "amended_from", 
+   "oldfieldtype": "Link", 
+   "options": "Stock Entry", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 1, 
+   "report_hide": 0, 
+   "reqd": 0, 
    "search_index": 0
-  },
+  }, 
   {
-   "fieldname": "credit_note",
-   "fieldtype": "Link",
-   "hidden": 1,
-   "label": "Credit Note",
-   "options": "Journal Entry",
-   "permlevel": 0,
+   "fieldname": "credit_note", 
+   "fieldtype": "Link", 
+   "hidden": 1, 
+   "label": "Credit Note", 
+   "options": "Journal Entry", 
+   "permlevel": 0, 
    "precision": ""
   }
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "icon": "icon-file-text",
- "idx": 1,
- "in_create": 0,
- "in_dialog": 0,
- "is_submittable": 1,
- "issingle": 0,
- "max_attachments": 0,
- "modified": "2015-02-05 05:11:46.986620",
- "modified_by": "Administrator",
- "module": "Stock",
- "name": "Stock Entry",
- "owner": "Administrator",
+ ], 
+ "hide_heading": 0, 
+ "hide_toolbar": 0, 
+ "icon": "icon-file-text", 
+ "idx": 1, 
+ "in_create": 0, 
+ "in_dialog": 0, 
+ "is_submittable": 1, 
+ "issingle": 0, 
+ "max_attachments": 0, 
+ "modified": "2015-02-17 00:49:04.294855", 
+ "modified_by": "Administrator", 
+ "module": "Stock", 
+ "name": "Stock Entry", 
+ "owner": "Administrator", 
  "permissions": [
   {
-   "amend": 1,
-   "apply_user_permissions": 1,
-   "cancel": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Material User",
-   "share": 1,
-   "submit": 1,
+   "amend": 1, 
+   "apply_user_permissions": 1, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Material User", 
+   "share": 1, 
+   "submit": 1, 
    "write": 1
-  },
+  }, 
   {
-   "amend": 1,
-   "apply_user_permissions": 1,
-   "cancel": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Manufacturing User",
-   "share": 1,
-   "submit": 1,
+   "amend": 1, 
+   "apply_user_permissions": 1, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Manufacturing User", 
+   "share": 1, 
+   "submit": 1, 
    "write": 1
-  },
+  }, 
   {
-   "amend": 1,
-   "cancel": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Manufacturing Manager",
-   "share": 1,
-   "submit": 1,
+   "amend": 1, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Manufacturing Manager", 
+   "share": 1, 
+   "submit": 1, 
    "write": 1
-  },
+  }, 
   {
-   "amend": 1,
-   "cancel": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Material Manager",
-   "share": 1,
-   "submit": 1,
+   "amend": 1, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Material Manager", 
+   "share": 1, 
+   "submit": 1, 
    "write": 1
   }
- ],
- "read_only": 0,
- "read_only_onload": 0,
- "search_fields": "posting_date, from_warehouse, to_warehouse, purpose, remarks",
- "sort_field": "modified",
- "sort_order": "DESC",
+ ], 
+ "read_only": 0, 
+ "read_only_onload": 0, 
+ "search_fields": "posting_date, from_warehouse, to_warehouse, purpose, remarks", 
+ "sort_field": "modified", 
+ "sort_order": "DESC", 
  "title_field": "purpose"
-}
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index 4faa644..2ca5bc5 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -82,7 +82,7 @@
 			self.meta.get_label("posting_date"))
 
 	def validate_purpose(self):
-		valid_purposes = ["Material Issue", "Material Receipt", "Material Transfer",
+		valid_purposes = ["Material Issue", "Material Receipt", "Material Transfer", "Material Transfer for Manufacture",
 			"Manufacture", "Repack", "Subcontract", "Sales Return", "Purchase Return"]
 		if self.purpose not in valid_purposes:
 			frappe.throw(_("Purpose must be one of {0}").format(comma_or(valid_purposes)))
@@ -112,7 +112,7 @@
 			if not item.transfer_qty:
 				item.transfer_qty = item.qty * item.conversion_factor
 
-			if (self.purpose in ("Material Transfer", "Sales Return", "Purchase Return")
+			if (self.purpose in ("Material Transfer", "Sales Return", "Purchase Return", "Material Transfer for Manufacture")
 				and not item.serial_no
 				and item.item_code in serialized_items):
 				frappe.throw(_("Row #{0}: Please specify Serial No for Item {1}").format(item.idx, item.item_code),
@@ -121,8 +121,8 @@
 	def validate_warehouse(self, pro_obj):
 		"""perform various (sometimes conditional) validations on warehouse"""
 
-		source_mandatory = ["Material Issue", "Material Transfer", "Purchase Return", "Subcontract"]
-		target_mandatory = ["Material Receipt", "Material Transfer", "Sales Return", "Subcontract"]
+		source_mandatory = ["Material Issue", "Material Transfer", "Purchase Return", "Subcontract", "Material Transfer for Manufacture"]
+		target_mandatory = ["Material Receipt", "Material Transfer", "Sales Return", "Subcontract", "Material Transfer for Manufacture"]
 
 		validate_for_manufacture_repack = any([d.bom_no for d in self.get("items")])
 
@@ -169,13 +169,14 @@
 				frappe.throw(_("Source and target warehouse cannot be same for row {0}").format(d.idx))
 
 	def validate_production_order(self):
-		if self.purpose == "Manufacture":
+		if self.purpose in ("Manufacture", "Material Transfer for Manufacture"):
 			# check if production order is entered
 			if not self.production_order:
 				frappe.throw(_("Production order number is mandatory for stock entry purpose manufacture"))
 			# check for double entry
-			self.check_if_operations_completed()
-			self.check_duplicate_entry_for_production_order()
+			if self.purpose=="Manufacture":
+				self.check_if_operations_completed()
+				self.check_duplicate_entry_for_production_order()
 		elif self.purpose != "Material Transfer":
 			self.production_order = None
 
@@ -503,8 +504,8 @@
 
 		if self.bom_no:
 			if self.purpose in ["Material Issue", "Material Transfer", "Manufacture", "Repack",
-					"Subcontract"]:
-				if self.production_order and self.purpose == "Material Transfer":
+					"Subcontract", "Material Transfer for Manufacture"]:
+				if self.production_order and self.purpose == "Material Transfer for Manufacture":
 					item_dict = self.get_pending_raw_materials(pro_obj)
 					if self.to_warehouse and pro_obj:
 						for item in item_dict.values():
@@ -601,7 +602,7 @@
 		result = frappe.db.sql("""select t1.item_code, sum(t1.qty)
 			from `tabStock Entry Detail` t1, `tabStock Entry` t2
 			where t1.parent = t2.name and t2.production_order = %s and t2.docstatus = 1
-			and t2.purpose = 'Material Transfer'
+			and t2.purpose = 'Material Transfer for Manufacture'
 			group by t1.item_code""", self.production_order)
 		for t in result:
 			issued_item_qty[t[0]] = flt(t[1])
diff --git a/erpnext/templates/form_grid/stock_entry_grid.html b/erpnext/templates/form_grid/stock_entry_grid.html
index cf9b260..ef465a4 100644
--- a/erpnext/templates/form_grid/stock_entry_grid.html
+++ b/erpnext/templates/form_grid/stock_entry_grid.html
@@ -18,15 +18,18 @@
 				<p>{%= doc.description %}</p>{% } %}
 			{% include "templates/form_grid/includes/visible_cols.html" %}
 			<div>
-				{% if(doc.s_warehouse) { %}<span class="label
-					{%= (doc.actual_qty >= doc.qty) ? "label-success"
-						: "label-danger" %}"
-					title="{%= (doc.actual_qty >= doc.qty) ? __("In Stock")
-						: __("Not In Stock") %}">
-					{%= doc.s_warehouse || "" %}</span>{% } %}
-				<i class="icon-long-arrow-right"></i>
+				{% if(doc.s_warehouse) { %}
+                    <span class="label label-primary">
+					{%= doc.s_warehouse || "" %}</span>
+                {% } %}
+				<i class="octicon octicon-arrow-small-right"></i>
 				{% if(doc.t_warehouse) { %}<span class="label label-primary">
 					{%= doc.t_warehouse || "" %}</span>{% } %}
+				{% if(doc.s_warehouse && doc.actual_qty < doc.qty) { %}
+                    <span class="text-danger small" style="margin-left: 15px;">
+                        <span class="octicon octicon-stop" style="font-size: 12px;"></span> Not in Stock
+                    </span>
+                {% } %}
 			</div>
 		</div>