diff --git a/erpnext/__init__.py b/erpnext/__init__.py
index f327404..514e5b3 100644
--- a/erpnext/__init__.py
+++ b/erpnext/__init__.py
@@ -4,7 +4,7 @@
 import frappe
 from erpnext.hooks import regional_overrides
 
-__version__ = '8.11.6'
+__version__ = '9.0.0'
 
 def get_default_company(user=None):
 	'''Get default company for user'''
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py
index 31869fb..9d24261 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.py
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py
@@ -765,6 +765,7 @@
 	pe.append("references", {
 		"reference_doctype": dt,
 		"reference_name": dn,
+		"bill_no": doc.get("bill_no"),
 		"due_date": doc.get("due_date"),
 		"total_amount": grand_total,
 		"outstanding_amount": outstanding_amount,
diff --git a/erpnext/change_log/v9/v9_0_0.md b/erpnext/change_log/v9/v9_0_0.md
index fb6ae61..5d91ea9 100644
--- a/erpnext/change_log/v9/v9_0_0.md
+++ b/erpnext/change_log/v9/v9_0_0.md
@@ -1,4 +1,4 @@
-#### POS
+- POS - Online & Offline
 - Now user has an option to enable or disable Offline POS mode from POS Settings
 - Provision to select the Item's serial number from the dropdown while adding item in the cart
 - Indicator for stock availability in Online POS Mode.
@@ -6,3 +6,25 @@
 #### Subscription
 - Setup recurring documents using **Subscription**
 - User can schedule the subscription for doctypes other than Sales Invoice, Purchase Invoice etc.
+
+#### Healthcare Domain
+- Clinic / Practice Management
+	- Patient
+	- Physician, Physician scheduling
+	- Appointment
+	- Vital Signs
+	- Consultation
+	- Medical Code Standards
+	- Patient Medical Record
+- Laboratory
+	- Sample Collection
+	- Lab Test
+- Patient Portal
+
+#### School Fees Management
+- Fee Structure
+- Fee Schedule
+- Payment against Fees
+
+#### Setup Wizard
+- Broken into 2 parts with a fresh looks
\ No newline at end of file
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 855358e..030d44c 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -436,7 +436,7 @@
 erpnext.patches.v8_7.fix_purchase_receipt_status
 erpnext.patches.v8_6.rename_bom_update_tool
 erpnext.patches.v8_7.set_offline_in_pos_settings #11-09-17
-erpnext.patches.v8_9.add_setup_progress_actions #08-09-2017
+erpnext.patches.v8_9.add_setup_progress_actions #08-09-2017 #26-09-2017
 erpnext.patches.v8_9.rename_company_sales_target_field
 erpnext.patches.v8_8.set_bom_rate_as_per_uom
 erpnext.patches.v8_7.make_subscription_from_recurring_data
diff --git a/erpnext/patches/v8_9/add_setup_progress_actions.py b/erpnext/patches/v8_9/add_setup_progress_actions.py
index 97d2d14..dbd0fac 100644
--- a/erpnext/patches/v8_9/add_setup_progress_actions.py
+++ b/erpnext/patches/v8_9/add_setup_progress_actions.py
@@ -9,27 +9,27 @@
 	frappe.reload_doc("setup", "doctype", "setup_progress_action")
 
 	actions = [
-		{"action_name": _("Add Company"), "action_doctype": "Company", "min_doc_count": 1, "is_completed": 1,
+		{"action_name": "Add Company", "action_doctype": "Company", "min_doc_count": 1, "is_completed": 1,
 			"domains": '[]' },
-		{"action_name": _("Set Sales Target"), "action_doctype": "Company", "min_doc_count": 99,
+		{"action_name": "Set Sales Target", "action_doctype": "Company", "min_doc_count": 99,
 			"action_document": frappe.defaults.get_defaults().get("company") or '',
 			"action_field": "monthly_sales_target", "is_completed": 0,
 			"domains": '["Manufacturing", "Services", "Retail", "Distribution"]' },
-		{"action_name": _("Add Customers"), "action_doctype": "Customer", "min_doc_count": 1, "is_completed": 0,
+		{"action_name": "Add Customers", "action_doctype": "Customer", "min_doc_count": 1, "is_completed": 0,
 			"domains": '["Manufacturing", "Services", "Retail", "Distribution"]' },
-		{"action_name": _("Add Suppliers"), "action_doctype": "Supplier", "min_doc_count": 1, "is_completed": 0,
+		{"action_name": "Add Suppliers", "action_doctype": "Supplier", "min_doc_count": 1, "is_completed": 0,
 			"domains": '["Manufacturing", "Services", "Retail", "Distribution"]' },
-		{"action_name": _("Add Products"), "action_doctype": "Item", "min_doc_count": 1, "is_completed": 0,
+		{"action_name": "Add Products", "action_doctype": "Item", "min_doc_count": 1, "is_completed": 0,
 			"domains": '["Manufacturing", "Services", "Retail", "Distribution"]' },
-		{"action_name": _("Add Programs"), "action_doctype": "Program", "min_doc_count": 1, "is_completed": 0,
+		{"action_name": "Add Programs", "action_doctype": "Program", "min_doc_count": 1, "is_completed": 0,
 			"domains": '["Education"]' },
-		{"action_name": _("Add Instructors"), "action_doctype": "Instructor", "min_doc_count": 1, "is_completed": 0,
+		{"action_name": "Add Instructors", "action_doctype": "Instructor", "min_doc_count": 1, "is_completed": 0,
 			"domains": '["Education"]' },
-		{"action_name": _("Add Courses"), "action_doctype": "Course", "min_doc_count": 1, "is_completed": 0,
+		{"action_name": "Add Courses", "action_doctype": "Course", "min_doc_count": 1, "is_completed": 0,
 			"domains": '["Education"]' },
-		{"action_name": _("Add Rooms"), "action_doctype": "Room", "min_doc_count": 1, "is_completed": 0,
+		{"action_name": "Add Rooms", "action_doctype": "Room", "min_doc_count": 1, "is_completed": 0,
 			"domains": '["Education"]' },
-		{"action_name": _("Add Users"), "action_doctype": "User", "min_doc_count": 4, "is_completed": 0,
+		{"action_name": "Add Users", "action_doctype": "User", "min_doc_count": 4, "is_completed": 0,
 			"domains": '[]' }
 	]
 
diff --git a/erpnext/selling/page/point_of_sale/point_of_sale.js b/erpnext/selling/page/point_of_sale/point_of_sale.js
index d4b7eba..ec1a292 100644
--- a/erpnext/selling/page/point_of_sale/point_of_sale.js
+++ b/erpnext/selling/page/point_of_sale/point_of_sale.js
@@ -20,6 +20,10 @@
 	});
 };
 
+frappe.pages['point-of-sale'].refresh = function(wrapper) {
+	cur_frm = wrapper.pos.frm;
+}
+
 erpnext.pos.PointOfSale = class PointOfSale {
 	constructor(wrapper) {
 		this.wrapper = $(wrapper).find('.layout-main-section');
@@ -478,6 +482,8 @@
 	}
 
 	update_taxes_and_totals() {
+		if (!this.frm.doc.taxes) { return; }
+
 		const currency = this.frm.doc.currency;
 		this.frm.refresh_field('taxes');
 
diff --git a/erpnext/setup/setup_wizard/install_fixtures.py b/erpnext/setup/setup_wizard/install_fixtures.py
index 67d7e93..e6a4a81 100644
--- a/erpnext/setup/setup_wizard/install_fixtures.py
+++ b/erpnext/setup/setup_wizard/install_fixtures.py
@@ -23,27 +23,27 @@
 
 		# Setup Progress
 		{'doctype': "Setup Progress", "actions": [
-			{"action_name": _("Add Company"), "action_doctype": "Company", "min_doc_count": 1, "is_completed": 1,
+			{"action_name": "Add Company", "action_doctype": "Company", "min_doc_count": 1, "is_completed": 1,
 				"domains": '[]' },
-			{"action_name": _("Set Sales Target"), "action_doctype": "Company", "min_doc_count": 99,
+			{"action_name": "Set Sales Target", "action_doctype": "Company", "min_doc_count": 99,
 				"action_document": frappe.defaults.get_defaults().get("company") or '',
 				"action_field": "monthly_sales_target", "is_completed": 0,
 				"domains": '["Manufacturing", "Services", "Retail", "Distribution"]' },
-			{"action_name": _("Add Customers"), "action_doctype": "Customer", "min_doc_count": 1, "is_completed": 0,
+			{"action_name": "Add Customers", "action_doctype": "Customer", "min_doc_count": 1, "is_completed": 0,
 				"domains": '["Manufacturing", "Services", "Retail", "Distribution"]' },
-			{"action_name": _("Add Suppliers"), "action_doctype": "Supplier", "min_doc_count": 1, "is_completed": 0,
+			{"action_name": "Add Suppliers", "action_doctype": "Supplier", "min_doc_count": 1, "is_completed": 0,
 				"domains": '["Manufacturing", "Services", "Retail", "Distribution"]' },
-			{"action_name": _("Add Products"), "action_doctype": "Item", "min_doc_count": 1, "is_completed": 0,
+			{"action_name": "Add Products", "action_doctype": "Item", "min_doc_count": 1, "is_completed": 0,
 				"domains": '["Manufacturing", "Services", "Retail", "Distribution"]' },
-			{"action_name": _("Add Programs"), "action_doctype": "Program", "min_doc_count": 1, "is_completed": 0,
+			{"action_name": "Add Programs", "action_doctype": "Program", "min_doc_count": 1, "is_completed": 0,
 				"domains": '["Education"]' },
-			{"action_name": _("Add Instructors"), "action_doctype": "Instructor", "min_doc_count": 1, "is_completed": 0,
+			{"action_name": "Add Instructors", "action_doctype": "Instructor", "min_doc_count": 1, "is_completed": 0,
 				"domains": '["Education"]' },
-			{"action_name": _("Add Courses"), "action_doctype": "Course", "min_doc_count": 1, "is_completed": 0,
+			{"action_name": "Add Courses", "action_doctype": "Course", "min_doc_count": 1, "is_completed": 0,
 				"domains": '["Education"]' },
-			{"action_name": _("Add Rooms"), "action_doctype": "Room", "min_doc_count": 1, "is_completed": 0,
+			{"action_name": "Add Rooms", "action_doctype": "Room", "min_doc_count": 1, "is_completed": 0,
 				"domains": '["Education"]' },
-			{"action_name": _("Add Users"), "action_doctype": "User", "min_doc_count": 4, "is_completed": 0,
+			{"action_name": "Add Users", "action_doctype": "User", "min_doc_count": 4, "is_completed": 0,
 				"domains": '[]' }
 		]},
 
diff --git a/erpnext/utilities/user_progress.py b/erpnext/utilities/user_progress.py
index 6a2ec4b..2509511 100644
--- a/erpnext/utilities/user_progress.py
+++ b/erpnext/utilities/user_progress.py
@@ -20,7 +20,7 @@
 	# Initial state of slides
 	return [
 		frappe._dict(
-			action_name=_('Add Company'),
+			action_name='Add Company',
 			title=_("Setup Company") if domain != 'Education' else _("Setup Institution"),
 			help=_('Setup your ' + ('company' if domain != 'Education' else 'institution') + ' and brand.'),
 			# image_src="/assets/erpnext/images/illustrations/shop.jpg",
@@ -58,7 +58,7 @@
 			]
 		),
 		frappe._dict(
-			action_name=_('Add Customers'),
+			action_name='Add Customers',
 			domains=('Manufacturing', 'Services', 'Retail', 'Distribution'),
 			title=_("Add Customers"),
 			help=_("List a few of your customers. They could be organizations or individuals."),
@@ -82,7 +82,7 @@
 			]
 		),
 		frappe._dict(
-			action_name=_('Add Suppliers'),
+			action_name='Add Suppliers',
 			domains=('Manufacturing', 'Services', 'Retail', 'Distribution'),
 			icon="fa fa-group",
 			title=_("Your Suppliers"),
@@ -111,7 +111,7 @@
 			]
 		),
 		frappe._dict(
-			action_name=_('Add Products'),
+			action_name='Add Products',
 			domains=['Manufacturing', 'Services', 'Retail', 'Distribution'],
 			icon="fa fa-barcode",
 			title=_("Your Products or Services"),
@@ -142,7 +142,7 @@
 
 		# School slides begin
 		frappe._dict(
-			action_name=_('Add Programs'),
+			action_name='Add Programs',
 			domains=("Education"),
 			title=_("Program"),
 			help=_("Example: Masters in Computer Science"),
@@ -163,7 +163,7 @@
 
 		),
 		frappe._dict(
-			action_name=_('Add Courses'),
+			action_name='Add Courses',
 			domains=["Education"],
 			title=_("Course"),
 			help=_("Example: Basic Mathematics"),
@@ -183,7 +183,7 @@
 			]
 		),
 		frappe._dict(
-			action_name=_('Add Instructors'),
+			action_name='Add Instructors',
 			domains=["Education"],
 			title=_("Instructor"),
 			help=_("People who teach at your organisation"),
@@ -203,7 +203,7 @@
 			]
 		),
 		frappe._dict(
-			action_name=_('Add Rooms'),
+			action_name='Add Rooms',
 			domains=["Education"],
 			title=_("Room"),
 			help=_("Classrooms/ Laboratories etc where lectures can be scheduled."),
@@ -222,7 +222,7 @@
 		# School slides end
 
 		frappe._dict(
-			action_name=_('Add Users'),
+			action_name='Add Users',
 			title=_("Add Users"),
 			help=_("Add users to your organization, other than yourself."),
 			fields=[
