Merge branch 'develop'
diff --git a/erpnext/__init__.py b/erpnext/__init__.py
index 44ba88a..2258949 100644
--- a/erpnext/__init__.py
+++ b/erpnext/__init__.py
@@ -2,7 +2,7 @@
 from __future__ import unicode_literals
 import frappe
 
-__version__ = '8.0.18'
+__version__ = '8.0.19'
 
 def get_default_company(user=None):
 	'''Get default company for user'''
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py b/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py
index 5e460df..50382d5 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py
@@ -3,6 +3,10 @@
 def get_data():
 	return {
 		'fieldname': 'purchase_order',
+		'non_standard_fieldnames': {
+			'Journal Entry': 'reference_name',
+			'Payment Entry': 'reference_name'
+		},
 		'internal_links': {
 			'Material Request': ['items', 'material_request'],
 			'Supplier Quotation': ['items', 'supplier_quotation'],
@@ -14,12 +18,16 @@
 				'items': ['Purchase Receipt', 'Purchase Invoice']
 			},
 			{
+				'label': _('Payment'),
+				'items': ['Payment Entry', 'Journal Entry']
+			},
+			{
 				'label': _('Reference'),
 				'items': ['Material Request', 'Supplier Quotation', 'Project']
 			},
 			{
 				'label': _('Sub-contracting'),
 				'items': ['Stock Entry']
-			},
+			}
 		]
 	}
\ No newline at end of file
diff --git a/erpnext/selling/doctype/sales_order/sales_order_dashboard.py b/erpnext/selling/doctype/sales_order/sales_order_dashboard.py
index 51f81f8..a0ed034 100644
--- a/erpnext/selling/doctype/sales_order/sales_order_dashboard.py
+++ b/erpnext/selling/doctype/sales_order/sales_order_dashboard.py
@@ -5,6 +5,9 @@
 		'fieldname': 'sales_order',
 		'non_standard_fieldnames': {
 			'Delivery Note': 'against_sales_order',
+			'Journal Entry': 'reference_name',
+			'Payment Entry': 'reference_name',
+			'Payment Request': 'reference_name'
 		},
 		'internal_links': {
 			'Quotation': ['items', 'prevdoc_docname']
@@ -30,5 +33,9 @@
 				'label': _('Reference'),
 				'items': ['Quotation']
 			},
+			{
+				'label': _('Payment'),
+				'items': ['Payment Entry', 'Payment Request', 'Journal Entry']
+			},
 		]
 	}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/batch/batch.py b/erpnext/stock/doctype/batch/batch.py
index 8ef8e91..5749afb 100644
--- a/erpnext/stock/doctype/batch/batch.py
+++ b/erpnext/stock/doctype/batch/batch.py
@@ -101,16 +101,18 @@
 
 def get_batch_no(item_code, warehouse, qty, throw=False):
 	'''get the smallest batch with for the given item_code, warehouse and qty'''
-	batches = sorted(
-		get_batch_qty(item_code = item_code, warehouse = warehouse),
-		lambda a, b: 1 if a.qty > b.qty else -1)
-
+	
 	batch_no = None
-	for b in batches:
-		if b.qty >= qty:
-			batch_no = b.batch_no
-			# found!
-			break
+	
+	batches = get_batch_qty(item_code = item_code, warehouse = warehouse)
+	if batches:
+		batches = sorted(batches, lambda a, b: 1 if a.qty > b.qty else -1)
+
+		for b in batches:
+			if b.qty >= qty:
+				batch_no = b.batch_no
+				# found!
+				break
 
 	if not batch_no:
 		frappe.msgprint(_('Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement').format(frappe.bold(item_code)))