diff --git a/erpnext/__version__.py b/erpnext/__version__.py
index 6d0efc7..e4f549b 100644
--- a/erpnext/__version__.py
+++ b/erpnext/__version__.py
@@ -1,2 +1,2 @@
 from __future__ import unicode_literals
-__version__ = 'v5.0.0'
+__version__ = '5.0.2'
diff --git a/erpnext/accounts/report/financial_statements.py b/erpnext/accounts/report/financial_statements.py
index 8a954a6..88d1beb 100644
--- a/erpnext/accounts/report/financial_statements.py
+++ b/erpnext/accounts/report/financial_statements.py
@@ -224,20 +224,6 @@
 
 	roots.sort(compare_roots)
 
-def sort_root_accounts(roots):
-	"""Sort root types as Asset, Liability, Equity, Income, Expense"""
-
-	def compare_roots(a, b):
-		if a.report_type != b.report_type and a.report_type == "Balance Sheet":
-			return -1
-		if a.root_type != b.root_type and a.root_type == "Asset":
-			return -1
-		if a.root_type == "Liability" and b.root_type == "Equity":
-			return -1
-		return 1
-
-	roots.sort(compare_roots)
-
 def get_gl_entries(company, from_date, to_date, root_lft, root_rgt, ignore_closing_entries=False):
 	"""Returns a dict like { "account": [gl entries], ... }"""
 	additional_conditions = []
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index e0f0e3b..1853fc9 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -421,8 +421,3 @@
 			})
 
 	return all_outstanding_vouchers
-
-@frappe.whitelist()
-def get_letter_head(company):
-	return frappe.db.get_value("Company",company,"default_letter_head")
-
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 1599218..846e49e 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -5,7 +5,7 @@
 app_description = "Open Source Enterprise Resource Planning for Small and Midsized Organizations"
 app_icon = "icon-th"
 app_color = "#e74c3c"
-app_version = "v5.0.0"
+app_version = "5.0.2"
 
 error_report_email = "support@erpnext.com"
 
diff --git a/erpnext/patches/v4_2/repost_requested_qty.py b/erpnext/patches/v4_2/repost_requested_qty.py
deleted file mode 100644
index 8c1d6f7..0000000
--- a/erpnext/patches/v4_2/repost_requested_qty.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import frappe
-
-def execute():
-	from erpnext.utilities.repost_stock import update_bin_qty, get_indented_qty
-
-	count=0
-	for item_code, warehouse in frappe.db.sql("""select distinct item_code, warehouse 
-		from `tabMaterial Request Item` where docstatus = 1"""):
-			try:
-				count += 1
-				update_bin_qty(item_code, warehouse, {
-					"indented_qty": get_indented_qty(item_code, warehouse),
-				})
-				if count % 200 == 0:
-					frappe.db.commit()
-			except:
-				frappe.db.rollback()
diff --git a/erpnext/patches/v4_2/update_advance_paid.py b/erpnext/patches/v4_2/update_advance_paid.py
deleted file mode 100644
index 818735a..0000000
--- a/erpnext/patches/v4_2/update_advance_paid.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import frappe
-
-def execute():
-	for dt in ("Sales Order", "Purchase Order"):
-		orders_with_advance = frappe.db.sql("""select name from `tab{0}` 
-			where docstatus < 2 and ifnull(advance_paid, 0) != 0""".format(dt), as_dict=1)
-			
-		for order in orders_with_advance:
-			frappe.get_doc(dt, order.name).set_total_advance_paid()
\ No newline at end of file
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index a96f5e9..c8b2b64 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -194,6 +194,7 @@
 		var fn = function() {
 			if(me.frm.doc.company && me.frm.fields_dict.currency) {
 				var company_currency = me.get_company_currency();
+				var company_doc = frappe.get_doc(":Company", me.frm.doc.company);
 				if (!me.frm.doc.currency) {
 					me.frm.set_value("currency", company_currency);
 				}
@@ -204,6 +205,12 @@
 				if (me.frm.doc.price_list_currency == company_currency) {
 					me.frm.set_value('plc_conversion_rate', 1.0);
 				}
+				if (company_doc.default_letter_head) {
+					me.frm.set_value("letter_head", company_doc.default_letter_head);
+				}
+				if (company_doc.default_terms) {
+					me.frm.set_value("tc_name", company_doc.default_terms);
+				}
 
 				me.frm.script_manager.trigger("currency");
 				me.apply_pricing_rule();
@@ -213,7 +220,6 @@
 		if (this.frm.doc.posting_date) var date = this.frm.doc.posting_date;
 		else var date = this.frm.doc.transaction_date;
 		erpnext.get_fiscal_year(this.frm.doc.company, date, fn);
-		erpnext.get_letter_head(this.frm.doc.company);
 
 		if(this.frm.doc.company) {
 			erpnext.last_selected_company = this.frm.doc.company;
diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js
index 355fe7d..5476d14 100644
--- a/erpnext/public/js/utils.js
+++ b/erpnext/public/js/utils.js
@@ -105,21 +105,7 @@
 
 			d.show();
 		});
-	},
-
-	get_letter_head: function(company) {
-		frappe.call({
-			type:"GET",
-			method: "erpnext.accounts.utils.get_letter_head",
-			args: {
-				"company": company
-			},
-			callback: function(r) {
-				if (!r.exe)	cur_frm.set_value("letter_head", r.message);
-			}
-		});
-	},
-
+	}
 });
 
 
diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py
index 19a9aae..f82e2fb 100644
--- a/erpnext/selling/doctype/customer/customer.py
+++ b/erpnext/selling/doctype/customer/customer.py
@@ -76,7 +76,7 @@
 
 	def validate_name_with_customer_group(self):
 		if frappe.db.exists("Customer Group", self.name):
-			frappe.throw(_("A Customer Group exists with same name please change the Customer name or rename the Customer Group"))
+			frappe.throw(_("A Customer Group exists with same name please change the Customer name or rename the Customer Group"), frappe.NameError)
 
 	def delete_customer_address(self):
 		addresses = frappe.db.sql("""select name, lead from `tabAddress`
@@ -125,9 +125,9 @@
 
 	billing_this_year = frappe.db.sql("""select sum(base_grand_total)
 		from `tabSales Invoice`
-		where customer=%s and docstatus = 1 and fiscal_year = %s""", 
+		where customer=%s and docstatus = 1 and fiscal_year = %s""",
 		(customer, frappe.db.get_default("fiscal_year")))
-		
+
 	total_unpaid = frappe.db.sql("""select sum(outstanding_amount)
 		from `tabSales Invoice`
 		where customer=%s and docstatus = 1""", customer)
diff --git a/erpnext/setup/doctype/company/company.json b/erpnext/setup/doctype/company/company.json
index 0e7b17a..db71d0f 100644
--- a/erpnext/setup/doctype/company/company.json
+++ b/erpnext/setup/doctype/company/company.json
@@ -53,14 +53,6 @@
    "read_only": 0
   }, 
   {
-   "fieldname": "default_letter_head", 
-   "fieldtype": "Link", 
-   "label": "Default Letter Head", 
-   "options": "Letter Head", 
-   "permlevel": 0, 
-   "precision": ""
-  }, 
-  {
    "fieldname": "domain", 
    "fieldtype": "Select", 
    "label": "Domain", 
@@ -72,10 +64,18 @@
    "fieldname": "charts_section", 
    "fieldtype": "Section Break", 
    "hidden": 0, 
-   "label": "Country Settings", 
+   "label": "Default Values", 
    "permlevel": 0
   }, 
   {
+   "fieldname": "default_letter_head", 
+   "fieldtype": "Link", 
+   "label": "Default Letter Head", 
+   "options": "Letter Head", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
    "fieldname": "default_holiday_list", 
    "fieldtype": "Link", 
    "label": "Default Holiday List", 
@@ -118,9 +118,17 @@
    "permlevel": 0
   }, 
   {
+   "fieldname": "default_terms", 
+   "fieldtype": "Link", 
+   "label": "Default Terms", 
+   "options": "Terms and Conditions", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
    "fieldname": "default_settings", 
    "fieldtype": "Section Break", 
-   "label": "Default Settings", 
+   "label": "Accounts Settings", 
    "oldfieldtype": "Section Break", 
    "permlevel": 0, 
    "read_only": 0
@@ -406,7 +414,7 @@
  ], 
  "icon": "icon-building", 
  "idx": 1, 
- "modified": "2015-05-04 11:22:42.116328", 
+ "modified": "2015-05-19 02:00:41.055138", 
  "modified_by": "Administrator", 
  "module": "Setup", 
  "name": "Company", 
diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py
index ad89114..d358928 100644
--- a/erpnext/setup/doctype/company/company.py
+++ b/erpnext/setup/doctype/company/company.py
@@ -63,6 +63,8 @@
 		if self.default_currency:
 			frappe.db.set_value("Currency", self.default_currency, "enabled", 1)
 
+		frappe.clear_cache()
+
 	def install_country_fixtures(self):
 		if os.path.exists(os.path.join(os.path.dirname(__file__), "fixtures", self.country.lower())):
 			frappe.get_attr("erpnext.setup.doctype.company.fixtures.{0}.install".format(self.country.lower()))(self)
@@ -167,7 +169,7 @@
 			where defkey='Company' and defvalue=%s""", (newdn, olddn))
 
 		frappe.defaults.clear_cache()
-		
+
 	def on_trash(self):
 		"""
 			Trash accounts and cost centers for this company if no gl entry exists
@@ -178,7 +180,7 @@
 			frappe.db.sql("delete from `tabAccount` where company = %s", self.name)
 
 			# delete cost center child table - budget detail
-			frappe.db.sql("""delete bd.* from `tabBudget Detail` bd, `tabCost Center` cc 
+			frappe.db.sql("""delete bd.* from `tabBudget Detail` bd, `tabCost Center` cc
 				where bd.parent = cc.name and cc.company = %s""", self.name)
 			#delete cost center
 			frappe.db.sql("delete from `tabCost Center` WHERE company = %s", self.name)
diff --git a/erpnext/startup/boot.py b/erpnext/startup/boot.py
index 48efa27..474af2c 100644
--- a/erpnext/startup/boot.py
+++ b/erpnext/startup/boot.py
@@ -29,8 +29,9 @@
 			bootinfo.setup_complete = frappe.db.sql("""select name from
 				tabCompany limit 1""") and 'Yes' or 'No'
 
-		bootinfo.docs += frappe.db.sql("""select name, default_currency, cost_center
-            from `tabCompany`""", as_dict=1, update={"doctype":":Company"})
+		bootinfo.docs += frappe.db.sql("""select name, default_currency, cost_center,
+			default_terms, default_letter_head from `tabCompany`""",
+			as_dict=1, update={"doctype":":Company"})
 
 def load_country_and_currency(bootinfo):
 	country = frappe.db.get_default("country")
diff --git a/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py b/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py
index c6ef82f..d911975 100644
--- a/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py
+++ b/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py
@@ -7,9 +7,7 @@
 from frappe.utils import flt, cint, getdate
 
 def execute(filters=None):
-	if not filters: filters = {}
-	
-	float_precision = cint(frappe.db.get_default("float_precision")) or 3
+	if not filters: filters = {}	
 
 	float_precision = cint(frappe.db.get_default("float_precision")) or 3
 	
diff --git a/setup.py b/setup.py
index 6ed8378..30ebbbb 100644
--- a/setup.py
+++ b/setup.py
@@ -1,6 +1,6 @@
 from setuptools import setup, find_packages
 
-version = "v5.0.0"
+version = "5.0.2"
 
 with open("requirements.txt", "r") as f:
 	install_requires = f.readlines()
