diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index 89739cc..6e6b730 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -102,7 +102,6 @@
 erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend({
 	onload: function(doc, dt, dn) {
 		this._super();
-		this.frm.add_custom_button(__('Pick Ticket'), () => this.make_pick_ticket(), __('Create'));
 	},
 
 	refresh: function(doc, dt, dn) {
@@ -110,7 +109,9 @@
 		this._super();
 		let allow_delivery = false;
 
-		if(doc.docstatus==1) {
+		if (doc.docstatus==1) {
+			this.frm.add_custom_button(__('Pick Ticket'), () => this.make_pick_ticket(), __('Create'));
+
 			if(this.frm.has_perm("submit")) {
 				if(doc.status === 'On Hold') {
 				   // un-hold
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 97a9739..5e9a358 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -1011,7 +1011,8 @@
 			"field_map": {
 				"item_code": "item",
 				"parenttype": "reference_doctype",
-				"parent": "reference_name"
+				"parent": "reference_name",
+				"name": "reference_document_item"
 			},
 		},
 	}, target_doc)
diff --git a/erpnext/stock/doctype/pick_ticket/pick_ticket.js b/erpnext/stock/doctype/pick_ticket/pick_ticket.js
index 5903e6f..5e5881e 100644
--- a/erpnext/stock/doctype/pick_ticket/pick_ticket.js
+++ b/erpnext/stock/doctype/pick_ticket/pick_ticket.js
@@ -3,7 +3,7 @@
 
 frappe.ui.form.on('Pick Ticket', {
 	setup: (frm) => {
-		frm.set_query('group_warehouse', () => {
+		frm.set_query('parent_warehouse', () => {
 			return {
 				filters: {
 					'is_group': 1,
@@ -13,7 +13,8 @@
 		});
 	},
 	refresh: (frm) => {
-		this.frm.add_custom_button(__('Sales Order'), function() {
+		frm.add_custom_button(__('Delivery Note'), () => frm.trigger('make_delivery_note'), __('Create'));
+		frm.add_custom_button(__('Sales Order'), function() {
 			erpnext.utils.map_current_doc({
 				method: "erpnext.selling.doctype.sales_order.sales_order.make_pick_ticket",
 				source_doctype: "Sales Order",
@@ -27,11 +28,16 @@
 			});
 		}, __("Get items from"));
 
-		if (frm.doc.reference_document_items.length) {
+		if (frm.doc.reference_items && frm.doc.reference_items.length) {
 			frm.add_custom_button(__('Get Item Locations'), () => {
 				frm.call('set_item_locations');
 			});
 		}
 	},
-
+	make_delivery_note(frm) {
+		frappe.model.open_mapped_doc({
+			method: "erpnext.stock.doctype.pick_ticket.pick_ticket.make_delivery_note",
+			frm: frm
+		});
+	},
 });
diff --git a/erpnext/stock/doctype/pick_ticket/pick_ticket.json b/erpnext/stock/doctype/pick_ticket/pick_ticket.json
index 9351925..d8a8e01 100644
--- a/erpnext/stock/doctype/pick_ticket/pick_ticket.json
+++ b/erpnext/stock/doctype/pick_ticket/pick_ticket.json
@@ -7,28 +7,14 @@
  "field_order": [
   "company",
   "column_break_4",
-  "group_warehouse",
+  "parent_warehouse",
   "section_break_4",
-  "reference_document_items",
+  "reference_items",
   "section_break_6",
-  "items"
+  "item_locations"
  ],
  "fields": [
   {
-   "fieldname": "items",
-   "fieldtype": "Table",
-   "label": "Items Locations",
-   "options": "Pick Ticket Item",
-   "read_only": 1
-  },
-  {
-   "description": "Items under this warehouse will be suggested",
-   "fieldname": "group_warehouse",
-   "fieldtype": "Link",
-   "label": "Group Warehouse",
-   "options": "Warehouse"
-  },
-  {
    "fieldname": "company",
    "fieldtype": "Link",
    "label": "Company",
@@ -44,17 +30,29 @@
   },
   {
    "fieldname": "section_break_4",
-   "fieldtype": "Section Break",
-   "label": "Reference Items"
+   "fieldtype": "Section Break"
   },
   {
-   "fieldname": "reference_document_items",
+   "description": "Items under this warehouse will be suggested",
+   "fieldname": "parent_warehouse",
+   "fieldtype": "Link",
+   "label": "Parent Warehouse",
+   "options": "Warehouse"
+  },
+  {
+   "fieldname": "item_locations",
    "fieldtype": "Table",
-   "label": "Reference Document Items",
+   "label": "Item Locations",
+   "options": "Pick Ticket Item"
+  },
+  {
+   "fieldname": "reference_items",
+   "fieldtype": "Table",
+   "label": "Items To Be Picked",
    "options": "Pick Ticket Reference Item"
   }
  ],
- "modified": "2019-07-26 12:06:08.941760",
+ "modified": "2019-08-01 10:50:17.055509",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Pick Ticket",
diff --git a/erpnext/stock/doctype/pick_ticket/pick_ticket.py b/erpnext/stock/doctype/pick_ticket/pick_ticket.py
index a1adf9f..16f6d7a 100644
--- a/erpnext/stock/doctype/pick_ticket/pick_ticket.py
+++ b/erpnext/stock/doctype/pick_ticket/pick_ticket.py
@@ -5,23 +5,24 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.model.document import Document
+from frappe.model.mapper import get_mapped_doc
 
 class PickTicket(Document):
 	def set_item_locations(self):
-		reference_items = self.reference_document_items
+		reference_items = self.reference_items
 
 		from_warehouses = None
-		if self.group_warehouse:
-			from_warehouses = frappe.db.get_descendants('Warehouse', self.group_warehouse)
+		if self.parent_warehouse:
+			from_warehouses = frappe.db.get_descendants('Warehouse', self.parent_warehouse)
 
 		# Reset
-		self.delete_key('items')
+		self.delete_key('item_locations')
 		for item in reference_items:
 			data = get_items_with_warehouse_and_quantity(item, from_warehouses)
 			for item_info in data:
-				print(self.append('items', item_info))
+				print(self.append('item_locations', item_info))
 
-		for item_doc in self.get('items'):
+		for item_doc in self.get('item_locations'):
 			if frappe.get_cached_value('Item', item_doc.item, 'has_serial_no'):
 				set_serial_nos(item_doc)
 			elif frappe.get_cached_value('Item', item_doc.item, 'has_batch_no'):
@@ -40,7 +41,8 @@
 			'qty': qty,
 			'warehouse': item_location.warehouse,
 			'reference_doctype': item_doc.reference_doctype,
-			'reference_name': item_doc.reference_name
+			'reference_name': item_doc.reference_name,
+			'reference_document_item': item_doc.reference_document_item,
 		})
 		remaining_qty -= qty
 
@@ -120,8 +122,29 @@
 				'qty': required_qty,
 				'warehouse': item_doc.warehouse,
 				'reference_doctype': item_doc.reference_doctype,
-				'reference_name': item_doc.reference_name
+				'reference_name': item_doc.reference_name,
+				'reference_document_item': item_doc.reference_document_item,
 			})
 	if required_qty:
 		frappe.msgprint('No batches found for {} qty of {}. Skipping...'.format(required_qty, item_doc.item))
 		parent_doc.remove(item_doc)
+
+@frappe.whitelist()
+def make_delivery_note(source_name, target_doc=None):
+	target_doc = get_mapped_doc("Pick Ticket", source_name, {
+		"Pick Ticket": {
+			"doctype": "Delivery Note",
+			# "validation": {
+			# 	"docstatus": ["=", 1]
+			# }
+		},
+		"Pick Ticket Item": {
+			"doctype": "Delivery Note Item",
+			"field_map": {
+				"item": "item_code",
+				"reference_docname": "against_sales_order",
+			},
+		},
+	}, target_doc)
+
+	return target_doc
\ No newline at end of file
diff --git a/erpnext/stock/doctype/pick_ticket/test_pick_ticket.py b/erpnext/stock/doctype/pick_ticket/test_pick_ticket.py
index 3a0492a..5a41bc9 100644
--- a/erpnext/stock/doctype/pick_ticket/test_pick_ticket.py
+++ b/erpnext/stock/doctype/pick_ticket/test_pick_ticket.py
@@ -14,7 +14,7 @@
 		pick_ticket = frappe.get_doc({
 			'doctype': 'Pick Ticket',
 			'company': '_Test Company',
-			'reference_document_items': [{
+			'reference_items': [{
 				'item': '_Test Item Home Desktop 100',
 				'reference_doctype': 'Sales Order',
 				'qty': 5,
@@ -24,15 +24,15 @@
 
 		pick_ticket.set_item_locations()
 
-		self.assertEqual(pick_ticket.items[0].item, '_Test Item Home Desktop 100')
-		self.assertEqual(pick_ticket.items[0].warehouse, '_Test Warehouse - _TC')
-		self.assertEqual(pick_ticket.items[0].qty, 5)
+		self.assertEqual(pick_ticket.items_locations[0].item, '_Test Item Home Desktop 100')
+		self.assertEqual(pick_ticket.items_locations[0].warehouse, '_Test Warehouse - _TC')
+		self.assertEqual(pick_ticket.items_locations[0].qty, 5)
 
 	def test_pick_ticket_skips_out_of_stock_item(self):
 		pick_ticket = frappe.get_doc({
 			'doctype': 'Pick Ticket',
 			'company': '_Test Company',
-			'reference_document_items': [{
+			'reference_items': [{
 				'item': '_Test Item Warehouse Group Wise Reorder',
 				'reference_doctype': 'Sales Order',
 				'qty': 1000,
@@ -42,9 +42,9 @@
 
 		pick_ticket.set_item_locations()
 
-		self.assertEqual(pick_ticket.items[0].item, '_Test Item Warehouse Group Wise Reorder')
-		self.assertEqual(pick_ticket.items[0].warehouse, '_Test Warehouse Group-C1 - _TC')
-		self.assertEqual(pick_ticket.items[0].qty, 30)
+		self.assertEqual(pick_ticket.items_locations[0].item, '_Test Item Warehouse Group Wise Reorder')
+		self.assertEqual(pick_ticket.items_locations[0].warehouse, '_Test Warehouse Group-C1 - _TC')
+		self.assertEqual(pick_ticket.items_locations[0].qty, 30)
 
 
 	def test_pick_ticket_skips_items_in_expired_batch(self):
@@ -68,7 +68,7 @@
 		pick_ticket = frappe.get_doc({
 			'doctype': 'Pick Ticket',
 			'company': '_Test Company',
-			'reference_document_items': [{
+			'reference_items': [{
 				'item': '_Test Serialized Item',
 				'reference_doctype': 'Sales Order',
 				'qty': 1000,
@@ -77,26 +77,16 @@
 		})
 
 		pick_ticket.set_item_locations()
-		self.assertEqual(pick_ticket.items[0].item, '_Test Serialized Item')
-		self.assertEqual(pick_ticket.items[0].warehouse, '_Test Warehouse Group-C1 - _TC')
-		self.assertEqual(pick_ticket.items[0].qty, 30)
-		self.assertEqual(pick_ticket.items[0].serial_no, 30)
+		self.assertEqual(pick_ticket.items_locations[0].item, '_Test Serialized Item')
+		self.assertEqual(pick_ticket.items_locations[0].warehouse, '_Test Warehouse Group-C1 - _TC')
+		self.assertEqual(pick_ticket.items_locations[0].qty, 30)
+		self.assertEqual(pick_ticket.items_locations[0].serial_no, 30)
 
 
 	def test_pick_ticket_for_multiple_reference_doctypes(self):
 		pass
 
 
-# def create_new_pick_ticket():
-# 	pass
-# 	doc = frappe.new_doc('Pick Ticket')
-# 	doc.items.append({
-# 		'item': '_Test Warehouse - _TC',
-# 		''
-# 	})
-
-
-
 ## records required
 
 '''
diff --git a/erpnext/stock/doctype/pick_ticket_item/pick_ticket_item.json b/erpnext/stock/doctype/pick_ticket_item/pick_ticket_item.json
index 0a65eed..67a7e9c 100644
--- a/erpnext/stock/doctype/pick_ticket_item/pick_ticket_item.json
+++ b/erpnext/stock/doctype/pick_ticket_item/pick_ticket_item.json
@@ -68,7 +68,6 @@
   {
    "fieldname": "reference_document_item",
    "fieldtype": "Data",
-   "hidden": 1,
    "label": "Reference Document Item",
    "read_only": 1
   },
@@ -130,7 +129,7 @@
   }
  ],
  "istable": 1,
- "modified": "2019-07-30 09:28:44.969479",
+ "modified": "2019-07-30 23:47:53.566473",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Pick Ticket Item",
diff --git a/erpnext/stock/doctype/pick_ticket_reference_item/pick_ticket_reference_item.json b/erpnext/stock/doctype/pick_ticket_reference_item/pick_ticket_reference_item.json
index ae7ea35..c31e2bc 100644
--- a/erpnext/stock/doctype/pick_ticket_reference_item/pick_ticket_reference_item.json
+++ b/erpnext/stock/doctype/pick_ticket_reference_item/pick_ticket_reference_item.json
@@ -7,7 +7,8 @@
   "item",
   "qty",
   "reference_doctype",
-  "reference_name"
+  "reference_name",
+  "reference_document_item"
  ],
  "fields": [
   {
@@ -34,10 +35,15 @@
    "fieldtype": "Float",
    "in_list_view": 1,
    "label": "Qty"
+  },
+  {
+   "fieldname": "reference_document_item",
+   "fieldtype": "Data",
+   "label": "Reference Document Item"
   }
  ],
  "istable": 1,
- "modified": "2019-07-26 12:17:52.142186",
+ "modified": "2019-07-30 23:43:30.901151",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Pick Ticket Reference Item",
