[cleanup] homepage
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 4758325..10af7b6 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -264,3 +264,4 @@
 erpnext.patches.v7_0.update_item_projected
 erpnext.patches.v7_0.fix_duplicate_icons
 erpnext.patches.v7_0.remove_features_setup
+erpnext.patches.v7_0.update_home_page
\ No newline at end of file
diff --git a/erpnext/patches/v7_0/remove_features_setup.py b/erpnext/patches/v7_0/remove_features_setup.py
index 2e7f893..60d1926 100644
--- a/erpnext/patches/v7_0/remove_features_setup.py
+++ b/erpnext/patches/v7_0/remove_features_setup.py
@@ -1,11 +1,13 @@
 import frappe
 
 from erpnext.setup.install import create_compact_item_print_custom_field
+from frappe.utils import cint
 
 def execute():
-	if not frappe.db.get_value("Features Setup", None, "fs_item_barcode"):
-		# hide barcode fields
-		frappe.make_property_setter(dict(fieldname='barcode', property='hidden', value=1))
+	frappe.reload_doctype('Stock Settings')
+	stock_settings = frappe.get_doc('Stock Settings', 'Stock Settings')
+	stock_settings.show_barcode_field = cint(frappe.db.get_value("Features Setup", None, "fs_item_barcode"))
+	stock_settings.save()
 
 	create_compact_item_print_custom_field()
 
diff --git a/erpnext/patches/v7_0/update_home_page.py b/erpnext/patches/v7_0/update_home_page.py
new file mode 100644
index 0000000..d13e28a
--- /dev/null
+++ b/erpnext/patches/v7_0/update_home_page.py
@@ -0,0 +1,18 @@
+import frappe
+import erpnext
+
+def execute():
+	website_settings = frappe.get_doc('Website Settings', 'Website Settings')
+	if frappe.db.exists('Web Page', website_settings.home_page):
+		header = frappe.db.get_value('Web Page', website_settings.home_page, 'header')
+		print header
+		if header and header.startswith("<div class='hero text-center'>"):
+			homepage = frappe.get_doc('Homepage', 'Homepage')
+			homepage.company = erpnext.get_default_company()
+			homepage.tagline = header.split('<h1>')[1].split('</h1>')[0]
+			homepage.setup_items()
+			homepage.save()
+
+			website_settings.home_page = 'home'
+			website_settings.save()
+
diff --git a/erpnext/portal/doctype/homepage/homepage.json b/erpnext/portal/doctype/homepage/homepage.json
index c927e31..cbe58c7 100644
--- a/erpnext/portal/doctype/homepage/homepage.json
+++ b/erpnext/portal/doctype/homepage/homepage.json
@@ -135,7 +135,7 @@
    "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
-   "reqd": 1, 
+   "reqd": 0, 
    "search_index": 0, 
    "set_only_once": 0, 
    "unique": 0, 
@@ -151,7 +151,7 @@
  "issingle": 1, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2016-05-02 18:03:13.165280", 
+ "modified": "2016-05-12 14:19:41.689519", 
  "modified_by": "Administrator", 
  "module": "Portal", 
  "name": "Homepage", 
diff --git a/erpnext/portal/doctype/homepage/homepage.py b/erpnext/portal/doctype/homepage/homepage.py
index 6f55a59..a817230 100644
--- a/erpnext/portal/doctype/homepage/homepage.py
+++ b/erpnext/portal/doctype/homepage/homepage.py
@@ -7,4 +7,19 @@
 from frappe.model.document import Document
 
 class Homepage(Document):
-	pass
+	def validate(self):
+		if not self.products:
+			self.setup_items()
+		if not self.description:
+			self.description = frappe._("This is an example website auto-generated from ERPNext")
+
+	def setup_items(self):
+		for d in frappe.get_all('Item', fields=['name', 'item_name', 'description', 'image'],
+			filters={'show_in_website': 1}, limit=3):
+
+			# set missing routes (?)
+			doc = frappe.get_doc('Item', d.name)
+			doc.save()
+			self.append('products', dict(item_code=d.name,
+				item_name=d.item_name, description=d.description, image=d.image))
+
diff --git a/erpnext/public/css/website.css b/erpnext/public/css/website.css
index de0b02b..6c239c5 100644
--- a/erpnext/public/css/website.css
+++ b/erpnext/public/css/website.css
@@ -23,7 +23,8 @@
   background-size: cover;
   background-repeat: no-repeat;
   background-position: center top;
-  border-radius: 4px;
+  border-radius-top: 4px;
+  border-radius-right: 4px;
 }
 .product-image.missing-image {
   width: 100%;
@@ -32,7 +33,8 @@
   background-size: cover;
   background-repeat: no-repeat;
   background-position: center top;
-  border-radius: 4px;
+  border-radius-top: 4px;
+  border-radius-right: 4px;
   position: relative;
   background-color: #EBEFF2;
 }
@@ -124,6 +126,12 @@
   border-top: 1px solid #d1d8dd;
   padding-top: 15px;
 }
+.order-container .tax-grand-total {
+  display: inline-block;
+  font-size: 16px;
+  font-weight: bold;
+  margin-top: 5px;
+}
 .cart-container {
   margin: 50px 0px;
 }
@@ -228,7 +236,7 @@
   height: 75px;
 }
 .product-image-wrapper {
-  padding-bottom: 30px;
+  padding-bottom: 40px;
 }
 .featured-product-heading,
 .all-products {
diff --git a/erpnext/public/less/website.less b/erpnext/public/less/website.less
index 357bb8a..37e3616 100644
--- a/erpnext/public/less/website.less
+++ b/erpnext/public/less/website.less
@@ -32,7 +32,8 @@
 	background-size: cover;
 	background-repeat: no-repeat;
 	background-position: center top;
-	border-radius: 4px;
+	border-radius-top: 4px;
+	border-radius-right: 4px;
 }
 
 .product-image.missing-image {
@@ -157,6 +158,13 @@
 		border-top: 1px solid @border-color;
 		padding-top: 15px;
 	}
+
+	.tax-grand-total {
+		display: inline-block;
+		font-size: 16px;
+		font-weight: bold;
+		margin-top: 5px;
+	}
 }
 
 .cart-container {
@@ -200,7 +208,7 @@
 		border-top: 1px solid @border-color;
 		padding-top: 15px;
 	}
-	
+
 	.cart-addresses {
 		margin-top: 50px;
 	}
@@ -209,43 +217,43 @@
 .cart-items .cart-dropdown,
 .item_name_dropdown {
 	display:none;
-	
+
 }
 .cart-dropdown-container {
 	width: 320px;
 	padding: 15px;
-	
+
 	.item-price {
 		display: block !important;
 		padding-bottom: 10px;
 	}
-	
+
 	.cart-item-header {
 		border-bottom: 1px solid #d1d8dd;
 	}
-	
+
 	.cart-items .cart-dropdown {
 		display:block;
 	   	margin-top:15px;
 	}
-		
+
 	.item_name_dropdown {
 		display:block;
 	}
-	
+
 	.item-description,
 	.cart-items .checkout,
 	.item_name_and_description {
 		display: none;
 	}
-	
+
 	.checkout-btn {
 		padding-top:25px;
 	}
 	.col-name-description {
 		margin-bottom:8px;
 	}
-	
+
 }
 
 .product-list-link {
@@ -281,20 +289,20 @@
 	margin-top: 30px;
 }
 
-.product-image-img {	
+.product-image-img {
 	border: 1px solid @light-border-color;
 	border-radius: 3px;
 }
 
-.product-text {	
+.product-text {
 	border-top: 1px solid @light-border-color;
 	padding: 15px;
 	word-wrap: break-word;
 	height: 75px;
 }
 
-.product-image-wrapper {	
-	padding-bottom: 30px;
+.product-image-wrapper {
+	padding-bottom: 40px;
 }
 
 
@@ -302,11 +310,11 @@
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 12px;
- font-weight: 500;	
+ font-weight: 500;
 }
 
 .all-products {
- font-weight: 300;	
+ font-weight: 300;
  padding-left: 25px;
  padding-right: 25px;
  padding-top: 10px;
diff --git a/erpnext/setup/doctype/item_group/item_group.py b/erpnext/setup/doctype/item_group/item_group.py
index d7dae68..dc30de1 100644
--- a/erpnext/setup/doctype/item_group/item_group.py
+++ b/erpnext/setup/doctype/item_group/item_group.py
@@ -74,7 +74,7 @@
 	child_groups = ", ".join(['"' + i[0] + '"' for i in get_child_groups(product_group)])
 
 	# base query
-	query = """select name, item_name, item_code, page_name, website_image, thumbnail, item_group,
+	query = """select name, item_name, item_code, page_name, image, website_image, thumbnail, item_group,
 			description, web_long_description as website_description,
 			concat(parent_website_route, "/", page_name) as route
 		from `tabItem`
diff --git a/erpnext/setup/page/welcome_to_erpnext/welcome_to_erpnext.html b/erpnext/setup/page/welcome_to_erpnext/welcome_to_erpnext.html
index fe8a963..cd4d977 100644
--- a/erpnext/setup/page/welcome_to_erpnext/welcome_to_erpnext.html
+++ b/erpnext/setup/page/welcome_to_erpnext/welcome_to_erpnext.html
@@ -22,7 +22,7 @@
 			<ul class="list-unstyled">
 				<li><a class="text-muted" href="#">{%= __("Go to the Desktop and start using ERPNext") %}</a></li>
 				<li><a class="text-muted" href="#modules/Learn">{%= __("View a list of all the help videos") %}</a></li>
-				<li><a class="text-muted" href="https://manual.erpnext.com" target="_blank">{%= __("Read the ERPNext Manual") %}</a></li>
+				<li><a class="text-muted" href="https://frappe.github.io/erpnext/user" target="_blank">{%= __("Read the ERPNext Manual") %}</a></li>
 				<li><a class="text-muted" href="https://discuss.erpnext.com" target="_blank">{%= __("Community Forum") %}</a></li>
 			</ul>
 
diff --git a/erpnext/setup/setup_wizard/data/sample_home_page.css b/erpnext/setup/setup_wizard/data/sample_home_page.css
deleted file mode 100644
index 723bcb9..0000000
--- a/erpnext/setup/setup_wizard/data/sample_home_page.css
+++ /dev/null
@@ -1,40 +0,0 @@
-.page-header {
-	color: white;
-	background: #263248;
-	text-align: center;
-	padding: 80px 0px;
-}
-
-.page-header .page-header-left {
-	width: 100%;
-}
-
-.page-header h1 {
-	color: white;
-}
-
-.slide h2 {
-	margin-bottom: 30px;
-}
-
-.slides {
-	margin-top: -15px;
-}
-
-.slide {
-	padding: 30px 40px;
-	max-width: 800px;
-	margin: auto;
-}
-
-.container {
-	max-width: 900px;
-}
-
-.img-wrapper {
-	text-align: center;
-	padding: 30px;
-	background-color: #eee;
-	border-radius: 5px;
-	margin-bottom: 15px;
-}
diff --git a/erpnext/setup/setup_wizard/data/sample_home_page.html b/erpnext/setup/setup_wizard/data/sample_home_page.html
deleted file mode 100644
index 990bc1e..0000000
--- a/erpnext/setup/setup_wizard/data/sample_home_page.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<div class="slides">
-	<div class="row slide">
-		<h2 class="text-center">{{ _("Awesome Products") }}</h2>
-		<div class="col-md-6 text-center">
-			<div class="img-wrapper">
-				<i class="icon-wrench text-muted" style="font-size: 100px;"></i>
-			</div>
-		</div>
-		<div class="col-md-6">
-			<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
-		</div>
-	</div>
-	<div class="row slide alt">
-		<h2 class="text-center">{{ _("Awesome Services") }}</h2>
-		<div class="col-md-6 text-center">
-			<div class="img-wrapper">
-				<i class="icon-phone text-muted" style="font-size: 100px;"></i>
-			</div>
-		</div>
-		<div class="col-md-6">
-			<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
-		</div>
-	</div>
-</div>
-<p class="text-center" style="margin-bottom: 50px;">
-	<a href="/products" class="btn btn-success">Explore <i class="icon-chevron-right"></i></a>
-</p>
-<!-- no-sidebar -->
diff --git a/erpnext/setup/setup_wizard/default_website.py b/erpnext/setup/setup_wizard/default_website.py
index e8d4eb43..d137676 100644
--- a/erpnext/setup/setup_wizard/default_website.py
+++ b/erpnext/setup/setup_wizard/default_website.py
@@ -8,34 +8,27 @@
 from frappe.utils import nowdate
 
 class website_maker(object):
-	def __init__(self, company, tagline, user):
-		self.company = company
-		self.tagline = tagline
-		self.user = user
+	def __init__(self, args):
+		self.args = args
+		self.company = args.company_name
+		self.tagline = args.company_tagline
+		self.user = args.name
 		self.make_web_page()
 		self.make_website_settings()
 		self.make_blog()
 
 	def make_web_page(self):
 		# home page
-		self.webpage = frappe.get_doc({
-			"doctype": "Web Page",
-			"title": self.company,
-			"published": 1,
-			"header": "<div class='hero text-center'><h1>{0}</h1>".format(self.tagline or "Headline")+\
-				'<p>'+_("This is an example website auto-generated from ERPNext")+"</p>"+\
-				'<p><a class="btn btn-primary" href="/login">Login</a></p></div>',
-			"description": self.company + ":" + (self.tagline or ""),
-			"css": frappe.get_template("setup/setup_wizard/data/sample_home_page.css").render(),
-			"main_section": frappe.get_template("setup/setup_wizard/data/sample_home_page.html").render({
-				"company": self.company, "tagline": (self.tagline or "")
-			})
-		}).insert()
+		homepage = frappe.get_doc('Homepage', 'Homepage')
+		homepage.company = self.company
+		homepage.tag_line = self.tagline
+		homepage.setup_items()
+		homepage.save()
 
 	def make_website_settings(self):
 		# update in home page in settings
 		website_settings = frappe.get_doc("Website Settings", "Website Settings")
-		website_settings.home_page = self.webpage.name
+		website_settings.home_page = 'home'
 		website_settings.brand_html = self.company
 		website_settings.copyright = self.company
 		website_settings.top_bar_items = []
@@ -88,5 +81,5 @@
 	frappe.delete_doc("Blog Post", "welcome")
 	frappe.delete_doc("Blogger", "administrator")
 	frappe.delete_doc("Blog Category", "general")
-	website_maker("Test Company", "Better Tools for Everyone", "Administrator")
+	website_maker({'company':"Test Company", 'company_tagline': "Better Tools for Everyone", 'name': "Administrator"})
 	frappe.db.commit()
diff --git a/erpnext/setup/setup_wizard/domainify.py b/erpnext/setup/setup_wizard/domainify.py
index df4afd4..8adcf85 100644
--- a/erpnext/setup/setup_wizard/domainify.py
+++ b/erpnext/setup/setup_wizard/domainify.py
@@ -22,7 +22,9 @@
 		'remove_roles': ['Manufacturing User', 'Manufacturing Manager', 'Maintenance User'],
 		'properties': [
 			{'doctype': 'Item', 'fieldname': 'is_stock_item', 'property': 'default', 'value': 0},
-			{'fieldname': 'barcode', 'property': 'hidden', 'value': 1}
+		],
+		'set_value': [
+			['Stock Settings', 'show_barcode', 0]
 		]
 	}
 }
diff --git a/erpnext/setup/setup_wizard/setup_wizard.py b/erpnext/setup/setup_wizard/setup_wizard.py
index a360d4f..48766bf 100644
--- a/erpnext/setup/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/setup_wizard/setup_wizard.py
@@ -35,7 +35,7 @@
 	frappe.local.message_log = []
 	setup_domain(args.get('domain'))
 
-	website_maker(args.company_name.strip(), args.company_tagline, args.name)
+	website_maker(args)
 	create_logo(args)
 
 	frappe.db.commit()
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index d403b18..9e48fed 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -144,22 +144,22 @@
 			return
 
 		# find if website image url exists as public
-		file = frappe.get_all("File", filters={
+		file_doc = frappe.get_all("File", filters={
 			"file_url": self.website_image
 		}, fields=["name", "is_private"], order_by="is_private asc", limit_page_length=1)
-		
-		
-		if file:
-			file = file[0]
 
-		if not file:
+
+		if file_doc:
+			file_doc = file_doc[0]
+
+		if not file_doc:
 			if not auto_set_website_image:
 				frappe.msgprint(_("Website Image {0} attached to Item {1} cannot be found")
 					.format(self.website_image, self.name))
 
 			self.website_image = None
 
-		elif file.is_private:
+		elif file_doc.is_private:
 			if not auto_set_website_image:
 				frappe.msgprint(_("Website Image should be a public file or website URL"))
 
@@ -508,21 +508,21 @@
 			clear_cache(self.page_name)
 
 		frappe.db.set_value("Item", newdn, "item_code", newdn)
-		
+
 		if merge:
 			self.set_last_purchase_rate(newdn)
 			self.recalculate_bin_qty(newdn)
-			
+
 		for dt in ("Sales Taxes and Charges", "Purchase Taxes and Charges"):
-			for d in frappe.db.sql("""select name, item_wise_tax_detail from `tab{0}` 
+			for d in frappe.db.sql("""select name, item_wise_tax_detail from `tab{0}`
 					where ifnull(item_wise_tax_detail, '') != ''""".format(dt), as_dict=1):
-				
+
 				item_wise_tax_detail = json.loads(d.item_wise_tax_detail)
 				if olddn in item_wise_tax_detail:
 					item_wise_tax_detail[newdn] = item_wise_tax_detail[olddn]
 					item_wise_tax_detail.pop(olddn)
-					
-					frappe.db.set_value(dt, d.name, "item_wise_tax_detail", 
+
+					frappe.db.set_value(dt, d.name, "item_wise_tax_detail",
 						json.dumps(item_wise_tax_detail), update_modified=False)
 
 	def set_last_purchase_rate(self, newdn):
@@ -620,8 +620,8 @@
 			variant = get_variant(self.variant_of, args, self.name)
 			if variant:
 				frappe.throw(_("Item variant {0} exists with same attributes")
-					.format(variant), ItemVariantExistsError)			
-			
+					.format(variant), ItemVariantExistsError)
+
 
 @frappe.whitelist()
 def get_dashboard_data(name):
diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.json b/erpnext/stock/doctype/stock_settings/stock_settings.json
index d56daf5..4a6e6e9 100644
--- a/erpnext/stock/doctype/stock_settings/stock_settings.json
+++ b/erpnext/stock/doctype/stock_settings/stock_settings.json
@@ -2,6 +2,7 @@
  "allow_copy": 0, 
  "allow_import": 0, 
  "allow_rename": 0, 
+ "beta": 0, 
  "creation": "2013-06-24 16:37:54", 
  "custom": 0, 
  "description": "Settings", 
@@ -188,6 +189,32 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
+   "default": "1", 
+   "fieldname": "show_barcode_field", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Show Barcode Field", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
    "fieldname": "section_break_7", 
    "fieldtype": "Section Break", 
    "hidden": 0, 
@@ -487,7 +514,7 @@
  "issingle": 1, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2016-04-15 06:51:47.497431", 
+ "modified": "2016-05-12 12:28:29.374452", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Stock Settings", 
@@ -517,5 +544,6 @@
  "quick_entry": 1, 
  "read_only": 0, 
  "read_only_onload": 0, 
+ "sort_order": "ASC", 
  "track_seen": 0
 }
\ No newline at end of file
diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.py b/erpnext/stock/doctype/stock_settings/stock_settings.py
index bd71d46..7c67a65 100644
--- a/erpnext/stock/doctype/stock_settings/stock_settings.py
+++ b/erpnext/stock/doctype/stock_settings/stock_settings.py
@@ -6,11 +6,9 @@
 from __future__ import unicode_literals
 import frappe
 from frappe import _
-from frappe.utils import cint
 from frappe.model.document import Document
 
 class StockSettings(Document):
-
 	def validate(self):
 		for key in ["item_naming_by", "item_group", "stock_uom", "allow_negative_stock"]:
 			frappe.db.set_default(key, self.get(key, ""))
@@ -25,4 +23,6 @@
 			self.stock_frozen_upto_days = stock_frozen_limit
 			frappe.msgprint (_("`Freeze Stocks Older Than` should be smaller than %d days.") %stock_frozen_limit)
 
-
+		# show/hide barcode field
+		frappe.make_property_setter({'fieldname': 'barcode', 'property': 'hidden',
+			'value': 0 if self.show_barcode_field else 1})
diff --git a/erpnext/templates/generators/item.html b/erpnext/templates/generators/item.html
index e074fa3..cf6f89b 100644
--- a/erpnext/templates/generators/item.html
+++ b/erpnext/templates/generators/item.html
@@ -20,7 +20,7 @@
 			</div>
 			<div class="col-sm-6" style="padding-left:20px;">
 				 <h2 itemprop="name" style="margin-top: 0px;">{{ item_name }}</h2>
-				
+
 				<p class="text-muted">
 					{{ _("Item Code") }}: <span itemprop="productID">{{ variant and variant.name or name }}</span></p>
 				<br>
@@ -55,7 +55,7 @@
 					<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
 						<h4 class="item-price" itemprop="price"></h4>
 						<div class="item-stock" itemprop="availability"></div>
-					</div>	
+					</div>
                     <div class="item-cart hide">
     					<div id="item-add-to-cart">
     						<button class="btn btn-primary btn-sm">
@@ -79,7 +79,7 @@
 		</div>
 		</div>
 		</div>
-		
+
 		{% if website_specifications -%}
 		<div class="row item-website-specification" style="margin-top: 40px">
 			<div class="col-md-12">
diff --git a/erpnext/templates/includes/order/order_macros.html b/erpnext/templates/includes/order/order_macros.html
index 1bb7b2c..3f8affe 100644
--- a/erpnext/templates/includes/order/order_macros.html
+++ b/erpnext/templates/includes/order/order_macros.html
@@ -9,15 +9,15 @@
         </div>
         <div class="col-xs-8 col-sm-10">
             {{ d.item_code }}
-            <p class="text-muted small item-description">{{ d.description }}</p>
+            <div class="text-muted small item-description">{{ d.description }}</div>
         </div>
     </div>
-	
+
     <div class="row item_name_dropdown">
         <div class="col-xs-4 col-sm-4 order-image-col">
             <div class="order-image">
               <span class="cart-count-badge pull-right small"> {{ d.get_formatted('qty') }} </span>{{ product_image_square(d.image) }}
-            </div>		
+            </div>
         </div>
         <div class="col-xs-8 col-sm-8">
             {{ d.item_code }}
diff --git a/erpnext/templates/includes/order/order_taxes.html b/erpnext/templates/includes/order/order_taxes.html
index 564e31e..24ae088 100644
--- a/erpnext/templates/includes/order/order_taxes.html
+++ b/erpnext/templates/includes/order/order_taxes.html
@@ -13,9 +13,9 @@
 </div>
 {% endfor %}
 <div class="row tax-grand-total-row">
-    <div class="col-xs-8 text-right">{{ _("Grand Total") }}</div>
+    <div class="col-xs-8 text-right text-uppercase h6 text-muted">{{ _("Grand Total") }}</div>
     <div class="col-xs-4 text-right">
-        <span class="tax-grand-total">
+        <span class="tax-grand-total bold">
             {{ doc.get_formatted("grand_total") }}
         </span>
     </div>
diff --git a/erpnext/templates/includes/transaction_row.html b/erpnext/templates/includes/transaction_row.html
index 2165a06..17f9b90 100644
--- a/erpnext/templates/includes/transaction_row.html
+++ b/erpnext/templates/includes/transaction_row.html
@@ -3,17 +3,17 @@
 		<div class="row">
 			<div class="col-sm-5">
 				<span class="indicator small {{ doc.indicator_color or "darkgrey" }}">
-				{{ doc.name }}</span>	
+				{{ doc.name }}</span>
 				<div class="small text-muted transaction-time"
 					title="{{ frappe.utils.format_datetime(doc.modified, "medium") }}">
 					{{ frappe.utils.format_datetime(doc.modified, "medium") }}
-				</div>			
+				</div>
 			</div>
 			<div class="col-sm-4 items-preview text-ellipsis">
 				{{ doc.items_preview }}
 			</div>
-			<div class="col-sm-3 text-right">
-				{{ doc.get_formatted("grand_total") }}				
+			<div class="col-sm-3 text-right bold">
+				{{ doc.get_formatted("grand_total") }}
 			</div>
 			<!-- <div class="col-sm-3 text-right">
 
diff --git a/erpnext/templates/pages/home.html b/erpnext/templates/pages/home.html
index 5ec396d..689d94e 100644
--- a/erpnext/templates/pages/home.html
+++ b/erpnext/templates/pages/home.html
@@ -27,7 +27,7 @@
 				</div>
 			</div>
 			<!-- TODO: remove hardcoding of /products -->
-			<div class=" text-center text-uppercase"><a href="/products" class="btn btn-primary all-products">  {{ _("View All Products") }}</a></div>
+			<div class="text-center"><a href="/products" class="btn btn-primary all-products">  {{ _("View All Products") }}</a></div>
 		</div>
 		{% endif %}
 	</div>
@@ -46,7 +46,7 @@
 	.btn-login {
 		width: 80px;
 	}
-	
-	
+
+
 </style>
 {% endblock %}
diff --git a/erpnext/templates/pages/home.py b/erpnext/templates/pages/home.py
index e7ff2ce..4440f7e 100644
--- a/erpnext/templates/pages/home.py
+++ b/erpnext/templates/pages/home.py
@@ -3,19 +3,27 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.utils import cstr, nowdate
-from erpnext.setup.doctype.item_group.item_group import get_item_for_list_in_html
 
 no_cache = 1
 no_sitemap = 1
 
 def get_context(context):
 	homepage = frappe.get_doc('Homepage')
-	
+
 	for item in homepage.products:
-		item.route = '/' + '/'.join(frappe.db.get_value('Item', item.item_code, ['parent_website_route', 'page_name']))
-		
-	
+		parent_website_route, page_name = frappe.db.get_value('Item', item.item_code,
+			['parent_website_route', 'page_name'])
+		item.route = '/' + '/'.join(filter(None, [parent_website_route, page_name]))
+
+	# show atleast 3 products
+	if len(homepage.products) < 3:
+		for i in xrange(3 - len(homepage.products)):
+			homepage.append('products', {
+				'item_code': 'product-{0}'.format(i),
+				'item_name': frappe._('Product {0}').format(i),
+				'route': '#'
+			})
+
 	return {
 		'homepage': homepage
 	}
\ No newline at end of file
diff --git a/erpnext/templates/pages/order.html b/erpnext/templates/pages/order.html
index 98f7431..61b4546 100644
--- a/erpnext/templates/pages/order.html
+++ b/erpnext/templates/pages/order.html
@@ -59,7 +59,7 @@
             <div class="col-sm-2 col-xs-3 text-right">
                 {{ d.get_formatted("amount")	 }}
                 <p class="text-muted small">{{
-                    _("Rate: {0}").format(d.get_formatted("rate")) }}</p>
+                    _("@ {0}").format(d.get_formatted("rate")) }}</p>
             </div>
         </div>
         {% endfor %}