Merge pull request #16597 from adityahase/python3-fix

fix(py3): Use range instead of xrange
diff --git a/erpnext/accounts/doctype/pos_settings/pos_settings.py b/erpnext/accounts/doctype/pos_settings/pos_settings.py
index bdfd969..913f498 100644
--- a/erpnext/accounts/doctype/pos_settings/pos_settings.py
+++ b/erpnext/accounts/doctype/pos_settings/pos_settings.py
@@ -8,9 +8,4 @@
 
 class POSSettings(Document):
 	def validate(self):
-		self.set_link_for_pos()
-
-	def set_link_for_pos(self):
-		link = 'pos' if self.use_pos_in_offline_mode else 'point-of-sale'
-		frappe.db.sql(""" update `tabDesktop Icon` set link = '{0}'
-			where module_name like '%pos%'""".format(link))
\ No newline at end of file
+		pass
\ No newline at end of file
diff --git a/erpnext/config/accounts.py b/erpnext/config/accounting.py
similarity index 83%
rename from erpnext/config/accounts.py
rename to erpnext/config/accounting.py
index 14b0646..a8b9447 100644
--- a/erpnext/config/accounts.py
+++ b/erpnext/config/accounting.py
@@ -6,248 +6,45 @@
 def get_data():
 	config = [
 		{
-			"label": _("Billing"),
+			"label": _("Masters and Accounts"),
 			"items": [
 				{
 					"type": "doctype",
-					"name": "Sales Invoice",
-					"description": _("Bills raised to Customers.")
+					"name": "Item",
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
-					"name": "Purchase Invoice",
-					"description": _("Bills raised by Suppliers.")
+					"name": "Customer",
+					"description": _("Customer database."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
-					"name": "Payment Request",
-					"description": _("Payment Request")
+					"name": "Supplier",
+					"description": _("Supplier database."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
-					"name": "Payment Entry",
-					"description": _("Bank/Cash transactions against party or for internal transfer")
-				}
-			]
-
-		},
-		{
-			"label": _("Company and Accounts"),
-			"items": [
-				{
-					"type": "doctype",
 					"name": "Company",
-					"description": _("Company (not Customer or Supplier) master.")
-				},
-				{
-					"type": "doctype",
-					"name": "Journal Entry",
-					"description": _("Accounting journal entries.")
+					"description": _("Company (not Customer or Supplier) master."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Account",
 					"icon": "fa fa-sitemap",
 					"label": _("Chart of Accounts"),
-					"route": "Tree/Account",
+					"route": "#Tree/Account",
 					"description": _("Tree of financial accounts."),
-				},
-				{
-					"type": "report",
-					"name": "General Ledger",
-					"doctype": "GL Entry",
-					"is_query_report": True,
-				},
-			]
-		},
-		{
-			"label": _("Masters"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Customer",
-					"description": _("Customer database.")
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
-					"name": "Supplier",
-					"description": _("Supplier database.")
-				},
-				{
-					"type": "doctype",
-					"name": "Item",
-				}
-			]
-		},
-		{
-			"label": _("Accounting Statements"),
-			"items": [
-				{
-					"type": "report",
-					"name": "Accounts Receivable",
-					"doctype": "Sales Invoice",
-					"is_query_report": True
-				},
-				{
-					"type": "report",
-					"name": "Accounts Payable",
-					"doctype": "Purchase Invoice",
-					"is_query_report": True
-				},
-				{
-					"type": "report",
-					"name": "Trial Balance",
-					"doctype": "GL Entry",
-					"is_query_report": True,
-				},
-				{
-					"type": "report",
-					"name": "Balance Sheet",
-					"doctype": "GL Entry",
-					"is_query_report": True
-				},
-				{
-					"type": "report",
-					"name": "Cash Flow",
-					"doctype": "GL Entry",
-					"is_query_report": True
-				},
-				{
-					"type": "report",
-					"name": "Profit and Loss Statement",
-					"doctype": "GL Entry",
-					"is_query_report": True
-				},
-				{
-					"type": "report",
-					"name": "Consolidated Financial Statement",
-					"doctype": "GL Entry",
-					"is_query_report": True
-				},
-			]
-		},
-		{
-			"label": _("Banking and Payments"),
-			"items": [
-				{
-					"type": "doctype",
-					"label": _("Update Bank Transaction Dates"),
-					"name": "Bank Reconciliation",
-					"description": _("Update bank payment dates with journals.")
-				},
-				{
-					"type": "doctype",
-					"label": _("Match Payments with Invoices"),
-					"name": "Payment Reconciliation",
-					"description": _("Match non-linked Invoices and Payments.")
-				},
-				{
-					"type": "report",
-					"name": "Bank Reconciliation Statement",
-					"is_query_report": True,
-					"doctype": "Journal Entry"
-				},
-				{
-					"type": "report",
-					"name": "Bank Clearance Summary",
-					"is_query_report": True,
-					"doctype": "Journal Entry"
-				},
-				{
-					"type": "doctype",
-					"name": "Bank Guarantee",
-					"doctype": "Bank Guarantee"
-				},
-			]
-		},
-		{
-			"label": _("Taxes"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Tax Category",
-					"description": _("Tax Category for overriding tax rates.")
-				},
-				{
-					"type": "doctype",
-					"name": "Sales Taxes and Charges Template",
-					"description": _("Tax template for selling transactions.")
-				},
-				{
-					"type": "doctype",
-					"name": "Purchase Taxes and Charges Template",
-					"description": _("Tax template for buying transactions.")
-				},
-				{
-					"type": "doctype",
-					"name": "Item Tax Template",
-					"description": _("Tax template for item tax rates.")
-				},
-				{
-					"type": "doctype",
-					"name": "Tax Rule",
-					"description": _("Tax Rule for transactions.")
-				},
-				{
-					"type": "doctype",
-					"name": "Tax Withholding Category",
-					"description": _("Tax Withholding rates to be applied on transactions.")
-				},
-				{
-					"type": "report",
-					"name": "Sales Register",
-					"doctype": "Sales Invoice",
-					"is_query_report": True
-				},
-				{
-					"type": "report",
-					"name": "Purchase Register",
-					"doctype": "Purchase Invoice",
-					"is_query_report": True
-				},
-			]
-		},
-		{
-			"label": _("Budget and Cost Center"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Cost Center",
-					"icon": "fa fa-sitemap",
-					"label": _("Chart of Cost Centers"),
-					"route": "Tree/Cost Center",
-					"description": _("Tree of financial Cost Centers."),
-				},
-				{
-					"type": "doctype",
-					"name": "Budget",
-					"description": _("Define budget for a financial year.")
-				},
-				{
-					"type": "report",
-					"name": "Budget Variance Report",
-					"is_query_report": True,
-					"doctype": "Cost Center"
-				},
-				{
-					"type": "doctype",
-					"name": "Monthly Distribution",
-					"description": _("Seasonality for setting budgets, targets etc.")
-				},
-			]
-		},
-		{
-			"label": _("Tools"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Period Closing Voucher",
-					"description": _("Close Balance Sheet and book Profit or Loss.")
-				},
-				{
-					"type": "doctype",
-					"name": "Cheque Print Template",
-					"description": _("Setup cheque dimensions for printing")
+					"name": "Journal Entry",
+					"description": _("Accounting journal entries."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
@@ -257,6 +54,60 @@
 			]
 		},
 		{
+			"label": _("Billing"),
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Sales Invoice",
+					"description": _("Bills raised to Customers."),
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Purchase Invoice",
+					"description": _("Bills raised by Suppliers."),
+					"onboard": 1
+				},
+				{
+					"type": "doctype",
+					"name": "Payment Request",
+					"description": _("Payment Request"),
+				},
+				{
+					"type": "doctype",
+					"name": "Payment Entry",
+					"description": _("Bank/Cash transactions against party or for internal transfer")
+				},
+
+				# Reports
+				{
+					"type": "report",
+					"name": "Ordered Items To Be Billed",
+					"is_query_report": True,
+					"reference_doctype": "Sales Invoice"
+				},
+				{
+					"type": "report",
+					"name": "Delivered Items To Be Billed",
+					"is_query_report": True,
+					"reference_doctype": "Sales Invoice"
+				},
+				{
+					"type": "report",
+					"name": "Purchase Order Items To Be Billed",
+					"is_query_report": True,
+					"reference_doctype": "Purchase Invoice"
+				},
+				{
+					"type": "report",
+					"name": "Received Items To Be Billed",
+					"is_query_report": True,
+					"reference_doctype": "Purchase Invoice"
+				},
+			]
+
+		},
+		{
 			"label": _("Setup"),
 			"icon": "fa fa-cog",
 			"items": [
@@ -307,41 +158,223 @@
 					"name": "C-Form",
 					"description": _("C-Form records"),
 					"country": "India"
+				},
+				{
+					"type": "doctype",
+					"name": "Cheque Print Template",
+					"description": _("Setup cheque dimensions for printing")
+				},
+			]
+		},
+		{
+			"label": _("Financial Statements"),
+			"items": [
+				{
+					"type": "report",
+					"name": "General Ledger",
+					"doctype": "GL Entry",
+					"is_query_report": True,
+					"onboard": 1,
+				},
+				{
+					"type": "report",
+					"name": "Accounts Receivable",
+					"doctype": "Sales Invoice",
+					"is_query_report": True
+				},
+				{
+					"type": "report",
+					"name": "Accounts Payable",
+					"doctype": "Purchase Invoice",
+					"is_query_report": True
+				},
+				{
+					"type": "report",
+					"name": "Trial Balance",
+					"doctype": "GL Entry",
+					"is_query_report": True,
+				},
+				{
+					"type": "report",
+					"name": "Balance Sheet",
+					"doctype": "GL Entry",
+					"is_query_report": True
+				},
+				{
+					"type": "report",
+					"name": "Cash Flow",
+					"doctype": "GL Entry",
+					"is_query_report": True
+				},
+				{
+					"type": "report",
+					"name": "Profit and Loss Statement",
+					"doctype": "GL Entry",
+					"is_query_report": True
+				},
+				{
+					"type": "report",
+					"name": "Consolidated Financial Statement",
+					"doctype": "GL Entry",
+					"is_query_report": True
+				},
+			]
+		},
+		{
+			"label": _("Banking and Payments"),
+			"items": [
+				{
+					"type": "doctype",
+					"label": _("Bank"),
+					"name": "Bank",
+				},
+				{
+					"type": "doctype",
+					"label": _("Bank Account"),
+					"name": "Bank Account",
+				},
+				{
+					"type": "doctype",
+					"label": _("Bank Statement Transaction Entry List"),
+					"name": "Bank Statement Transaction Entry",
+					"route": "#List/Bank Statement Transaction Entry",
+				},
+				{
+					"type": "doctype",
+					"label": _("Bank Statement Transaction Entry Report"),
+					"name": "Bank Statement Transaction Entry",
+					"route": "#Report/Bank Statement Transaction Entry",
+				},
+				{
+					"type": "doctype",
+					"label": _("Bank Statement Settings"),
+					"name": "Bank Statement Settings",
+				},
+
+				{
+					"type": "doctype",
+					"label": _("Update Bank Transaction Dates"),
+					"name": "Bank Reconciliation",
+					"description": _("Update bank payment dates with journals.")
+				},
+				{
+					"type": "doctype",
+					"label": _("Match Payments with Invoices"),
+					"name": "Payment Reconciliation",
+					"description": _("Match non-linked Invoices and Payments.")
+				},
+				{
+					"type": "report",
+					"name": "Bank Reconciliation Statement",
+					"is_query_report": True,
+					"doctype": "Journal Entry"
+				},
+				{
+					"type": "report",
+					"name": "Bank Clearance Summary",
+					"is_query_report": True,
+					"doctype": "Journal Entry"
+				},
+				{
+					"type": "doctype",
+					"name": "Bank Guarantee",
+					"doctype": "Bank Guarantee"
+				},
+			]
+		},
+		{
+			"label": _("Cost Center and Budgeting"),
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Cost Center",
+					"icon": "fa fa-sitemap",
+					"label": _("Chart of Cost Centers"),
+					"route": "#Tree/Cost Center",
+					"description": _("Tree of financial Cost Centers."),
+				},
+				{
+					"type": "doctype",
+					"name": "Budget",
+					"description": _("Define budget for a financial year.")
+				},
+				{
+					"type": "report",
+					"name": "Budget Variance Report",
+					"is_query_report": True,
+					"doctype": "Cost Center"
+				},
+				{
+					"type": "doctype",
+					"name": "Monthly Distribution",
+					"description": _("Seasonality for setting budgets, targets etc.")
+				},
+				{
+					"type": "doctype",
+					"name": "Period Closing Voucher",
+					"description": _("Close Balance Sheet and book Profit or Loss.")
+				},
+			]
+		},
+		{
+			"label": _("Taxes"),
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Tax Category",
+					"description": _("Tax Category for overriding tax rates.")
+				},
+				{
+					"type": "doctype",
+					"name": "Sales Taxes and Charges Template",
+					"description": _("Tax template for selling transactions.")
+				},
+				{
+					"type": "doctype",
+					"name": "Purchase Taxes and Charges Template",
+					"description": _("Tax template for buying transactions.")
+				},
+				{
+					"type": "doctype",
+					"name": "Item Tax Template",
+					"description": _("Tax template for item tax rates.")
+				},
+				{
+					"type": "doctype",
+					"name": "Tax Rule",
+					"description": _("Tax Rule for transactions.")
+				},
+				{
+					"type": "doctype",
+					"name": "Tax Withholding Category",
+					"description": _("Tax Withholding rates to be applied on transactions.")
+				},
+			]
+		},
+		{
+			"label": _("Subscription Management"),
+			"icon": "fa fa-microchip ",
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Subscriber",
+				},
+				{
+					"type": "doctype",
+					"name": "Subscription Plan",
+				},
+				{
+					"type": "doctype",
+					"name": "Subscription"
+				},
+				{
+					"type": "doctype",
+					"name": "Subscription Settings"
 				}
 			]
 		},
 		{
-			"label": _("To Bill"),
-			"items": [
-				{
-					"type": "report",
-					"name": "Ordered Items To Be Billed",
-					"is_query_report": True,
-					"doctype": "Sales Invoice"
-				},
-				{
-					"type": "report",
-					"name": "Delivered Items To Be Billed",
-					"is_query_report": True,
-					"doctype": "Sales Invoice"
-				},
-				{
-					"type": "report",
-					"name": "Purchase Order Items To Be Billed",
-					"is_query_report": True,
-					"doctype": "Purchase Invoice"
-				},
-				{
-					"type": "report",
-					"name": "Received Items To Be Billed",
-					"is_query_report": True,
-					"doctype": "Purchase Invoice"
-				},
-			]
-
-		},
-		{
-			"label": _("Analytics"),
+			"label": _("Key Reports"),
 			"items": [
 				{
 					"type": "report",
@@ -351,6 +384,18 @@
 				},
 				{
 					"type": "report",
+					"name": "Sales Register",
+					"doctype": "Sales Invoice",
+					"is_query_report": True
+				},
+				{
+					"type": "report",
+					"name": "Purchase Register",
+					"doctype": "Purchase Invoice",
+					"is_query_report": True
+				},
+				{
+					"type": "report",
 					"name": "Purchase Invoice Trends",
 					"is_query_report": True,
 					"doctype": "Purchase Invoice"
@@ -497,6 +542,7 @@
 			]
 		}
 	]
+
 	gst = {
 		"label": _("Goods and Services Tax (GST India)"),
 		"items": [
@@ -540,74 +586,11 @@
 			},
 		]
 	}
-	retail = {
-		"label": _("Retail Operations"),
-		"items": [
-			{
-				"type": "page",
-				"name": "pos",
-				"label": _("POS"),
-				"description": _("Point of Sale")
-			},
-			{
-				"type": "doctype",
-				"name": "Cashier Closing",
-				"description": _("Cashier Closing")
-			},
-			{
-				"type": "doctype",
-				"name": "POS Settings",
-				"description": _("Setup mode of POS (Online / Offline)")
-			},
-			{
-				"type": "doctype",
-				"name": "POS Profile",
-				"label": _("Point-of-Sale Profile"),
-				"description": _("Setup default values for POS Invoices")
-			},
-			{
-				"type": "doctype",
-				"name": "Loyalty Program",
-				"label": _("Loyalty Program"),
-				"description": _("To make Customer based incentive schemes.")
-			},
-			{
-				"type": "doctype",
-				"name": "Loyalty Point Entry",
-				"label": _("Loyalty Point Entry"),
-				"description": _("To view logs of Loyalty Points assigned to a Customer.")
-			}
-		]
-	}
-	subscriptions = {
-		"label": _("Subscription Management"),
-		"icon": "fa fa-microchip ",
-		"items": [
-			{
-				"type": "doctype",
-				"name": "Subscription Plan",
-			},
-			{
-				"type": "doctype",
-				"name": "Subscription"
-			},
-			{
-				"type": "doctype",
-				"name": "Subscription Settings"
-			}
-		]
-	}
+
+
 	countries = frappe.get_all("Company", fields="country")
 	countries = [country["country"] for country in countries]
 	if "India" in countries:
 		config.insert(7, gst)
 	domains = frappe.get_active_domains()
-	if "Retail" in domains:
-		config.insert(2, retail)
-	else:
-		config.insert(7, retail)
-	if "Services" in domains:
-		config.insert(2, subscriptions)
-	else:
-		config.insert(7, subscriptions)
 	return config
diff --git a/erpnext/config/assets.py b/erpnext/config/assets.py
index 08e28a0..3c9452f 100644
--- a/erpnext/config/assets.py
+++ b/erpnext/config/assets.py
@@ -9,19 +9,27 @@
 				{
 					"type": "doctype",
 					"name": "Asset",
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Location",
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Asset Category",
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Asset Settings",
-				}
+				},
+				{
+					"type": "doctype",
+					"name": "Asset Movement",
+					"description": _("Transfer an asset from one warehouse to another")
+				},
 			]
 		},
 		{
@@ -30,36 +38,34 @@
 				{
 					"type": "doctype",
 					"name": "Asset Maintenance Team",
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Asset Maintenance",
+					"onboard": 1,
+					"dependencies": ["Asset Maintenance Team"],
 				},
 				{
 					"type": "doctype",
 					"name": "Asset Maintenance Tasks",
+					"onboard": 1,
+					"dependencies": ["Asset Maintenance"],
 				},
 				{
 					"type": "doctype",
 					"name": "Asset Maintenance Log",
+					"dependencies": ["Asset Maintenance"],
 				},
 				{
 					"type": "doctype",
 					"name": "Asset Value Adjustment",
+					"dependencies": ["Asset"],
 				},
 				{
 					"type": "doctype",
 					"name": "Asset Repair",
-				},
-			]
-		},
-		{
-			"label": _("Tools"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Asset Movement",
-					"description": _("Transfer an asset from one warehouse to another")
+					"dependencies": ["Asset"],
 				},
 			]
 		},
@@ -72,17 +78,20 @@
 					"name": "Asset Depreciation Ledger",
 					"doctype": "Asset",
 					"is_query_report": True,
+					"dependencies": ["Asset"],
 				},
 				{
 					"type": "report",
 					"name": "Asset Depreciations and Balances",
 					"doctype": "Asset",
 					"is_query_report": True,
+					"dependencies": ["Asset"],
 				},
 				{
 					"type": "report",
 					"name": "Asset Maintenance",
-					"doctype": "Asset Maintenance"
+					"doctype": "Asset Maintenance",
+					"dependencies": ["Asset Maintenance"]
 				},
 			]
 		}
diff --git a/erpnext/config/buying.py b/erpnext/config/buying.py
index e99b1d8..c52b9a2 100644
--- a/erpnext/config/buying.py
+++ b/erpnext/config/buying.py
@@ -9,23 +9,94 @@
 			"items": [
 				{
 					"type": "doctype",
+					"name": "Purchase Order",
+					"onboard": 1,
+					"dependencies": ["Item", "Supplier"],
+					"description": _("Purchase Orders given to Suppliers."),
+				},
+				{
+					"type": "doctype",
 					"name": "Material Request",
+					"onboard": 1,
+					"dependencies": ["Item"],
 					"description": _("Request for purchase."),
 				},
 				{
 					"type": "doctype",
 					"name": "Request for Quotation",
+					"onboard": 1,
+					"dependencies": ["Item", "Supplier"],
 					"description": _("Request for quotation."),
 				},
 				{
 					"type": "doctype",
 					"name": "Supplier Quotation",
+					"dependencies": ["Item", "Supplier"],
 					"description": _("Quotations received from Suppliers."),
 				},
+			]
+		},
+		{
+			"label": _("Items and Pricing"),
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Item",
+					"onboard": 1,
+					"description": _("All Products or Services."),
+				},
 				{
 					"type": "doctype",
-					"name": "Purchase Order",
-					"description": _("Purchase Orders given to Suppliers."),
+					"name": "Item Price",
+					"description": _("Multiple Item prices."),
+					"onboard": 1,
+					"route": "Report/Item Price"
+				},
+				{
+					"type": "doctype",
+					"name": "Price List",
+					"description": _("Price List master.")
+				},
+				{
+					"type": "doctype",
+					"name": "Product Bundle",
+					"description": _("Bundle items at time of sale."),
+				},
+				{
+					"type": "doctype",
+					"name": "Item Group",
+					"icon": "fa fa-sitemap",
+					"label": _("Item Group"),
+					"link": "Tree/Item Group",
+					"description": _("Tree of Item Groups."),
+				},
+				{
+					"type": "doctype",
+					"name": "Pricing Rule",
+					"description": _("Rules for applying pricing and discount.")
+				},
+			]
+		},
+		{
+			"label": _("Setup"),
+			"icon": "fa fa-cog",
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Buying Settings",
+					"onboard": 1,
+					"description": _("Default settings for buying transactions.")
+				},
+				{
+					"type": "doctype",
+					"name": "Purchase Taxes and Charges Template",
+					"description": _("Tax template for buying transactions.")
+				},
+				{
+					"type": "doctype",
+					"name":"Terms and Conditions",
+					"label": _("Terms and Conditions Template"),
+					"description": _("Template of terms or contract.")
 				},
 			]
 		},
@@ -35,6 +106,7 @@
 				{
 					"type": "doctype",
 					"name": "Supplier",
+					"onboard": 1,
 					"description": _("Supplier database."),
 				},
 				{
@@ -56,88 +128,36 @@
 			]
 		},
 		{
-			"label": _("Setup"),
-			"icon": "fa fa-cog",
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Buying Settings",
-					"description": _("Default settings for buying transactions.")
-				},
-				{
-					"type": "doctype",
-					"name":"Terms and Conditions",
-					"label": _("Terms and Conditions Template"),
-					"description": _("Template of terms or contract.")
-				},
-				{
-					"type": "doctype",
-					"name": "Purchase Taxes and Charges Template",
-					"description": _("Tax template for buying transactions.")
-				},
-			]
-		},
-		{
-			"label": _("Items and Pricing"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Item",
-					"description": _("All Products or Services."),
-				},
-				{
-					"type": "doctype",
-					"name": "Product Bundle",
-					"description": _("Bundle items at time of sale."),
-				},
-				{
-					"type": "doctype",
-					"name": "Price List",
-					"description": _("Price List master.")
-				},
-				{
-					"type": "doctype",
-					"name": "Item Group",
-					"icon": "fa fa-sitemap",
-					"label": _("Item Group"),
-					"link": "Tree/Item Group",
-					"description": _("Tree of Item Groups."),
-				},
-				{
-					"type": "doctype",
-					"name": "Item Price",
-					"description": _("Multiple Item prices."),
-					"route": "Report/Item Price"
-				},
-				{
-					"type": "doctype",
-					"name": "Pricing Rule",
-					"description": _("Rules for applying pricing and discount.")
-				},
-
-			]
-		},
-		{
-			"label": _("Analytics"),
+			"label": _("Key Reports"),
 			"icon": "fa fa-table",
 			"items": [
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Purchase Analytics",
-					"doctype": "Purchase Order"
+					"reference_doctype": "Purchase Order",
+					"onboard": 1
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Supplier-Wise Sales Analytics",
-					"doctype": "Stock Ledger Entry"
+					"reference_doctype": "Stock Ledger Entry",
+					"onboard": 1
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Purchase Order Trends",
-					"doctype": "Purchase Order"
+					"reference_doctype": "Purchase Order",
+					"onboard": 1,
+				},
+				{
+					"type": "report",
+					"is_query_report": True,
+					"name": "Requested Items To Be Ordered",
+					"reference_doctype": "Material Request",
+					"onboard": 1,
 				},
 			]
 		},
@@ -175,32 +195,28 @@
 					"type": "report",
 					"is_query_report": True,
 					"name": "Items To Be Requested",
-					"doctype": "Item"
-				},
-				{
-					"type": "report",
-					"is_query_report": True,
-					"name": "Requested Items To Be Ordered",
-					"doctype": "Material Request"
-				},
-				{
-					"type": "report",
-					"is_query_report": True,
-					"name": "Material Requests for which Supplier Quotations are not created",
-					"doctype": "Material Request"
+					"reference_doctype": "Item",
+					"onboard": 1,
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Item-wise Purchase History",
-					"doctype": "Item"
+					"reference_doctype": "Item",
+					"onboard": 1,
+				},
+				{
+					"type": "report",
+					"is_query_report": True,
+					"name": "Material Requests for which Supplier Quotations are not created",
+					"reference_doctype": "Material Request"
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Address And Contacts",
 					"label": "Supplier Addresses And Contacts",
-					"doctype": "Address",
+					"reference_doctype": "Address",
 					"route_options": {
 						"party_type": "Supplier"
 					}
diff --git a/erpnext/config/crm.py b/erpnext/config/crm.py
index 5ac46bd..3119824 100644
--- a/erpnext/config/crm.py
+++ b/erpnext/config/crm.py
@@ -11,21 +11,35 @@
 					"type": "doctype",
 					"name": "Lead",
 					"description": _("Database of potential customers."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Opportunity",
 					"description": _("Potential opportunities for selling."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Customer",
 					"description": _("Customer database."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Contact",
 					"description": _("All Contacts."),
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Communication",
+					"description": _("Record of all communications of type email, phone, chat, visit, etc."),
+				},
+				{
+					"type": "doctype",
+					"name": "Lead Source",
+					"description": _("Track Leads by Lead Source.")
 				},
 			]
 		},
@@ -37,79 +51,72 @@
 					"type": "report",
 					"is_query_report": True,
 					"name": "Lead Details",
-					"doctype": "Lead"
+					"doctype": "Lead",
+					"onboard": 1,
 				},
 				{
 					"type": "page",
 					"name": "sales-funnel",
 					"label": _("Sales Funnel"),
 					"icon": "fa fa-bar-chart",
+					"onboard": 1,
 				},
 				{
 					"type": "report",
 					"name": "Prospects Engaged But Not Converted",
 					"doctype": "Lead",
-					"is_query_report": True
+					"is_query_report": True,
+					"onboard": 1,
 				},
 				{
 					"type": "report",
 					"name": "Minutes to First Response for Opportunity",
 					"doctype": "Opportunity",
-					"is_query_report": True
+					"is_query_report": True,
+					"dependencies": ["Opportunity"]
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Customer Addresses And Contacts",
-					"doctype": "Contact"
+					"doctype": "Contact",
+					"dependencies": ["Customer"]
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Inactive Customers",
-					"doctype": "Sales Order"
+					"doctype": "Sales Order",
+					"dependencies": ["Sales Order"]
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Campaign Efficiency",
-					"doctype": "Lead"
+					"doctype": "Lead",
+					"dependencies": ["Lead"]
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Lead Owner Efficiency",
-					"doctype": "Lead"
+					"doctype": "Lead",
+					"dependencies": ["Lead"]
 				}
 			]
 		},
 		{
-			"label": _("Communication"),
-			"icon": "fa fa-star",
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Communication",
-					"description": _("Record of all communications of type email, phone, chat, visit, etc."),
-				},
-			]
-		},
-		{
 			"label": _("Setup"),
 			"icon": "fa fa-cog",
 			"items": [
 				{
 					"type": "doctype",
-					"name": "Campaign",
-					"description": _("Sales campaigns."),
-				},
-				{
-					"type": "doctype",
 					"label": _("Customer Group"),
 					"name": "Customer Group",
 					"icon": "fa fa-sitemap",
 					"link": "Tree/Customer Group",
 					"description": _("Manage Customer Group Tree."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
@@ -118,6 +125,7 @@
 					"icon": "fa fa-sitemap",
 					"link": "Tree/Territory",
 					"description": _("Manage Territory Tree."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
@@ -126,18 +134,13 @@
 					"icon": "fa fa-sitemap",
 					"link": "Tree/Sales Person",
 					"description": _("Manage Sales Person Tree."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
-					"name": "Lead Source",
-					"description": _("Track Leads by Lead Source.")
+					"name": "Campaign",
+					"description": _("Sales campaigns."),
 				},
-			]
-		},
-		{
-			"label": _("SMS"),
-			"icon": "fa fa-wrench",
-			"items": [
 				{
 					"type": "doctype",
 					"name": "SMS Center",
@@ -156,18 +159,92 @@
 			]
 		},
 		{
-			"label": _("Help"),
+			"label": _("Support"),
 			"items": [
 				{
-					"type": "help",
-					"label": _("Lead to Quotation"),
-					"youtube_id": "TxYX4r4JAKA"
+					"type": "doctype",
+					"name": "Issue",
+					"description": _("Support queries from customers."),
+					"onboard": 1,
 				},
 				{
-					"type": "help",
-					"label": _("Newsletters"),
-					"youtube_id": "muLKsCrrDRo"
+					"type": "doctype",
+					"name": "Communication",
+					"description": _("Communication log."),
+				},
+				{
+					"type": "doctype",
+					"name": "Warranty Claim",
+					"description": _("Warranty Claim against Serial No."),
+				},
+				{
+					"type": "doctype",
+					"name": "Serial No",
+					"description": _("Single unit of an Item."),
+				},
+				{
+					"type": "page",
+					"name": "support-analytics",
+					"label": _("Support Analytics"),
+					"icon": "fa fa-bar-chart"
+				},
+				{
+					"type": "report",
+					"name": "Minutes to First Response for Issues",
+					"doctype": "Issue",
+					"is_query_report": True,
+					"dependencies": ["Issue"],
+				},
+				{
+					"type": "report",
+					"name": "Support Hours",
+					"doctype": "Issue",
+					"is_query_report": True,
+					"dependencies": ["Issue"]
 				},
 			]
 		},
+		{
+			"label": _("Maintenance"),
+			"icon": "fa fa-star",
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Maintenance Schedule",
+					"description": _("Plan for maintenance visits."),
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Maintenance Visit",
+					"description": _("Visit report for maintenance call."),
+				},
+				{
+					"type": "report",
+					"name": "Maintenance Schedules",
+					"is_query_report": True,
+					"doctype": "Maintenance Schedule"
+				},
+				{
+					"type": "doctype",
+					"name": "Warranty Claim",
+					"description": _("Warranty Claim against Serial No."),
+				},
+			]
+		},
+		# {
+		# 	"label": _("Help"),
+		# 	"items": [
+		# 		{
+		# 			"type": "help",
+		# 			"label": _("Lead to Quotation"),
+		# 			"youtube_id": "TxYX4r4JAKA"
+		# 		},
+		# 		{
+		# 			"type": "help",
+		# 			"label": _("Newsletters"),
+		# 			"youtube_id": "muLKsCrrDRo"
+		# 		},
+		# 	]
+		# },
 	]
diff --git a/erpnext/config/desktop.py b/erpnext/config/desktop.py
index 762f48a..8484c64 100644
--- a/erpnext/config/desktop.py
+++ b/erpnext/config/desktop.py
@@ -5,572 +5,205 @@
 
 def get_data():
 	return [
+		# Modules
 		{
-			"module_name": "Item",
-			"_doctype": "Item",
-			"color": "#f39c12",
-			"icon": "octicon octicon-package",
-			"type": "link",
-			"link": "List/Item"
-		},
-		{
-			"module_name": "Customer",
-			"_doctype": "Customer",
-			"color": "#1abc9c",
-			"icon": "octicon octicon-tag",
-			"type": "link",
-			"link": "List/Customer"
-		},
-		{
-			"module_name": "Supplier",
-			"_doctype": "Supplier",
-			"color": "#c0392b",
-			"icon": "octicon octicon-briefcase",
-			"type": "link",
-			"link": "List/Supplier"
-		},
-		{
-			"_doctype": "Employee",
-			"module_name": "Employee",
-			"color": "#2ecc71",
-			"icon": "octicon octicon-organization",
-			"type": "link",
-			"link": "List/Employee"
-		},
-		{
-			"module_name": "Projects",
-			"color": "#8e44ad",
-			"icon": "octicon octicon-rocket",
-			"type": "module",
-		},
-		{
-			"module_name": "Issue",
-			"color": "#2c3e50",
-			"icon": "octicon octicon-issue-opened",
-			"_doctype": "Issue",
-			"type": "link",
-			"link": "List/Issue"
-		},
-		{
-			"module_name": "Lead",
-			"icon": "octicon octicon-broadcast",
-			"_doctype": "Lead",
-			"type": "link",
-			"link": "List/Lead"
-		},
-		{
-			"module_name": "Profit and Loss Statement",
-			"_doctype": "Account",
-			"color": "#3498db",
-			"icon": "octicon octicon-repo",
-			"type": "link",
-			"link": "query-report/Profit and Loss Statement"
-		},
-
-		# old
-		{
+			"module_name": "Accounting",
+			"category": "Modules",
 			"label": _("Accounting"),
-			"module_name": "Accounts",
 			"color": "#3498db",
 			"icon": "octicon octicon-repo",
 			"type": "module",
-			"hidden": 1
-		},
-		{
-			"module_name": "Stock",
-			"color": "#f39c12",
-			"icon": "octicon octicon-package",
-			"type": "module",
-			"hidden": 1
-		},
-		{
-			"module_name": "CRM",
-			"color": "#EF4DB6",
-			"icon": "octicon octicon-broadcast",
-			"type": "module",
-			"hidden": 1
+			"hidden": 1,
+			"description": "Accounts, Billing, Payments, Cost Center and Budgeting."
 		},
 		{
 			"module_name": "Selling",
+			"category": "Modules",
+			"label": _("Selling"),
 			"color": "#1abc9c",
 			"icon": "octicon octicon-tag",
 			"type": "module",
-			"hidden": 1
+			"hidden": 1,
+			"description": "All things Sales, Customer and Products."
 		},
 		{
 			"module_name": "Buying",
+			"category": "Modules",
+			"label": _("Buying"),
 			"color": "#c0392b",
 			"icon": "octicon octicon-briefcase",
 			"type": "module",
-			"hidden": 1
+			"hidden": 1,
+			"description": "Purchasing, Suppliers and Products."
+		},
+		{
+			"module_name": "Stock",
+			"category": "Modules",
+			"label": _("Stock"),
+			"color": "#f39c12",
+			"icon": "octicon octicon-package",
+			"type": "module",
+			"hidden": 1,
+			"description": "Track Stock Transactions, Reports, and Serialized Items and Batches."
+		},
+		{
+			"module_name": "Assets",
+			"category": "Modules",
+			"label": _("Assets"),
+			"color": "#4286f4",
+			"icon": "octicon octicon-database",
+			"hidden": 1,
+			"type": "module",
+			"description": "Asset Maintainance and Tools."
+		},
+		{
+			"module_name": "Projects",
+			"category": "Modules",
+			"label": _("Projects"),
+			"color": "#8e44ad",
+			"icon": "octicon octicon-rocket",
+			"type": "module",
+			"hidden": 1,
+			"description": "Updates, Timesheets and Activities."
+		},
+		{
+			"module_name": "CRM",
+			"category": "Modules",
+			"label": _("CRM"),
+			"color": "#EF4DB6",
+			"icon": "octicon octicon-broadcast",
+			"type": "module",
+			"hidden": 1,
+			"description": "Everything in your sales pipeline, from Leads to Customers, to Support."
 		},
 		{
 			"module_name": "HR",
+			"category": "Modules",
+			"label": _("Human Resources"),
 			"color": "#2ecc71",
 			"icon": "octicon octicon-organization",
-			"label": _("Human Resources"),
 			"type": "module",
-			"hidden": 1
+			"hidden": 1,
+			"description": "Employee Lifecycle, Payroll, Shifts and Leaves."
 		},
 		{
+			"module_name": "Quality Management",
+			"category": "Modules",
+			"label": _("Quality"),
+			"color": "#1abc9c",
+			"icon": "fa fa-check-square-o",
+			"type": "module",
+			"hidden": 1,
+			"description": "Volunteers, Memberships, Grants and Chapters."
+		},
+
+
+		# Category: "Domains"
+		{
 			"module_name": "Manufacturing",
+			"category": "Domains",
+			"label": _("Manufacturing"),
 			"color": "#7f8c8d",
 			"icon": "octicon octicon-tools",
 			"type": "module",
-			"hidden": 1
+			"hidden": 1,
+			"description": "Streamline your production with BOMS, Work Orders and Timesheets."
 		},
 		{
-			"module_name": "POS",
-			"color": "#589494",
+			"module_name": "Retail",
+			"category": "Domains",
+			"label": _("Retail"),
+			"color": "#7f8c8d",
 			"icon": "octicon octicon-credit-card",
-			"type": "page",
-			"link": "pos",
-			"label": _("POS")
-		},
-		{
-			"module_name": "Leaderboard",
-			"color": "#589494",
-			"icon": "octicon octicon-graph",
-			"type": "page",
-			"link": "leaderboard",
-			"label": _("Leaderboard")
-		},
-		{
-			"module_name": "Support",
-			"color": "#2c3e50",
-			"icon": "octicon octicon-issue-opened",
 			"type": "module",
-			"hidden": 1
+			"hidden": 1,
+			"description": "Point of Sale, Cashier Closing and Loyalty Programs."
 		},
 		{
-			"module_name": "Help",
+			"module_name": "Education",
+			"category": "Domains",
+			"label": _("Education"),
+			"color": "#428B46",
+			"icon": "octicon octicon-mortar-board",
+			"type": "module",
+			"hidden": 1,
+			"description": "Manage Student Admissions, Fees, Subjects and Score Reports."
+		},
+
+		{
+			"module_name": "Healthcare",
+			"category": "Domains",
+			"label": _("Healthcare"),
+			"color": "#FF888B",
+			"icon": "fa fa-heartbeat",
+			"type": "module",
+			"hidden": 1,
+			"description": "Patients appointments, procedures and tests, with diagnosis reports and drug prescriptions."
+		},
+		{
+			"module_name": "Agriculture",
+			"category": "Domains",
+			"label": _("Agriculture"),
+			"color": "#8BC34A",
+			"icon": "octicon octicon-globe",
+			"type": "module",
+			"hidden": 1,
+			"description": "Crop Cycles, Land Areas and Soil and Plant Analysis."
+		},
+		{
+			"module_name": "Hotels",
+			"category": "Domains",
+			"label": _("Hotels"),
+			"color": "#EA81E8",
+			"icon": "fa fa-bed",
+			"type": "module",
+			"hidden": 1,
+			"description": "Manage Hotel Rooms, Pricing, Reservation and Amenities."
+		},
+
+		{
+			"module_name": "Non Profit",
+			"category": "Domains",
+			"label": _("Non Profit"),
+			"color": "#DE2B37",
+			"icon": "octicon octicon-heart",
+			"type": "module",
+			"hidden": 1,
+			"description": "Make benefiting others easier with Volunteers, Memberships, Grants and Chapters."
+		},
+		{
+			"module_name": "Restaurant",
+			"category": "Domains",
+			"label": _("Restaurant"),
+			"color": "#EA81E8",
+			"icon": "fa fa-cutlery",
+			"_doctype": "Restaurant",
+			"type": "module",
+			"link": "List/Restaurant",
+			"hidden": 1,
+			"description": "Menu, Orders and Table Reservations."
+		},
+
+
+		{
+			"module_name": "Learn",
+			"category": "Administration",
+			"label": _("Learn"),
 			"color": "#FF888B",
 			"icon": "octicon octicon-device-camera-video",
 			"type": "module",
 			"is_help": True,
-			"label": _("Help"),
-			"hidden": 1
+			"description": "Explore Help Articles and Videos."
 		},
 		{
-			"module_name": "Maintenance",
-			"color": "#FF888B",
-			"icon": "octicon octicon-tools",
-			"type": "module",
-			"label": _("Maintenance"),
-			"hidden": 1
+			"module_name": 'Marketplace',
+			"category": "Places",
+			"label": _('Marketplace'),
+			"icon": "octicon octicon-star",
+			"type": 'link',
+			"link": '#marketplace/home',
+			"color": '#FF4136',
+			'standard': 1,
+			"description": "Publish items to other ERPNext users and start a conversation."
 		},
-		{
-			"module_name": "Student",
-			"color": "#c0392b",
-			"icon": "octicon octicon-person",
-			"label": _("Student"),
-			"link": "List/Student",
-			"_doctype": "Student",
-			"type": "list",
-			"hidden": 1
-		},
-		{
-			"module_name": "Student Group",
-			"color": "#d59919",
-			"icon": "octicon octicon-organization",
-			"label": _("Student Group"),
-			"link": "List/Student Group",
-			"_doctype": "Student Group",
-			"type": "list",
-			"hidden": 1
-		},
-		{
-			"module_name": "Course Schedule",
-			"color": "#fd784f",
-			"icon": "octicon octicon-calendar",
-			"label": _("Course Schedule"),
-			"link": "List/Course Schedule/Calendar",
-			"_doctype": "Course Schedule",
-			"type": "list",
-			"hidden": 1
-		},
-		{
-			"module_name": "Student Attendance Tool",
-			"color": "#C0392B",
-			"icon": "octicon octicon-checklist",
-			"label": _("Student Attendance Tool"),
-			"link": "List/Student Attendance Tool",
-			"_doctype": "Student Attendance Tool",
-			"type": "list",
-			"hidden": 1
-		},
-		{
-			"module_name": "Course",
-			"color": "#8e44ad",
-			"icon": "octicon octicon-book",
-			"label": _("Course"),
-			"link": "List/Course",
-			"_doctype": "Course",
-			"type": "list",
-			"hidden": 1
-		},
-		{
-			"module_name": "Program",
-			"color": "#9b59b6",
-			"icon": "octicon octicon-repo",
-			"label": _("Program"),
-			"link": "List/Program",
-			"_doctype": "Program",
-			"type": "list",
-			"hidden": 1
-		},
-		{
-			"module_name": "Student Applicant",
-			"color": "#4d927f",
-			"icon": "octicon octicon-clippy",
-			"label": _("Student Applicant"),
-			"link": "List/Student Applicant",
-			"_doctype": "Student Applicant",
-			"type": "list",
-			"hidden": 1
-		},
-		{
-			"module_name": "Fees",
-			"color": "#83C21E",
-			"icon": "fa fa-money",
-			"label": _("Fees"),
-			"link": "List/Fees",
-			"_doctype": "Fees",
-			"type": "list",
-			"hidden": 1
-		},
-		{
-			"module_name": "Instructor",
-			"color": "#a99e4c",
-			"icon": "octicon octicon-broadcast",
-			"label": _("Instructor"),
-			"link": "List/Instructor",
-			"_doctype": "Instructor",
-			"type": "list",
-			"hidden": 1
-		},
-		{
-			"module_name": "Room",
-			"color": "#f22683",
-			"icon": "fa fa-map-marker",
-			"label": _("Room"),
-			"link": "List/Room",
-			"_doctype": "Room",
-			"type": "list",
-			"hidden": 1
-		},
-		{
-			"module_name": "Education",
-			"color": "#428B46",
-			"icon": "octicon octicon-mortar-board",
-			"type": "module",
-			"label": _("Education"),
-			"hidden": 1
-		},
-		{
-			"module_name": "Healthcare",
-			"color": "#FF888B",
-			"icon": "fa fa-heartbeat",
-			"type": "module",
-			"label": _("Healthcare"),
-			"hidden": 1
-		},
-        {
-			"module_name": "Patient",
-			"color": "#6BE273",
-			"icon": "fa fa-user",
-			"doctype": "Patient",
-			"type": "link",
-			"link": "List/Patient",
-			"label": _("Patient"),
-			"hidden": 1
-        },
-        {
-			"module_name": "Healthcare Practitioner",
-			"color": "#2ecc71",
-			"icon": "fa fa-user-md",
-			"doctype": "Healthcare Practitioner",
-			"type": "link",
-			"link": "List/Healthcare Practitioner",
-			"label": _("Healthcare Practitioner"),
-			"hidden": 1
-        },
-        {
-			"module_name": "Patient Appointment",
-			"color": "#934F92",
-			"icon": "fa fa-calendar-plus-o",
-			"doctype": "Patient Appointment",
-			"type": "link",
-			"link": "List/Patient Appointment",
-			"label": _("Patient Appointment"),
-			"hidden": 1
-        },
-        {
-			"module_name": "Patient Encounter",
-			"color": "#2ecc71",
-			"icon": "fa fa-stethoscope",
-			"doctype": "Patient Encounter",
-			"type": "link",
-			"link": "List/Patient Encounter",
-			"label": _("Patient Encounter"),
-			"hidden": 1
-        },
-        {
-			"module_name": "Lab Test",
-			"color": "#7578f6",
-			"icon": "octicon octicon-beaker",
-			"doctype": "Lab Test",
-			"type": "list",
-			"link": "List/Lab Test",
-			"label": _("Lab Test"),
-			"hidden": 1
-        },
-        {
-			"module_name": "Vital Signs",
-			"color": "#2ecc71",
-			"icon": "fa fa-thermometer-empty",
-			"doctype": "Vital Signs",
-			"type": "list",
-			"link": "List/Vital Signs",
-			"label": _("Vital Signs"),
-			"hidden": 1
-        },
-        {
-			"module_name": "Clinical Procedure",
-			"color": "#FF888B",
-			"icon": "fa fa-medkit",
-			"doctype": "Clinical Procedure",
-			"type": "list",
-			"link": "List/Clinical Procedure",
-			"label": _("Clinical Procedure"),
-			"hidden": 1
-        },
-        {
-			"module_name": "Inpatient Record",
-			"color": "#7578f6",
-			"icon": "fa fa-list-alt",
-			"doctype": "Inpatient Record",
-			"type": "list",
-			"link": "List/Inpatient Record",
-			"label": _("Inpatient Record"),
-			"hidden": 1
-        },
-		{
-			"module_name": "Hub",
-			"color": "#009248",
-			"icon": "/assets/erpnext/images/hub_logo.svg",
-			"type": "page",
-			"link": "Hub/Item",
-			"label": _("Hub")
-		},
-		{
-			"module_name": "Data Import",
-			"color": "#FFF168",
-			"reverse": 1,
-			"doctype": "Data Import",
-			"icon": "octicon octicon-cloud-upload",
-			"label": _("Data Import"),
-			"link": "List/Data Import",
-			"type": "list"
-		},
-		{
-			"module_name": "Restaurant",
-			"color": "#EA81E8",
-			"icon": "🍔",
-			"_doctype": "Restaurant",
-			"type": "module",
-			"link": "List/Restaurant",
-			"label": _("Restaurant"),
-			"hidden": 1
-		},
-		{
-			"module_name": "Hotels",
-			"color": "#EA81E8",
-			"icon": "fa fa-bed",
-			"type": "module",
-			"label": _("Hotels"),
-			"hidden": 1
-		},
-		{
-			"module_name": "Agriculture",
-			"color": "#8BC34A",
-			"icon": "octicon octicon-globe",
-			"type": "module",
-			"label": _("Agriculture"),
-			"hidden": 1
-		},
-		{
-			"module_name": "Crop",
-			"_doctype": "Crop",
-			"label": _("Crop"),
-			"color": "#8BC34A",
-			"icon": "fa fa-tree",
-			"type": "list",
-			"link": "List/Crop",
-			"hidden": 1
-		},
-		{
-			"module_name": "Crop Cycle",
-			"_doctype": "Crop Cycle",
-			"label": _("Crop Cycle"),
-			"color": "#8BC34A",
-			"icon": "fa fa-circle-o-notch",
-			"type": "list",
-			"link": "List/Crop Cycle",
-			"hidden": 1
-		},
-		{
-			"module_name": "Fertilizer",
-			"_doctype": "Fertilizer",
-			"label": _("Fertilizer"),
-			"color": "#8BC34A",
-			"icon": "fa fa-leaf",
-			"type": "list",
-			"link": "List/Fertilizer",
-			"hidden": 1
-		},
-		{
-			"module_name": "Location",
-			"_doctype": "Location",
-			"label": _("Location"),
-			"color": "#8BC34A",
-			"icon": "fa fa-map",
-			"type": "list",
-			"link": "List/Location",
-			"hidden": 1
-		},
-		{
-			"module_name": "Disease",
-			"_doctype": "Disease",
-			"label": _("Disease"),
-			"color": "#8BC34A",
-			"icon": "octicon octicon-bug",
-			"type": "list",
-			"link": "List/Disease",
-			"hidden": 1
-		},
-		{
-			"module_name": "Plant Analysis",
-			"_doctype": "Plant Analysis",
-			"label": _("Plant Analysis"),
-			"color": "#8BC34A",
-			"icon": "fa fa-pagelines",
-			"type": "list",
-			"link": "List/Plant Analysis",
-			"hidden": 1
-		},
-		{
-			"module_name": "Soil Analysis",
-			"_doctype": "Soil Analysis",
-			"label": _("Soil Analysis"),
-			"color": "#8BC34A",
-			"icon": "fa fa-flask",
-			"type": "list",
-			"link": "List/Soil Analysis",
-			"hidden": 1
-		},
-		{
-			"module_name": "Soil Texture",
-			"_doctype": "Soil Texture",
-			"label": _("Soil Texture"),
-			"color": "#8BC34A",
-			"icon": "octicon octicon-beaker",
-			"type": "list",
-			"link": "List/Soil Texture",
-			"hidden": 1
-		},
-		{
-			"module_name": "Water Analysis",
-			"_doctype": "Water Analysis",
-			"label": _("Water Analysis"),
-			"color": "#8BC34A",
-			"icon": "fa fa-tint",
-			"type": "list",
-			"link": "List/Water Analysis",
-			"hidden": 1
-		},
-		{
-			"module_name": "Weather",
-			"_doctype": "Weather",
-			"label": _("Weather"),
-			"color": "#8BC34A",
-			"icon": "fa fa-sun-o",
-			"type": "list",
-			"link": "List/Weather",
-			"hidden": 1
-		},
-		{
-			"module_name": "Assets",
-			"color": "#4286f4",
-			"icon": "octicon octicon-database",
-			"hidden": 1,
-			"label": _("Assets"),
-			"type": "module"
-		},
-		{
-			"module_name": "Grant Application",
-			"color": "#E9AB17",
-			"icon": "fa fa-gift",
-			"_doctype": "Grant Application",
-			"type": "list",
-			"link": "List/Grant Application",
-			"label": _("Grant Application"),
-			"hidden": 1
-
-		},
-		{
-			"module_name": "Donor",
-			"color": "#7F5A58",
-			"icon": "fa fa-tint",
-			"_doctype": "Donor",
-			"type": "list",
-			"link": "List/Donor",
-			"label": _("Donor"),
-			"hidden": 1
-		},
-		{
-			"module_name": "Volunteer",
-			"color": "#7E587E",
-			"icon": "fa fa-angellist",
-			"_doctype": "Volunteer",
-			"type": "list",
-			"link": "List/Volunteer",
-			"label": _("Volunteer"),
-			"hidden": 1
-		},
-		{
-			"module_name": "Member",
-			"color": "#79BAEC",
-			"icon": "fa fa-users",
-			"_doctype": "Member",
-			"type": "list",
-			"link": "List/Member",
-			"label": _("Member"),
-			"hidden": 1
-		},
-		{
-			"module_name": "Chapter",
-			"color": "#3B9C9C",
-			"icon": "fa fa-handshake-o",
-			"_doctype": "Chapter",
-			"type": "list",
-			"link": "List/Chapter",
-			"label": _("Chapter"),
-			"hidden": 1
-		},
-		{
-			"module_name": "Non Profit",
-			"color": "#DE2B37",
-			"icon": "octicon octicon-heart",
-			"type": "module",
-			"label": _("Non Profit"),
-			"hidden": 1
-		},
-		{
-			"module_name": "Quality Management",
-			"color": "#1abc9c",
-			"icon": "fa fa-check-square-o",
-			"type": "module",
-			"label": _("Quality")
-		}
-	]
\ No newline at end of file
+	]
diff --git a/erpnext/config/hr.py b/erpnext/config/hr.py
index dca3044..93a9f41 100644
--- a/erpnext/config/hr.py
+++ b/erpnext/config/hr.py
@@ -9,65 +9,31 @@
 				{
 					"type": "doctype",
 					"name": "Employee",
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Employee Attendance Tool",
-					"hide_count": True
+					"hide_count": True,
+					"onboard": 1,
+					"dependencies": ["Employee"]
 				},
 				{
 					"type": "doctype",
 					"name": "Attendance",
+					"onboard": 1,
+					"dependencies": ["Employee"]
 				},
 				{
 					"type": "doctype",
 					"name": "Attendance Request",
+					"dependencies": ["Employee"]
 				},
 				{
 					"type": "doctype",
 					"name": "Upload Attendance",
-					"hide_count": True
-				}
-			]
-		},
-		{
-			"label": _("Leaves and Holiday"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Leave Application",
-				},
-				{
-					"type": "doctype",
-					"name": "Leave Allocation",
-				},
-				{
-					"type": "doctype",
-					"name": "Compensatory Leave Request",
-				},
-				{
-					"type": "doctype",
-					"name": "Leave Encashment",
-				},
-				{
-					"type": "doctype",
-					"name": "Leave Period",
-				},
-				{
-					"type": "doctype",
-					"name": "Leave Policy",
-				},
-				{
-					"type": "doctype",
-					"name":"Leave Type",
-				},
-				{
-					"type": "doctype",
-					"name": "Holiday List",
-				},
-				{
-					"type": "doctype",
-					"name": "Leave Block List",
+					"hide_count": True,
+					"dependencies": ["Employee"]
 				},
 			]
 		},
@@ -76,23 +42,34 @@
 			"items": [
 				{
 					"type": "doctype",
+					"name": "Salary Structure",
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
 					"name": "Salary Structure Assignment",
+					"onboard": 1,
+					"dependencies": ["Salary Structure", "Employee"],
 				},
 				{
 					"type": "doctype",
 					"name": "Salary Slip",
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
-					"name": "Payroll Entry"
+					"name": "Payroll Entry",
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Employee Benefit Application",
+					"dependencies": ["Employee"]
 				},
 				{
 					"type": "doctype",
 					"name": "Employee Benefit Claim",
+					"dependencies": ["Employee"]
 				},
 				{
 					"type": "doctype",
@@ -101,24 +78,23 @@
 				{
 					"type": "doctype",
 					"name": "Employee Tax Exemption Declaration",
+					"dependencies": ["Employee"]
 				},
 				{
 					"type": "doctype",
 					"name": "Employee Tax Exemption Proof Submission",
+					"dependencies": ["Employee"]
 				},
 				{
 					"type": "doctype",
 					"name": "Employee Incentive",
+					"dependencies": ["Employee"]
 				},
 				{
 					"type": "doctype",
 					"name": "Retention Bonus",
+					"dependencies": ["Employee"]
 				},
-			]
-		},
-		{
-			"label": _("Payroll Setup"),
-			"items": [
 				{
 					"type": "doctype",
 					"name": "Payroll Period",
@@ -127,172 +103,6 @@
 					"type": "doctype",
 					"name": "Salary Component",
 				},
-				{
-					"type": "doctype",
-					"name": "Salary Structure",
-				},
-				{
-					"type": "doctype",
-					"name": "Employee Tax Exemption Category",
-				},
-				{
-					"type": "doctype",
-					"name": "Employee Tax Exemption Sub Category"
-				}
-			]
-		},
-		{
-			"label": _("Travel and Expense Claim"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Employee Advance",
-				},
-				{
-					"type": "doctype",
-					"name": "Expense Claim",
-				},
-				{
-					"type": "doctype",
-					"name": "Expense Claim Type",
-				},
-				{
-					"type": "doctype",
-					"name": "Travel Request",
-				},
-			]
-		},
-		{
-			"label": _("Appraisals"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Appraisal",
-				},
-				{
-					"type": "doctype",
-					"name": "Appraisal Template",
-				},
-				{
-					"type": "page",
-					"name": "team-updates",
-					"label": _("Team Updates")
-				},
-			]
-		},
-		{
-			"label": _("Loan Management"),
-			"icon": "icon-list",
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Loan Type",
-				},
-				{
-					"type": "doctype",
-					"name": "Loan Application",
-				},
-				{
-					"type": "doctype",
-					"name": "Loan"
-				},
-			]
-		},
-		{
-			"label": _("Employee Lifecycle"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Employee Transfer",
-				},
-				{
-					"type": "doctype",
-					"name": "Employee Promotion",
-				},
-				{
-					"type": "doctype",
-					"name": "Employee Separation",
-				},
-				{
-					"type": "doctype",
-					"name": "Employee Onboarding"
-				},
-				{
-					"type": "doctype",
-					"name": "Employee Separation Template",
-				},
-				{
-					"type": "doctype",
-					"name": "Employee Onboarding Template"
-				}
-			]
-		},
-		{
-			"label": _("Recruitment"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Job Applicant",
-				},
-				{
-					"type": "doctype",
-					"name": "Job Opening",
-				},
-				{
-					"type": "doctype",
-					"name": "Job Offer",
-				},
-			]
-		},
-		{
-			"label": _("Training"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Training Program"
-				},
-				{
-					"type": "doctype",
-					"name": "Training Event"
-				},
-				{
-					"type": "doctype",
-					"name": "Training Result"
-				},
-				{
-					"type": "doctype",
-					"name": "Training Feedback"
-				},
-			]
-		},
-		{
-			"label": _("Shift Management"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Shift Type",
-				},
-				{
-					"type": "doctype",
-					"name": "Shift Request",
-				},
-				{
-					"type": "doctype",
-					"name": "Shift Assignment",
-				}
-			]
-		},
-		{
-			"label": _("Fleet Management"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Vehicle"
-				},
-				{
-					"type": "doctype",
-					"name": "Vehicle Log"
-				},
 			]
 		},
 		{
@@ -337,6 +147,157 @@
 				}
 			]
 		},
+
+		{
+			"label": _("Leaves"),
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Leave Application",
+					"dependencies": ["Employee"]
+				},
+				{
+					"type": "doctype",
+					"name": "Leave Allocation",
+					"dependencies": ["Employee"]
+				},
+				{
+					"type": "doctype",
+					"name": "Compensatory Leave Request",
+					"dependencies": ["Employee"]
+				},
+				{
+					"type": "doctype",
+					"name": "Leave Encashment",
+					"dependencies": ["Employee"]
+				},
+				{
+					"type": "doctype",
+					"name": "Leave Period",
+					"dependencies": ["Employee"]
+				},
+				{
+					"type": "doctype",
+					"name":"Leave Type",
+				},
+				{
+					"type": "doctype",
+					"name": "Leave Policy",
+					"dependencies": ["Leave Type"]
+				},
+				{
+					"type": "doctype",
+					"name": "Holiday List",
+				},
+				{
+					"type": "doctype",
+					"name": "Leave Block List",
+				},
+			]
+		},
+		{
+			"label": _("Recruitment and Training"),
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Job Applicant",
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Job Opening",
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Job Offer",
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Training Program"
+				},
+				{
+					"type": "doctype",
+					"name": "Training Event"
+				},
+				{
+					"type": "doctype",
+					"name": "Training Result"
+				},
+				{
+					"type": "doctype",
+					"name": "Training Feedback"
+				},
+			]
+		},
+		{
+			"label": _("Employee Lifecycle"),
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Employee Transfer",
+					"dependencies": ["Employee"],
+				},
+				{
+					"type": "doctype",
+					"name": "Employee Promotion",
+					"dependencies": ["Employee"],
+				},
+				{
+					"type": "doctype",
+					"name": "Employee Separation",
+					"dependencies": ["Employee"],
+				},
+				{
+					"type": "doctype",
+					"name": "Employee Onboarding",
+					"dependencies": ["Job Applicant"],
+				},
+				{
+					"type": "doctype",
+					"name": "Employee Separation Template",
+					"dependencies": ["Employee"]
+				},
+				{
+					"type": "doctype",
+					"name": "Employee Onboarding Template",
+					"dependencies": ["Employee"]
+				}
+			]
+		},
+		{
+			"label": _("Appraisals, Expense Claims and Loans"),
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Appraisal",
+				},
+				{
+					"type": "doctype",
+					"name": "Appraisal Template",
+				},
+				{
+					"type": "page",
+					"name": "team-updates",
+					"label": _("Team Updates")
+				},
+				{
+					"type": "doctype",
+					"name": "Employee Advance",
+					"dependencies": ["Employee"]
+				},
+				{
+					"type": "doctype",
+					"name": "Loan Type",
+				},
+				{
+					"type": "doctype",
+					"name": "Loan Application",
+					"dependencies": ["Employee"]
+				},
+			]
+		},
 		{
 			"label": _("Reports"),
 			"icon": "fa fa-list",
@@ -382,33 +343,6 @@
 					"name": "Vehicle Expenses",
 					"doctype": "Vehicle"
 				},
-
-			]
-		},
-		{
-			"label": _("Help"),
-			"icon": "fa fa-facetime-video",
-			"items": [
-				{
-					"type": "help",
-					"label": _("Setting up Employees"),
-					"youtube_id": "USfIUdZlUhw"
-				},
-				{
-					"type": "help",
-					"label": _("Leave Management"),
-					"youtube_id": "fc0p_AXebc8"
-				},
-				{
-					"type": "help",
-					"label": _("Expense Claims"),
-					"youtube_id": "5SZHJF--ZFY"
-				}
-			]
-		},
-		{
-			"label": _("Analytics"),
-			"items": [
 				{
 					"type": "report",
 					"is_query_report": True,
@@ -416,5 +350,51 @@
 					"doctype": "Employee"
 				},
 			]
-		}
+		},
+		{
+			"label": _("Shifts and Fleet Management"),
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Shift Type",
+				},
+				{
+					"type": "doctype",
+					"name": "Shift Request",
+				},
+				{
+					"type": "doctype",
+					"name": "Shift Assignment",
+				},
+				{
+					"type": "doctype",
+					"name": "Vehicle"
+				},
+				{
+					"type": "doctype",
+					"name": "Vehicle Log"
+				},
+			]
+		},
+		# {
+		# 	"label": _("Help"),
+		# 	"icon": "fa fa-facetime-video",
+		# 	"items": [
+		# 		{
+		# 			"type": "help",
+		# 			"label": _("Setting up Employees"),
+		# 			"youtube_id": "USfIUdZlUhw"
+		# 		},
+		# 		{
+		# 			"type": "help",
+		# 			"label": _("Leave Management"),
+		# 			"youtube_id": "fc0p_AXebc8"
+		# 		},
+		# 		{
+		# 			"type": "help",
+		# 			"label": _("Expense Claims"),
+		# 			"youtube_id": "5SZHJF--ZFY"
+		# 		}
+		# 	]
+		# },
 	]
diff --git a/erpnext/config/maintenance.py b/erpnext/config/maintenance.py
deleted file mode 100644
index 97be47c..0000000
--- a/erpnext/config/maintenance.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from __future__ import unicode_literals
-from frappe import _
-
-def get_data():
-	return [
-		{
-			"label": _("Maintenance"),
-			"icon": "fa fa-star",
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Maintenance Schedule",
-					"description": _("Plan for maintenance visits."),
-				},
-				{
-					"type": "doctype",
-					"name": "Maintenance Visit",
-					"description": _("Visit report for maintenance call."),
-				},
-				{
-					"type": "report",
-					"name": "Maintenance Schedules",
-					"is_query_report": True,
-					"doctype": "Maintenance Schedule"
-				},
-				{
-					"type": "doctype",
-					"name": "Warranty Claim",
-					"description": _("Warranty Claim against Serial No."),
-				},
-			]
-		}
-	]
\ No newline at end of file
diff --git a/erpnext/config/manufacturing.py b/erpnext/config/manufacturing.py
index 621c2dc..e1b6980 100644
--- a/erpnext/config/manufacturing.py
+++ b/erpnext/config/manufacturing.py
@@ -11,22 +11,33 @@
 					"type": "doctype",
 					"name": "Work Order",
 					"description": _("Orders released for production."),
+					"onboard": 1,
+					"dependencies": ["Item", "BOM"]
 				},
 				{
 					"type": "doctype",
 					"name": "Production Plan",
 					"description": _("Generate Material Requests (MRP) and Work Orders."),
+					"onboard": 1,
+					"dependencies": ["Item", "BOM"]
 				},
 				{
 					"type": "doctype",
 					"name": "Stock Entry",
+					"onboard": 1,
+					"dependencies": ["Item"]
 				},
 				{
 					"type": "doctype",
 					"name": "Timesheet",
 					"description": _("Time Sheet for manufacturing."),
+					"onboard": 1,
+					"dependencies": ["Activity Type"]
 				},
-
+				{
+					"type": "doctype",
+					"name": "Job Card"
+				}
 			]
 		},
 		{
@@ -34,23 +45,29 @@
 			"items": [
 				{
 					"type": "doctype",
-					"name": "BOM",
-					"description": _("Bill of Materials (BOM)"),
-					"label": _("Bill of Materials")
+					"name": "Item",
+					"description": _("All Products or Services."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "BOM",
+					"description": _("Bill of Materials (BOM)"),
+					"label": _("Bill of Materials"),
+					"onboard": 1,
+					"dependencies": ["Item"]
+				},
+				{
+					"type": "doctype",
+					"name": "BOM Browser",
 					"icon": "fa fa-sitemap",
 					"label": _("BOM Browser"),
 					"description": _("Tree of Bill of Materials"),
 					"link": "Tree/BOM",
+					"onboard": 1,
+					"dependencies": ["Item"]
 				},
-				{
-					"type": "doctype",
-					"name": "Item",
-					"description": _("All Products or Services."),
-				},
+
 				{
 					"type": "doctype",
 					"name": "Workstation",
@@ -61,6 +78,10 @@
 					"name": "Operation",
 					"description": _("Details of the operations carried out."),
 				},
+				{
+					"type": "doctype",
+					"name": "Routing"
+				}
 
 			]
 		},
diff --git a/erpnext/config/projects.py b/erpnext/config/projects.py
index 2f8b92d..ffd5ed4 100644
--- a/erpnext/config/projects.py
+++ b/erpnext/config/projects.py
@@ -11,29 +11,33 @@
 					"type": "doctype",
 					"name": "Project",
 					"description": _("Project master."),
-				},
-				{
-					"type": "doctype",
-					"name": "Project Update",
-					"description": _("Project Update."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Task",
 					"route": "List/Task",
 					"description": _("Project activity / task."),
-				},
-				{
-					"type": "doctype",
-					"name": "Project Type",
-					"description": _("Define Project type."),
+					"onboard": 1,
 				},
 				{
 					"type": "report",
 					"route": "List/Task/Gantt",
 					"doctype": "Task",
 					"name": "Gantt Chart",
-					"description": _("Gantt chart of all tasks.")
+					"description": _("Gantt chart of all tasks."),
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Project Update",
+					"description": _("Project Update."),
+					"dependencies": ["Project"],
+				},
+				{
+					"type": "doctype",
+					"name": "Project Type",
+					"description": _("Define Project type."),
 				},
 			]
 		},
@@ -44,16 +48,19 @@
 					"type": "doctype",
 					"name": "Timesheet",
 					"description": _("Timesheet for tasks."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Activity Type",
 					"description": _("Types of activities for Time Logs"),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Activity Cost",
 					"description": _("Cost of various activities"),
+					"dependencies": ["Activity Type"],
 				},
 			]
 		},
@@ -65,13 +72,16 @@
 					"type": "report",
 					"is_query_report": True,
 					"name": "Daily Timesheet Summary",
-					"doctype": "Timesheet"
+					"doctype": "Timesheet",
+					"onboard": 1,
+					"dependencies": ["Timesheet"],
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Project wise Stock Tracking",
-					"doctype": "Project"
+					"doctype": "Project",
+					"dependencies": ["Project"],
 				},
 			]
 		},
diff --git a/erpnext/config/quality_management.py b/erpnext/config/quality_management.py
index a17b9f5..5844846 100644
--- a/erpnext/config/quality_management.py
+++ b/erpnext/config/quality_management.py
@@ -10,11 +10,13 @@
 					"type": "doctype",
 					"name": "Quality Goal",
 					"description":_("Quality Goal."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Quality Procedure",
 					"description":_("Quality Procedure."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
@@ -33,6 +35,7 @@
 					"type": "doctype",
 					"name": "Quality Review",
 					"description":_("Quality Review"),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
@@ -58,6 +61,7 @@
 					"type": "doctype",
 					"name": "Customer Feedback",
 					"description":_("Customer Feedback"),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
diff --git a/erpnext/config/retail.py b/erpnext/config/retail.py
new file mode 100644
index 0000000..738be7e
--- /dev/null
+++ b/erpnext/config/retail.py
@@ -0,0 +1,48 @@
+from __future__ import unicode_literals
+from frappe import _
+
+def get_data():
+	return [
+		{
+            "label": _("Retail Operations"),
+            "items": [
+                {
+                    "type": "doctype",
+                    "name": "POS Profile",
+                    "label": _("Point-of-Sale Profile"),
+                    "description": _("Setup default values for POS Invoices"),
+					"onboard": 1,
+                },
+                {
+                    "type": "page",
+                    "name": "pos",
+                    "label": _("POS"),
+                    "description": _("Point of Sale"),
+					"onboard": 1,
+					"dependencies": ["POS Profile"]
+                },
+                {
+                    "type": "doctype",
+                    "name": "Cashier Closing",
+                    "description": _("Cashier Closing"),
+                },
+                {
+                    "type": "doctype",
+                    "name": "POS Settings",
+                    "description": _("Setup mode of POS (Online / Offline)")
+                },
+                {
+                    "type": "doctype",
+                    "name": "Loyalty Program",
+                    "label": _("Loyalty Program"),
+                    "description": _("To make Customer based incentive schemes.")
+                },
+                {
+                    "type": "doctype",
+                    "name": "Loyalty Point Entry",
+                    "label": _("Loyalty Point Entry"),
+                    "description": _("To view logs of Loyalty Points assigned to a Customer.")
+                }
+            ]
+        }
+	]
\ No newline at end of file
diff --git a/erpnext/config/selling.py b/erpnext/config/selling.py
index 94f3102..9e190a7 100644
--- a/erpnext/config/selling.py
+++ b/erpnext/config/selling.py
@@ -9,23 +9,135 @@
 			"items": [
 				{
 					"type": "doctype",
+					"name": "Customer",
+					"description": _("Customer database."),
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
 					"name": "Quotation",
 					"description": _("Quotes to Leads or Customers."),
+					"onboard": 1,
+					"dependencies": ["Item", "Customer"],
 				},
 				{
 					"type": "doctype",
 					"name": "Sales Order",
 					"description": _("Confirmed orders from Customers."),
+					"onboard": 1,
+					"dependencies": ["Item", "Customer"],
+				},
+				{
+					"type": "doctype",
+					"name": "Sales Partner",
+					"description": _("Manage Sales Partners."),
+					"dependencies": ["Item"],
+				},
+				{
+					"type": "doctype",
+					"label": _("Sales Person"),
+					"name": "Sales Person",
+					"icon": "fa fa-sitemap",
+					"link": "Tree/Sales Person",
+					"description": _("Manage Sales Person Tree."),
+					"dependencies": ["Item", "Customer"],
+				},
+				{
+					"type": "report",
+					"is_query_report": True,
+					"name": "Territory Target Variance (Item Group-Wise)",
+					"route": "query-report/Territory Target Variance Item Group-Wise",
+					"doctype": "Territory",
+				},
+				{
+					"type": "report",
+					"is_query_report": True,
+					"name": "Sales Person Target Variance (Item Group-Wise)",
+					"route": "query-report/Sales Person Target Variance Item Group-Wise",
+					"doctype": "Sales Person",
+					"dependencies": ["Sales Person"],
 				},
 			]
 		},
 		{
-			"label": _("Customers"),
+			"label": _("Items and Pricing"),
 			"items": [
 				{
 					"type": "doctype",
-					"name": "Customer",
-					"description": _("Customer database."),
+					"name": "Item",
+					"description": _("All Products or Services."),
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Item Price",
+					"description": _("Multiple Item prices."),
+					"route": "Report/Item Price",
+					"dependencies": ["Item", "Price List"],
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Price List",
+					"description": _("Price List master."),
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Item Group",
+					"icon": "fa fa-sitemap",
+					"label": _("Item Group"),
+					"link": "Tree/Item Group",
+					"description": _("Tree of Item Groups."),
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Product Bundle",
+					"description": _("Bundle items at time of sale."),
+					"dependencies": ["Item"],
+				},
+				{
+					"type": "doctype",
+					"name": "Pricing Rule",
+					"description": _("Rules for applying pricing and discount."),
+					"dependencies": ["Item"],
+				},
+				{
+					"type": "doctype",
+					"name": "Shipping Rule",
+					"description": _("Rules for adding shipping costs."),
+				},
+
+			]
+		},
+		{
+			"label": _("Setup"),
+			"icon": "fa fa-cog",
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Selling Settings",
+					"description": _("Default settings for selling transactions."),
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name":"Terms and Conditions",
+					"label": _("Terms and Conditions Template"),
+					"description": _("Template of terms or contract."),
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Sales Taxes and Charges Template",
+					"description": _("Tax template for selling transactions."),
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Lead Source",
+					"description": _("Track Leads by Lead Source.")
 				},
 				{
 					"type": "doctype",
@@ -45,57 +157,6 @@
 					"name": "Address",
 					"description": _("All Addresses."),
 				},
-
-			]
-		},
-		{
-			"label": _("Items and Pricing"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Item",
-					"description": _("All Products or Services."),
-				},
-				{
-					"type": "doctype",
-					"name": "Product Bundle",
-					"description": _("Bundle items at time of sale."),
-				},
-				{
-					"type": "doctype",
-					"name": "Price List",
-					"description": _("Price List master.")
-				},
-				{
-					"type": "doctype",
-					"name": "Item Group",
-					"icon": "fa fa-sitemap",
-					"label": _("Item Group"),
-					"link": "Tree/Item Group",
-					"description": _("Tree of Item Groups."),
-				},
-				{
-					"type": "doctype",
-					"name": "Item Price",
-					"description": _("Multiple Item prices."),
-					"route": "Report/Item Price"
-				},
-				{
-					"type": "doctype",
-					"name": "Shipping Rule",
-					"description": _("Rules for adding shipping costs.")
-				},
-				{
-					"type": "doctype",
-					"name": "Pricing Rule",
-					"description": _("Rules for applying pricing and discount.")
-				},
-
-			]
-		},
-		{
-			"label": _("Sales Partners and Territory"),
-			"items": [
 				{
 					"type": "doctype",
 					"label": _("Territory"),
@@ -106,95 +167,28 @@
 				},
 				{
 					"type": "doctype",
-					"name": "Sales Partner",
-					"description": _("Manage Sales Partners."),
-				},
-				{
-					"type": "doctype",
-					"label": _("Sales Person"),
-					"name": "Sales Person",
-					"icon": "fa fa-sitemap",
-					"link": "Tree/Sales Person",
-					"description": _("Manage Sales Person Tree."),
-				},
-				{
-					"type": "report",
-					"is_query_report": True,
-					"name": "Address And Contacts",
-					"label": _("Sales Partner Addresses And Contacts"),
-					"doctype": "Address",
-					"route_options": {
-						"party_type": "Sales Partner"
-					}
-				},
-				{
-					"type": "report",
-					"is_query_report": True,
-					"name": "Territory Target Variance (Item Group-Wise)",
-					"route": "query-report/Territory Target Variance Item Group-Wise",
-					"doctype": "Territory"
-				},
-				{
-					"type": "report",
-					"is_query_report": True,
-					"name": "Sales Person Target Variance (Item Group-Wise)",
-					"route": "query-report/Sales Person Target Variance Item Group-Wise",
-					"doctype": "Sales Person",
-				},
-			]
-		},
-		{
-			"label": _("Setup"),
-			"icon": "fa fa-cog",
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Selling Settings",
-					"description": _("Default settings for selling transactions.")
-				},
-				{
-					"type": "doctype",
 					"name": "Campaign",
 					"description": _("Sales campaigns."),
 				},
-				{
-					"type": "doctype",
-					"name":"Terms and Conditions",
-					"label": _("Terms and Conditions Template"),
-					"description": _("Template of terms or contract.")
-				},
-				{
-					"type": "doctype",
-					"name": "Sales Taxes and Charges Template",
-					"description": _("Tax template for selling transactions.")
-				},
-				{
-					"type": "doctype",
-					"name": "Industry Type",
-					"description": _("Track Leads by Industry Type.")
-				},
-				{
-					"type": "doctype",
-					"name": "Lead Source",
-					"description": _("Track Leads by Lead Source.")
-				},
 			]
 		},
 		{
-			"label": _("Analytics"),
+			"label": _("Key Reports"),
 			"icon": "fa fa-table",
 			"items": [
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Sales Analytics",
-					"doctype": "Sales Order"
+					"doctype": "Sales Order",
+					"onboard": 1,
 				},
 				{
 					"type": "page",
 					"name": "sales-funnel",
 					"label": _("Sales Funnel"),
 					"icon": "fa fa-bar-chart",
+					"onboard": 1,
 				},
 				{
 					"type": "report",
@@ -206,6 +200,30 @@
 				{
 					"type": "report",
 					"is_query_report": True,
+					"name": "Inactive Customers",
+					"doctype": "Sales Order"
+				},
+				{
+					"type": "report",
+					"is_query_report": True,
+					"name": "Ordered Items To Be Delivered",
+					"doctype": "Sales Order"
+				},
+				{
+					"type": "report",
+					"is_query_report": True,
+					"name": "Sales Person-wise Transaction Summary",
+					"doctype": "Sales Order"
+				},
+				{
+					"type": "report",
+					"is_query_report": True,
+					"name": "Item-wise Sales History",
+					"doctype": "Item"
+				},
+				{
+					"type": "report",
+					"is_query_report": True,
 					"name": "Quotation Trends",
 					"doctype": "Quotation"
 				},
@@ -240,36 +258,12 @@
 				{
 					"type": "report",
 					"is_query_report": True,
-					"name": "Ordered Items To Be Delivered",
-					"doctype": "Sales Order"
-				},
-				{
-					"type": "report",
-					"is_query_report": True,
-					"name": "Sales Person-wise Transaction Summary",
-					"doctype": "Sales Order"
-				},
-				{
-					"type": "report",
-					"is_query_report": True,
-					"name": "Item-wise Sales History",
-					"doctype": "Item"
-				},
-				{
-					"type": "report",
-					"is_query_report": True,
 					"name": "BOM Search",
 					"doctype": "BOM"
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
-					"name": "Inactive Customers",
-					"doctype": "Sales Order"
-				},
-				{
-					"type": "report",
-					"is_query_report": True,
 					"name": "Available Stock for Packing Items",
 					"doctype": "Item",
 				},
@@ -294,27 +288,6 @@
 			]
 		},
 		{
-			"label": _("SMS"),
-			"icon": "fa fa-wrench",
-			"items": [
-				{
-					"type": "doctype",
-					"name": "SMS Center",
-					"description":_("Send mass SMS to your contacts"),
-				},
-				{
-					"type": "doctype",
-					"name": "SMS Log",
-					"description":_("Logs for maintaining sms delivery status"),
-				},
-				{
-					"type": "doctype",
-					"name": "SMS Settings",
-					"description": _("Setup SMS gateway settings")
-				},
-			]
-		},
-		{
 			"label": _("Help"),
 			"items": [
 				{
diff --git a/erpnext/config/setup.py b/erpnext/config/settings.py
similarity index 95%
rename from erpnext/config/setup.py
rename to erpnext/config/settings.py
index 2978bc3..0bbf6ec 100644
--- a/erpnext/config/setup.py
+++ b/erpnext/config/settings.py
@@ -13,7 +13,8 @@
 					"name": "Global Defaults",
 					"label": _("Global Settings"),
 					"description": _("Set Default Values like Company, Currency, Current Fiscal Year, etc."),
-					"hide_count": True
+					"hide_count": True,
+					"onboard": 1,
 				}
 			]
 		},
@@ -24,7 +25,8 @@
 				{
 					"type": "doctype",
 					"name": "Letter Head",
-					"description": _("Letter Heads for print templates.")
+					"description": _("Letter Heads for print templates."),
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
diff --git a/erpnext/config/stock.py b/erpnext/config/stock.py
index 60eee71..6c06733 100644
--- a/erpnext/config/stock.py
+++ b/erpnext/config/stock.py
@@ -9,18 +9,30 @@
 				{
 					"type": "doctype",
 					"name": "Stock Entry",
+					"onboard": 1,
+					"dependencies": ["Item"],
 				},
 				{
 					"type": "doctype",
 					"name": "Delivery Note",
+					"onboard": 1,
+					"dependencies": ["Item", "Customer"],
 				},
 				{
 					"type": "doctype",
 					"name": "Purchase Receipt",
+					"onboard": 1,
+					"dependencies": ["Item", "Supplier"],
 				},
 				{
 					"type": "doctype",
 					"name": "Material Request",
+					"onboard": 1,
+					"dependencies": ["Item"],
+				},
+				{
+					"type": "doctype",
+					"name": "Delivery Trip"
 				},
 			]
 		},
@@ -32,56 +44,94 @@
 					"is_query_report": True,
 					"name": "Stock Ledger",
 					"doctype": "Stock Ledger Entry",
+					"onboard": 1,
+					"dependencies": ["Item"],
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Stock Balance",
-					"doctype": "Stock Ledger Entry"
+					"doctype": "Stock Ledger Entry",
+					"onboard": 1,
+					"dependencies": ["Item"],
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Stock Projected Qty",
 					"doctype": "Item",
+					"onboard": 1,
+					"dependencies": ["Item"],
 				},
 				{
 					"type": "page",
 					"name": "stock-balance",
-					"label": _("Stock Summary")
+					"label": _("Stock Summary"),
+					"dependencies": ["Item"],
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Stock Ageing",
 					"doctype": "Item",
+					"dependencies": ["Item"],
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Item Price Stock",
 					"doctype": "Item",
+					"dependencies": ["Item"],
 				}
 			]
 		},
 		{
+			"label": _("Setup"),
+			"icon": "fa fa-cog",
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Stock Settings",
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Warehouse",
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "UOM",
+					"label": _("Unit of Measure") + " (UOM)",
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Brand",
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Item Attribute",
+				},
+				{
+					"type": "doctype",
+					"name": "Item Variant Settings",
+				},
+			]
+		},
+		{
 			"label": _("Items and Pricing"),
 			"items": [
 				{
 					"type": "doctype",
 					"name": "Item",
-				},
-				{
-					"type": "doctype",
-					"name": "Item Alternative",
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Product Bundle",
-				},
-				{
-					"type": "doctype",
-					"name": "Price List",
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
@@ -89,6 +139,11 @@
 					"icon": "fa fa-sitemap",
 					"label": _("Item Group"),
 					"link": "Tree/Item Group",
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Price List",
 				},
 				{
 					"type": "doctype",
@@ -104,6 +159,10 @@
 				},
 				{
 					"type": "doctype",
+					"name": "Item Alternative",
+				},
+				{
+					"type": "doctype",
 					"name": "Item Variant Settings",
 				},
 			]
@@ -114,14 +173,19 @@
 				{
 					"type": "doctype",
 					"name": "Serial No",
+					"onboard": 1,
+					"dependencies": ["Item"],
 				},
 				{
 					"type": "doctype",
 					"name": "Batch",
+					"onboard": 1,
+					"dependencies": ["Item"],
 				},
 				{
 					"type": "doctype",
 					"name": "Installation Note",
+					"dependencies": ["Item"],
 				},
 				{
 					"type": "report",
@@ -141,26 +205,23 @@
 			]
 		},
 		{
-			"label": _("Fulfilment"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Delivery Trip",
-					"description": _("Delivery Trip service tours to customers.")
-				}
-			]
-		},
-		{
 			"label": _("Tools"),
 			"icon": "fa fa-wrench",
 			"items": [
 				{
 					"type": "doctype",
 					"name": "Stock Reconciliation",
+					"onboard": 1,
+				},
+				{
+					"type": "doctype",
+					"name": "Landed Cost Voucher",
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
 					"name": "Packing Slip",
+					"onboard": 1,
 				},
 				{
 					"type": "doctype",
@@ -170,45 +231,10 @@
 					"type": "doctype",
 					"name": "Quality Inspection Template",
 				},
-				{
-					"type": "doctype",
-					"name": "Landed Cost Voucher",
-				}
 			]
 		},
 		{
-			"label": _("Setup"),
-			"icon": "fa fa-cog",
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Stock Settings",
-				},
-				{
-					"type": "doctype",
-					"name": "Warehouse",
-				},
-				{
-					"type": "doctype",
-					"name": "UOM",
-					"label": _("Unit of Measure") + " (UOM)",
-				},
-				{
-					"type": "doctype",
-					"name": "Item Attribute",
-				},
-				{
-					"type": "doctype",
-					"name": "Brand",
-				},
-				{
-					"type": "doctype",
-					"name": "Item Variant Settings",
-				},
-			]
-		},
-		{
-			"label": _("Analytics"),
+			"label": _("Key Reports"),
 			"icon": "fa fa-table",
 			"items": [
 				{
@@ -216,12 +242,14 @@
 					"is_query_report": False,
 					"name": "Item-wise Price List Rate",
 					"doctype": "Item Price",
+					"onboard": 1,
 				},
 				{
 					"type": "report",
 					"is_query_report": True,
 					"name": "Stock Analytics",
-					"doctype": "Stock Entry"
+					"doctype": "Stock Entry",
+					"onboard": 1,
 				},
 				{
 					"type": "report",
@@ -235,13 +263,6 @@
 					"name": "Purchase Receipt Trends",
 					"doctype": "Purchase Receipt"
 				},
-
-			]
-		},
-		{
-			"label": _("Reports"),
-			"icon": "fa fa-list",
-			"items": [
 				{
 					"type": "report",
 					"is_query_report": True,
@@ -263,14 +284,20 @@
 				{
 					"type": "report",
 					"is_query_report": True,
-					"name": "Requested Items To Be Transferred",
-					"doctype": "Material Request"
+					"name": "Batch-Wise Balance History",
+					"doctype": "Batch"
 				},
+			]
+		},
+		{
+			"label": _("Other Reports"),
+			"icon": "fa fa-list",
+			"items": [
 				{
 					"type": "report",
 					"is_query_report": True,
-					"name": "Batch-Wise Balance History",
-					"doctype": "Batch"
+					"name": "Requested Items To Be Transferred",
+					"doctype": "Material Request"
 				},
 				{
 					"type": "report",
diff --git a/erpnext/config/support.py b/erpnext/config/support.py
deleted file mode 100644
index b85c430..0000000
--- a/erpnext/config/support.py
+++ /dev/null
@@ -1,60 +0,0 @@
-from __future__ import unicode_literals
-from frappe import _
-
-def get_data():
-	return [
-		{
-			"label": _("Issues"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Issue",
-					"description": _("Support queries from customers."),
-				},
-				{
-					"type": "doctype",
-					"name": "Communication",
-					"description": _("Communication log."),
-				},
-			]
-		},
-		{
-			"label": _("Warranty"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Warranty Claim",
-					"description": _("Warranty Claim against Serial No."),
-				},
-				{
-					"type": "doctype",
-					"name": "Serial No",
-					"description": _("Single unit of an Item."),
-				},
-			]
-		},
-		{
-			"label": _("Reports"),
-			"icon": "fa fa-list",
-			"items": [
-				{
-					"type": "page",
-					"name": "support-analytics",
-					"label": _("Support Analytics"),
-					"icon": "fa fa-bar-chart"
-				},
-				{
-					"type": "report",
-					"name": "Minutes to First Response for Issues",
-					"doctype": "Issue",
-					"is_query_report": True
-				},
-				{
-					"type": "report",
-					"name": "Support Hours",
-					"doctype": "Issue",
-					"is_query_report": True
-				},
-			]
-		},
-	]
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index c04049e..8ab6153 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -362,7 +362,6 @@
 erpnext.patches.v7_1.set_currency_exchange_date
 erpnext.patches.v7_1.set_sales_person_status
 erpnext.patches.v7_1.repost_stock_for_deleted_bins_for_merging_items
-execute:frappe.delete_doc('Desktop Icon', {'module_name': 'Profit and Loss Statment'})
 erpnext.patches.v7_2.update_website_for_variant
 erpnext.patches.v7_2.update_assessment_modules
 erpnext.patches.v7_2.update_doctype_status
@@ -545,7 +544,6 @@
 erpnext.patches.v11_0.update_total_qty_field
 erpnext.patches.v11_0.update_sales_partner_type
 erpnext.patches.v11_0.rename_asset_adjustment_doctype
-execute:frappe.db.sql("update `tabDesktop Icon` set type = 'module' where module_name = 'Restaurant'")
 erpnext.patches.v11_0.set_salary_component_properties
 erpnext.patches.v11_0.set_user_permissions_for_department
 erpnext.patches.v11_0.hr_ux_cleanups
@@ -564,7 +562,6 @@
 erpnext.patches.v11_0.redesign_healthcare_billing_work_flow
 erpnext.patches.v10_0.delete_hub_documents # 12-08-2018
 erpnext.patches.v11_0.rename_healthcare_fields
-erpnext.patches.v11_0.remove_land_unit_icon
 erpnext.patches.v11_0.add_default_dispatch_notification_template
 erpnext.patches.v11_0.add_market_segments
 erpnext.patches.v11_0.add_sales_stages
@@ -574,7 +571,6 @@
 execute:frappe.delete_doc_if_exists("Page", "production-analytics")
 erpnext.patches.v11_0.ewaybill_fields_gst_india #2018-11-13 #2019-01-09
 erpnext.patches.v11_0.drop_column_max_days_allowed
-erpnext.patches.v11_0.change_healthcare_desktop_icons
 erpnext.patches.v10_0.update_user_image_in_employee
 erpnext.patches.v10_0.repost_gle_for_purchase_receipts_with_rejected_items
 erpnext.patches.v10_0.allow_operators_in_supplier_scorecard
@@ -585,8 +581,4 @@
 erpnext.patches.v11_0.renamed_from_to_fields_in_project
 erpnext.patches.v11_0.add_permissions_in_gst_settings
 erpnext.patches.v11_1.setup_guardian_role
-erpnext.patches.v12_0.change_qms_icon
-erpnext.patches.v12_0.rename_learn_to_help
-erpnext.patches.v12_0.rename_accounts_desktop_icon_to_accounting
-erpnext.patches.v12_0.replace_project_list_desktop_icon_with_projects_module_desktop_icon # 09-01-2019
 erpnext.patches.v12_0.move_item_tax_to_item_tax_template
diff --git a/erpnext/patches/v11_0/change_healthcare_desktop_icons.py b/erpnext/patches/v11_0/change_healthcare_desktop_icons.py
deleted file mode 100644
index 0b77395..0000000
--- a/erpnext/patches/v11_0/change_healthcare_desktop_icons.py
+++ /dev/null
@@ -1,94 +0,0 @@
-from __future__ import unicode_literals
-import frappe
-from frappe import _
-
-change_icons_map = [
-	{
-		"module_name": "Patient",
-		"color": "#6BE273",
-		"icon": "fa fa-user",
-		"doctype": "Patient",
-		"type": "link",
-		"link": "List/Patient",
-		"label": _("Patient")
-	},
-	{
-		"module_name": "Patient Encounter",
-		"color": "#2ecc71",
-		"icon": "fa fa-stethoscope",
-		"doctype": "Patient Encounter",
-		"type": "link",
-		"link": "List/Patient Encounter",
-		"label": _("Patient Encounter"),
-	},
-	{
-		"module_name": "Healthcare Practitioner",
-		"color": "#2ecc71",
-		"icon": "fa fa-user-md",
-		"doctype": "Healthcare Practitioner",
-		"type": "link",
-		"link": "List/Healthcare Practitioner",
-		"label": _("Healthcare Practitioner")
-	},
-	{
-		"module_name": "Patient Appointment",
-		"color": "#934F92",
-		"icon": "fa fa-calendar-plus-o",
-		"doctype": "Patient Appointment",
-		"type": "link",
-		"link": "List/Patient Appointment",
-		"label": _("Patient Appointment")
-	},
-	{
-		"module_name": "Lab Test",
-		"color": "#7578f6",
-		"icon": "octicon octicon-beaker",
-		"doctype": "Lab Test",
-		"type": "link",
-		"link": "List/Lab Test",
-		"label": _("Lab Test")
-	}
-]
-
-def execute():
-	change_healthcare_desktop_icons()
-
-def change_healthcare_desktop_icons():
-	doctypes = ["patient", "patient_encounter", "healthcare_practitioner",
-		"patient_appointment", "lab_test"]
-	for doctype in doctypes:
-		frappe.reload_doc("healthcare", "doctype", doctype)
-	for spec in change_icons_map:
-		frappe.db.sql("""
-			delete from `tabDesktop Icon`
-			where _doctype = '{0}'
-		""".format(spec['doctype']))
-
-		desktop_icon = frappe.new_doc("Desktop Icon")
-		desktop_icon.hidden = 1
-		desktop_icon.standard = 1
-		desktop_icon.icon = spec['icon']
-		desktop_icon.color = spec['color']
-		desktop_icon.module_name = spec['module_name']
-		desktop_icon.label = spec['label']
-		desktop_icon.app = "erpnext"
-		desktop_icon.type = spec['type']
-		desktop_icon._doctype = spec['doctype']
-		desktop_icon.link = spec['link']
-		desktop_icon.save(ignore_permissions=True)
-
-	frappe.db.sql("""
-		delete from `tabDesktop Icon`
-		where module_name = 'Healthcare' and type = 'module'
-	""")
-
-	desktop_icon = frappe.new_doc("Desktop Icon")
-	desktop_icon.hidden = 1
-	desktop_icon.standard = 1
-	desktop_icon.icon = "fa fa-heartbeat"
-	desktop_icon.color = "#FF888B"
-	desktop_icon.module_name = "Healthcare"
-	desktop_icon.label = _("Healthcare")
-	desktop_icon.app = "erpnext"
-	desktop_icon.type = 'module'
-	desktop_icon.save(ignore_permissions=True)
diff --git a/erpnext/patches/v11_0/merge_land_unit_with_location.py b/erpnext/patches/v11_0/merge_land_unit_with_location.py
index 4ded98b..1ea486d 100644
--- a/erpnext/patches/v11_0/merge_land_unit_with_location.py
+++ b/erpnext/patches/v11_0/merge_land_unit_with_location.py
@@ -29,7 +29,7 @@
 
 	if 'land_unit' in frappe.db.get_table_columns('Linked Location'):
 		rename_field('Linked Location', 'land_unit', 'location')
-	
+
 	if not frappe.db.exists("Location", "All Land Units"):
 		frappe.get_doc({"doctype": "Location", "is_group": True, "location_name": "All Land Units"}).insert(ignore_permissions=True)
 
@@ -52,9 +52,6 @@
 					'rgt': land_unit.get('rgt')
 				}).insert(ignore_permissions=True)
 
-	# frappe.db.sql("""update `tabDesktop Icon` set label='Location', module_name='Location' where label='Land Unit'""")
-	frappe.db.sql("""update `tabDesktop Icon` set link='List/Location' where link='List/Land Unit'""")
-
 	# Delete the Land Unit and Linked Land Unit doctypes
 	if frappe.db.table_exists('Land Unit'):
 		frappe.delete_doc('DocType', 'Land Unit', force=1)
diff --git a/erpnext/patches/v11_0/refactor_erpnext_shopify.py b/erpnext/patches/v11_0/refactor_erpnext_shopify.py
index a91fda7..340e9fc 100644
--- a/erpnext/patches/v11_0/refactor_erpnext_shopify.py
+++ b/erpnext/patches/v11_0/refactor_erpnext_shopify.py
@@ -11,7 +11,6 @@
 	if 'erpnext_shopify' in frappe.get_installed_apps():
 		remove_from_installed_apps('erpnext_shopify')
 
-		frappe.db.sql('delete from `tabDesktop Icon` where app="erpnext_shopify" ')
 		frappe.delete_doc("Module Def", 'erpnext_shopify')
 
 		frappe.db.commit()
diff --git a/erpnext/patches/v11_0/remove_land_unit_icon.py b/erpnext/patches/v11_0/remove_land_unit_icon.py
deleted file mode 100644
index f28c16f..0000000
--- a/erpnext/patches/v11_0/remove_land_unit_icon.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2018, Frappe and Contributors
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-
-# imports - module imports
-import frappe
-
-
-def execute():
-	"""
-	Delete the "Land Unit" doc if exists from "Desktop Icon" doctype
-	"""
-	try:
-		doc = frappe.get_doc('Desktop Icon', {'standard': 1, 'module_name': 'Land Unit'})
-		frappe.delete_doc('Desktop Icon', doc.name)
-	except frappe.ValidationError:
-		# The 'Land Unit' doc doesn't exist, nothing to do
-		pass
diff --git a/erpnext/patches/v11_0/rename_production_order_to_work_order.py b/erpnext/patches/v11_0/rename_production_order_to_work_order.py
index 72bdb68..2c27fbb 100644
--- a/erpnext/patches/v11_0/rename_production_order_to_work_order.py
+++ b/erpnext/patches/v11_0/rename_production_order_to_work_order.py
@@ -26,10 +26,3 @@
 	frappe.rename_doc("Report", "Open Production Orders", "Open Work Orders", force=True)
 	frappe.rename_doc("Report", "Issued Items Against Production Order", "Issued Items Against Work Order", force=True)
 	frappe.rename_doc("Report", "Production Order Stock Report", "Work Order Stock Report", force=True)
-
-	frappe.db.sql("""update `tabDesktop Icon` \
-		set label='Work Order', module_name='Work Order' \
-		where label='Production Order'""")
-	frappe.db.sql("""update `tabDesktop Icon` \
-		set link='List/Work Order' \
-		where link='List/Production Order'""")
diff --git a/erpnext/patches/v12_0/change_qms_icon.py b/erpnext/patches/v12_0/change_qms_icon.py
deleted file mode 100644
index 2b6c09a..0000000
--- a/erpnext/patches/v12_0/change_qms_icon.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import frappe
-
-def execute():
-	qms_icons = frappe.get_all("Desktop Icon", filters={
-		"module_name": "Quality Management"
-	})
-
-	for icon in qms_icons:
-		frappe.db.set_value('Desktop Icon', icon.name, 'color', '#1abc9c')
-		frappe.db.set_value('Desktop Icon', icon.name, 'icon', 'fa fa-check-square-o')
diff --git a/erpnext/patches/v12_0/rename_accounts_desktop_icon_to_accounting.py b/erpnext/patches/v12_0/rename_accounts_desktop_icon_to_accounting.py
deleted file mode 100644
index e24ed1c..0000000
--- a/erpnext/patches/v12_0/rename_accounts_desktop_icon_to_accounting.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import frappe
-from frappe import _
-
-def execute():
-	accounts_module_icons = frappe.get_all('Desktop Icon', filters={
-		'module_name': 'Accounts'
-	}, fields=['name'])
-
-	for icon in accounts_module_icons:
-		frappe.db.set_value('Desktop Icon', icon.name, 'label', _('Accounting'))
\ No newline at end of file
diff --git a/erpnext/patches/v12_0/rename_learn_to_help.py b/erpnext/patches/v12_0/rename_learn_to_help.py
deleted file mode 100644
index 72f75f8..0000000
--- a/erpnext/patches/v12_0/rename_learn_to_help.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import frappe
-from frappe import _
-
-def execute():
-	frappe.db.sql("""
-		UPDATE `tabDesktop Icon`
-		SET
-			`module_name`='Help', `label`=%s
-		WHERE
-			`module_name`='Learn' AND
-			`standard`=1
-		""", _('Help'))
\ No newline at end of file
diff --git a/erpnext/patches/v12_0/rename_quality_management_to_quality.py b/erpnext/patches/v12_0/rename_quality_management_to_quality.py
deleted file mode 100644
index cdcf191..0000000
--- a/erpnext/patches/v12_0/rename_quality_management_to_quality.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import frappe
-from frappe import _
-
-def execute():
-	quality_management_module_icons = frappe.get_all('Desktop Icon', filters={
-		'module_name': 'Quality Management'
-	}, fields=['name'])
-
-	for icon in quality_management_module_icons:
-		frappe.db.set_value('Desktop Icon', icon.name, 'label', _('Quality'))
\ No newline at end of file
diff --git a/erpnext/patches/v12_0/replace_project_list_desktop_icon_with_projects_module_desktop_icon.py b/erpnext/patches/v12_0/replace_project_list_desktop_icon_with_projects_module_desktop_icon.py
deleted file mode 100644
index dc848f4..0000000
--- a/erpnext/patches/v12_0/replace_project_list_desktop_icon_with_projects_module_desktop_icon.py
+++ /dev/null
@@ -1,23 +0,0 @@
-import frappe
-
-def execute():
-	projects_icons = frappe.get_all('Desktop Icon', filters={
-		'module_name': ['in', ('Project', 'Projects')],
-	})
-
-	fields_to_update = {
-		'module_name': 'Projects',
-		'color': '#8e44ad',
-		'icon': 'octicon octicon-rocket',
-		'type': 'module',
-		'link': ''
-	}
-
-	for icon in projects_icons:
-		icon_doc = frappe.get_doc('Desktop Icon', icon.name)
-		icon_doc.update(fields_to_update)
-		try:
-			icon_doc.save()
-		except frappe.exceptions.UniqueValidationError:
-			# delete duplicate icon
-			icon_doc.delete()
diff --git a/erpnext/patches/v7_0/migrate_schools_to_erpnext.py b/erpnext/patches/v7_0/migrate_schools_to_erpnext.py
index 9137b5a..b72bc13 100644
--- a/erpnext/patches/v7_0/migrate_schools_to_erpnext.py
+++ b/erpnext/patches/v7_0/migrate_schools_to_erpnext.py
@@ -10,21 +10,19 @@
 	frappe.reload_doc('buying', 'doctype', 'request_for_quotation')
 
 	if 'schools' in frappe.get_installed_apps():
-		frappe.db.sql("""delete from `tabDesktop Icon`""")
-		
 		if not frappe.db.exists('Module Def', 'Schools') and frappe.db.exists('Module Def', 'Academics'):
-			
+
 			# 'Schools' module changed to the 'Education'
 			# frappe.rename_doc("Module Def", "Academics", "Schools")
-			
+
 			frappe.rename_doc("Module Def", "Academics", "Education")
-			
+
 		remove_from_installed_apps("schools")
 
 def reload_doctypes_for_schools_icons():
 	# 'Schools' module changed to the 'Education'
 	# base_path = frappe.get_app_path('erpnext', 'schools', 'doctype')
-	
+
 	base_path = frappe.get_app_path('erpnext', 'education', 'doctype')
 	for doctype in os.listdir(base_path):
 		if os.path.exists(os.path.join(base_path, doctype, doctype + '.json')) \
diff --git a/erpnext/patches/v8_1/delete_deprecated_reports.py b/erpnext/patches/v8_1/delete_deprecated_reports.py
index 99d77c1..3e0fdee 100644
--- a/erpnext/patches/v8_1/delete_deprecated_reports.py
+++ b/erpnext/patches/v8_1/delete_deprecated_reports.py
@@ -14,32 +14,11 @@
 
 	for report in reports:
 		if frappe.db.exists("Report", report):
-			check_and_update_desktop_icon_for_report(report)
 			check_and_update_auto_email_report(report)
 			frappe.db.commit()
 
 			frappe.delete_doc("Report", report, ignore_permissions=True)
 
-def check_and_update_desktop_icon_for_report(report):
-	""" delete or update desktop icon"""
-	desktop_icons = frappe.db.sql_list("""select name from `tabDesktop Icon`
-		where _report='{0}'""".format(report))
-
-	if not desktop_icons:
-		return
-
-	if report == "Monthly Salary Register":
-		for icon in desktop_icons:
-			frappe.delete_doc("Desktop Icon", icon)
-
-	elif report in ["Customer Addresses And Contacts", "Supplier Addresses And Contacts"]:
-		frappe.db.sql("""update `tabDesktop Icon` set _report='{value}'
-			where name in ({docnames})""".format(
-				value="Addresses And Contacts",
-				docnames=",".join(["'%s'"%icon for icon in desktop_icons])
-			)
-		)
-
 def check_and_update_auto_email_report(report):
 	""" delete or update auto email report for deprecated report """
 
diff --git a/erpnext/public/js/hub/hub_factory.js b/erpnext/public/js/hub/hub_factory.js
index 2efc826..8dab2d6 100644
--- a/erpnext/public/js/hub/hub_factory.js
+++ b/erpnext/public/js/hub/hub_factory.js
@@ -36,18 +36,3 @@
 		method: "erpnext.hub_node.doctype.marketplace_settings.marketplace_settings.is_marketplace_enabled"
 	}).then(r => r.message)
 }
-
-$(document).on('toolbar_setup', () => {
-	$('#toolbar-user .navbar-reload').after(`
-		<li>
-			<a class="marketplace-link" href="#marketplace/home">${__('Marketplace')}
-		</li>
-	`);
-
-	is_marketplace_disabled()
-		.then(disabled => {
-			if (disabled) {
-				$('#toolbar-user .marketplace-link').hide();
-			}
-		});
-});