Merge branch 'develop'
diff --git a/README.md b/README.md
index efa3e33..f2b628e 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
 # ERPNext - Open source ERP for small and medium-size business [![Build Status](https://travis-ci.org/frappe/erpnext.png)](https://travis-ci.org/frappe/erpnext)
 
+[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/frappe/erpnext?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
 [https://erpnext.com](https://erpnext.com)
 
 Includes: Accounting, Inventory, CRM, Sales, Purchase, Projects, HRMS. Requires MariaDB.
diff --git a/erpnext/__version__.py b/erpnext/__version__.py
index 75c77f1..884d464 100644
--- a/erpnext/__version__.py
+++ b/erpnext/__version__.py
@@ -1 +1 @@
-__version__ = '4.20.0'
+__version__ = '4.20.1'
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 90ac2e7..6f90675 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -4,7 +4,7 @@
 app_description = "Open Source Enterprise Resource Planning for Small and Midsized Organizations"
 app_icon = "icon-th"
 app_color = "#e74c3c"
-app_version = "4.20.0"
+app_version = "4.20.1"
 
 error_report_email = "support@erpnext.com"
 
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 8978a3b..bfce346 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -92,4 +92,4 @@
 erpnext.patches.v4_2.recalculate_bom_costs
 erpnext.patches.v4_2.discount_amount
 erpnext.patches.v4_2.update_landed_cost_voucher
-erpnext.patches.v4_2.set_item_batch
+erpnext.patches.v4_2.set_item_has_batch
diff --git a/erpnext/patches/v4_2/set_item_batch.py b/erpnext/patches/v4_2/set_item_has_batch.py
similarity index 94%
rename from erpnext/patches/v4_2/set_item_batch.py
rename to erpnext/patches/v4_2/set_item_has_batch.py
index 3e84a59..35ed2e0 100644
--- a/erpnext/patches/v4_2/set_item_batch.py
+++ b/erpnext/patches/v4_2/set_item_has_batch.py
@@ -44,7 +44,7 @@
 def get_sle_with_batch():
 	sle_with_batch = {}
 	for d in frappe.db.sql("""select item_code, count(name) as cnt from `tabStock Ledger Entry` 
-		where batch_no != '' group by item_code""", as_dict=1):
+		where ifnull(batch_no, '') != '' group by item_code""", as_dict=1):
 			sle_with_batch.setdefault(d.item_code, d.cnt)
 		
 	return sle_with_batch
@@ -53,7 +53,7 @@
 def get_sle_with_serial():
 	sle_with_serial = {}
 	for d in frappe.db.sql("""select item_code, count(name) as cnt from `tabStock Ledger Entry` 
-		where serial_no != '' group by item_code""", as_dict=1):
+		where ifnull(serial_no, '') != '' group by item_code""", as_dict=1):
 			sle_with_serial.setdefault(d.item_code, d.cnt)
 	
 	return sle_with_serial
diff --git a/erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.js b/erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.js
index ce19f51..5e74431 100644
--- a/erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.js
+++ b/erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.js
@@ -8,19 +8,22 @@
 			"label": __("Company"),
 			"fieldtype": "Link",
 			"options": "Company",
-			"default": frappe.defaults.get_user_default("company")
+			"default": frappe.defaults.get_user_default("company"),
+			"reqd": 1
 		},
 		{
 			"fieldname":"from_date",
 			"label": __("From Date"),
 			"fieldtype": "Date",
-			"default": frappe.defaults.get_user_default("year_start_date")
+			"default": frappe.defaults.get_user_default("year_start_date"),
+			"reqd": 1
 		},
 		{
 			"fieldname":"to_date",
 			"label": __("To Date"),
 			"fieldtype": "Date",
-			"default": frappe.defaults.get_user_default("year_end_date")
+			"default": frappe.defaults.get_user_default("year_end_date"),
+			"reqd": 1
 		},
 	]
-}
\ No newline at end of file
+}
diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.py b/erpnext/stock/doctype/packing_slip/packing_slip.py
index bd79835..1916cef 100644
--- a/erpnext/stock/doctype/packing_slip/packing_slip.py
+++ b/erpnext/stock/doctype/packing_slip/packing_slip.py
@@ -166,4 +166,4 @@
 	 			and %s like "%s" %s
 	 			limit  %s, %s """ % ("%s", searchfield, "%s",
 	 			get_match_cond(doctype), "%s", "%s"),
-	 			(filters["delivery_note"], "%%%s%%" % txt, start, page_len))
+	 			((filters or {}).get("delivery_note"), "%%%s%%" % txt, start, page_len))
diff --git a/setup.py b/setup.py
index f2c3988..f093f55 100644
--- a/setup.py
+++ b/setup.py
@@ -1,7 +1,7 @@
 from setuptools import setup, find_packages
 import os
 
-version = "4.20.0"
+version = "4.20.1"
 
 with open("requirements.txt", "r") as f:
 	install_requires = f.readlines()