diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index fcf5cfc..2c28b92 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -439,7 +439,7 @@
 erpnext.patches.v8_7.fix_purchase_receipt_status
 erpnext.patches.v8_6.rename_bom_update_tool
 erpnext.patches.v8_7.set_offline_in_pos_settings #11-09-17
-erpnext.patches.v8_9.add_setup_progress_actions #08-09-2017 #26-09-2017
+erpnext.patches.v8_9.add_setup_progress_actions #08-09-2017 #26-09-2017 #22-11-2017
 erpnext.patches.v8_9.rename_company_sales_target_field
 erpnext.patches.v8_8.set_bom_rate_as_per_uom
 erpnext.patches.v8_8.add_new_fields_in_accounts_settings
diff --git a/erpnext/patches/v8_9/add_setup_progress_actions.py b/erpnext/patches/v8_9/add_setup_progress_actions.py
index dbd0fac..fe12311 100644
--- a/erpnext/patches/v8_9/add_setup_progress_actions.py
+++ b/erpnext/patches/v8_9/add_setup_progress_actions.py
@@ -30,6 +30,8 @@
 		{"action_name": "Add Rooms", "action_doctype": "Room", "min_doc_count": 1, "is_completed": 0,
 			"domains": '["Education"]' },
 		{"action_name": "Add Users", "action_doctype": "User", "min_doc_count": 4, "is_completed": 0,
+			"domains": '[]' },
+		{"action_name": "Add Letterhead", "action_doctype": "Letter Head", "min_doc_count": 1, "is_completed": 0,
 			"domains": '[]' }
 	]
 
diff --git a/erpnext/setup/setup_wizard/install_fixtures.py b/erpnext/setup/setup_wizard/install_fixtures.py
index 95c562a..ed89568 100644
--- a/erpnext/setup/setup_wizard/install_fixtures.py
+++ b/erpnext/setup/setup_wizard/install_fixtures.py
@@ -44,6 +44,8 @@
 			{"action_name": "Add Rooms", "action_doctype": "Room", "min_doc_count": 1, "is_completed": 0,
 				"domains": '["Education"]' },
 			{"action_name": "Add Users", "action_doctype": "User", "min_doc_count": 4, "is_completed": 0,
+				"domains": '[]' },
+			{"action_name": "Add Letterhead", "action_doctype": "Letter Head", "min_doc_count": 1, "is_completed": 0,
 				"domains": '[]' }
 		]},
 
diff --git a/erpnext/utilities/user_progress.py b/erpnext/utilities/user_progress.py
index 685624e..e84377e 100644
--- a/erpnext/utilities/user_progress.py
+++ b/erpnext/utilities/user_progress.py
@@ -81,6 +81,24 @@
 				}
 			]
 		),
+
+		frappe._dict(
+			action_name='Add Letterhead',
+			domains=('Manufacturing', 'Services', 'Retail', 'Distribution', 'Education'),
+			title=_("Add Letterhead"),
+			help=_("Upload your letter head (Keep it web friendly as 900px by 100px)"),
+			fields=[
+				{"fieldtype":"Attach Image", "fieldname":"letterhead",
+					"is_private": 0,
+					"align": "center"
+				},
+			],
+			mandatory_entry=1,
+			submit_method="erpnext.utilities.user_progress_utils.create_letterhead",
+			done_state_title=_("Go to Letterheads"),
+			done_state_title_route=["List", "Letter Head"]
+		),
+
 		frappe._dict(
 			action_name='Add Suppliers',
 			domains=('Manufacturing', 'Services', 'Retail', 'Distribution'),
diff --git a/erpnext/utilities/user_progress_utils.py b/erpnext/utilities/user_progress_utils.py
index 1af5364..08dd7ef 100644
--- a/erpnext/utilities/user_progress_utils.py
+++ b/erpnext/utilities/user_progress_utils.py
@@ -38,6 +38,21 @@
 				pass
 
 @frappe.whitelist()
+def create_letterhead(args_data):
+	args = json.loads(args_data)
+	letterhead = args.get("letterhead")
+	if letterhead:
+		try:
+			frappe.get_doc({
+					"doctype":"Letter Head",
+					"content":"""<div><img src="{0}" style='max-width: 100%%;'><br></div>""".format(letterhead),
+					"letter_head_name": _("Standard"),
+					"is_default": 1
+			}).insert()
+		except frappe.NameError:
+			pass
+
+@frappe.whitelist()
 def create_suppliers(args_data):
 	args = json.loads(args_data)
 	defaults = frappe.defaults.get_defaults()
