diff --git a/erpnext/docs/assets/img/manufacturing/ppt.png b/erpnext/docs/assets/img/manufacturing/ppt.png
index f5018b7..30096ff 100644
--- a/erpnext/docs/assets/img/manufacturing/ppt.png
+++ b/erpnext/docs/assets/img/manufacturing/ppt.png
Binary files differ
diff --git a/erpnext/docs/user/manual/en/manufacturing/tools/production-planning-tool.md b/erpnext/docs/user/manual/en/manufacturing/tools/production-planning-tool.md
index 61ec4c7..4bdc487 100644
--- a/erpnext/docs/user/manual/en/manufacturing/tools/production-planning-tool.md
+++ b/erpnext/docs/user/manual/en/manufacturing/tools/production-planning-tool.md
@@ -1,7 +1,7 @@
 Production Planning Tool helps you plan production and purchase of Items for a
 period (usually a week or a month).
 
-This list of Items can be generated from the open Sales Orders in the system
+This list of Items can be generated from the open Sales Orders or pending Material Requests that can be Manufactured in the system
 and will generate:
 
   * Production Orders for each Item.
@@ -13,30 +13,36 @@
 
 <img class="screenshot" alt="Production Planing Tool" src="{{docs_base_url}}/assets/img/manufacturing/ppt.png">
 
+#### Step 1: Specify source to get Production Items
+
+* You can select Sales Order or Material Request according to where you want to source the items from
+* If you plan to add items manually, keep the "Get items from" field empty
 
 
-#### Step 1: Select and get Sales Order
 
-* Select sales orders for MRP using filters (Time, Item, and Customer)
-* Click on Get Sales Order to generate a list.
+#### Step 2: Select and get Sales Order / Material Request
+
+* Use filters to get the Sales Order / Material Request
+* Click on Get Sales Order / Get Material Requests to generate a list.
 
 <img class="screenshot" alt="Production Planing Tool" src="{{docs_base_url}}/assets/img/manufacturing/ppt-get-sales-orders.png">
 
 
 
-#### Step 2: Get Item from Sales Orders.
+#### Step 3: Get Items
 
-You can add/remove or change quantity of these Items.
+* Get the items for the Sales Order / Material request list
+* You can add/remove or change quantity of these Items.
 
 <img class="screenshot" alt="Production Planing Tool" src="{{docs_base_url}}/assets/img/manufacturing/ppt-get-item.png">
 
-#### Step 3: Create Production Orders
+#### Step 4: Create Production Orders
 
 <img class="screenshot" alt="Production Planing Tool" src="{{docs_base_url}}/assets/img/manufacturing/ppt-create-production-order.png">
 
 
 
-#### Step 4: Create Material Request
+#### Step 5: Create Material Request
 
 Create Material Request for Items with projected shortfall.
 
@@ -46,11 +52,11 @@
 
 The Production Planning Tool is used in two stages:
 
-  * Selection of Open Sales Orders for the period based on “Expected Delivery Date”.
-  * Selection of Items from those Sales Orders.
+  * Selection of open Sales Orders / pending Material Request for the period based on “Expected Delivery Date”.
+  * Selection of Items from those Sales Orders / Material Requests
 
-The tool will update if you have already created Production Orders for a
-particular Item against its Sales Order (“Planned Quantity”).
+The tool will update if you have already created Production Orde rs for a
+particular Item against its Sales Order (“Planned Quantity”) or Material Request.
 
 You can always edit the Item list and increase / reduce quantities to plan
 your production.
diff --git a/erpnext/docs/user/manual/en/stock/material-request.md b/erpnext/docs/user/manual/en/stock/material-request.md
index a609756..8afda60 100644
--- a/erpnext/docs/user/manual/en/stock/material-request.md
+++ b/erpnext/docs/user/manual/en/stock/material-request.md
@@ -23,6 +23,7 @@
 * Purchase - If the request material is to be purchased.
 * Material Transfer - If the requested material is to be shifted from one warehouse to another.
 * Material Issue - If the requested material is to be Issued.
+* Manufacture - If the requested material is to be Produced.
 
 > Info: Material Request is not mandatory. It is ideal if you have centralized
 buying so that you can collect this information from various departments.
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.py b/erpnext/manufacturing/doctype/production_order/production_order.py
index ead8105..b1678f1 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/production_order.py
@@ -314,7 +314,8 @@
 
 	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`
+			actual_date = frappe.db.sql("""select min(actual_start_time) as start_date,
+				max(actual_end_time) as end_date from `tabProduction Order Operation`
 				where parent = %s and docstatus=1""", self.name, as_dict=1)[0]
 			self.actual_start_date = actual_date.start_date
 			self.actual_end_date = actual_date.end_date
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
index 19b5fd9..699fb2a 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
@@ -13,16 +13,16 @@
    "bold": 0, 
    "collapsible": 0, 
    "default": "Sales Order", 
-   "fieldname": "plan_using", 
+   "fieldname": "get_items_from", 
    "fieldtype": "Select", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
    "in_list_view": 0, 
-   "label": "Plan Using", 
+   "label": "Get Items From", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "Sales Order\nMaterial Request", 
+   "options": "\nSales Order\nMaterial Request", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -38,7 +38,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "", 
+   "depends_on": "get_items_from", 
    "description": "", 
    "fieldname": "filters", 
    "fieldtype": "Section Break", 
@@ -87,7 +87,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "eval: doc.plan_using == \"Sales Order\"", 
+   "depends_on": "eval: doc.get_items_from == \"Sales Order\"", 
    "fieldname": "customer", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -112,7 +112,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "eval: doc.plan_using == \"Material Request\"", 
+   "depends_on": "eval: doc.get_items_from == \"Material Request\"", 
    "fieldname": "warehouse", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -138,7 +138,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "eval: doc.plan_using == \"Sales Order\"", 
+   "depends_on": "eval: doc.get_items_from == \"Sales Order\"", 
    "fieldname": "company", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -232,7 +232,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "eval: doc.plan_using == \"Sales Order\"", 
+   "depends_on": "eval: doc.get_items_from == \"Sales Order\"", 
    "fieldname": "section_break1", 
    "fieldtype": "Section Break", 
    "hidden": 0, 
@@ -305,7 +305,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "eval: doc.plan_using == \"Material Request\"", 
+   "depends_on": "eval: doc.get_items_from == \"Material Request\"", 
    "fieldname": "section_break_16", 
    "fieldtype": "Section Break", 
    "hidden": 0, 
@@ -403,6 +403,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
+   "depends_on": "get_items_from", 
    "fieldname": "get_items", 
    "fieldtype": "Button", 
    "hidden": 0, 
@@ -428,6 +429,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "default": "1", 
+   "depends_on": "get_items_from", 
    "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", 
@@ -629,7 +631,7 @@
  "issingle": 1, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2016-02-11 06:18:45.077263", 
+ "modified": "2016-02-16 06:56:08.244906", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
  "name": "Production Planning Tool", 
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
index bec97d1..ee5e4e7 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
@@ -115,9 +115,9 @@
 				mr.material_request_date = cstr(r['transaction_date'])
 
 	def get_items(self):
-		if self.plan_using == "Sales Order":
+		if self.get_items_from == "Sales Order":
 			self.get_so_items()
-		elif self.plan_using == "Material Request":
+		elif self.get_items_from == "Material Request":
 			self.get_mr_items()
 		
 	def get_so_items(self):
@@ -191,9 +191,9 @@
 			pi.planned_qty				= flt(p['pending_qty'])
 			pi.pending_qty				= flt(p['pending_qty'])
 			
-			if self.plan_using == "Sales Order":
+			if self.get_items_from == "Sales Order":
 				pi.sales_order		= p['parent']
-			elif self.plan_using == "Material Request":
+			elif self.get_items_from == "Material Request":
 				pi.material_request		= p['parent']
 				pi.material_request_item = p['name']
 			
@@ -252,18 +252,18 @@
 			}
 			
 			""" Club similar BOM and item for processing in case of Sales Orders """
-			if self.plan_using == "Sales Order":
+			if self.get_items_from == "Material Request":
+				item_details.update({
+					"qty": d.planned_qty
+				})
+				item_dict[(d.item_code, d.material_request_item, d.warehouse)] = item_details
+			
+			else:
 				item_details.update({
 					"qty":flt(item_dict.get((d.item_code, d.sales_order, d.warehouse),{})
 						.get("qty")) + flt(d.planned_qty)
 				})
 				item_dict[(d.item_code, d.sales_order, d.warehouse)] = item_details
-			
-			elif self.plan_using == "Material Request":
-				item_details.update({
-					"qty": d.planned_qty
-				})
-				item_dict[(d.item_code, d.material_request_item, d.warehouse)] = item_details
 
 		return item_dict
 
@@ -293,11 +293,12 @@
 		"""
 		bom_dict = {}
 		for d in self.get("items"):
-			if self.plan_using == "Sales Order":
-				bom_dict.setdefault(d.bom_no, []).append({d.sales_order: flt(d.planned_qty)})
-			elif self.plan_using == "Material Request":
-				bom_dict.setdefault(d.bom_no, []).append({d.material_request_item: flt(d.planned_qty)})
-	
+			if self.get_items_from == "Material Request":
+				bom_dict.setdefault(d.bom_no, []).append([d.material_request_item, flt(d.planned_qty)])
+			else:
+				bom_dict.setdefault(d.bom_no, []).append([d.sales_order, flt(d.planned_qty)])
+		return bom_dict
+		
 	def download_raw_materials(self):
 		""" Create csv data for required raw material to produce finished goods"""
 		self.validate_data()
@@ -341,7 +342,6 @@
 					and item.is_stock_item = 1
 					group by item_code""", bom, as_dict=1):
 						bom_wise_item_details.setdefault(d.item_code, d)
-
 			for item, item_details in bom_wise_item_details.items():
 				for so_qty in so_wise_qty:
 					item_list.append([item, flt(item_details.qty) * so_qty[1], item_details.description,
@@ -405,7 +405,7 @@
 			for item_details in so_item_qty:
 				if requested_qty:
 					sales_order = item_details[4] or "No Sales Order"
-					if self.plan_using == "Material Request":
+					if self.get_items_from == "Material Request":
 						sales_order = "No Sales Order"
 					if requested_qty <= item_details[0]:
 						adjusted_qty = requested_qty
