diff --git a/erpnext/stock/doctype/pick_ticket/pick_ticket.json b/erpnext/stock/doctype/pick_ticket/pick_ticket.json
index 392786f..fe331ac 100644
--- a/erpnext/stock/doctype/pick_ticket/pick_ticket.json
+++ b/erpnext/stock/doctype/pick_ticket/pick_ticket.json
@@ -8,6 +8,8 @@
   "company",
   "column_break_4",
   "group_warehouse",
+  "section_break_4",
+  "reference_document_items",
   "section_break_6",
   "items"
  ],
@@ -15,8 +17,9 @@
   {
    "fieldname": "items",
    "fieldtype": "Table",
-   "label": "Items",
-   "options": "Pick Ticket Item"
+   "label": "Items Locations",
+   "options": "Pick Ticket Item",
+   "read_only": 1
   },
   {
    "description": "Items under this warehouse will be suggested",
@@ -38,9 +41,21 @@
   {
    "fieldname": "section_break_6",
    "fieldtype": "Section Break"
+  },
+  {
+   "collapsible": 1,
+   "fieldname": "section_break_4",
+   "fieldtype": "Section Break",
+   "label": "Reference Items"
+  },
+  {
+   "fieldname": "reference_document_items",
+   "fieldtype": "Table",
+   "label": "Reference Document Items",
+   "options": "Pick Ticket Reference Item"
   }
  ],
- "modified": "2019-07-24 14:59:44.542987",
+ "modified": "2019-07-24 16:13:51.668880",
  "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 8982688..4c5fdb8 100644
--- a/erpnext/stock/doctype/pick_ticket/pick_ticket.py
+++ b/erpnext/stock/doctype/pick_ticket/pick_ticket.py
@@ -14,11 +14,8 @@
 	reference_doc = frappe.get_doc(reference_doctype, reference_name)
 	doc.company = reference_doc.company
 	items = reference_doc.get(items_field)
-
 	add_picklist_items(items, doc, reference_doc)
-
-	doc.insert()
-
+	doc.save()
 	return doc
 
 def get_available_items(item):
@@ -34,10 +31,12 @@
 def get_items_with_warehouse_and_quantity(item_doc, reference_doc):
 	items = []
 	item_locations = get_available_items(item_doc.item_code)
-	if not item_locations: return items
-
 	remaining_qty = item_doc.qty
 
+	if not item_locations:
+		print('{} qty of {} is out of stock. Skipping...'.format(remaining_qty, item_doc.item))
+		return items
+
 	while remaining_qty > 0 and item_locations:
 		item_location = item_locations.pop(0)
 		qty = remaining_qty if item_location.qty >= remaining_qty else item_location.qty
@@ -59,17 +58,30 @@
 		for item_info in data:
 			doc.append('items', item_info)
 
+	doc.insert()
+
 	for item in doc.get('items'):
 		if item.has_serial_no:
-			serial_nos = frappe.get_all('Serial No', {
-				'item_code': item.item,
-				'warehouse': item.warehouse
-			}, limit=item.qty, order_by='purchase_date')
-			item.serial_no = '\n'.join([serial_no.name for serial_no in serial_nos])
+			set_serial_nos(item)
+		elif item.has_batch_no:
+			set_batch_no(item, doc)
 
-		# if item.has_batch_no:
-		# 	serial_nos = frappe.get_all('Batch', {
-		# 		'item_code': item.item,
-		# 		'warehouse': item.warehouse
-		# 	}, limit=item.qty, order_by='purchase_date')
-		# 	item.serial_no = '\n'.join([serial_no.name for serial_no in serial_nos])
\ No newline at end of file
+def set_serial_nos(item):
+	serial_nos = frappe.get_all('Serial No', {
+		'item_code': item.item,
+		'warehouse': item.warehouse
+	}, limit=item.qty, order_by='purchase_date')
+	item.serial_no = '\n'.join([serial_no.name for serial_no in serial_nos])
+
+def set_batch_no(item, doc):
+	batches = frappe.get_all('Stock Ledger Entry',
+		fields=['batch_no', 'sum(actual_qty) as qty'],
+		filters={
+			'item_code': item.item,
+			'warehouse': item.warehouse
+		},
+		group_by='warehouse, batch_no, item_code')
+
+	if batches:
+		# TODO: check expiry and split item if batch is more than 1
+		item.batch_no = batches[0].batch_no
\ No newline at end of file
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 33a4273..6db3284 100644
--- a/erpnext/stock/doctype/pick_ticket_item/pick_ticket_item.json
+++ b/erpnext/stock/doctype/pick_ticket_item/pick_ticket_item.json
@@ -33,7 +33,8 @@
    "fieldname": "qty",
    "fieldtype": "Float",
    "in_list_view": 1,
-   "label": "Qty"
+   "label": "Qty",
+   "read_only": 1
   },
   {
    "fieldname": "picked_qty",
@@ -46,7 +47,8 @@
    "fieldtype": "Link",
    "in_list_view": 1,
    "label": "Warehouse",
-   "options": "Warehouse"
+   "options": "Warehouse",
+   "read_only": 1
   },
   {
    "fetch_from": "item.item_name",
@@ -66,20 +68,22 @@
    "fieldname": "reference_document_item",
    "fieldtype": "Data",
    "hidden": 1,
-   "label": "Reference Document Item"
+   "label": "Reference Document Item",
+   "read_only": 1
   },
   {
    "depends_on": "has_serial_no",
    "fieldname": "serial_no",
    "fieldtype": "Small Text",
-   "label": "Serial No"
+   "label": "Serial No",
+   "read_only": 1
   },
   {
-   "depends_on": "has_batch_no",
    "fieldname": "batch_no",
    "fieldtype": "Link",
    "label": "Batch No",
-   "options": "Batch"
+   "options": "Batch",
+   "read_only": 1
   },
   {
    "default": "0",
@@ -106,13 +110,15 @@
    "fieldname": "reference_doctype",
    "fieldtype": "Select",
    "label": "Reference Document Type",
-   "options": "Sales Order\nWork Order"
+   "options": "Sales Order\nWork Order",
+   "read_only": 1
   },
   {
    "fieldname": "reference_name",
    "fieldtype": "Dynamic Link",
    "label": "Reference Document",
-   "options": "reference_doctype"
+   "options": "reference_doctype",
+   "read_only": 1
   },
   {
    "fieldname": "column_break_2",
@@ -124,7 +130,7 @@
   }
  ],
  "istable": 1,
- "modified": "2019-07-24 15:09:35.712289",
+ "modified": "2019-07-25 11:18:58.478250",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Pick Ticket Item",
diff --git a/erpnext/stock/doctype/pick_ticket_reference_item/pick_ticket_reference_item.js b/erpnext/stock/doctype/pick_ticket_reference_item/pick_ticket_reference_item.js
new file mode 100644
index 0000000..a3f9096
--- /dev/null
+++ b/erpnext/stock/doctype/pick_ticket_reference_item/pick_ticket_reference_item.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Pick Ticket Reference Item', {
+	// refresh: function(frm) {
+
+	// }
+});
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
new file mode 100644
index 0000000..446e075
--- /dev/null
+++ b/erpnext/stock/doctype/pick_ticket_reference_item/pick_ticket_reference_item.json
@@ -0,0 +1,27 @@
+{
+ "creation": "2019-07-24 16:11:07.415562",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "item"
+ ],
+ "fields": [
+  {
+   "fieldname": "item",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Item",
+   "options": "Item"
+  }
+ ],
+ "istable": 1,
+ "modified": "2019-07-24 16:12:58.000378",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Pick Ticket Reference Item",
+ "owner": "Administrator",
+ "permissions": [],
+ "sort_field": "modified",
+ "sort_order": "DESC"
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/pick_ticket_reference_item/pick_ticket_reference_item.py b/erpnext/stock/doctype/pick_ticket_reference_item/pick_ticket_reference_item.py
new file mode 100644
index 0000000..412be75
--- /dev/null
+++ b/erpnext/stock/doctype/pick_ticket_reference_item/pick_ticket_reference_item.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+# import frappe
+from frappe.model.document import Document
+
+class PickTicketReferenceItem(Document):
+	pass
