diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/in_indian_chart_template_schedule6.json b/erpnext/accounts/doctype/account/chart_of_accounts/in_indian_chart_template_schedule6.json
deleted file mode 100644
index b450cad..0000000
--- a/erpnext/accounts/doctype/account/chart_of_accounts/in_indian_chart_template_schedule6.json
+++ /dev/null
@@ -1,349 +0,0 @@
-{
-    "country_code": "in",
-    "name": "Indian Chart of Accounts - Schedule VI",
-	"is_active": "Yes",
-    "tree": {
-        "Assets": {
-            "Current Assets": {
-                "Cash And Cash Equivalent": {
-                    "Bank Balance": {
-                        "Balance Account": {},
-                        "Balance Account 9876543211": {}
-                    },
-                    "Cash-In-Hand": {
-                        "Cash Balance": {
-                            "account_type": "Cash"
-                        },
-                        "Petty Cash Balance": {
-                            "account_type": "Cash"
-                        },
-                        "account_type": "Cash"
-                    },
-                    "Cheques On Hand": {
-                        "Cheque With Account": {}
-                    }
-                },
-                "Current Investment": {
-                    "In Short Term Fixed Deposits": {},
-                    "Investment In Debentures And Bonds": {},
-                    "Investment In Equity": {},
-                    "Investment In Government Securities": {},
-                    "Investment In Mutual Fund": {},
-                    "Investment In Partnership Firm": {},
-                    "Investment In Preference Shares": {}
-                },
-                "Inventories": {
-	                "account_type": "Stock",
-					"group_or_ledger": "Group"
-                },
-                "Other Current Assets": {
-                    "Duties and Taxes": {
-                        "Excise Duty Receivable": {
-                            "Education Cess Receivable On Excise Duty": {},
-                            "Excise Duty Receivable": {},
-                            "Higher Education Cess Receivable On Excise Duty": {}
-                        },
-                        "Sales Tax Receivable": {},
-                        "Service Tax Receivable": {
-                            "Education Cess Receivable On Service Tax": {},
-                            "Higher Education Cess Receivable On Service Tax": {},
-                            "Service Tax Receivable": {}
-                        },
-                        "TDS Receivable": {},
-                        "VAT Receivable": {}
-                    },
-                    "Miscellaneous Expense to the Extent Not Written Off": {
-                        "Preliminary Expense": {}
-                    }
-                },
-                "Short Terms Loans And Advances": {
-                    "Advances with Revenue Authority": {
-                        "Advance Income Tax/Refund Due": {},
-                        "Advance To Suppliers": {},
-                        "Balance With Revenue Authorities (Indirect Taxes)": {},
-                        "Prepaid Expenses": {}
-                    },
-                    "Loans And Advances From Related Parties": {
-                        "Doubtful": {},
-                        "Other Advances Unsecured and Considered as Good": {
-                            "Unsecured Recoverable in Cash or in Kind or for Value to be Received": {}
-                        },
-                        "Secured, Considered Good": {
-                            "Advance To Associate Concerns": {}
-                        }
-                    }
-                },
-                "Trade Recievables": {
-                    "Others": {
-                        "Doubtful": {},
-                        "Secured, Considered Good": {},
-                        "Unsecured, Considered Good": {}
-                    },
-                    "Outstanding For More Than Six Months": {
-                        "Doubtful": {},
-                        "Secured, Considered Good": {},
-                        "Unsecured, Considered Good": {}
-                    },
-                    "Sundry Debtors": {
-                        "account_type": "Receivable"
-                    }
-                }
-            },
-            "Non-Current Assets": {
-                "Deferred Tax Assets (Net)": {},
-                "Fixed Assets": {
-                    "Capital Work-In-Progress": {
-                        "Building Under Construction": {}
-                    },
-                    "Intangible Assets": {
-                        "Goodwill": {}
-                    },
-                    "Intangible Assets Under Development": {},
-                    "Tangible Assets": {
-                        "Buildings": {},
-                        "Computer/Laptops": {},
-                        "Furnitures And Fixtures": {},
-                        "Land": {},
-                        "Office Equipments": {},
-                        "Plant And Equipments": {},
-                        "Vehicles": {}
-                    }
-                },
-                "Long Term Loans And Advances": {
-                    "Capital Assets": {
-                        "Doubtful": {},
-                        "Secured, Considered Good": {},
-                        "Unsecured, Considered Good": {}
-                    },
-                    "Loans And Advances To Related Parties": {},
-                    "Other Loans And Advances": {},
-                    "Security Deposit": {
-                        "Doubtful": {},
-                        "Secured, Considered Good": {
-                            "Earnest Money Deposit": {},
-                            "Other Deposit": {}
-                        },
-                        "Unsecured, Considered Good": {}
-                    }
-                },
-                "Non-Current Investments": {
-                    "Investment In Debentures And Bonds": {},
-                    "Investment In Equity Instrument": {},
-                    "Investment In Government Or Trust Securities": {},
-                    "Investment In Mutual Fund": {},
-                    "Investment In Partnership Firm": {},
-                    "Investment In Preference Shares": {},
-                    "Investment In Property": {},
-                    "Other": {
-                        "Fixed Deposit With Banks-Earmarked": {},
-                        "Gold": {}
-                    }
-                },
-                "Other Non Current Assets": {
-                    "Long Term Trade Recievables": {
-                        "Doubtful": {},
-                        "Secured, Considered Good": {},
-                        "Unsecured, Considered Good": {}
-                    },
-                    "Miscellaneous Exps to the Extent Not Written Off": {
-                        "Preliminery Expense": {},
-                        "Software": {}
-                    },
-                    "Others": {}
-                }
-            },
-			"root_type": "Asset"
-        },
-        "Equity And Liabilities": {
-            "Current Liabilities": {
-                "Other Current Liabilities": {
-                    "Advance From Customers": {},
-                    "Duties and Taxes": {
-                        "Central Sales Tax Payable": {},
-                        "Excise Duty Payable": {
-                            "Education Cess Payable On Excise Duty": {},
-                            "Excise Duty Payable": {},
-                            "Higher Education Cess Payable On Excise Duty": {}
-                        },
-                        "Service Tax Payable": {
-                            "Education Cess Payable On Service Tax": {},
-                            "Higher Education Cess Payable On Service Tax": {},
-                            "Service Tax Payable": {}
-                        },
-                        "TDS Paybale": {},
-                        "VAT Payable": {}
-                    },
-                    "Out Standing Cheques for Clearance": {}
-                },
-                "Short Term Borrowings": {
-                    "Depsoits": {},
-                    "Loans And Advances From Related Parties": {},
-                    "Others": {},
-                    "Secured Loans From Bank": {
-                        "Bank Loan (Short Term)": {}
-                    }
-                },
-                "Short Term Provisions": {
-                    "Other Provisions": {
-                        "Electricity And Power Charges Payable": {},
-                        "Employee Providend Fund Payable": {},
-                        "Internet Expenses Payable": {},
-                        "Mobile Expenses Payable": {},
-                        "Provision For Expenses": {},
-                        "Provision For Taxation": {},
-                        "Secueity Expenses Payable": {},
-                        "Telephone Expenses Payable": {},
-                        "Wages Payable": {}
-                    },
-                    "Provision For Employees Benefit": {
-                        "EPF Payable": {},
-                        "Unpaid Remuneration": {}
-                    }
-                },
-                "Trade Payables": {
-                    "Sundry Creditors For Material/Supplies": {
-                        "account_type": "Payable"
-                    },
-                    "Sundry Creditors For Services": {
-                        "account_type": "Payable"
-                    }
-                }
-            },
-            "Non-Current Liabilities": {
-                "Deferred Tax Liabilities (Net)": {},
-                "Long Term Borrowings": {
-                    "Secured Loans From Bank": {
-                        "Bank Loan (Long Term)": {}
-                    },
-                    "Unsecured Loans": {
-                        "From Others": {}
-                    }
-                },
-                "Long Term Provisions": {},
-                "Other Long Term Liabilities": {}
-            },
-            "Share Application Money Pending Allotment": {
-                "Share Application Money Pending Allotment": {}
-            },
-            "Shareholder's Funds": {
-                "Money Received Against Share Warrants": {},
-                "Reserve And Surplus": {
-                    "Capital Redemption Reserve": {},
-                    "Capital Reserve": {},
-                    "Debenture Redeemption Reserve": {},
-                    "Other Reserve": {},
-                    "Revaluation Reserve": {},
-                    "Securities Premium Reserve": {},
-                    "Shares Option Outstanding Account": {},
-                    "Surplus (Profit and Loss Account)": {}
-                },
-                "Share Capital": {
-                    "Authorised Share Capital": {},
-                    "Issued, Subscribed And Paid Up Capital": {}
-                }
-            },
-			"root_type": "Liability"
-        },
-        "Total Expenses": {
-            "Changes In Inventories of Finished Goods, Work-In-Progress And Stock-In-Trade": {},
-            "Cost of Materials Consumed": {
-                "Closing Stock": {},
-                "Opening Stock": {},
-                "Purchases of Raw Materials And Stores": {
-                    "Raw Material": {},
-                    "Stores And Consumables": {}
-                }
-            },
-            "Depreciation And Amortization Expense": {
-                "Depreciation": {},
-                "Preliminary Expenses": {}
-            },
-            "Employement Benefit Expenses": {
-                "Commision To Joint M.D": {},
-                "Commision To M.D": {},
-                "Directors Remuneration": {},
-                "Directors Setting Fees": {},
-                "Salaries, Bonus, PF And ESIC": {},
-                "Staff Welfare Expense": {}
-            },
-            "Financial Cost": {
-                "Bank Charges": {},
-                "Bank Gurantee Charges": {},
-                "Interest On Car Loan": {},
-                "Interest On Cash Credit Facality": {},
-                "Interest On Other Loans": {}
-            },
-            "Other Expenses": {
-                "Administrative and Selling Expenses": {
-                    "Advertisement And Publicity": {},
-                    "Annual Service Fees": {},
-                    "Auditors Remuneration": {},
-                    "Car Expenses (Including Insurance)": {},
-                    "Computer Maintenace": {},
-                    "Conveyance Expense": {},
-                    "Custom Duty": {},
-                    "Donation": {},
-                    "Excise/ Service Tax Expenses": {},
-                    "Export Expenses": {},
-                    "General Expenses": {},
-                    "Insurance Expenses": {},
-                    "Interest On Delayed Payment of Taxes": {},
-                    "Internal Audit Fee": {},
-                    "Internet And Website Expenses": {},
-                    "Labour Welfare Expenses": {},
-                    "Legal Expenses": {},
-                    "Loan Processing Fees": {},
-                    "Office Cleaning Expense": {},
-                    "Packing and Forwarding Expense": {},
-                    "Post and Courrier Charges": {},
-                    "Postage And Telegram": {},
-                    "Prelimenary Expense W/Off": {},
-                    "Professional Charges": {},
-                    "Rent Rates And Taxes": {},
-                    "Repair And Maintenance Building": {},
-                    "Security Expesnes": {},
-                    "Software Expense W/Off": {},
-                    "Stamping Charge": {},
-                    "Stationery Expenses": {},
-                    "Telephone Expense": {},
-                    "Tender Fee And Testing Charges": {},
-                    "Travelling Expenses (Including Foreign Travelling)": {}
-                },
-                "Direct Expenses": {
-                    "Centeral Sales Tax": {},
-                    "Electrical Repairing Expense": {},
-                    "Freight Forwarding and Octroi Expenses (Local)": {},
-                    "Jobwork Charges": {},
-                    "Machinery Repair and Maintenance": {},
-                    "Material Testing Expense": {},
-                    "Measuring Expense": {},
-                    "Packing Material Expense": {},
-                    "Power and Fuel Charges": {},
-                    "Processing Labour Charges": {},
-                    "Stores and Spares": {},
-                    "Workshop Expense": {}
-                }
-            },
-            "Purchase of Stock-In-Trade": {
-                "Purchase of Stock-In-Trade": {}
-            },
-			"root_type": "Expense"
-        },
-        "Total Revenue": {
-            "Other Income": {
-                "Interest": {},
-                "Other Financial Services": {},
-                "Other Non Operating Income": {}
-            },
-            "Revenue From Operations": {
-                "Central Sales(Exclusive of Excise Duty)": {},
-                "Export Sales": {},
-                "Job Work Receipts": {},
-                "Other Operating Income": {},
-                "Product Sales": {},
-                "Sales of Services": {}
-            },
-			"root_type": "Income"
-        }
-    }
-}
diff --git a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js
index b4e8f1d..972eece 100644
--- a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js
+++ b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js
@@ -16,3 +16,20 @@
 		};
 	});
 }
+
+frappe.ui.form.on("Bank Reconciliation", "update_clearance_date", function(frm) {
+	return frappe.call({
+		method: "update_details",
+		doc: frm.doc
+	})
+})
+
+frappe.ui.form.on("Bank Reconciliation", "get_relevant_entries", function(frm) {
+	return frappe.call({
+		method: "get_details",
+		doc: frm.doc,
+		callback: function(r, rt) {
+			frm.refresh()
+		}
+	})
+})
diff --git a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.json b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.json
index 8e02873..c5a2a96 100644
--- a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.json
+++ b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.json
@@ -1,108 +1,108 @@
 {
- "allow_copy": 1,
- "allow_email": 1,
- "allow_print": 1,
- "creation": "2013-01-10 16:34:05",
- "docstatus": 0,
- "doctype": "DocType",
+ "allow_copy": 1, 
+ "allow_email": 1, 
+ "allow_print": 1, 
+ "creation": "2013-01-10 16:34:05", 
+ "docstatus": 0, 
+ "doctype": "DocType", 
  "fields": [
   {
-   "description": "Select account head of the bank where cheque was deposited.",
-   "fieldname": "bank_account",
-   "fieldtype": "Link",
-   "in_list_view": 1,
-   "label": "Bank Account",
-   "options": "Account",
-   "permlevel": 0,
+   "description": "Select account head of the bank where cheque was deposited.", 
+   "fieldname": "bank_account", 
+   "fieldtype": "Link", 
+   "in_list_view": 1, 
+   "label": "Bank Account", 
+   "options": "Account", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "company",
-   "fieldtype": "Link",
-   "hidden": 1,
-   "in_list_view": 1,
-   "label": "Company",
-   "options": "Company",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "company", 
+   "fieldtype": "Link", 
+   "hidden": 1, 
+   "in_list_view": 1, 
+   "label": "Company", 
+   "options": "Company", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "reqd": 0
-  },
+  }, 
   {
-   "fieldname": "from_date",
-   "fieldtype": "Date",
-   "in_list_view": 1,
-   "label": "From Date",
-   "permlevel": 0,
+   "fieldname": "from_date", 
+   "fieldtype": "Date", 
+   "in_list_view": 1, 
+   "label": "From Date", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "to_date",
-   "fieldtype": "Date",
-   "in_list_view": 1,
-   "label": "To Date",
-   "permlevel": 0,
+   "fieldname": "to_date", 
+   "fieldtype": "Date", 
+   "in_list_view": 1, 
+   "label": "To Date", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "include_reconciled_entries",
-   "fieldtype": "Check",
-   "in_list_view": 1,
-   "label": "Include Reconciled Entries",
+   "fieldname": "include_reconciled_entries", 
+   "fieldtype": "Check", 
+   "in_list_view": 1, 
+   "label": "Include Reconciled Entries", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "get_relevant_entries",
-   "fieldtype": "Button",
-   "label": "Get Relevant Entries",
-   "options": "get_details",
+   "fieldname": "get_relevant_entries", 
+   "fieldtype": "Button", 
+   "label": "Get Relevant Entries", 
+   "options": "", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "journal_entries",
-   "fieldtype": "Table",
-   "label": "Journal Entries",
-   "options": "Bank Reconciliation Detail",
+   "fieldname": "journal_entries", 
+   "fieldtype": "Table", 
+   "label": "Journal Entries", 
+   "options": "Bank Reconciliation Detail", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "update_clearance_date",
-   "fieldtype": "Button",
-   "label": "Update Clearance Date",
-   "options": "update_details",
+   "fieldname": "update_clearance_date", 
+   "fieldtype": "Button", 
+   "label": "Update Clearance Date", 
+   "options": "", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "total_amount",
-   "fieldtype": "Currency",
-   "label": "Total Amount",
-   "options": "Company:company:default_currency",
-   "permlevel": 0,
+   "fieldname": "total_amount", 
+   "fieldtype": "Currency", 
+   "label": "Total Amount", 
+   "options": "Company:company:default_currency", 
+   "permlevel": 0, 
    "read_only": 1
   }
- ],
- "hide_heading": 1,
- "hide_toolbar": 1,
- "icon": "icon-check",
- "idx": 1,
- "issingle": 1,
- "modified": "2014-12-25 13:16:16.711609",
- "modified_by": "Administrator",
- "module": "Accounts",
- "name": "Bank Reconciliation",
- "owner": "Administrator",
+ ], 
+ "hide_heading": 1, 
+ "hide_toolbar": 1, 
+ "icon": "icon-check", 
+ "idx": 1, 
+ "issingle": 1, 
+ "modified": "2015-01-19 07:49:15.830001", 
+ "modified_by": "Administrator", 
+ "module": "Accounts", 
+ "name": "Bank Reconciliation", 
+ "owner": "Administrator", 
  "permissions": [
   {
-   "amend": 0,
-   "apply_user_permissions": 0,
-   "cancel": 0,
-   "create": 1,
-   "permlevel": 0,
-   "read": 1,
-   "report": 0,
-   "role": "Accounts User",
-   "submit": 0,
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "permlevel": 0, 
+   "read": 1, 
+   "report": 0, 
+   "role": "Accounts User", 
+   "submit": 0, 
    "write": 1
   }
- ],
+ ], 
  "read_only": 1
-}
+}
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/cost_center/cost_center.json b/erpnext/accounts/doctype/cost_center/cost_center.json
index f8d59f8..20c5ca4 100644
--- a/erpnext/accounts/doctype/cost_center/cost_center.json
+++ b/erpnext/accounts/doctype/cost_center/cost_center.json
@@ -79,7 +79,7 @@
    "permlevel": 0
   }, 
   {
-   "description": "Select Budget Distribution, if you want to track based on seasonality.", 
+   "description": "Select Monthly Distribution, if you want to track based on seasonality.", 
    "fieldname": "distribution_id", 
    "fieldtype": "Link", 
    "label": "Distribution Id", 
diff --git a/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.json b/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.json
index 095c64a..7d801dc 100644
--- a/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.json
+++ b/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.json
@@ -1,12 +1,12 @@
 {
  "autoname": "field:distribution_id", 
  "creation": "2013-01-10 16:34:05", 
- "description": "**Budget Distribution** helps you distribute your budget across months if you have seasonality in your business.\n\nTo distribute a budget using this distribution, set this **Budget Distribution** in the **Cost Center**", 
+ "description": "**Monthly Distribution** helps you distribute your budget across months if you have seasonality in your business.\n\nTo distribute a budget using this distribution, set this **Monthly Distribution** in the **Cost Center**", 
  "docstatus": 0, 
  "doctype": "DocType", 
  "fields": [
   {
-   "description": "Name of the Budget Distribution", 
+   "description": "Name of the Monthly Distribution", 
    "fieldname": "distribution_id", 
    "fieldtype": "Data", 
    "in_list_view": 1, 
diff --git a/erpnext/accounts/doctype/monthly_distribution/test_records.json b/erpnext/accounts/doctype/monthly_distribution/test_records.json
index ffc6c68..8dbf210 100644
--- a/erpnext/accounts/doctype/monthly_distribution/test_records.json
+++ b/erpnext/accounts/doctype/monthly_distribution/test_records.json
@@ -1,8 +1,8 @@
 [{
-	"doctype": "Budget Distribution",
+	"doctype": "Monthly Distribution",
 	"distribution_id": "_Test Distribution",
 	"fiscal_year": "_Test Fiscal Year 2013",
-	"budget_distribution_details": [
+	"percentages": [
 		{
 			"month": "January",
 			"percentage_allocation": "8"
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
index c2632bf..95bfad5 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
@@ -109,7 +109,7 @@
 	},
 
 	on_submit: function() {
-		$.each(this.frm.doc["items"], function(i, row) {
+		$.each(this.frm.doc["items"] || [], function(i, row) {
 			if(row.purchase_receipt) frappe.model.clear_doc("Purchase Receipt", row.purchase_receipt)
 		})
 	}
diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges_master/test_purchase_taxes_and_charges_master.py b/erpnext/accounts/doctype/purchase_taxes_and_charges_master/test_purchase_taxes_and_charges_master.py
deleted file mode 100644
index 4f600bd..0000000
--- a/erpnext/accounts/doctype/purchase_taxes_and_charges_master/test_purchase_taxes_and_charges_master.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors and Contributors
-# See license.txt
-
-import frappe
-import unittest
-
-test_records = frappe.get_test_records('Purchase Taxes and Charges Master')
-
-class TestPurchaseTaxesandChargesMaster(unittest.TestCase):
-	pass
diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges_master/test_records.json b/erpnext/accounts/doctype/purchase_taxes_and_charges_master/test_records.json
deleted file mode 100644
index e230c20..0000000
--- a/erpnext/accounts/doctype/purchase_taxes_and_charges_master/test_records.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
-	{
-		"doctype": "Purchase Taxes and Charges Master",
-		"name": "_Test Purchase Taxes and Charges Master 1"
-	}
-]
diff --git a/erpnext/accounts/page/accounts_browser/accounts_browser.js b/erpnext/accounts/page/accounts_browser/accounts_browser.js
index efbb13a..6aa4c0f 100644
--- a/erpnext/accounts/page/accounts_browser/accounts_browser.js
+++ b/erpnext/accounts/page/accounts_browser/accounts_browser.js
@@ -7,7 +7,7 @@
 // edit node
 // see ledger
 
-pscript['onload_Accounts Browser'] = function(wrapper){
+frappe.pages["Accounts Browser"].on_page_load  = function(wrapper){
 	frappe.ui.make_app_page({
 		parent: wrapper,
 		single_column: true
@@ -15,7 +15,7 @@
 
 	frappe.add_breadcrumbs("Accounts");
 
-	var main = $(wrapper).find(".layout-main"),
+	var main = wrapper.page.main,
 		chart_area = $("<div>")
 			.css({"margin-bottom": "15px", "min-height": "200px"})
 			.appendTo(main),
@@ -58,7 +58,6 @@
 			var ctype = frappe.get_route()[1] || 'Account';
 			erpnext.account_chart = new erpnext.AccountsChart(ctype, $(this).val(),
 				chart_area.get(0));
-			pscript.set_title(wrapper, ctype, $(this).val());
 		})
 
 	// load up companies
@@ -74,18 +73,13 @@
 	});
 }
 
-pscript.set_title = function(wrapper, ctype, val) {
-}
-
-pscript['onshow_Accounts Browser'] = function(wrapper){
+frappe.pages["Accounts Browser"].on_page_show = function(wrapper){
 	// set route
 	var ctype = frappe.get_route()[1] || 'Account';
 
 	if(erpnext.account_chart && erpnext.account_chart.ctype != ctype) {
 		wrapper.$company_select.change();
 	}
-
-	pscript.set_title(wrapper, ctype);
 }
 
 erpnext.AccountsChart = Class.extend({
@@ -260,7 +254,7 @@
 		});
 
 		// show
-		d.onshow = function() {
+		d.on_page_show = function() {
 			$(fd.group_or_ledger.input).change();
 			$(fd.account_type.input).change();
 		}
diff --git a/erpnext/accounts/page/financial_analytics/financial_analytics.js b/erpnext/accounts/page/financial_analytics/financial_analytics.js
index aa08c92..631af15 100644
--- a/erpnext/accounts/page/financial_analytics/financial_analytics.js
+++ b/erpnext/accounts/page/financial_analytics/financial_analytics.js
@@ -3,7 +3,7 @@
 
 frappe.require("assets/erpnext/js/account_tree_grid.js");
 
-frappe.pages['financial-analytics'].onload = function(wrapper) {
+frappe.pages['financial-analytics'].on_page_load = function(wrapper) {
 	frappe.ui.make_app_page({
 		parent: wrapper,
 		title: __('Financial Analytics'),
diff --git a/erpnext/accounts/page/pos/pos.js b/erpnext/accounts/page/pos/pos.js
index 7dceb64..c3b3c03 100644
--- a/erpnext/accounts/page/pos/pos.js
+++ b/erpnext/accounts/page/pos/pos.js
@@ -1,4 +1,4 @@
-frappe.pages['pos'].onload = function(wrapper) {
+frappe.pages['pos'].on_page_load = function(wrapper) {
 	var page = frappe.ui.make_app_page({
 		parent: wrapper,
 		title: __('Start POS'),
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js
index 1651e15..544a17a 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.js
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.js
@@ -154,7 +154,7 @@
 	project_name: function(doc, cdt, cdn) {
 		var item = frappe.get_doc(cdt, cdn);
 		if(item.project_name) {
-			$.each(this.frm.doc["items"],
+			$.each(this.frm.doc["items"] || [],
 				function(i, other_item) {
 					if(!other_item.project_name) {
 						other_item.project_name = item.project_name;
@@ -180,7 +180,7 @@
 	calculate_item_values: function() {
 		var me = this;
 
-		$.each(this.frm.doc["items"], function(i, item) {
+		$.each(this.frm.doc["items"] || [], function(i, item) {
 			frappe.model.round_floats_in(item);
 			item.amount = flt(item.rate * item.qty, precision("amount", item));
 			item.item_tax_amount = 0.0;
@@ -196,7 +196,7 @@
 		var me = this;
 
 		this.frm.doc.net_total = this.frm.doc.net_total_import = 0.0;
-		$.each(this.frm.doc["items"], function(i, item) {
+		$.each(this.frm.doc["items"] || [], function(i, item) {
 			me.frm.doc.net_total += item.base_amount;
 			me.frm.doc.net_total_import += item.amount;
 		});
@@ -205,7 +205,7 @@
 	},
 
 	calculate_totals: function() {
-		var tax_count = this.frm.doc["taxes"].length;
+		var tax_count = this.frm.doc["taxes"] ? this.frm.doc["taxes"].length : 0;
 		this.frm.doc.grand_total = flt(tax_count ?
 			this.frm.doc["taxes"][tax_count - 1].total : this.frm.doc.net_total);
 		this.frm.doc.grand_total_import = flt(tax_count ?
@@ -255,7 +255,7 @@
 
 		if(this.frm.doc["items"].length) {
 			if(!frappe.meta.get_docfield(this.frm.doc["items"][0].doctype, "item_tax_amount", this.frm.doctype)) {
-				$.each(this.frm.doc["items"], function(i, item) {
+				$.each(this.frm.doc["items"] || [], function(i, item) {
 					delete item["item_tax_amount"];
 				});
 			}
@@ -263,7 +263,7 @@
 
 		if(this.frm.doc["taxes"].length) {
 			if(!frappe.meta.get_docfield(this.frm.doc["taxes"][0].doctype, "tax_amount_after_discount_amount", this.frm.doctype)) {
-				$.each(this.frm.doc["taxes"], function(i, tax) {
+				$.each(this.frm.doc["taxes"] || [], function(i, tax) {
 					delete tax["tax_amount_after_discount_amount"];
 				});
 			}
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json
index b43af26..e103196 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.json
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -117,7 +117,7 @@
    "report_hide": 0
   }, 
   {
-   "description": "Select the relevant company name if you have multiple companies", 
+   "description": "", 
    "fieldname": "company", 
    "fieldtype": "Link", 
    "in_filter": 1, 
@@ -775,7 +775,7 @@
  "icon": "icon-file-text", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2015-01-15 07:34:27.901777", 
+ "modified": "2015-01-30 04:20:42.103367", 
  "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Purchase Order", 
diff --git a/erpnext/buying/doctype/supplier/supplier.json b/erpnext/buying/doctype/supplier/supplier.json
index 2c7363e..ff40070 100644
--- a/erpnext/buying/doctype/supplier/supplier.json
+++ b/erpnext/buying/doctype/supplier/supplier.json
@@ -1,244 +1,244 @@
 {
- "allow_import": 1,
- "allow_rename": 1,
- "autoname": "naming_series:",
- "creation": "2013-01-10 16:34:11",
- "description": "Supplier of Goods or Services.",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Master",
+ "allow_import": 1, 
+ "allow_rename": 1, 
+ "autoname": "naming_series:", 
+ "creation": "2013-01-10 16:34:11", 
+ "description": "Supplier of Goods or Services.", 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "Master", 
  "fields": [
   {
-   "fieldname": "basic_info",
-   "fieldtype": "Section Break",
-   "label": "Basic Info",
-   "oldfieldtype": "Section Break",
-   "options": "icon-user",
+   "fieldname": "basic_info", 
+   "fieldtype": "Section Break", 
+   "label": "Basic Info", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-user", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "naming_series",
-   "fieldtype": "Select",
-   "label": "Series",
-   "no_copy": 1,
-   "oldfieldname": "naming_series",
-   "oldfieldtype": "Select",
-   "options": "SUPP-",
+   "fieldname": "naming_series", 
+   "fieldtype": "Select", 
+   "label": "Series", 
+   "no_copy": 1, 
+   "oldfieldname": "naming_series", 
+   "oldfieldtype": "Select", 
+   "options": "SUPP-", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "supplier_name",
-   "fieldtype": "Data",
-   "in_list_view": 0,
-   "label": "Supplier Name",
-   "no_copy": 1,
-   "oldfieldname": "supplier_name",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
+   "fieldname": "supplier_name", 
+   "fieldtype": "Data", 
+   "in_list_view": 0, 
+   "label": "Supplier Name", 
+   "no_copy": 1, 
+   "oldfieldname": "supplier_name", 
+   "oldfieldtype": "Data", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "column_break0",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break0", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "supplier_type",
-   "fieldtype": "Link",
-   "in_list_view": 1,
-   "label": "Supplier Type",
-   "oldfieldname": "supplier_type",
-   "oldfieldtype": "Link",
-   "options": "Supplier Type",
-   "permlevel": 0,
+   "fieldname": "supplier_type", 
+   "fieldtype": "Link", 
+   "in_list_view": 1, 
+   "label": "Supplier Type", 
+   "oldfieldname": "supplier_type", 
+   "oldfieldtype": "Link", 
+   "options": "Supplier Type", 
+   "permlevel": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "depends_on": "eval:!doc.__islocal",
-   "fieldname": "address_contacts",
-   "fieldtype": "Section Break",
-   "label": "Address & Contacts",
-   "oldfieldtype": "Column Break",
-   "options": "icon-map-marker",
+   "depends_on": "eval:!doc.__islocal", 
+   "fieldname": "address_contacts", 
+   "fieldtype": "Section Break", 
+   "label": "Address & Contacts", 
+   "oldfieldtype": "Column Break", 
+   "options": "icon-map-marker", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "address_html",
-   "fieldtype": "HTML",
-   "label": "Address HTML",
-   "permlevel": 0,
+   "fieldname": "address_html", 
+   "fieldtype": "HTML", 
+   "label": "Address HTML", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "column_break1",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break1", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "contact_html",
-   "fieldtype": "HTML",
-   "label": "Contact HTML",
-   "permlevel": 0,
+   "fieldname": "contact_html", 
+   "fieldtype": "HTML", 
+   "label": "Contact HTML", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "default_payable_accounts",
-   "fieldtype": "Section Break",
-   "label": "Default Payable Accounts",
+   "fieldname": "default_payable_accounts", 
+   "fieldtype": "Section Break", 
+   "label": "Default Payable Accounts", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "accounts",
-   "fieldtype": "Table",
-   "label": "Accounts",
-   "options": "Party Account",
+   "fieldname": "accounts", 
+   "fieldtype": "Table", 
+   "label": "Accounts", 
+   "options": "Party Account", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "more_info",
-   "fieldtype": "Section Break",
-   "label": "More Info",
-   "oldfieldtype": "Section Break",
-   "options": "icon-file-text",
+   "fieldname": "more_info", 
+   "fieldtype": "Section Break", 
+   "label": "More Info", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-file-text", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "default_currency",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Default Currency",
-   "no_copy": 1,
-   "options": "Currency",
+   "fieldname": "default_currency", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "Default Currency", 
+   "no_copy": 1, 
+   "options": "Currency", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "default_price_list",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Price List",
-   "options": "Price List",
+   "fieldname": "default_price_list", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "Price List", 
+   "options": "Price List", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "default_taxes_and_charges",
-   "fieldtype": "Link",
-   "ignore_user_permissions": 1,
-   "label": "Taxes and Charges",
-   "options": "Purchase Taxes and Charges Master",
+   "fieldname": "default_taxes_and_charges", 
+   "fieldtype": "Link", 
+   "ignore_user_permissions": 1, 
+   "label": "Taxes and Charges", 
+   "options": "Purchase Taxes and Charges Master", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "credit_days",
-   "fieldtype": "Int",
-   "label": "Credit Days",
+   "fieldname": "credit_days", 
+   "fieldtype": "Int", 
+   "label": "Credit Days", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "column_break2",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break2", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "width": "50%"
-  },
+  }, 
   {
-   "fieldname": "website",
-   "fieldtype": "Data",
-   "label": "Website",
-   "oldfieldname": "website",
-   "oldfieldtype": "Data",
+   "fieldname": "website", 
+   "fieldtype": "Data", 
+   "label": "Website", 
+   "oldfieldname": "website", 
+   "oldfieldtype": "Data", 
    "permlevel": 0
-  },
+  }, 
   {
-   "description": "Statutory info and other general information about your Supplier",
-   "fieldname": "supplier_details",
-   "fieldtype": "Text",
-   "label": "Supplier Details",
-   "oldfieldname": "supplier_details",
-   "oldfieldtype": "Code",
+   "description": "Statutory info and other general information about your Supplier", 
+   "fieldname": "supplier_details", 
+   "fieldtype": "Text", 
+   "label": "Supplier Details", 
+   "oldfieldname": "supplier_details", 
+   "oldfieldtype": "Code", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "communications",
-   "fieldtype": "Table",
-   "hidden": 1,
-   "label": "Communications",
-   "options": "Communication",
-   "permlevel": 0,
+   "fieldname": "communications", 
+   "fieldtype": "Table", 
+   "hidden": 1, 
+   "label": "Communications", 
+   "options": "Communication", 
+   "permlevel": 0, 
    "print_hide": 1
   }
- ],
- "icon": "icon-user",
- "idx": 1,
- "modified": "2015-01-06 17:32:39.936580",
- "modified_by": "Administrator",
- "module": "Buying",
- "name": "Supplier",
- "owner": "Administrator",
+ ], 
+ "icon": "icon-user", 
+ "idx": 1, 
+ "modified": "2015-01-20 17:35:41.423211", 
+ "modified_by": "Administrator", 
+ "module": "Buying", 
+ "name": "Supplier", 
+ "owner": "Administrator", 
  "permissions": [
   {
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
    "role": "Purchase User"
-  },
+  }, 
   {
-   "amend": 0,
-   "create": 0,
-   "delete": 0,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Purchase Manager",
-   "submit": 0,
+   "amend": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Purchase Manager", 
+   "submit": 0, 
    "write": 0
-  },
+  }, 
   {
-   "amend": 0,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Purchase Master Manager",
-   "submit": 0,
+   "amend": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Purchase Master Manager", 
+   "submit": 0, 
    "write": 1
-  },
+  }, 
   {
-   "apply_user_permissions": 1,
-   "permlevel": 0,
-   "read": 1,
+   "apply_user_permissions": 1, 
+   "permlevel": 0, 
+   "read": 1, 
    "role": "Material User"
-  },
+  }, 
   {
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
    "role": "Material Manager"
-  },
+  }, 
   {
-   "apply_user_permissions": 1,
-   "permlevel": 0,
-   "read": 1,
+   "apply_user_permissions": 1, 
+   "permlevel": 0, 
+   "read": 1, 
    "role": "Accounts User"
-  },
+  }, 
   {
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
    "role": "Accounts Manager"
   }
- ],
- "search_fields": "supplier_name,supplier_type",
+ ], 
+ "search_fields": "supplier_name, supplier_type", 
  "title_field": "supplier_name"
-}
+}
\ No newline at end of file
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
index a938481..a6c7ae7 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
@@ -117,7 +117,7 @@
    "report_hide": 0
   }, 
   {
-   "description": "Select the relevant company name if you have multiple companies", 
+   "description": "", 
    "fieldname": "company", 
    "fieldtype": "Link", 
    "in_filter": 1, 
@@ -575,7 +575,7 @@
  "icon": "icon-shopping-cart", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2015-01-15 07:34:12.734538", 
+ "modified": "2015-01-30 04:20:19.719720", 
  "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Supplier Quotation", 
diff --git a/erpnext/buying/page/purchase_analytics/purchase_analytics.js b/erpnext/buying/page/purchase_analytics/purchase_analytics.js
index dea6a86..5ac7593 100644
--- a/erpnext/buying/page/purchase_analytics/purchase_analytics.js
+++ b/erpnext/buying/page/purchase_analytics/purchase_analytics.js
@@ -1,7 +1,7 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-frappe.pages['purchase-analytics'].onload = function(wrapper) {
+frappe.pages['purchase-analytics'].on_page_load = function(wrapper) {
 	frappe.ui.make_app_page({
 		parent: wrapper,
 		title: __('Purchase Analytics'),
diff --git a/erpnext/config/desktop.py b/erpnext/config/desktop.py
index 968473e..7d2a620 100644
--- a/erpnext/config/desktop.py
+++ b/erpnext/config/desktop.py
@@ -56,13 +56,5 @@
 			"icon": "icon-phone",
 			"icon": "octicon octicon-issue-opened",
 			"type": "module"
-		},
-		"Shopping Cart": {
-			"color": "#B7E090",
-			"icon": "icon-shopping-cart",
-			"icon": "octicon octicon-gift",
-			"label": _("Shopping Cart"),
-			"link": "Form/Shopping Cart Settings",
-			"type": "module"
 		}
 	}
diff --git a/erpnext/config/website.py b/erpnext/config/website.py
new file mode 100644
index 0000000..45fad66
--- /dev/null
+++ b/erpnext/config/website.py
@@ -0,0 +1,18 @@
+from frappe import _
+
+def get_data():
+	return [
+		{
+			"label": _("Shopping Cart"),
+			"icon": "icon-wrench",
+			"items": [
+				{
+					"type": "doctype",
+					"name": "Shopping Cart Settings",
+					"label": _("Shopping Cart Settings"),
+					"description": _("Settings for online shopping cart such as shipping rules, price list etc."),
+					"hide_count": True
+				}
+			]
+		}
+	]
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 54f2044..2499a61 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -55,7 +55,8 @@
 		"erpnext.stock.reorder_item.reorder_item",
 		"erpnext.setup.doctype.email_digest.email_digest.send",
 		"erpnext.support.doctype.issue.issue.auto_close_tickets",
-		"erpnext.accounts.doctype.fiscal_year.fiscal_year.auto_create_fiscal_year"
+		"erpnext.accounts.doctype.fiscal_year.fiscal_year.auto_create_fiscal_year",
+		"erpnext.hr.doctype.employee.employee.send_birthday_reminders"
 	],
 	"daily_long": [
 		"erpnext.setup.doctype.backup_manager.backup_manager.take_backups_daily"
diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py
index b5bb755..042dcd7 100644
--- a/erpnext/hr/doctype/employee/employee.py
+++ b/erpnext/hr/doctype/employee/employee.py
@@ -51,8 +51,6 @@
 			self.update_user()
 			self.update_user_permissions()
 
-		self.update_dob_event()
-
 	def update_user_permissions(self):
 		frappe.permissions.add_user_permission("Employee", self.name, self.user_id)
 		frappe.permissions.set_user_permission_if_allowed("Company", self.company, self.user_id)
@@ -136,8 +134,6 @@
 			throw(_("User {0} is already assigned to Employee {1}").format(self.user_id, employee[0]))
 
 	def validate_employee_leave_approver(self):
-		from erpnext.hr.doctype.leave_application.leave_application import InvalidLeaveApproverError
-
 		for l in self.get("leave_approvers")[:]:
 			if "Leave Approver" not in frappe.get_roles(l.leave_approver):
 				self.get("leave_approvers").remove(l)
@@ -147,39 +143,6 @@
 		if self.reports_to == self.name:
 			throw(_("Employee cannot report to himself."))
 
-	def update_dob_event(self):
-		if self.status == "Active" and self.date_of_birth \
-			and not cint(frappe.db.get_value("HR Settings", None, "stop_birthday_reminders")):
-			birthday_event = frappe.db.sql("""select name from `tabEvent` where repeat_on='Every Year'
-				and ref_type='Employee' and ref_name=%s""", self.name)
-
-			starts_on = self.date_of_birth + " 00:00:00"
-			ends_on = self.date_of_birth + " 00:15:00"
-
-			if birthday_event:
-				event = frappe.get_doc("Event", birthday_event[0][0])
-				event.starts_on = starts_on
-				event.ends_on = ends_on
-				event.save()
-			else:
-				frappe.get_doc({
-					"doctype": "Event",
-					"subject": _("Birthday") + ": " + self.employee_name,
-					"description": _("Happy Birthday!") + " " + self.employee_name,
-					"starts_on": starts_on,
-					"ends_on": ends_on,
-					"event_type": "Public",
-					"all_day": 1,
-					"send_reminder": 1,
-					"repeat_this_event": 1,
-					"repeat_on": "Every Year",
-					"ref_type": "Employee",
-					"ref_name": self.name
-				}).insert()
-		else:
-			frappe.db.sql("""delete from `tabEvent` where repeat_on='Every Year' and
-				ref_type='Employee' and ref_name=%s""", self.name)
-
 	def on_trash(self):
 		delete_events(self.doctype, self.name)
 
@@ -217,3 +180,31 @@
 	if "Employee" in [d.role for d in doc.get("user_roles")]:
 		employee = frappe.get_doc("Employee", {"user_id": doc.name})
 		employee.update_user_permissions()
+
+def send_birthday_reminders():
+	"""Send Employee birthday reminders if no 'Stop Birthday Reminders' is not set."""
+	if int(frappe.db.get_single_value("HR Settings", "stop_birthday_reminders") or 0):
+		return
+
+	from frappe.utils.user import get_enabled_system_users
+	users = None
+
+	birthdays = get_employees_who_are_born_today()
+
+	if birthdays:
+		if not users:
+			users = [u.email_id or u.name for u in get_enabled_system_users()]
+
+		for e in birthdays:
+			frappe.sendmail(recipients=filter(lambda u: u not in (e.company_email, e.personal_email), users),
+				subject=_("Birthday Reminder for {0}").format(e.employee_name),
+				message=_("""Today is {0}'s birthday!""").format(e.employee_name),
+				reply_to=e.company_email or e.personal_email,
+				bulk=True)
+
+def get_employees_who_are_born_today():
+	"""Get Employee properties whose birthday is today."""
+	return frappe.db.sql("""select name, personal_email, company_email, employee_name
+		from tabEmployee where day(date_of_birth) = day(curdate())
+		and month(date_of_birth) = month(curdate())
+		and status = 'Active'""", as_dict=True)
diff --git a/erpnext/hr/doctype/employee/test_employee.py b/erpnext/hr/doctype/employee/test_employee.py
index 699e439..8b2549d 100644
--- a/erpnext/hr/doctype/employee/test_employee.py
+++ b/erpnext/hr/doctype/employee/test_employee.py
@@ -3,4 +3,31 @@
 
 
 import frappe
-test_records = frappe.get_test_records('Employee')
\ No newline at end of file
+import unittest
+import frappe.utils
+
+test_records = frappe.get_test_records('Employee')
+
+class TestEmployee(unittest.TestCase):
+	def test_birthday_reminders(self):
+		employee = frappe.get_doc("Employee", frappe.db.sql_list("select name from tabEmployee limit 1")[0])
+		employee.date_of_birth = "1990" + frappe.utils.nowdate()[4:]
+		employee.company_email = "test@example.com"
+		employee.save()
+
+		from erpnext.hr.doctype.employee.employee import get_employees_who_are_born_today, send_birthday_reminders
+
+		self.assertTrue(employee.name in [e.name for e in get_employees_who_are_born_today()])
+
+		frappe.db.sql("delete from `tabBulk Email`")
+
+		hr_settings = frappe.get_doc("HR Settings", "HR Settings")
+		hr_settings.stop_birthday_reminders = 0
+		hr_settings.save()
+
+		send_birthday_reminders()
+
+		bulk_mails = frappe.db.sql("""select * from `tabBulk Email`""", as_dict=True)
+		self.assertTrue("Subject: Birthday Reminder for {0}".format(employee.employee_name) \
+			in bulk_mails[0].message)
+
diff --git a/erpnext/hr/doctype/hr_settings/hr_settings.py b/erpnext/hr/doctype/hr_settings/hr_settings.py
index 5cafbda..89614cb 100644
--- a/erpnext/hr/doctype/hr_settings/hr_settings.py
+++ b/erpnext/hr/doctype/hr_settings/hr_settings.py
@@ -6,30 +6,10 @@
 from __future__ import unicode_literals
 import frappe
 
-from frappe.utils import cint
-
 from frappe.model.document import Document
 
 class HRSettings(Document):
-		
 	def validate(self):
-		self.update_birthday_reminders()
-
 		from erpnext.setup.doctype.naming_series.naming_series import set_by_naming_series
-		set_by_naming_series("Employee", "employee_number", 
+		set_by_naming_series("Employee", "employee_number",
 			self.get("emp_created_by")=="Naming Series", hide_name_field=True)
-			
-	def update_birthday_reminders(self):
-		original_stop_birthday_reminders = cint(frappe.db.get_value("HR Settings", 
-			None, "stop_birthday_reminders"))
-
-		# reset birthday reminders
-		if cint(self.stop_birthday_reminders) != original_stop_birthday_reminders:
-			frappe.db.sql("""delete from `tabEvent` where repeat_on='Every Year' and ref_type='Employee'""")
-		
-			if not self.stop_birthday_reminders:
-				for employee in frappe.db.sql_list("""select name from `tabEmployee` where status='Active' and 
-					ifnull(date_of_birth, '')!=''"""):
-					frappe.get_doc("Employee", employee).update_dob_event()
-					
-			frappe.msgprint(frappe._("Updated Birthday Reminders"))
\ No newline at end of file
diff --git a/erpnext/hr/doctype/job_applicant/job_applicant.py b/erpnext/hr/doctype/job_applicant/job_applicant.py
index ddbf97f..a0b2388 100644
--- a/erpnext/hr/doctype/job_applicant/job_applicant.py
+++ b/erpnext/hr/doctype/job_applicant/job_applicant.py
@@ -11,3 +11,7 @@
 class JobApplicant(Document):
 	def validate(self):
 		self.set_status()
+
+	def set_sender(self, sender):
+		"""Will be called by **Communication** when a Job Application is created from an incoming email."""
+		self.email_id = sender
diff --git a/erpnext/hr/doctype/salary_manager/salary_manager.js b/erpnext/hr/doctype/salary_manager/salary_manager.js
index 6e20bff..65667c9 100644
--- a/erpnext/hr/doctype/salary_manager/salary_manager.js
+++ b/erpnext/hr/doctype/salary_manager/salary_manager.js
@@ -2,9 +2,9 @@
 // License: GNU General Public License v3. See license.txt
 
 var display_activity_log = function(msg) {
-	if(!pscript.ss_html)
-		pscript.ss_html = $a(cur_frm.fields_dict['activity_log'].wrapper,'div');
-	pscript.ss_html.innerHTML =
+	if(!cur_frm.ss_html)
+		cur_frm.ss_html = $a(cur_frm.fields_dict['activity_log'].wrapper,'div');
+	cur_frm.ss_html.innerHTML =
 		'<div class="panel"><div class="panel-heading">'+__("Activity Log:")+'</div>'+msg+'</div>';
 }
 
diff --git a/erpnext/manufacturing/doctype/bom/bom.js b/erpnext/manufacturing/doctype/bom/bom.js
index 19c3fcf..4f78c41 100644
--- a/erpnext/manufacturing/doctype/bom/bom.js
+++ b/erpnext/manufacturing/doctype/bom/bom.js
@@ -9,6 +9,9 @@
 	if (!doc.__islocal && doc.docstatus<2) {
 		cur_frm.add_custom_button(__("Update Cost"), cur_frm.cscript.update_cost,
 			"icon-money", "btn-default");
+		
+		cur_frm.add_custom_button(__("Update Item Description"), cur_frm.cscript.update_item_desc,
+			"icon-tag", "btn-default");
 	}
 
 	cur_frm.cscript.with_operations(doc);
@@ -25,6 +28,16 @@
 	})
 }
 
+cur_frm.cscript.update_item_desc = function() {
+	return frappe.call({
+		doc: cur_frm.doc,
+		method: "update_item_desc",
+		callback: function(r) {
+			if(!r.exc) cur_frm.refresh_fields();
+		}
+	})
+}
+
 cur_frm.cscript.with_operations = function(doc) {
 	cur_frm.fields_dict["items"].grid.set_column_disp("operation", doc.with_operations);
 	cur_frm.fields_dict["items"].grid.toggle_reqd("operation", doc.with_operations);
diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py
index 636d86b..5c4a841 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -132,6 +132,16 @@
 			self.ignore_validate_update_after_submit = True
 			self.calculate_cost()
 		self.save()
+		
+	def update_item_desc(self):
+		if self.docstatus < 2:
+			self.ignore_validate_update_after_submit = True
+			self.description = frappe.db.get_value("Item", self.item, "description")
+			for d in self.get("items"):
+				d.description = frappe.db.get_value("Item", d.item_code, "description")
+			for d in self.get("exploded_items"):
+				d.description = frappe.db.get_value("Item", d.item_code, "description")
+			self.save()
 
 	def get_bom_unitcost(self, bom_no):
 		bom = frappe.db.sql("""select name, total_cost/quantity as unit_cost from `tabBOM`
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 9721646..ccbf676 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -104,3 +104,4 @@
 erpnext.patches.v5_0.recalculate_total_amount_in_jv
 erpnext.patches.v5_0.remove_shopping_cart_app
 erpnext.patches.v5_0.update_companywise_payment_account
+erpnext.patches.v5_0.remove_birthday_events
diff --git a/erpnext/patches/v5_0/remove_birthday_events.py b/erpnext/patches/v5_0/remove_birthday_events.py
new file mode 100644
index 0000000..589792a
--- /dev/null
+++ b/erpnext/patches/v5_0/remove_birthday_events.py
@@ -0,0 +1,6 @@
+import frappe
+
+def execute():
+	for e in frappe.db.sql_list("""select name from tabEvent where
+		repeat_on='Every Year' and ref_type='Employee'"""):
+		frappe.delete_doc("Event", e, force=True)
diff --git a/erpnext/projects/doctype/time_log/time_log.json b/erpnext/projects/doctype/time_log/time_log.json
index ebe09cf..0867c5b 100644
--- a/erpnext/projects/doctype/time_log/time_log.json
+++ b/erpnext/projects/doctype/time_log/time_log.json
@@ -76,7 +76,7 @@
    "options": "Activity Type", 
    "permlevel": 0, 
    "read_only": 0, 
-   "reqd": 0
+   "reqd": 1
   }, 
   {
    "depends_on": "eval:doc.time_log_for != 'Manufacturing'", 
@@ -199,7 +199,7 @@
  "icon": "icon-time", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2015-01-07 15:11:45.194002", 
+ "modified": "2015-01-29 07:36:29.343589", 
  "modified_by": "Administrator", 
  "module": "Projects", 
  "name": "Time Log", 
diff --git a/erpnext/public/js/conf.js b/erpnext/public/js/conf.js
index 397c36b..b76cfae 100644
--- a/erpnext/public/js/conf.js
+++ b/erpnext/public/js/conf.js
@@ -7,7 +7,7 @@
 $(document).bind('toolbar_setup', function() {
 	frappe.app.name = "ERPNext";
 
-	$('.navbar-brand').html('<i class="octicon octicon-home visible-xs"></i><span class="hidden-xs">ERPNext</span>');
+	$('.navbar-home').html('ERPNext');
 
 	$('[data-link="docs"]').attr("href", "https://erpnext.com/user-guide")
 });
diff --git a/erpnext/public/js/feature_setup.js b/erpnext/public/js/feature_setup.js
index d3ff49e..536f956 100644
--- a/erpnext/public/js/feature_setup.js
+++ b/erpnext/public/js/feature_setup.js
@@ -13,7 +13,8 @@
 		}
 	}
 // ====================================================================*/
-pscript.feature_dict = {
+frappe.provide("erpnext.feature_setup");
+erpnext.feature_setup.feature_dict = {
 	'fs_projects': {
 		'BOM': {'fields':['project_name']},
 		'Delivery Note': {'fields':['project_name']},
@@ -183,15 +184,16 @@
 }
 
 $(document).bind('form_refresh', function() {
+	var feature_dict = erpnext.feature_setup.feature_dict;
 	for(var sys_feat in sys_defaults) {
 		if(sys_defaults[sys_feat]=='0'
-			&& (sys_feat in pscript.feature_dict)) { //"Features to hide" exists
-			if(cur_frm.doc.doctype in pscript.feature_dict[sys_feat]) {
-				for(var fort in pscript.feature_dict[sys_feat][cur_frm.doc.doctype]) {
+			&& (sys_feat in feature_dict)) { //"Features to hide" exists
+			if(cur_frm.doc.doctype in feature_dict[sys_feat]) {
+				for(var fort in feature_dict[sys_feat][cur_frm.doc.doctype]) {
 					if(fort=='fields') {
-						hide_field(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort]);
+						hide_field(feature_dict[sys_feat][cur_frm.doc.doctype][fort]);
 					} else if(cur_frm.fields_dict[fort]) {
-						cur_frm.fields_dict[fort].grid.set_column_disp(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort], false);
+						cur_frm.fields_dict[fort].grid.set_column_disp(feature_dict[sys_feat][cur_frm.doc.doctype][fort], false);
 					} else {
 						msgprint(__('Grid "')+fort+__('" does not exists'));
 					}
diff --git a/erpnext/public/js/transaction.js b/erpnext/public/js/transaction.js
index e5fef9c..bf10c15 100644
--- a/erpnext/public/js/transaction.js
+++ b/erpnext/public/js/transaction.js
@@ -363,7 +363,7 @@
 		if (item) {
 			append_item(item);
 		} else {
-			$.each(this.frm.doc["items"], function(i, d) {
+			$.each(this.frm.doc["items"] || [], function(i, d) {
 				append_item(d);
 			});
 		}
@@ -394,9 +394,13 @@
 
 	apply_price_list: function(item) {
 		var me = this;
+		var args = this._get_args(item);
+		if(!args.item_list.length) {
+			return;
+		}
 		return this.frm.call({
 			method: "erpnext.stock.get_item_details.apply_price_list",
-			args: {	args: this._get_args(item) },
+			args: {	args: args },
 			callback: function(r) {
 				if (!r.exc) {
 					me.in_apply_price_list = true;
@@ -478,7 +482,7 @@
 		var tax_accounts = [];
 		var company_currency = this.get_company_currency();
 
-		$.each(this.frm.doc["taxes"], function(i, tax) {
+		$.each(this.frm.doc["taxes"] || [], function(i, tax) {
 			var tax_amount_precision = precision("tax_amount", tax);
 			var tax_rate_precision = precision("rate", tax);
 			$.each(JSON.parse(tax.item_wise_tax_detail || '{}'),
@@ -507,7 +511,7 @@
 
 		var distinct_item_names = [];
 		var distinct_items = [];
-		$.each(this.frm.doc["items"], function(i, item) {
+		$.each(this.frm.doc["items"] || [], function(i, item) {
 			if(distinct_item_names.indexOf(item.item_code || item.item_name)===-1) {
 				distinct_item_names.push(item.item_code || item.item_name);
 				distinct_items.push(item);
@@ -592,7 +596,7 @@
 	initialize_taxes: function() {
 		var me = this;
 
-		$.each(this.frm.doc["taxes"], function(i, tax) {
+		$.each(this.frm.doc["taxes"] || [], function(i, tax) {
 			tax.item_wise_tax_detail = {};
 			tax_fields = ["total", "tax_amount_after_discount_amount",
 				"tax_amount_for_current_item", "grand_total_for_current_item",
@@ -614,16 +618,16 @@
 		var actual_tax_dict = {};
 
 		// maintain actual tax rate based on idx
-		$.each(this.frm.doc["taxes"], function(i, tax) {
+		$.each(this.frm.doc["taxes"] || [], function(i, tax) {
 			if (tax.charge_type == "Actual") {
 				actual_tax_dict[tax.idx] = flt(tax.rate, precision("tax_amount", tax));
 			}
 		});
 
-		$.each(this.frm.doc["items"], function(n, item) {
+		$.each(this.frm.doc["items"] || [], function(n, item) {
 			var item_tax_map = me._load_item_tax_rate(item.item_tax_rate);
 
-			$.each(me.frm.doc["taxes"], function(i, tax) {
+			$.each(me.frm.doc["taxes"] || [], function(i, tax) {
 				// tax_amount represents the amount of tax for the current step
 				var current_tax_amount = me.get_current_tax_amount(item, tax, item_tax_map);
 
@@ -726,7 +730,7 @@
 	},
 
 	_cleanup: function() {
-		$.each(this.frm.doc["taxes"], function(i, tax) {
+		$.each(this.frm.doc["taxes"] || [], function(i, tax) {
 			$.each(["tax_amount_for_current_item", "grand_total_for_current_item",
 				"tax_fraction_for_current_item", "grand_total_fraction_for_current_item"],
 				function(i, fieldname) { delete tax[fieldname]; });
diff --git a/erpnext/selling/doctype/installation_note/installation_note.json b/erpnext/selling/doctype/installation_note/installation_note.json
index 7251a67..ca48808 100644
--- a/erpnext/selling/doctype/installation_note/installation_note.json
+++ b/erpnext/selling/doctype/installation_note/installation_note.json
@@ -168,7 +168,7 @@
    "reqd": 1
   }, 
   {
-   "description": "Select the relevant company name if you have multiple companies.", 
+   "description": "", 
    "fieldname": "company", 
    "fieldtype": "Link", 
    "in_filter": 1, 
@@ -237,7 +237,7 @@
  "icon": "icon-wrench", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2015-01-07 10:50:31.542246", 
+ "modified": "2015-01-30 04:22:34.375717", 
  "modified_by": "Administrator", 
  "module": "Selling", 
  "name": "Installation Note", 
diff --git a/erpnext/selling/doctype/lead/lead.py b/erpnext/selling/doctype/lead/lead.py
index 47d9b02..e0a148e 100644
--- a/erpnext/selling/doctype/lead/lead.py
+++ b/erpnext/selling/doctype/lead/lead.py
@@ -15,6 +15,10 @@
 	def get_feed(self):
 		return '{0}: {1}'.format(_(self.status), self.lead_name)
 
+	def set_sender(self, sender):
+		"""Will be called by **Communication** when a Lead is created from an incoming email."""
+		self.email_id = sender
+
 	def onload(self):
 		customer = frappe.db.get_value("Customer", {"lead_name": self.name})
 		self.get("__onload").is_customer = customer
diff --git a/erpnext/selling/doctype/quotation/quotation.json b/erpnext/selling/doctype/quotation/quotation.json
index 38cce98..bb912a7 100644
--- a/erpnext/selling/doctype/quotation/quotation.json
+++ b/erpnext/selling/doctype/quotation/quotation.json
@@ -151,7 +151,7 @@
    "width": "150px"
   }, 
   {
-   "description": "Select the relevant company name if you have multiple companies.", 
+   "description": "", 
    "fieldname": "company", 
    "fieldtype": "Link", 
    "in_filter": 1, 
@@ -810,7 +810,7 @@
  "idx": 1, 
  "is_submittable": 1, 
  "max_attachments": 1, 
- "modified": "2015-01-15 07:33:06.919752", 
+ "modified": "2015-01-30 04:19:47.045878", 
  "modified_by": "Administrator", 
  "module": "Selling", 
  "name": "Quotation", 
diff --git a/erpnext/selling/doctype/sales_order/sales_order.json b/erpnext/selling/doctype/sales_order/sales_order.json
index e834e00..a142d03 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.json
+++ b/erpnext/selling/doctype/sales_order/sales_order.json
@@ -125,7 +125,7 @@
    "width": "150px"
   }, 
   {
-   "description": "Select the relevant company name if you have multiple companies.", 
+   "description": "", 
    "fieldname": "company", 
    "fieldtype": "Link", 
    "in_filter": 1, 
@@ -1034,7 +1034,7 @@
  "idx": 1, 
  "is_submittable": 1, 
  "issingle": 0, 
- "modified": "2015-01-15 07:51:42.642249", 
+ "modified": "2015-01-30 04:20:02.166745", 
  "modified_by": "Administrator", 
  "module": "Selling", 
  "name": "Sales Order", 
diff --git a/erpnext/selling/page/sales_analytics/sales_analytics.js b/erpnext/selling/page/sales_analytics/sales_analytics.js
index 9d77516..ad2102a 100644
--- a/erpnext/selling/page/sales_analytics/sales_analytics.js
+++ b/erpnext/selling/page/sales_analytics/sales_analytics.js
@@ -1,7 +1,7 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-frappe.pages['sales-analytics'].onload = function(wrapper) {
+frappe.pages['sales-analytics'].on_page_load = function(wrapper) {
 	frappe.ui.make_app_page({
 		parent: wrapper,
 		title: __('Sales Analytics'),
diff --git a/erpnext/selling/page/sales_browser/sales_browser.js b/erpnext/selling/page/sales_browser/sales_browser.js
index f716b84..2dbe71c 100644
--- a/erpnext/selling/page/sales_browser/sales_browser.js
+++ b/erpnext/selling/page/sales_browser/sales_browser.js
@@ -1,7 +1,7 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-pscript['onload_Sales Browser'] = function(wrapper){
+frappe.pages["Sales Browser"].on_page_load = function(wrapper){
 	var page = frappe.ui.make_app_page({
 		parent: wrapper,
 		single_column: true,
@@ -21,12 +21,10 @@
 			callback: function(r) {
 				var root = r.message[0]["value"];
 				erpnext.sales_chart = new erpnext.SalesChart(ctype, root, page,
-					$(wrapper)
-						.find(".layout-main-section")
-						.css({
-							"min-height": "300px",
-							"padding-bottom": "25px"
-						}));
+					page.main.css({
+						"min-height": "300px",
+						"padding-bottom": "25px"
+					}));
 			}
 		});
 	}
@@ -34,7 +32,7 @@
 	wrapper.make_tree();
 }
 
-pscript['onshow_Sales Browser'] = function(wrapper){
+frappe.pages['Sales Browser'].on_page_show = function(wrapper){
 	// set route
 	var ctype = frappe.get_route()[1] || 'Territory';
 
diff --git a/erpnext/selling/page/sales_funnel/sales_funnel.js b/erpnext/selling/page/sales_funnel/sales_funnel.js
index 47b6a14..fbba71e 100644
--- a/erpnext/selling/page/sales_funnel/sales_funnel.js
+++ b/erpnext/selling/page/sales_funnel/sales_funnel.js
@@ -1,7 +1,7 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-frappe.pages['sales-funnel'].onload = function(wrapper) {
+frappe.pages['sales-funnel'].on_page_load = function(wrapper) {
 	frappe.ui.make_app_page({
 		parent: wrapper,
 		title: __('Sales Funnel'),
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index 48c378f..3c04874 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -248,7 +248,7 @@
 		var me = this;
 
 		if (!this.discount_amount_applied) {
-			$.each(this.frm.doc["items"], function(i, item) {
+			$.each(this.frm.doc["items"] || [], function(i, item) {
 				frappe.model.round_floats_in(item);
 				item.amount = flt(item.rate * item.qty, precision("amount", item));
 
@@ -261,11 +261,11 @@
 
 	determine_exclusive_rate: function() {
 		var me = this;
-		$.each(me.frm.doc["items"], function(n, item) {
+		$.each(me.frm.doc["items"] || [], function(n, item) {
 			var item_tax_map = me._load_item_tax_rate(item.item_tax_rate);
 			var cumulated_tax_fraction = 0.0;
 
-			$.each(me.frm.doc["taxes"], function(i, tax) {
+			$.each(me.frm.doc["taxes"] || [], function(i, tax) {
 				tax.tax_fraction_for_current_item = me.get_current_tax_fraction(tax, item_tax_map);
 
 				if(i==0) {
@@ -325,7 +325,7 @@
 		var me = this;
 		this.frm.doc.net_total = this.frm.doc.net_total_export = 0.0;
 
-		$.each(this.frm.doc["items"], function(i, item) {
+		$.each(this.frm.doc["items"] || [], function(i, item) {
 			me.frm.doc.net_total += item.base_amount;
 			me.frm.doc.net_total_export += item.amount;
 		});
@@ -335,7 +335,7 @@
 
 	calculate_totals: function() {
 		var me = this;
-		var tax_count = this.frm.doc["taxes"].length;
+		var tax_count = this.frm.doc["taxes"] ? this.frm.doc["taxes"].length: 0;
 
 		this.frm.doc.grand_total = flt(tax_count ? this.frm.doc["taxes"][tax_count - 1].total : this.frm.doc.net_total);
 		this.frm.doc.grand_total_export = flt(this.frm.doc.grand_total / this.frm.doc.conversion_rate);
@@ -364,7 +364,7 @@
 			var grand_total_for_discount_amount = this.get_grand_total_for_discount_amount();
 			// calculate item amount after Discount Amount
 			if (grand_total_for_discount_amount) {
-				$.each(this.frm.doc["items"], function(i, item) {
+				$.each(this.frm.doc["items"] || [], function(i, item) {
 					distributed_amount = flt(me.frm.doc.base_discount_amount) * item.base_amount / grand_total_for_discount_amount;
 					item.base_amount = flt(item.base_amount - distributed_amount, precision("base_amount", item));
 				});
@@ -382,7 +382,7 @@
 		var total_actual_tax = 0.0;
 		var actual_taxes_dict = {};
 
-		$.each(this.frm.doc["taxes"], function(i, tax) {
+		$.each(this.frm.doc["taxes"] || [], function(i, tax) {
 			if (tax.charge_type == "Actual")
 				actual_taxes_dict[tax.idx] = tax.tax_amount;
 			else if (actual_taxes_dict[tax.row_id] !== null) {
diff --git a/erpnext/setup/doctype/sales_partner/sales_partner.json b/erpnext/setup/doctype/sales_partner/sales_partner.json
index 52a44c5..ae9a492 100644
--- a/erpnext/setup/doctype/sales_partner/sales_partner.json
+++ b/erpnext/setup/doctype/sales_partner/sales_partner.json
@@ -118,7 +118,7 @@
    "reqd": 0
   }, 
   {
-   "description": "Select Budget Distribution to unevenly distribute targets across months.", 
+   "description": "Select Monthly Distribution to unevenly distribute targets across months.", 
    "fieldname": "distribution_id", 
    "fieldtype": "Link", 
    "label": "Target Distribution", 
diff --git a/erpnext/setup/doctype/sales_person/sales_person.json b/erpnext/setup/doctype/sales_person/sales_person.json
index 04791fe..2911f08 100644
--- a/erpnext/setup/doctype/sales_person/sales_person.json
+++ b/erpnext/setup/doctype/sales_person/sales_person.json
@@ -120,7 +120,7 @@
    "permlevel": 0
   }, 
   {
-   "description": "Select Budget Distribution to unevenly distribute targets across months.", 
+   "description": "Select Monthly Distribution to unevenly distribute targets across months.", 
    "fieldname": "distribution_id", 
    "fieldtype": "Link", 
    "label": "Target Distribution", 
diff --git a/erpnext/setup/doctype/sales_person/sales_person.py b/erpnext/setup/doctype/sales_person/sales_person.py
index ce7b572..a4a1f6a 100644
--- a/erpnext/setup/doctype/sales_person/sales_person.py
+++ b/erpnext/setup/doctype/sales_person/sales_person.py
@@ -11,7 +11,7 @@
 	nsm_parent_field = 'parent_sales_person';
 
 	def validate(self):
-		for d in self.get('targets'):
+		for d in self.get('targets') or []:
 			if not flt(d.target_qty) and not flt(d.target_amount):
 				frappe.throw(_("Either target qty or target amount is mandatory."))
 
diff --git a/erpnext/setup/doctype/territory/territory.json b/erpnext/setup/doctype/territory/territory.json
index e74582c..3ecfd98 100644
--- a/erpnext/setup/doctype/territory/territory.json
+++ b/erpnext/setup/doctype/territory/territory.json
@@ -123,7 +123,7 @@
    "permlevel": 0
   }, 
   {
-   "description": "Select Budget Distribution to unevenly distribute targets across months.", 
+   "description": "Select Monthly Distribution to unevenly distribute targets across months.", 
    "fieldname": "distribution_id", 
    "fieldtype": "Link", 
    "label": "Target Distribution", 
diff --git a/erpnext/setup/doctype/territory/territory.py b/erpnext/setup/doctype/territory/territory.py
index 8eb4dce..e4fe9c5 100644
--- a/erpnext/setup/doctype/territory/territory.py
+++ b/erpnext/setup/doctype/territory/territory.py
@@ -14,7 +14,7 @@
 	nsm_parent_field = 'parent_territory'
 
 	def validate(self):
-		for d in self.get('targets'):
+		for d in self.get('targets') or []:
 			if not flt(d.target_qty) and not flt(d.target_amount):
 				frappe.throw(_("Either target qty or target amount is mandatory"))
 
diff --git a/erpnext/setup/page/setup_wizard/install_fixtures.py b/erpnext/setup/page/setup_wizard/install_fixtures.py
index 4bdf15e..5312192 100644
--- a/erpnext/setup/page/setup_wizard/install_fixtures.py
+++ b/erpnext/setup/page/setup_wizard/install_fixtures.py
@@ -187,7 +187,11 @@
 		{'doctype': 'Industry Type', 'industry': _('Telecommunications')},
 		{'doctype': 'Industry Type', 'industry': _('Television')},
 		{'doctype': 'Industry Type', 'industry': _('Transportation')},
-		{'doctype': 'Industry Type', 'industry': _('Venture Capital')}
+		{'doctype': 'Industry Type', 'industry': _('Venture Capital')},
+
+		{'doctype': "Email Account", "email_id": "sales@example.com", "append_to": "Lead"},
+		{'doctype': "Email Account", "email_id": "support@example.com", "append_to": "Issue"},
+		{'doctype': "Email Account", "email_id": "jobs@example.com", "append_to": "Job Applicant"}
 	]
 
 	from frappe.modules import scrub
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.js b/erpnext/setup/page/setup_wizard/setup_wizard.js
index 9a557c2..c31fab4 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.js
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.js
@@ -1,4 +1,4 @@
-frappe.pages['setup-wizard'].onload = function(wrapper) {
+frappe.pages['setup-wizard'].on_page_load = function(wrapper) {
 	if(sys_defaults.company) {
 		frappe.set_route("desktop");
 		return;
@@ -43,7 +43,7 @@
 			<p class="text-center">' +
 			__('Sit tight while your system is being setup. This may take a few moments.') +
 			'</p>' },
-		complete_html: function() { return '<h1 class="text-muted text-center"><i class="icon-thumbs-up"></i></h1>\
+		complete_html: function() { return '<h1 class="text-muted text-center"></h1>\
 			<h2 class="text-center">'+__('Setup Complete')+'</h2>\
 			<p class="text-center">' +
 			__('Your setup is complete. Refreshing...') +
@@ -210,6 +210,8 @@
 						placeholder: __('e.g. "My Company LLC"')},
 					{fieldname:'company_abbr', label: __('Company Abbreviation'), fieldtype:'Data',
 						description: __('Max 5 characters'), placeholder: __('e.g. "MC"'), reqd:1},
+					{fieldname:'bank_account', label: __('Bank Account'), fieldtype:'Data',
+						placeholder: __('e.g. "XYZ National Bank"'), reqd:1 },
 					{fieldname:'fy_start_date', label:__('Financial Year Start Date'), fieldtype:'Date',
 						description: __('Your financial year begins on'), reqd:1},
 					{fieldname:'fy_end_date', label:__('Financial Year End Date'), fieldtype:'Date',
@@ -236,7 +238,7 @@
 						var year_end_date =
 							frappe.datetime.add_days(frappe.datetime.add_months(
 								frappe.datetime.user_to_obj(slide.get_input("fy_start_date").val()), 12), -1);
-						slide.get_field("fy_end_date").set_input(frappe.datetime.obj_to_user(year_end_date));
+						slide.get_field("fy_end_date").set_input(year_end_date);
 
 					});
 				}
@@ -354,7 +356,7 @@
 	erpnext.wiz = new frappe.wiz.Wizard(wizard_settings)
 }
 
-frappe.pages['setup-wizard'].onshow = function(wrapper) {
+frappe.pages['setup-wizard'].on_page_show = function(wrapper) {
 	if(frappe.get_route()[1])
 		erpnext.wiz.show(frappe.get_route()[1]);
 }
@@ -371,12 +373,11 @@
 		frappe.set_route(this.page_name, "0");
 	},
 	make: function() {
-		frappe.ui.set_user_background(null, "#page-setup-wizard");
 		this.parent = $('<div class="setup-wizard-wrapper">').appendTo(this.parent);
 	},
 	get_message: function(html) {
-		return $(repl('<div class="panel panel-default" data-state="setup-complete">\
-			<div class="panel-body" style="padding: 40px;">%(html)s</div>\
+		return $(repl('<div data-state="setup-complete">\
+			<div style="padding: 40px;" class="text-center">%(html)s</div>\
 		</div>', {html:html}))
 	},
 	show_working: function() {
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.py b/erpnext/setup/page/setup_wizard/setup_wizard.py
index bf0793b..d234f4f 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.py
@@ -142,6 +142,8 @@
 		'chart_of_accounts': args.get(('chart_of_accounts')),
 	}).insert()
 
+	# Bank Account
+
 	args["curr_fiscal_year"] = curr_fiscal_year
 
 def create_price_lists(args):
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.json b/erpnext/stock/doctype/delivery_note/delivery_note.json
index 8d00f94..9fa0b7d 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.json
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.json
@@ -142,7 +142,7 @@
    "width": "150px"
   }, 
   {
-   "description": "Select the relevant company name if you have multiple companies", 
+   "description": "", 
    "fieldname": "company", 
    "fieldtype": "Link", 
    "in_filter": 1, 
@@ -1024,7 +1024,7 @@
  "idx": 1, 
  "in_create": 0, 
  "is_submittable": 1, 
- "modified": "2015-01-15 07:33:24.245923", 
+ "modified": "2015-01-30 04:21:39.709704", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Delivery Note", 
diff --git a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js
index e29dde0..6cc68e7 100644
--- a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js
+++ b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js
@@ -73,7 +73,7 @@
 
 	set_total_taxes_and_charges: function() {
 		total_taxes_and_charges = 0.0;
-		$.each(this.frm.doc.taxes, function(i, d) {
+		$.each(this.frm.doc.taxes || [], function(i, d) {
 			total_taxes_and_charges += flt(d.amount)
 		});
 		cur_frm.set_value("total_taxes_and_charges", total_taxes_and_charges);
@@ -83,11 +83,11 @@
 		var me = this;
 		if(this.frm.doc.taxes.length) {
 			var total_item_cost = 0.0;
-			$.each(this.frm.doc.items, function(i, d) {
+			$.each(this.frm.doc.items || [], function(i, d) {
 				total_item_cost += flt(d.amount)
 			});
 
-			$.each(this.frm.doc.items, function(i, item) {
+			$.each(this.frm.doc.items || [], function(i, item) {
 				item.applicable_charges = flt(item.amount) *  flt(me.frm.doc.total_taxes_and_charges) / flt(total_item_cost)
 			});
 			refresh_field("items");
diff --git a/erpnext/stock/doctype/material_request/material_request.json b/erpnext/stock/doctype/material_request/material_request.json
index bd7dab6..4a14380 100644
--- a/erpnext/stock/doctype/material_request/material_request.json
+++ b/erpnext/stock/doctype/material_request/material_request.json
@@ -54,7 +54,7 @@
    "width": "150px"
   }, 
   {
-   "description": "Select the relevant company name if you have multiple companies", 
+   "description": "", 
    "fieldname": "company", 
    "fieldtype": "Link", 
    "in_filter": 1, 
@@ -236,7 +236,7 @@
  "icon": "icon-ticket", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2015-01-06 17:38:12.250644", 
+ "modified": "2015-01-30 04:21:23.753767", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Material Request", 
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
index 9a84d3d..119c770 100755
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
@@ -596,7 +596,7 @@
    "report_hide": 1
   }, 
   {
-   "description": "Select the relevant company name if you have multiple companies", 
+   "description": "", 
    "fieldname": "company", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -767,7 +767,7 @@
  "icon": "icon-truck", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2015-01-15 07:34:39.475183", 
+ "modified": "2015-01-30 04:22:04.356498", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Purchase Receipt", 
diff --git a/erpnext/stock/page/stock_analytics/stock_analytics.js b/erpnext/stock/page/stock_analytics/stock_analytics.js
index 8fd2d32..346750b 100644
--- a/erpnext/stock/page/stock_analytics/stock_analytics.js
+++ b/erpnext/stock/page/stock_analytics/stock_analytics.js
@@ -2,7 +2,7 @@
 // License: GNU General Public License v3. See license.txt
 
 
-frappe.pages['stock-analytics'].onload = function(wrapper) { 
+frappe.pages['stock-analytics'].on_page_load = function(wrapper) { 
 	frappe.ui.make_app_page({
 		parent: wrapper,
 		title: __('Stock Analytics'),
diff --git a/erpnext/stock/page/stock_ledger/stock_ledger.js b/erpnext/stock/page/stock_ledger/stock_ledger.js
index d9e89b2..3f6a9e3 100644
--- a/erpnext/stock/page/stock_ledger/stock_ledger.js
+++ b/erpnext/stock/page/stock_ledger/stock_ledger.js
@@ -1,7 +1,7 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-frappe.pages['stock-ledger'].onload = function(wrapper) {
+frappe.pages['stock-ledger'].on_page_load = function(wrapper) {
 	frappe.ui.make_app_page({
 		parent: wrapper,
 		title: __('Stock Ledger'),
diff --git a/erpnext/stock/page/stock_level/stock_level.js b/erpnext/stock/page/stock_level/stock_level.js
index 21d4220..be4ebd0 100644
--- a/erpnext/stock/page/stock_level/stock_level.js
+++ b/erpnext/stock/page/stock_level/stock_level.js
@@ -1,7 +1,7 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-frappe.pages['stock-level'].onload = function(wrapper) {
+frappe.pages['stock-level'].on_page_load = function(wrapper) {
 	frappe.ui.make_app_page({
 		parent: wrapper,
 		title: __('Stock Level'),
diff --git a/erpnext/support/doctype/issue/issue.py b/erpnext/support/doctype/issue/issue.py
index 2000ea0..e322c9c 100644
--- a/erpnext/support/doctype/issue/issue.py
+++ b/erpnext/support/doctype/issue/issue.py
@@ -15,6 +15,10 @@
 	def get_portal_page(self):
 		return "ticket"
 
+	def set_sender(self, sender):
+		"""Will be called by **Communication** when the Issue is created from an incoming email."""
+		self.raised_by = sender
+
 	def validate(self):
 		self.update_status()
 		self.set_lead_contact(self.raised_by)
diff --git a/erpnext/support/page/support_analytics/support_analytics.js b/erpnext/support/page/support_analytics/support_analytics.js
index 835e681..8e0b10a 100644
--- a/erpnext/support/page/support_analytics/support_analytics.js
+++ b/erpnext/support/page/support_analytics/support_analytics.js
@@ -1,7 +1,7 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-frappe.pages['support-analytics'].onload = function(wrapper) {
+frappe.pages['support-analytics'].on_page_load = function(wrapper) {
 	frappe.ui.make_app_page({
 		parent: wrapper,
 		title: __('Support Analytics'),
diff --git a/erpnext/templates/generators/item_group.html b/erpnext/templates/generators/item_group.html
index c52629f..8597864 100644
--- a/erpnext/templates/generators/item_group.html
+++ b/erpnext/templates/generators/item_group.html
@@ -17,7 +17,7 @@
 			{% endfor %}
 		</div>
 			{% if (items|length)==100 %}
-				<div class="alert alert-info info">Showing top 100 items.</div>
+				<div class="text-muted info">Showing top 100 items.</div>
 			{% endif %}
 		{% else %}
 			<div class="text-muted">No items listed.</div>
