diff --git a/.travis.yml b/.travis.yml
index 1b4e340..344637a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -16,7 +16,7 @@
   - sudo apt-get install mariadb-server mariadb-common libmariadbclient-dev
   - wget http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.1/wkhtmltox-0.12.1_linux-precise-amd64.deb
   - sudo dpkg -i wkhtmltox-0.12.1_linux-precise-amd64.deb
-  - CFLAGS=-O0 pip install git+https://github.com/frappe/frappe.git@develop
+  - CFLAGS=-O0 pip install git+https://github.com/frappe/frappe.git@v5.0
   - CFLAGS=-O0 pip install --editable .
 
 before_script:
diff --git a/erpnext/__version__.py b/erpnext/__version__.py
index 5ee6158..a20415b 100644
--- a/erpnext/__version__.py
+++ b/erpnext/__version__.py
@@ -1 +1 @@
-__version__ = '4.3.0'
+__version__ = '5.0.0-alpha'
diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
index 7bf6fcc..9f2385b 100644
--- a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
+++ b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
@@ -18,6 +18,9 @@
 		self.credit_days_global = -1
 		self.is_approving_authority = -1
 
+	def get_feed(self):
+		return self.voucher_type
+
 	def validate(self):
 		if not self.is_opening:
 			self.is_opening='No'
diff --git a/erpnext/accounts/report/general_ledger/general_ledger.py b/erpnext/accounts/report/general_ledger/general_ledger.py
index 362f42e..1e38cd7 100644
--- a/erpnext/accounts/report/general_ledger/general_ledger.py
+++ b/erpnext/accounts/report/general_ledger/general_ledger.py
@@ -78,7 +78,7 @@
 		conditions.append("voucher_no=%(voucher_no)s")
 
 
-	from frappe.widgets.reportview import build_match_conditions
+	from frappe.desk.reportview import build_match_conditions
 	match_conditions = build_match_conditions("GL Entry")
 	if match_conditions: conditions.append(match_conditions)
 
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index c658cdd..d28e8d7 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -7,7 +7,7 @@
 from frappe.utils import nowdate, cstr, flt, now, getdate, add_months
 from frappe import throw, _
 from frappe.utils import formatdate
-import frappe.widgets.reportview
+import frappe.desk.reportview
 
 class FiscalYearError(frappe.ValidationError): pass
 class BudgetError(frappe.ValidationError): pass
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js
index c2e76e2..0b4b2c1 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.js
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.js
@@ -10,6 +10,8 @@
 frappe.require("assets/erpnext/js/transaction.js");
 {% include "public/js/controllers/accounts.js" %}
 
+cur_frm.email_field = "contact_email";
+
 erpnext.buying.BuyingController = erpnext.TransactionController.extend({
 	onload: function() {
 		this.setup_queries();
diff --git a/erpnext/buying/doctype/quality_inspection/quality_inspection.py b/erpnext/buying/doctype/quality_inspection/quality_inspection.py
index 3fc130a..da34108 100644
--- a/erpnext/buying/doctype/quality_inspection/quality_inspection.py
+++ b/erpnext/buying/doctype/quality_inspection/quality_inspection.py
@@ -38,7 +38,7 @@
 
 def item_query(doctype, txt, searchfield, start, page_len, filters):
 	if filters.get("from"):
-		from frappe.widgets.reportview import get_match_cond
+		from frappe.desk.reportview import get_match_cond
 		filters.update({
 			"txt": txt,
 			"mcond": get_match_cond(filters["from"]),
diff --git a/erpnext/buying/doctype/supplier/supplier.js b/erpnext/buying/doctype/supplier/supplier.js
index b5c7fb1..5339067 100644
--- a/erpnext/buying/doctype/supplier/supplier.js
+++ b/erpnext/buying/doctype/supplier/supplier.js
@@ -20,13 +20,7 @@
 		// make lists
 		cur_frm.cscript.make_address(doc,dt,dn);
 		cur_frm.cscript.make_contact(doc,dt,dn);
-
-		cur_frm.communication_view = new frappe.views.CommunicationList({
-			list: frappe.get_list("Communication", {"supplier": doc.name}),
-			parent: cur_frm.fields_dict.communication_html.wrapper,
-			doc: doc
-		})
-  }
+	}
 }
 
 cur_frm.cscript.make_dashboard = function(doc) {
diff --git a/erpnext/buying/doctype/supplier/supplier.json b/erpnext/buying/doctype/supplier/supplier.json
index 1d21778..2c2fbff 100644
--- a/erpnext/buying/doctype/supplier/supplier.json
+++ b/erpnext/buying/doctype/supplier/supplier.json
@@ -1,260 +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": 1, 
-   "label": "Supplier Name", 
-   "no_copy": 1, 
-   "oldfieldname": "supplier_name", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
+   "fieldname": "supplier_name",
+   "fieldtype": "Data",
+   "in_list_view": 1,
+   "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
-  }, 
+  },
   {
-   "depends_on": "eval:!doc.__islocal", 
-   "fieldname": "communication_history", 
-   "fieldtype": "Section Break", 
-   "label": "Communication History", 
-   "options": "icon-comments", 
-   "permlevel": 0, 
-   "print_hide": 1
-  }, 
-  {
-   "fieldname": "communication_html", 
-   "fieldtype": "HTML", 
-   "label": "Communication HTML", 
-   "permlevel": 0, 
-   "print_hide": 1
-  }, 
-  {
-   "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
-  }, 
+  },
   {
-   "description": "Enter the company name under which Account Head will be created for this Supplier", 
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Company", 
-   "oldfieldname": "company", 
-   "oldfieldtype": "Link", 
-   "options": "Company", 
-   "permlevel": 0, 
-   "reqd": 1, 
+   "description": "Enter the company name under which Account Head will be created for this Supplier",
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Company",
+   "oldfieldname": "company",
+   "oldfieldtype": "Link",
+   "options": "Company",
+   "permlevel": 0,
+   "reqd": 1,
    "search_index": 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": "2014-09-10 17:53:09.286715", 
- "modified_by": "Administrator", 
- "module": "Buying", 
- "name": "Supplier", 
- "owner": "Administrator", 
+ ],
+ "icon": "icon-user",
+ "idx": 1,
+ "modified": "2014-09-12 12:26:37.606976",
+ "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/supplier.py b/erpnext/buying/doctype/supplier/supplier.py
index 240762e..baf8ce5 100644
--- a/erpnext/buying/doctype/supplier/supplier.py
+++ b/erpnext/buying/doctype/supplier/supplier.py
@@ -13,6 +13,8 @@
 from erpnext.utilities.transaction_base import TransactionBase
 
 class Supplier(TransactionBase):
+	def get_feed(self):
+		return self.supplier_name
 
 	def autoname(self):
 		supp_master_name = frappe.defaults.get_global_default('supp_master_name')
diff --git a/erpnext/config/desktop.py b/erpnext/config/desktop.py
index 9f40ef3..34f1599 100644
--- a/erpnext/config/desktop.py
+++ b/erpnext/config/desktop.py
@@ -7,13 +7,6 @@
 			"icon": "icon-money",
 			"type": "module"
 		},
-		"Activity": {
-			"color": "#e67e22",
-			"icon": "icon-play",
-			"label": _("Activity"),
-			"link": "activity",
-			"type": "page"
-		},
 		"Buying": {
 			"color": "#c0392b",
 			"icon": "icon-shopping-cart",
@@ -30,14 +23,6 @@
 			"icon": "icon-cogs",
 			"type": "module"
 		},
-		"Notes": {
-			"color": "#95a5a6",
-			"doctype": "Note",
-			"icon": "icon-file-alt",
-			"label": _("Notes"),
-			"link": "List/Note",
-			"type": "list"
-		},
 		"POS": {
 			"color": "#589494",
 			"icon": "icon-th",
diff --git a/erpnext/config/hr.py b/erpnext/config/hr.py
index 575de69..22f17e7 100644
--- a/erpnext/config/hr.py
+++ b/erpnext/config/hr.py
@@ -155,7 +155,7 @@
 				},
 				{
 					"type": "doctype",
-					"name": "Jobs Email Settings",
+					"name": "Email Account",
 					"description": _("Setup incoming server for jobs email id. (e.g. jobs@example.com)")
 				},
 			]
diff --git a/erpnext/config/selling.py b/erpnext/config/selling.py
index 1e5acad..e4d17bb 100644
--- a/erpnext/config/selling.py
+++ b/erpnext/config/selling.py
@@ -158,7 +158,7 @@
 				},
 				{
 					"type": "doctype",
-					"name": "Sales Email Settings",
+					"name": "Email Account",
 					"description": _("Setup incoming server for sales email id. (e.g. sales@example.com)")
 				},
 				{
diff --git a/erpnext/config/setup.py b/erpnext/config/setup.py
index 8db9ef2..f3c0cec 100644
--- a/erpnext/config/setup.py
+++ b/erpnext/config/setup.py
@@ -1,5 +1,5 @@
 from frappe import _
-from frappe.widgets.moduleview import add_setup_section
+from frappe.desk.moduleview import add_setup_section
 
 def get_data():
 	data = [
@@ -75,21 +75,6 @@
 				},
 				{
 					"type": "doctype",
-					"name": "Support Email Settings",
-					"description": _("Setup incoming server for support email id. (e.g. support@example.com)")
-				},
-				{
-					"type": "doctype",
-					"name": "Sales Email Settings",
-					"description": _("Setup incoming server for sales email id. (e.g. sales@example.com)")
-				},
-				{
-					"type": "doctype",
-					"name": "Jobs Email Settings",
-					"description": _("Setup incoming server for jobs email id. (e.g. jobs@example.com)")
-				},
-				{
-					"type": "doctype",
 					"name": "SMS Settings",
 					"description": _("Setup SMS gateway settings")
 				},
diff --git a/erpnext/config/support.py b/erpnext/config/support.py
index 97807a3..7e243b2 100644
--- a/erpnext/config/support.py
+++ b/erpnext/config/support.py
@@ -49,7 +49,7 @@
 			"items": [
 				{
 					"type": "doctype",
-					"name": "Support Email Settings",
+					"name": "Email Account",
 					"description": _("Setup incoming server for support email id. (e.g. support@example.com)")
 				},
 			]
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 7fa81c9..0d189c7 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -146,7 +146,6 @@
 			self.currency = company_currency
 			self.conversion_rate = 1.0
 		else:
-			from erpnext.setup.doctype.currency.currency import validate_conversion_rate
 			validate_conversion_rate(self.currency, self.conversion_rate,
 				self.meta.get_label("conversion_rate"), self.company)
 
@@ -500,3 +499,12 @@
 		taxes_and_charges.append(tax)
 
 	return taxes_and_charges
+
+def validate_conversion_rate(currency, conversion_rate, conversion_rate_label, company):
+	"""common validation for currency and price list currency"""
+
+	company_currency = frappe.db.get_value("Company", company, "default_currency")
+
+	if not conversion_rate:
+		throw(_("{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.").format(
+			conversion_rate_label, currency, company_currency))
diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py
index 5f418c4..12d183c 100644
--- a/erpnext/controllers/buying_controller.py
+++ b/erpnext/controllers/buying_controller.py
@@ -18,6 +18,10 @@
 				"other_charges": "templates/print_formats/includes/taxes.html",
 			}
 
+	def get_feed(self):
+		return _("From {0} | {1} {2}").format(self.supplier_name, self.currency,
+			self.grand_total_import)
+
 	def validate(self):
 		super(BuyingController, self).validate()
 		if getattr(self, "supplier", None) and not self.supplier_name:
diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index d555532..cbbd82c 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.widgets.reportview import get_match_cond
+from frappe.desk.reportview import get_match_cond
 from frappe.model.db_query import DatabaseQuery
 
 def get_filters_cond(doctype, filters, conditions):
@@ -276,7 +276,7 @@
 	if searchfield and txt:
 		filter_list.append([doctype, searchfield, "like", "%%%s%%" % txt])
 
-	return frappe.widgets.reportview.execute("Account", filters = filter_list,
+	return frappe.desk.reportview.execute("Account", filters = filter_list,
 		fields = ["name", "parent_account"],
 		limit_start=start, limit_page_length=page_len, as_list=True)
 
diff --git a/erpnext/controllers/recurring_document.py b/erpnext/controllers/recurring_document.py
index bdf8b29..3395d0c 100644
--- a/erpnext/controllers/recurring_document.py
+++ b/erpnext/controllers/recurring_document.py
@@ -134,7 +134,7 @@
 
 def assign_task_to_owner(doc, doctype, msg, users):
 	for d in users:
-		from frappe.widgets.form import assign_to
+		from frappe.desk.form import assign_to
 		args = {
 			'assign_to' 	:	d,
 			'doctype'		:	doctype,
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index 86d8837..9e237e1 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -18,6 +18,10 @@
 				"other_charges": "templates/print_formats/includes/taxes.html",
 			}
 
+	def get_feed(self):
+		return _("To {0} | {1} {2}").format(self.customer_name, self.currency,
+			self.grand_total_export)
+
 	def onload(self):
 		if self.doctype in ("Sales Order", "Delivery Note", "Sales Invoice"):
 			for item in self.get(self.fname):
@@ -29,13 +33,6 @@
 		self.validate_max_discount()
 		check_active_sales_items(self)
 
-	def get_sender(self, comm):
-		sender = None
-		if cint(frappe.db.get_value('Sales Email Settings', None, 'extract_emails')):
-			sender = frappe.db.get_value('Sales Email Settings', None, 'email_id')
-
-		return sender or comm.sender or frappe.session.user
-
 	def set_missing_values(self, for_validate=False):
 		super(SellingController, self).set_missing_values(for_validate)
 
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index 1188be5..9825b04 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -8,37 +8,23 @@
 from frappe.model.document import Document
 
 status_map = {
-	"Contact": [
-		["Replied", "communication_sent"],
-		["Open", "communication_received"]
-	],
-	"Job Applicant": [
-		["Replied", "communication_sent"],
-		["Open", "communication_received"]
-	],
 	"Lead": [
-		["Replied", "communication_sent"],
 		["Converted", "has_customer"],
 		["Opportunity", "has_opportunity"],
-		["Open", "communication_received"],
 	],
 	"Opportunity": [
 		["Draft", None],
 		["Submitted", "eval:self.docstatus==1"],
 		["Lost", "eval:self.status=='Lost'"],
 		["Quotation", "has_quotation"],
-		["Replied", "communication_sent"],
 		["Cancelled", "eval:self.docstatus==2"],
-		["Open", "communication_received"],
 	],
 	"Quotation": [
 		["Draft", None],
 		["Submitted", "eval:self.docstatus==1"],
 		["Lost", "eval:self.status=='Lost'"],
 		["Ordered", "has_sales_order"],
-		["Replied", "communication_sent"],
 		["Cancelled", "eval:self.docstatus==2"],
-		["Open", "communication_received"],
 	],
 	"Sales Order": [
 		["Draft", None],
@@ -46,10 +32,6 @@
 		["Stopped", "eval:self.status=='Stopped'"],
 		["Cancelled", "eval:self.docstatus==2"],
 	],
-	"Support Ticket": [
-		["Replied", "communication_sent"],
-		["Open", "communication_received"]
-	],
 }
 
 class StatusUpdater(Document):
@@ -90,25 +72,6 @@
 			if update:
 				frappe.db.set_value(self.doctype, self.name, "status", self.status)
 
-	def on_communication(self):
-		if not self.get("communications"): return
-		self.communication_set = True
-		self.get("communications").sort(key=lambda d: d.creation)
-		self.set_status(update=True)
-		del self.communication_set
-
-	def communication_received(self):
-		if getattr(self, "communication_set", False):
-			last_comm = self.get("communications")
-			if last_comm:
-				return last_comm[-1].sent_or_received == "Received"
-
-	def communication_sent(self):
-		if getattr(self, "communication_set", False):
-			last_comm = self.get("communications")
-			if last_comm:
-				return last_comm[-1].sent_or_received == "Sent"
-
 	def validate_qty(self):
 		"""
 			Validates qty at row level
diff --git a/erpnext/home/__init__.py b/erpnext/home/__init__.py
deleted file mode 100644
index 26a11a2..0000000
--- a/erpnext/home/__init__.py
+++ /dev/null
@@ -1,102 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import frappe
-from frappe import msgprint
-
-feed_dict = {
-	# Project
-	'Project': ['[%(status)s]', '#000080'],
-	'Task': ['[%(status)s] %(subject)s', '#000080'],
-
-	# Sales
-	'Lead': ['%(lead_name)s', '#000080'],
-	'Quotation': ['[%(status)s] To %(customer_name)s worth %(currency)s %(grand_total_export)s', '#4169E1'],
-	'Sales Order': ['[%(status)s] To %(customer_name)s worth %(currency)s %(grand_total_export)s', '#4169E1'],
-
-	# Purchase
-	'Supplier': ['%(supplier_name)s, %(supplier_type)s', '#6495ED'],
-	'Purchase Order': ['[%(status)s] %(name)s To %(supplier_name)s for %(currency)s  %(grand_total_import)s', '#4169E1'],
-
-	# Stock
-	'Delivery Note': ['[%(status)s] To %(customer_name)s', '#4169E1'],
-	'Purchase Receipt': ['[%(status)s] From %(supplier)s', '#4169E1'],
-
-	# Accounts
-	'Journal Voucher': ['[%(voucher_type)s] %(name)s', '#4169E1'],
-	'Purchase Invoice': ['To %(supplier_name)s for %(currency)s %(grand_total_import)s', '#4169E1'],
-	'Sales Invoice': ['To %(customer_name)s for %(currency)s %(grand_total_export)s', '#4169E1'],
-
-	# HR
-	'Expense Claim': ['[%(approval_status)s] %(name)s by %(employee_name)s', '#4169E1'],
-	'Salary Slip': ['%(employee_name)s for %(month)s %(fiscal_year)s', '#4169E1'],
-	'Leave Transaction': ['%(leave_type)s for %(employee)s', '#4169E1'],
-
-	# Support
-	'Customer Issue': ['[%(status)s] %(description)s by %(customer_name)s', '#000080'],
-	'Maintenance Visit': ['To %(customer_name)s', '#4169E1'],
-	'Support Ticket': ["[%(status)s] %(subject)s", '#000080'],
-
-	# Website
-	'Web Page': ['%(title)s', '#000080'],
-	'Blog': ['%(title)s', '#000080']
-}
-
-def make_feed(feedtype, doctype, name, owner, subject, color):
-	"makes a new Feed record"
-	#msgprint(subject)
-	from frappe.utils import get_fullname
-
-	if feedtype in ('Login', 'Comment', 'Assignment'):
-		# delete old login, comment feed
-		frappe.db.sql("""delete from tabFeed where
-			datediff(curdate(), creation) > 7 and doc_type in ('Comment', 'Login', 'Assignment')""")
-	else:
-		# one feed per item
-		frappe.db.sql("""delete from tabFeed
-			where doc_type=%s and doc_name=%s
-			and ifnull(feed_type,'') != 'Comment'""", (doctype, name))
-
-	f = frappe.new_doc('Feed')
-	f.owner = owner
-	f.feed_type = feedtype
-	f.doc_type = doctype
-	f.doc_name = name
-	f.subject = subject
-	f.color = color
-	f.full_name = get_fullname(owner)
-	f.save(ignore_permissions=True)
-
-def update_feed(doc, method=None):
-	"adds a new feed"
-	if frappe.flags.in_patch:
-		return
-
-	if method in ['on_update', 'on_submit']:
-		subject, color = feed_dict.get(doc.doctype, [None, None])
-		if subject:
-			make_feed('', doc.doctype, doc.name, doc.owner, subject % doc.as_dict(), color)
-
-def make_comment_feed(doc, method):
-	"""add comment to feed"""
-	comment = doc.comment
-	if len(comment) > 240:
-		comment = comment[:240] + "..."
-
-	make_feed('Comment', doc.comment_doctype, doc.comment_docname, doc.comment_by,
-		'<i>"' + comment + '"</i>', '#6B24B3')
-
diff --git a/erpnext/home/doctype/__init__.py b/erpnext/home/doctype/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/home/doctype/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/home/doctype/feed/README.md b/erpnext/home/doctype/feed/README.md
deleted file mode 100644
index 085e575..0000000
--- a/erpnext/home/doctype/feed/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Activity Feed.
\ No newline at end of file
diff --git a/erpnext/home/doctype/feed/__init__.py b/erpnext/home/doctype/feed/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/home/doctype/feed/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/home/doctype/feed/feed.json b/erpnext/home/doctype/feed/feed.json
deleted file mode 100644
index bef8aac..0000000
--- a/erpnext/home/doctype/feed/feed.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "autoname": "hash",
- "creation": "2012-07-03 13:29:42",
- "docstatus": 0,
- "doctype": "DocType",
- "fields": [
-  {
-   "fieldname": "feed_type",
-   "fieldtype": "Select",
-   "in_list_view": 1,
-   "label": "Feed Type",
-   "options": "\nComment\nLogin",
-   "permlevel": 0
-  },
-  {
-   "fieldname": "doc_type",
-   "fieldtype": "Data",
-   "in_list_view": 1,
-   "label": "Doc Type",
-   "permlevel": 0
-  },
-  {
-   "fieldname": "doc_name",
-   "fieldtype": "Data",
-   "in_list_view": 1,
-   "label": "Doc Name",
-   "permlevel": 0
-  },
-  {
-   "fieldname": "subject",
-   "fieldtype": "Data",
-   "in_list_view": 1,
-   "label": "Subject",
-   "permlevel": 0
-  },
-  {
-   "fieldname": "color",
-   "fieldtype": "Data",
-   "in_list_view": 1,
-   "label": "Color",
-   "permlevel": 0
-  },
-  {
-   "fieldname": "full_name",
-   "fieldtype": "Data",
-   "label": "Full Name",
-   "permlevel": 0
-  }
- ],
- "icon": "icon-rss",
- "idx": 1,
- "modified": "2014-06-18 03:49:10.882587",
- "modified_by": "Administrator",
- "module": "Home",
- "name": "Feed",
- "owner": "Administrator",
- "permissions": [
-  {
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "System Manager"
-  },
-  {
-   "apply_user_permissions": 1,
-   "permlevel": 0,
-   "read": 1,
-   "role": "All"
-  }
- ]
-}
diff --git a/erpnext/home/doctype/feed/feed.py b/erpnext/home/doctype/feed/feed.py
deleted file mode 100644
index df8ccb2..0000000
--- a/erpnext/home/doctype/feed/feed.py
+++ /dev/null
@@ -1,50 +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
-import frappe.defaults
-import frappe.permissions
-from frappe.model.document import Document
-
-class Feed(Document):
-	pass
-
-def on_doctype_update():
-	if not frappe.db.sql("""show index from `tabFeed`
-		where Key_name="feed_doctype_docname_index" """):
-		frappe.db.commit()
-		frappe.db.sql("""alter table `tabFeed`
-			add index feed_doctype_docname_index(doc_type, doc_name)""")
-
-def get_permission_query_conditions(user):
-	if not user: user = frappe.session.user
-
-	if not frappe.permissions.apply_user_permissions("Feed", "read", user):
-		return ""
-
-	user_permissions = frappe.defaults.get_user_permissions(user)
-	can_read = frappe.get_user(user).get_can_read()
-
-	can_read_doctypes = ['"{}"'.format(doctype) for doctype in
-		list(set(can_read) - set(user_permissions.keys()))]
-
-	if not can_read_doctypes:
-		return ""
-
-	conditions = ["tabFeed.doc_type in ({})".format(", ".join(can_read_doctypes))]
-
-	if user_permissions:
-		can_read_docs = []
-		for doctype, names in user_permissions.items():
-			for n in names:
-				can_read_docs.append('"{}|{}"'.format(doctype, n))
-
-		if can_read_docs:
-			conditions.append("concat_ws('|', tabFeed.doc_type, tabFeed.doc_name) in ({})".format(
-				", ".join(can_read_docs)))
-
-	return "(" + " or ".join(conditions) + ")"
-
-def has_permission(doc, user):
-	return frappe.has_permission(doc.doc_type, "read", doc.doc_name, user=user)
diff --git a/erpnext/home/page/__init__.py b/erpnext/home/page/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/home/page/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/home/page/activity/README.md b/erpnext/home/page/activity/README.md
deleted file mode 100644
index 59e0352..0000000
--- a/erpnext/home/page/activity/README.md
+++ /dev/null
@@ -1 +0,0 @@
-List of latest activities based on Feed.
\ No newline at end of file
diff --git a/erpnext/home/page/activity/__init__.py b/erpnext/home/page/activity/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/home/page/activity/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/home/page/activity/activity.css b/erpnext/home/page/activity/activity.css
deleted file mode 100644
index 28b1b40..0000000
--- a/erpnext/home/page/activity/activity.css
+++ /dev/null
@@ -1,23 +0,0 @@
-#page-activity .label {
-	display: inline-block;
-	width: 100px;
-	margin-right: 7px;
-}
-
-#page-activity .label-info {
-	cursor: pointer;
-}
-
-#page-activity .user-info {
-	float: right;
-	color: #777;
-	font-size: 10px;
-}
-
-#page-activity .date-sep {
-	margin: 0px -15px 11px -15px;
-	padding: 5px 0px;
-	border-bottom: 2px solid #aaa;
-	color: #555;
-	font-size: 10px;
-}
\ No newline at end of file
diff --git a/erpnext/home/page/activity/activity.js b/erpnext/home/page/activity/activity.js
deleted file mode 100644
index f50f6c8..0000000
--- a/erpnext/home/page/activity/activity.js
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt
-
-frappe.pages['activity'].onload = function(wrapper) {
-	frappe.ui.make_app_page({
-		parent: wrapper,
-		title: __("Activity"),
-		single_column: true
-	})
-	wrapper.appframe.add_module_icon("Activity");
-
-	var list = new frappe.ui.Listing({
-		hide_refresh: true,
-		appframe: wrapper.appframe,
-		method: 'erpnext.home.page.activity.activity.get_feed',
-		parent: $(wrapper).find(".layout-main"),
-		render_row: function(row, data) {
-			new erpnext.ActivityFeed(row, data);
-		}
-	});
-	list.run();
-
-	wrapper.appframe.set_title_right(__("Refresh"), function() { list.run(); });
-
-	// Build Report Button
-	if(frappe.boot.user.can_get_report.indexOf("Feed")!=-1) {
-		wrapper.appframe.add_button(__('Build Report'), function() {
-			frappe.set_route('Report', "Feed");
-		}, 'icon-th');
-	}
-}
-
-erpnext.last_feed_date = false;
-erpnext.ActivityFeed = Class.extend({
-	init: function(row, data) {
-		this.scrub_data(data);
-		this.add_date_separator(row, data);
-		if(!data.add_class) data.add_class = "label-default";
-		$(row).append(repl('<div style="margin: 0px">\
-			<span class="avatar avatar-small"><img src="%(imgsrc)s" /></span> \
-			<span %(onclick)s class="label %(add_class)s">%(feed_type)s</span>\
-			%(link)s %(subject)s <span class="user-info">%(by)s</span></div>', data));
-	},
-	scrub_data: function(data) {
-		data.by = frappe.user_info(data.owner).fullname;
-		data.imgsrc = frappe.utils.get_file_link(frappe.user_info(data.owner).image);
-
-		// feedtype
-		if(!data.feed_type) {
-			data.feed_type = __(data.doc_type);
-			data.add_class = "label-info";
-			data.onclick = repl('onclick="window.location.href=\'#!List/%(feed_type)s\';"', data)
-		}
-
-		// color for comment
-		if(data.feed_type=='Comment') {
-			data.add_class = "label-danger";
-		}
-
-		if(data.feed_type=='Assignment') {
-			data.add_class = "label-warning";
-		}
-
-		// link
-		if(data.doc_name && data.feed_type!='Login') {
-			data.link = frappe.format(data.doc_name, {"fieldtype":"Link", "options":data.doc_type})
-		} else {
-			data.link = "";
-		}
-	},
-	add_date_separator: function(row, data) {
-		var date = dateutil.str_to_obj(data.modified);
-		var last = erpnext.last_feed_date;
-
-		if((last && dateutil.obj_to_str(last) != dateutil.obj_to_str(date)) || (!last)) {
-			var diff = dateutil.get_day_diff(dateutil.get_today(), dateutil.obj_to_str(date));
-			if(diff < 1) {
-				pdate = 'Today';
-			} else if(diff < 2) {
-				pdate = 'Yesterday';
-			} else {
-				pdate = dateutil.global_date_format(date);
-			}
-			$(row).html(repl('<div class="date-sep" style="padding-left: 15px;">%(date)s</div>', {date: pdate}));
-		}
-		erpnext.last_feed_date = date;
-	}
-})
diff --git a/erpnext/home/page/activity/activity.json b/erpnext/home/page/activity/activity.json
deleted file mode 100644
index a65057e..0000000
--- a/erpnext/home/page/activity/activity.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "creation": "2013-04-09 11:45:31.000000", 
- "docstatus": 0, 
- "doctype": "Page", 
- "icon": "icon-play", 
- "idx": 1, 
- "modified": "2013-07-11 14:40:20.000000", 
- "modified_by": "Administrator", 
- "module": "Home", 
- "name": "activity", 
- "owner": "Administrator", 
- "page_name": "activity", 
- "roles": [
-  {
-   "role": "All"
-  }
- ], 
- "standard": "Yes", 
- "title": "Activity"
-}
\ No newline at end of file
diff --git a/erpnext/home/page/activity/activity.py b/erpnext/home/page/activity/activity.py
deleted file mode 100644
index f8e1213..0000000
--- a/erpnext/home/page/activity/activity.py
+++ /dev/null
@@ -1,12 +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
-from frappe.utils import cint
-
-@frappe.whitelist()
-def get_feed(limit_start, limit_page_length):
-	"""get feed"""
-	return frappe.get_list("Feed", fields=["name", "feed_type", "doc_type", "subject", "owner", "modified"],
-		limit_start = limit_start, limit_page_length = limit_page_length)
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 166d830..f9ac629 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -4,7 +4,7 @@
 app_description = "Open Source Enterprise Resource Planning for Small and Midsized Organizations"
 app_icon = "icon-th"
 app_color = "#e74c3c"
-app_version = "4.3.0"
+app_version = "5.0.0-alpha"
 
 error_report_email = "support@erpnext.com"
 
@@ -20,32 +20,15 @@
 dump_report_map = "erpnext.startup.report_data_map.data_map"
 update_website_context = "erpnext.startup.webutils.update_website_context"
 
-on_session_creation = "erpnext.startup.event_handlers.on_session_creation"
 before_tests = "erpnext.setup.utils.before_tests"
 
 website_generators = ["Item Group", "Item", "Sales Partner"]
 
 standard_queries = "Customer:erpnext.selling.doctype.customer.customer.get_customer_list"
 
-permission_query_conditions = {
-		"Feed": "erpnext.home.doctype.feed.feed.get_permission_query_conditions",
-		"Note": "erpnext.utilities.doctype.note.note.get_permission_query_conditions"
-	}
-
-has_permission = {
-		"Feed": "erpnext.home.doctype.feed.feed.has_permission",
-		"Note": "erpnext.utilities.doctype.note.note.has_permission"
-	}
-
+communication_covert_to = ["Lead", "Support Ticket", "Job Application"]
 
 doc_events = {
-	"*": {
-		"on_update": "erpnext.home.update_feed",
-		"on_submit": "erpnext.home.update_feed"
-	},
-	"Comment": {
-		"on_update": "erpnext.home.make_comment_feed"
-	},
 	"Stock Entry": {
 		"on_submit": "erpnext.stock.doctype.material_request.material_request.update_completed_qty",
 		"on_cancel": "erpnext.stock.doctype.material_request.material_request.update_completed_qty"
@@ -57,11 +40,6 @@
 }
 
 scheduler_events = {
-	"all": [
-		"erpnext.support.doctype.support_ticket.get_support_mails.get_support_mails",
-		"erpnext.hr.doctype.job_applicant.get_job_applications.get_job_applications",
-		"erpnext.selling.doctype.lead.get_leads.get_leads"
-	],
 	"daily": [
 		"erpnext.controllers.recurring_document.create_recurring_documents",
 		"erpnext.stock.utils.reorder_item",
@@ -76,3 +54,6 @@
 	]
 }
 
+default_mail_footer = """<div style="padding: 7px; text-align: right; color: #888"><small>
+	<a style="color: #888" href="https://erpnext.com">Sent via ERPNext</a></div>"""
+
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.py b/erpnext/hr/doctype/expense_claim/expense_claim.py
index 560ee02..4db9cbf 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.py
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.py
@@ -11,6 +11,10 @@
 class InvalidExpenseApproverError(frappe.ValidationError): pass
 
 class ExpenseClaim(Document):
+	def get_feed(self):
+		return _("{0}: From {0} for {1}").format(self.approval_status,
+			self.employee_name, self.total_claimed_amount)
+
 	def validate(self):
 		self.validate_fiscal_year()
 		self.validate_exp_details()
diff --git a/erpnext/hr/doctype/job_applicant/get_job_applications.py b/erpnext/hr/doctype/job_applicant/get_job_applications.py
deleted file mode 100644
index e4a8d70..0000000
--- a/erpnext/hr/doctype/job_applicant/get_job_applications.py
+++ /dev/null
@@ -1,47 +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
-from frappe.utils import cstr, cint
-from frappe.utils.email_lib.receive import POP3Mailbox
-from frappe.core.doctype.communication.communication import _make
-
-class JobsMailbox(POP3Mailbox):	
-	def setup(self, args=None):
-		self.settings = args or frappe.get_doc("Jobs Email Settings", "Jobs Email Settings")
-		
-	def process_message(self, mail):
-		if mail.from_email == self.settings.email_id:
-			return
-			
-		name = frappe.db.get_value("Job Applicant", {"email_id": mail.from_email}, 
-			"name")
-		if name:
-			applicant = frappe.get_doc("Job Applicant", name)
-			if applicant.status!="Rejected":
-				applicant.status = "Open"
-			applicant.ignore_permissions = True
-			applicant.save()
-		else:
-			name = (mail.from_real_name and (mail.from_real_name + " - ") or "") \
-				+ mail.from_email
-			applicant = frappe.get_doc({
-				"creation": mail.date,
-				"doctype":"Job Applicant",
-				"applicant_name": name,
-				"email_id": mail.from_email,
-				"status": "Open"
-			})
-			applicant.ignore_permissions = True
-			applicant.ignore_mandatory = True
-			applicant.insert()
-		
-		mail.save_attachments_in_doc(applicant)
-				
-		_make(content=mail.content, sender=mail.from_email, subject=mail.subject or "No Subject",
-			doctype="Job Applicant", name=applicant.name, sent_or_received="Received")
-
-def get_job_applications():
-	if cint(frappe.db.get_value('Jobs Email Settings', None, 'extract_emails')):
-		JobsMailbox()
\ No newline at end of file
diff --git a/erpnext/hr/doctype/job_applicant/job_applicant.js b/erpnext/hr/doctype/job_applicant/job_applicant.js
index 762bd96..63b58db 100644
--- a/erpnext/hr/doctype/job_applicant/job_applicant.js
+++ b/erpnext/hr/doctype/job_applicant/job_applicant.js
@@ -3,16 +3,9 @@
 
 // For license information, please see license.txt
 
+// for communication
+cur_frm.email_field = "email_id";
 cur_frm.cscript = {
 	refresh: function(doc) {
-		cur_frm.cscript.make_listing(doc);
-	},
-	make_listing: function(doc) {
-		cur_frm.communication_view = new frappe.views.CommunicationList({
-			list: frappe.get_list("Communication", {"parent": doc.name, "parenttype": "Job Applicant"}),
-			parent: cur_frm.fields_dict['thread_html'].wrapper,
-			doc: doc,
-			recipients: doc.email_id
-		})
 	},
 }
diff --git a/erpnext/hr/doctype/job_applicant/job_applicant.py b/erpnext/hr/doctype/job_applicant/job_applicant.py
index 1f09c26..ddbf97f 100644
--- a/erpnext/hr/doctype/job_applicant/job_applicant.py
+++ b/erpnext/hr/doctype/job_applicant/job_applicant.py
@@ -5,13 +5,9 @@
 
 from __future__ import unicode_literals
 import frappe
-from erpnext.utilities.transaction_base import TransactionBase
+from frappe.model.document import Document
 from frappe.utils import extract_email_id
 
-class JobApplicant(TransactionBase):
-
-	def get_sender(self, comm):
-		return frappe.db.get_value('Jobs Email Settings',None,'email_id') or comm.sender or frappe.session.user
-
+class JobApplicant(Document):
 	def validate(self):
 		self.set_status()
diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py
index 1751eb1..aacb7d4 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.py
+++ b/erpnext/hr/doctype/leave_application/leave_application.py
@@ -17,6 +17,10 @@
 
 from frappe.model.document import Document
 class LeaveApplication(Document):
+	def get_feed(self):
+		return _("{0}: From {0} of type {1}").format(self.status,
+			self.employee_name, self.leave_type)
+
 	def validate(self):
 		if not getattr(self, "__islocal", None) and frappe.db.exists(self.doctype, self.name):
 			self.previous_doc = frappe.db.get_value(self.doctype, self.name, "*", as_dict=True)
@@ -212,7 +216,7 @@
 
 	def notify(self, args):
 		args = frappe._dict(args)
-		from frappe.core.page.messages.messages import post
+		from frappe.desk.page.messages.messages import post
 		post(**{"txt": args.message, "contact": args.message_to, "subject": args.subject,
 			"notify": cint(self.follow_via_email)})
 
@@ -249,7 +253,7 @@
 
 	employee, company = employee.name, employee.company
 
-	from frappe.widgets.reportview import build_match_conditions
+	from frappe.desk.reportview import build_match_conditions
 	match_conditions = build_match_conditions("Leave Application")
 
 	# show department leaves for employee
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py
index 7c905a6..f3ac652 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.py
@@ -185,12 +185,10 @@
 
 
 	def send_mail_funct(self):
-		from frappe.utils.email_lib import sendmail
-
 		receiver = frappe.db.get_value("Employee", self.employee, "company_email")
 		if receiver:
 			subj = 'Salary Slip - ' + cstr(self.month) +'/'+cstr(self.fiscal_year)
-			sendmail([receiver], subject=subj, msg = _("Please see attachment"),
+			frappe.sendmail([receiver], subject=subj, msg = _("Please see attachment"),
 				attachments=[{
 					"fname": self.name + ".pdf",
 					"fcontent": frappe.get_print_format(self.doctype, self.name, as_pdf = True)
diff --git a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
index 4b92848..f54b2e4 100644
--- a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
+++ b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import frappe
 from frappe import _
-from frappe.widgets.reportview import execute as runreport
+from frappe.desk.reportview import execute as runreport
 
 def execute(filters=None):
 	if not filters: filters = {}
diff --git a/erpnext/modules.txt b/erpnext/modules.txt
index 32547e9..68d095e 100644
--- a/erpnext/modules.txt
+++ b/erpnext/modules.txt
@@ -1,6 +1,5 @@
 Accounts
 Buying
-Home
 HR
 Manufacturing
 Projects
diff --git a/erpnext/patches/repair_tools/fix_naming_series_records_lost_by_reload.py b/erpnext/patches/repair_tools/fix_naming_series_records_lost_by_reload.py
index 981ffd0..36fa277 100644
--- a/erpnext/patches/repair_tools/fix_naming_series_records_lost_by_reload.py
+++ b/erpnext/patches/repair_tools/fix_naming_series_records_lost_by_reload.py
@@ -7,7 +7,7 @@
 import re
 from frappe.model.naming import make_autoname
 from frappe.utils import cint
-from frappe.utils.email_lib import sendmail_to_system_managers
+from frappe.email import sendmail_to_system_managers
 
 doctype_series_map = {
 	'Attendance': 'ATT-',
diff --git a/erpnext/patches/v4_0/create_custom_fields_for_india_specific_fields.py b/erpnext/patches/v4_0/create_custom_fields_for_india_specific_fields.py
index 9b07000..5bca5e6 100644
--- a/erpnext/patches/v4_0/create_custom_fields_for_india_specific_fields.py
+++ b/erpnext/patches/v4_0/create_custom_fields_for_india_specific_fields.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.core.doctype.custom_field.custom_field import create_custom_field_if_values_exist
+from frappe.custom.doctype.custom_field.custom_field import create_custom_field_if_values_exist
 
 def execute():
 	frappe.reload_doc("stock", "doctype", "purchase_receipt")
diff --git a/erpnext/patches/v4_0/import_country_codes.py b/erpnext/patches/v4_0/import_country_codes.py
index 4d1177e..e2e9f9d 100644
--- a/erpnext/patches/v4_0/import_country_codes.py
+++ b/erpnext/patches/v4_0/import_country_codes.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.country_info import get_all
+from frappe.geo.country_info import get_all
 from erpnext.setup.install import import_country_and_currency
 
 def execute():
diff --git a/erpnext/patches/v4_0/reset_permissions_for_masters.py b/erpnext/patches/v4_0/reset_permissions_for_masters.py
index d031bd0..30aa47a 100644
--- a/erpnext/patches/v4_0/reset_permissions_for_masters.py
+++ b/erpnext/patches/v4_0/reset_permissions_for_masters.py
@@ -10,9 +10,9 @@
 		"Comment", "Communication", "Company", "Contact Us Settings",
 		"Country", "Currency", "Currency Exchange", "Deduction Type", "Department",
 		"Designation", "Earning Type", "Event", "Feed", "File Data", "Fiscal Year",
-		"HR Settings", "Industry Type", "Jobs Email Settings", "Leave Type", "Letter Head",
+		"HR Settings", "Industry Type", "Leave Type", "Letter Head",
 		"Mode of Payment", "Module Def", "Naming Series", "POS Setting", "Print Heading",
-		"Report", "Role", "Sales Email Settings", "Selling Settings", "Stock Settings", "Supplier Type", "UOM"):
+		"Report", "Role", "Selling Settings", "Stock Settings", "Supplier Type", "UOM"):
 		try:
 			frappe.reset_perms(doctype)
 		except:
diff --git a/erpnext/patches/v4_0/set_naming_series_property_setter.py b/erpnext/patches/v4_0/set_naming_series_property_setter.py
index 7161492..ffbfc24 100644
--- a/erpnext/patches/v4_0/set_naming_series_property_setter.py
+++ b/erpnext/patches/v4_0/set_naming_series_property_setter.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 
 import frappe
-from frappe.core.doctype.property_setter.property_setter import make_property_setter
+from frappe.custom.doctype.property_setter.property_setter import make_property_setter
 
 doctype_series_map = {
 	'Attendance': 'ATT-',
diff --git a/erpnext/patches/v4_0/split_email_settings.py b/erpnext/patches/v4_0/split_email_settings.py
index dd36eef..c04e1d5 100644
--- a/erpnext/patches/v4_0/split_email_settings.py
+++ b/erpnext/patches/v4_0/split_email_settings.py
@@ -5,6 +5,16 @@
 import frappe
 
 def execute():
+	print "WARNING!!!! Email Settings not migrated. Please setup your email again."
+
+	# this will happen if you are migrating very old accounts
+	# comment out this line below and remember to create new Email Accounts
+	# for incoming and outgoing mails
+	raise Exception
+
+	return
+
+
 	frappe.reload_doc("core", "doctype", "outgoing_email_settings")
 	frappe.reload_doc("support", "doctype", "support_email_settings")
 
@@ -12,7 +22,6 @@
 	map_outgoing_email_settings(email_settings)
 	map_support_email_settings(email_settings)
 
-	frappe.delete_doc("DocType", "Email Settings")
 
 def map_outgoing_email_settings(email_settings):
 	outgoing_email_settings = frappe.get_doc("Outgoing Email Settings")
diff --git a/erpnext/patches/v4_1/set_outgoing_email_footer.py b/erpnext/patches/v4_1/set_outgoing_email_footer.py
index d38f2c2..73d8d60 100644
--- a/erpnext/patches/v4_1/set_outgoing_email_footer.py
+++ b/erpnext/patches/v4_1/set_outgoing_email_footer.py
@@ -6,6 +6,7 @@
 from erpnext.setup.install import default_mail_footer
 
 def execute():
+	return
 	mail_footer = frappe.db.get_default('mail_footer') or ''
 	mail_footer += default_mail_footer
 	frappe.db.set_value("Outgoing Email Settings", "Outgoing Email Settings", "footer", mail_footer)
diff --git a/erpnext/patches/v4_2/add_currency_turkish_lira.py b/erpnext/patches/v4_2/add_currency_turkish_lira.py
index f547661..d768d58 100644
--- a/erpnext/patches/v4_2/add_currency_turkish_lira.py
+++ b/erpnext/patches/v4_2/add_currency_turkish_lira.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.country_info import get_country_info
+from frappe.geo.country_info import get_country_info
 from erpnext.setup.install import add_country_and_currency
 
 def execute():
diff --git a/erpnext/utilities/doctype/note/__init__.py b/erpnext/patches/v4_4/__init__.py
similarity index 100%
rename from erpnext/utilities/doctype/note/__init__.py
rename to erpnext/patches/v4_4/__init__.py
diff --git a/erpnext/patches/v4_4/make_email_accounts.py b/erpnext/patches/v4_4/make_email_accounts.py
new file mode 100644
index 0000000..9e8538d
--- /dev/null
+++ b/erpnext/patches/v4_4/make_email_accounts.py
@@ -0,0 +1,73 @@
+import frappe
+
+def execute():
+	frappe.reload_doc("email", "doctype", "email_account")
+
+	# outgoing
+	outgoing = frappe.get_doc("Outgoing Email Settings")
+	account = frappe.new_doc("Email Account")
+	mapping = {
+		"email_id": "mail_login",
+		"password": "mail_password",
+		"footer": "footer",
+		"smtp_server": "mail_server",
+		"smtp_port": "mail_port",
+		"use_tls": "use_ssl"
+	}
+
+	for target_fieldname, source_fieldname in mapping.iteritems():
+		account.set(target_fieldname, outgoing.get(source_fieldname))
+
+	account.enable_outgoing = 1
+	account.enable_incoming = 0
+	account.is_global = 1
+
+	account.insert()
+
+	# support
+	support = frappe.get_doc("Support Email Settings")
+	account = frappe.new_doc("Email Account")
+	mapping = {
+		"enable_incoming": "sync_support_mails",
+		"email_id": "mail_login",
+		"password": "mail_password",
+		"pop3_server": "mail_server",
+		"use_ssl": "use_ssl",
+		"signature": "support_signature",
+		"enable_auto_reply": "send_autoreply",
+		"auto_reply_message": "support_autoreply"
+	}
+
+	for target_fieldname, source_fieldname in mapping.iteritems():
+		account.set(target_fieldname, support.get(source_fieldname))
+
+	account.enable_outgoing = 0
+	account.is_global = 1
+
+	account.insert()
+
+	# sales, jobs
+	for doctype in ("Sales Email Settings", "Jobs Email Settings"):
+		source = frappe.get_doc(doctype)
+		account = frappe.new_doc("Email Account")
+		mapping = {
+			"enable_incoming": "extract_emails",
+			"email_id": "username",
+			"password": "password",
+			"pop3_server": "host",
+			"use_ssl": "use_ssl",
+		}
+
+		for target_fieldname, source_fieldname in mapping.iteritems():
+			account.set(target_fieldname, source.get(source_fieldname))
+
+		account.enable_outgoing = 0
+		account.is_global = 1
+		account.append_to = "Lead" if doctype=="Sales Email Settings" else "Job Applicant"
+
+		account.insert()
+
+	for doctype in ("Outgoing Email Settings", "Support Email Settings",
+		"Sales Email Settings", "Jobs Email Settings"):
+		frappe.delete_doc("DocType", doctype)
+
diff --git a/erpnext/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py
index 88e6e12..ce9b561 100644
--- a/erpnext/projects/doctype/project/project.py
+++ b/erpnext/projects/doctype/project/project.py
@@ -11,6 +11,8 @@
 from frappe.model.document import Document
 
 class Project(Document):
+	def get_feed(self):
+		return self.status
 
 	def get_gross_profit(self):
 		pft, per_pft =0, 0
@@ -70,4 +72,4 @@
 
 @frappe.whitelist()
 def get_cost_center_name(project_name):
-	return frappe.db.get_value("Project", project_name, "cost_center")
\ No newline at end of file
+	return frappe.db.get_value("Project", project_name, "cost_center")
diff --git a/erpnext/projects/doctype/task/task.py b/erpnext/projects/doctype/task/task.py
index 8d63f12..fe1ce7f 100644
--- a/erpnext/projects/doctype/task/task.py
+++ b/erpnext/projects/doctype/task/task.py
@@ -11,6 +11,9 @@
 from frappe.model.document import Document
 
 class Task(Document):
+	def get_feed(self):
+		return '{0}: {1}'.format(_(self.status), self.subject)
+
 	def get_project_details(self):
 		return {
 			"project": self.project
@@ -47,7 +50,7 @@
 
 @frappe.whitelist()
 def get_events(start, end, filters=None):
-	from frappe.widgets.reportview import build_match_conditions
+	from frappe.desk.reportview import build_match_conditions
 	if not frappe.has_permission("Task"):
 		frappe.msgprint(_("No Permission"), raise_exception=1)
 
diff --git a/erpnext/projects/doctype/time_log/time_log.py b/erpnext/projects/doctype/time_log/time_log.py
index eb8afc7..6678392 100644
--- a/erpnext/projects/doctype/time_log/time_log.py
+++ b/erpnext/projects/doctype/time_log/time_log.py
@@ -61,7 +61,7 @@
 
 @frappe.whitelist()
 def get_events(start, end):
-	from frappe.widgets.reportview import build_match_conditions
+	from frappe.desk.reportview import build_match_conditions
 	if not frappe.has_permission("Time Log"):
 		frappe.msgprint(_("No Permission"), raise_exception=1)
 
diff --git a/erpnext/projects/report/daily_time_log_summary/daily_time_log_summary.py b/erpnext/projects/report/daily_time_log_summary/daily_time_log_summary.py
index b8f746b..fecdc2f 100644
--- a/erpnext/projects/report/daily_time_log_summary/daily_time_log_summary.py
+++ b/erpnext/projects/report/daily_time_log_summary/daily_time_log_summary.py
@@ -75,7 +75,7 @@
 	if filters.get("to_date"):
 		conditions += " and to_time <= timestamp(%(to_date)s, %(to_time)s)"
 
-	from frappe.widgets.reportview import build_match_conditions
+	from frappe.desk.reportview import build_match_conditions
 	match_conditions = build_match_conditions("Time Log")
 	if match_conditions:
 		conditions += " and %s" % match_conditions
diff --git a/erpnext/projects/utils.py b/erpnext/projects/utils.py
index 6fee9b3..b36519b 100644
--- a/erpnext/projects/utils.py
+++ b/erpnext/projects/utils.py
@@ -12,7 +12,7 @@
 
 @frappe.whitelist()
 def query_task(doctype, txt, searchfield, start, page_len, filters):
-	from frappe.widgets.reportview import build_match_conditions
+	from frappe.desk.reportview import build_match_conditions
 	
 	search_string = "%%%s%%" % txt
 	order_by_string = "%s%%" % txt
diff --git a/erpnext/selling/doctype/customer/customer.js b/erpnext/selling/doctype/customer/customer.js
index e5d2ca9..9829ed2 100644
--- a/erpnext/selling/doctype/customer/customer.js
+++ b/erpnext/selling/doctype/customer/customer.js
@@ -34,11 +34,6 @@
 		// make lists
 		cur_frm.cscript.make_address(doc, dt, dn);
 		cur_frm.cscript.make_contact(doc, dt, dn);
-
-		cur_frm.communication_view = new frappe.views.CommunicationList({
-			parent: cur_frm.fields_dict.communication_html.wrapper,
-			doc: doc,
-		});
 	}
 }
 
diff --git a/erpnext/selling/doctype/customer/customer.json b/erpnext/selling/doctype/customer/customer.json
index 47286de..bb481fa 100644
--- a/erpnext/selling/doctype/customer/customer.json
+++ b/erpnext/selling/doctype/customer/customer.json
@@ -1,377 +1,361 @@
 {
- "allow_import": 1, 
- "allow_rename": 1, 
- "autoname": "naming_series:", 
- "creation": "2013-06-11 14:26:44", 
- "description": "Buyer of Goods and Services.", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Master", 
+ "allow_import": 1,
+ "allow_rename": 1,
+ "autoname": "naming_series:",
+ "creation": "2013-06-11 14:26:44",
+ "description": "Buyer of Goods and Services.",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Master",
  "fields": [
   {
-   "fieldname": "basic_info", 
-   "fieldtype": "Section Break", 
-   "label": "Basic Info", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-user", 
-   "permlevel": 0, 
+   "fieldname": "basic_info",
+   "fieldtype": "Section Break",
+   "label": "Basic Info",
+   "oldfieldtype": "Section Break",
+   "options": "icon-user",
+   "permlevel": 0,
    "reqd": 0
-  }, 
+  },
   {
-   "fieldname": "naming_series", 
-   "fieldtype": "Select", 
-   "label": "Series", 
-   "no_copy": 1, 
-   "options": "CUST-", 
-   "permlevel": 0, 
+   "fieldname": "naming_series",
+   "fieldtype": "Select",
+   "label": "Series",
+   "no_copy": 1,
+   "options": "CUST-",
+   "permlevel": 0,
    "print_hide": 0
-  }, 
+  },
   {
-   "fieldname": "customer_name", 
-   "fieldtype": "Data", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "in_list_view": 1, 
-   "label": "Full Name", 
-   "no_copy": 1, 
-   "oldfieldname": "customer_name", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
+   "fieldname": "customer_name",
+   "fieldtype": "Data",
+   "hidden": 0,
+   "in_filter": 1,
+   "in_list_view": 1,
+   "label": "Full Name",
+   "no_copy": 1,
+   "oldfieldname": "customer_name",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 0,
+   "report_hide": 0,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "fieldname": "customer_type", 
-   "fieldtype": "Select", 
-   "label": "Type", 
-   "oldfieldname": "customer_type", 
-   "oldfieldtype": "Select", 
-   "options": "\nCompany\nIndividual", 
-   "permlevel": 0, 
+   "fieldname": "customer_type",
+   "fieldtype": "Select",
+   "label": "Type",
+   "oldfieldname": "customer_type",
+   "oldfieldtype": "Select",
+   "options": "\nCompany\nIndividual",
+   "permlevel": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "lead_name", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "label": "From Lead", 
-   "no_copy": 1, 
-   "oldfieldname": "lead_name", 
-   "oldfieldtype": "Link", 
-   "options": "Lead", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "lead_name",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "in_filter": 1,
+   "label": "From Lead",
+   "no_copy": 1,
+   "oldfieldname": "lead_name",
+   "oldfieldtype": "Link",
+   "options": "Lead",
+   "permlevel": 0,
+   "print_hide": 1,
    "report_hide": 1
-  }, 
+  },
   {
-   "fieldname": "column_break0", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break0",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>", 
-   "fieldname": "customer_group", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "label": "Customer Group", 
-   "oldfieldname": "customer_group", 
-   "oldfieldtype": "Link", 
-   "options": "Customer Group", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "reqd": 1, 
+   "description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>",
+   "fieldname": "customer_group",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "in_filter": 1,
+   "label": "Customer Group",
+   "oldfieldname": "customer_group",
+   "oldfieldtype": "Link",
+   "options": "Customer Group",
+   "permlevel": 0,
+   "print_hide": 0,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>", 
-   "fieldname": "territory", 
-   "fieldtype": "Link", 
-   "in_list_view": 1, 
-   "label": "Territory", 
-   "oldfieldname": "territory", 
-   "oldfieldtype": "Link", 
-   "options": "Territory", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>",
+   "fieldname": "territory",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Territory",
+   "oldfieldname": "territory",
+   "oldfieldtype": "Link",
+   "options": "Territory",
+   "permlevel": 0,
+   "print_hide": 1,
    "reqd": 1
-  }, 
+  },
   {
-   "depends_on": "eval:!doc.__islocal", 
-   "fieldname": "address_contacts", 
-   "fieldtype": "Section Break", 
-   "label": "Address & Contacts", 
-   "options": "icon-map-marker", 
+   "depends_on": "eval:!doc.__islocal",
+   "fieldname": "address_contacts",
+   "fieldtype": "Section Break",
+   "label": "Address & Contacts",
+   "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", 
-   "oldfieldtype": "HTML", 
-   "permlevel": 0, 
+   "fieldname": "contact_html",
+   "fieldtype": "HTML",
+   "label": "Contact HTML",
+   "oldfieldtype": "HTML",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "depends_on": "eval:!doc.__islocal", 
-   "fieldname": "communication_history", 
-   "fieldtype": "Section Break", 
-   "label": "Communication History", 
-   "options": "icon-comments", 
-   "permlevel": 0, 
-   "print_hide": 1
-  }, 
-  {
-   "fieldname": "communication_html", 
-   "fieldtype": "HTML", 
-   "label": "Communication HTML", 
-   "permlevel": 0, 
-   "print_hide": 1
-  }, 
-  {
-   "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": "column_break2", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break2",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "description": "To create an Account Head under a different company, select the company and save customer.", 
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Company", 
-   "oldfieldname": "company", 
-   "oldfieldtype": "Link", 
-   "options": "Company", 
-   "permlevel": 0, 
-   "reqd": 1, 
+   "description": "To create an Account Head under a different company, select the company and save customer.",
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Company",
+   "oldfieldname": "company",
+   "oldfieldtype": "Link",
+   "options": "Company",
+   "permlevel": 0,
+   "reqd": 1,
    "search_index": 1
-  }, 
+  },
   {
-   "description": "Your Customer's TAX registration numbers (if applicable) or any general information", 
-   "fieldname": "customer_details", 
-   "fieldtype": "Text", 
-   "label": "Customer Details", 
-   "oldfieldname": "customer_details", 
-   "oldfieldtype": "Code", 
+   "description": "Your Customer's TAX registration numbers (if applicable) or any general information",
+   "fieldname": "customer_details",
+   "fieldtype": "Text",
+   "label": "Customer Details",
+   "oldfieldname": "customer_details",
+   "oldfieldtype": "Code",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "column_break3", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
+   "fieldname": "column_break3",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "default_currency", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Currency", 
-   "no_copy": 1, 
-   "options": "Currency", 
+   "fieldname": "default_currency",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "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": "Sales Taxes and Charges Master", 
+   "fieldname": "default_taxes_and_charges",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Taxes and Charges",
+   "options": "Sales Taxes and Charges Master",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "credit_days", 
-   "fieldtype": "Int", 
-   "label": "Credit Days", 
-   "oldfieldname": "credit_days", 
-   "oldfieldtype": "Int", 
+   "fieldname": "credit_days",
+   "fieldtype": "Int",
+   "label": "Credit Days",
+   "oldfieldname": "credit_days",
+   "oldfieldtype": "Int",
    "permlevel": 1
-  }, 
+  },
   {
-   "fieldname": "credit_limit", 
-   "fieldtype": "Currency", 
-   "label": "Credit Limit", 
-   "oldfieldname": "credit_limit", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
+   "fieldname": "credit_limit",
+   "fieldtype": "Currency",
+   "label": "Credit Limit",
+   "oldfieldname": "credit_limit",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
    "permlevel": 1
-  }, 
+  },
   {
-   "fieldname": "website", 
-   "fieldtype": "Data", 
-   "label": "Website", 
+   "fieldname": "website",
+   "fieldtype": "Data",
+   "label": "Website",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "sales_team_section_break", 
-   "fieldtype": "Section Break", 
-   "label": "Sales Team", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-group", 
+   "fieldname": "sales_team_section_break",
+   "fieldtype": "Section Break",
+   "label": "Sales Team",
+   "oldfieldtype": "Section Break",
+   "options": "icon-group",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "default_sales_partner", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Sales Partner", 
-   "oldfieldname": "default_sales_partner", 
-   "oldfieldtype": "Link", 
-   "options": "Sales Partner", 
+   "fieldname": "default_sales_partner",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Sales Partner",
+   "oldfieldname": "default_sales_partner",
+   "oldfieldtype": "Link",
+   "options": "Sales Partner",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "default_commission_rate", 
-   "fieldtype": "Float", 
-   "label": "Commission Rate", 
-   "oldfieldname": "default_commission_rate", 
-   "oldfieldtype": "Currency", 
+   "fieldname": "default_commission_rate",
+   "fieldtype": "Float",
+   "label": "Commission Rate",
+   "oldfieldname": "default_commission_rate",
+   "oldfieldtype": "Currency",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "sales_team", 
-   "fieldtype": "Table", 
-   "label": "Sales Team Details", 
-   "oldfieldname": "sales_team", 
-   "oldfieldtype": "Table", 
-   "options": "Sales Team", 
+   "fieldname": "sales_team",
+   "fieldtype": "Table",
+   "label": "Sales Team Details",
+   "oldfieldname": "sales_team",
+   "oldfieldtype": "Table",
+   "options": "Sales Team",
    "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": "2014-09-10 16:41:07.553182", 
- "modified_by": "Administrator", 
- "module": "Selling", 
- "name": "Customer", 
- "owner": "Administrator", 
+ ],
+ "icon": "icon-user",
+ "idx": 1,
+ "modified": "2014-09-12 12:26:47.480965",
+ "modified_by": "Administrator",
+ "module": "Selling",
+ "name": "Customer",
+ "owner": "Administrator",
  "permissions": [
   {
-   "amend": 0, 
-   "apply_user_permissions": 1, 
-   "create": 1, 
-   "delete": 0, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Sales User", 
-   "submit": 0, 
+   "amend": 0,
+   "apply_user_permissions": 1,
+   "create": 1,
+   "delete": 0,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales User",
+   "submit": 0,
    "write": 1
-  }, 
+  },
   {
-   "cancel": 0, 
-   "delete": 0, 
-   "permlevel": 1, 
-   "read": 1, 
+   "cancel": 0,
+   "delete": 0,
+   "permlevel": 1,
+   "read": 1,
    "role": "Sales User"
-  }, 
+  },
   {
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
    "role": "Sales Manager"
-  }, 
+  },
   {
-   "amend": 0, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Sales Master Manager", 
-   "set_user_permissions": 1, 
-   "submit": 0, 
+   "amend": 0,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales Master Manager",
+   "set_user_permissions": 1,
+   "submit": 0,
    "write": 1
-  }, 
+  },
   {
-   "cancel": 0, 
-   "delete": 0, 
-   "permlevel": 1, 
-   "read": 1, 
-   "role": "Sales Master Manager", 
+   "cancel": 0,
+   "delete": 0,
+   "permlevel": 1,
+   "read": 1,
+   "role": "Sales Master Manager",
    "write": 1
-  }, 
+  },
   {
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 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"
-  }, 
+  },
   {
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 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": "customer_name,customer_group,territory", 
+ ],
+ "search_fields": "customer_name,customer_group,territory",
  "title_field": "customer_name"
-}
\ No newline at end of file
+}
diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py
index 362542e..a43b44d 100644
--- a/erpnext/selling/doctype/customer/customer.py
+++ b/erpnext/selling/doctype/customer/customer.py
@@ -12,6 +12,8 @@
 from erpnext.accounts.party import create_party_account
 
 class Customer(TransactionBase):
+	def get_feed(self):
+		return self.customer_name
 
 	def autoname(self):
 		cust_master_name = frappe.defaults.get_global_default('cust_master_name')
diff --git a/erpnext/selling/doctype/lead/get_leads.py b/erpnext/selling/doctype/lead/get_leads.py
deleted file mode 100644
index b765db6..0000000
--- a/erpnext/selling/doctype/lead/get_leads.py
+++ /dev/null
@@ -1,53 +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
-from frappe.utils import cstr, cint
-from frappe.utils.email_lib.receive import POP3Mailbox
-from frappe.core.doctype.communication.communication import _make
-
-def add_sales_communication(subject, content, sender, real_name, mail=None, 
-	status="Open", date=None):
-	lead_name = frappe.db.get_value("Lead", {"email_id": sender})
-	contact_name = frappe.db.get_value("Contact", {"email_id": sender})
-
-	if not (lead_name or contact_name):
-		# none, create a new Lead
-		lead = frappe.get_doc({
-			"doctype":"Lead",
-			"lead_name": real_name or sender,
-			"email_id": sender,
-			"status": status,
-			"source": "Email"
-		})
-		lead.ignore_permissions = True
-		lead.ignore_mandatory = True
-		lead.insert()
-		lead_name = lead.name
-
-	parent_doctype = "Contact" if contact_name else "Lead"
-	parent_name = contact_name or lead_name
-
-	message = _make(content=content, sender=sender, subject=subject,
-		doctype = parent_doctype, name = parent_name, date=date, sent_or_received="Received")
-	
-	if mail:
-		# save attachments to parent if from mail
-		doc = frappe.get_doc(parent_doctype, parent_name)
-		mail.save_attachments_in_doc(doc)
-
-class SalesMailbox(POP3Mailbox):	
-	def setup(self, args=None):
-		self.settings = args or frappe.get_doc("Sales Email Settings", "Sales Email Settings")
-		
-	def process_message(self, mail):
-		if mail.from_email == self.settings.email_id:
-			return
-		
-		add_sales_communication(mail.subject, mail.content, mail.from_email, 
-			mail.from_real_name, mail=mail, date=mail.date)
-
-def get_leads():
-	if cint(frappe.db.get_value('Sales Email Settings', None, 'extract_emails')):
-		SalesMailbox()
\ No newline at end of file
diff --git a/erpnext/selling/doctype/lead/lead.js b/erpnext/selling/doctype/lead/lead.js
index ca6d007..75f3add 100644
--- a/erpnext/selling/doctype/lead/lead.js
+++ b/erpnext/selling/doctype/lead/lead.js
@@ -4,6 +4,8 @@
 {% include 'setup/doctype/contact_control/contact_control.js' %};
 
 frappe.provide("erpnext");
+cur_frm.email_field = "email_id";
+
 erpnext.LeadController = frappe.ui.form.Controller.extend({
 	setup: function() {
 		this.frm.fields_dict.customer.get_query = function(doc, cdt, cdn) {
@@ -34,13 +36,6 @@
 			this.frm.appframe.add_button(__("Send SMS"), this.frm.cscript.send_sms, "icon-mobile-phone");
 		}
 
-		cur_frm.communication_view = new frappe.views.CommunicationList({
-			list: frappe.get_list("Communication", {"parenttype": "Lead", "parent":this.frm.doc.name}),
-			parent: this.frm.fields_dict.communication_html.wrapper,
-			doc: this.frm.doc,
-			recipients: this.frm.doc.email_id
-		});
-
 		if(!this.frm.doc.__islocal) {
 			this.make_address_list();
 		}
diff --git a/erpnext/selling/doctype/lead/lead.json b/erpnext/selling/doctype/lead/lead.json
index 2d3d49c..b78ca4f 100644
--- a/erpnext/selling/doctype/lead/lead.json
+++ b/erpnext/selling/doctype/lead/lead.json
@@ -59,11 +59,6 @@
    "search_index": 1
   }, 
   {
-   "fieldname": "cb6", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0
-  }, 
-  {
    "default": "Lead", 
    "fieldname": "status", 
    "fieldtype": "Select", 
@@ -93,6 +88,12 @@
    "search_index": 0
   }, 
   {
+   "fieldname": "col_break123", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
+   "width": "50%"
+  }, 
+  {
    "depends_on": "eval:doc.source == 'Customer'", 
    "fieldname": "customer", 
    "fieldtype": "Link", 
@@ -116,14 +117,6 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "communication_history", 
-   "fieldtype": "Section Break", 
-   "label": "Communication", 
-   "options": "icon-comments", 
-   "permlevel": 0, 
-   "print_hide": 1
-  }, 
-  {
    "default": "__user", 
    "fieldname": "lead_owner", 
    "fieldtype": "Link", 
@@ -136,12 +129,6 @@
    "search_index": 1
   }, 
   {
-   "fieldname": "col_break123", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
-   "width": "50%"
-  }, 
-  {
    "allow_on_submit": 0, 
    "fieldname": "contact_by", 
    "fieldtype": "Link", 
@@ -171,21 +158,6 @@
    "width": "100px"
   }, 
   {
-   "fieldname": "sec_break123", 
-   "fieldtype": "Section Break", 
-   "options": "Simple", 
-   "permlevel": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "fieldname": "communication_html", 
-   "fieldtype": "HTML", 
-   "label": "Communication HTML", 
-   "oldfieldname": "follow_up", 
-   "oldfieldtype": "Table", 
-   "permlevel": 0
-  }, 
-  {
    "fieldname": "fold", 
    "fieldtype": "Fold", 
    "label": "fold", 
@@ -355,20 +327,11 @@
    "fieldtype": "Check", 
    "label": "Blog Subscriber", 
    "permlevel": 0
-  }, 
-  {
-   "fieldname": "communications", 
-   "fieldtype": "Table", 
-   "hidden": 1, 
-   "label": "Communications", 
-   "options": "Communication", 
-   "permlevel": 0, 
-   "print_hide": 1
   }
  ], 
  "icon": "icon-user", 
  "idx": 1, 
- "modified": "2014-08-12 05:22:18.801092", 
+ "modified": "2014-09-11 18:52:50.397563", 
  "modified_by": "Administrator", 
  "module": "Selling", 
  "name": "Lead", 
@@ -376,6 +339,34 @@
  "permissions": [
   {
    "amend": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "match": "", 
+   "permlevel": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "All", 
+   "submit": 0, 
+   "write": 0
+  }, 
+  {
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 0, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Sales User", 
+   "submit": 0, 
+   "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "cancel": 0, 
    "create": 1, 
    "delete": 1, 
    "email": 1, 
@@ -389,7 +380,7 @@
   }, 
   {
    "amend": 0, 
-   "apply_user_permissions": 1, 
+   "cancel": 0, 
    "create": 1, 
    "delete": 0, 
    "email": 1, 
@@ -397,9 +388,35 @@
    "print": 1, 
    "read": 1, 
    "report": 1, 
-   "role": "Sales User", 
+   "role": "System Manager", 
    "submit": 0, 
    "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "match": "", 
+   "permlevel": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Sales Manager", 
+   "submit": 0, 
+   "write": 0
+  }, 
+  {
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "match": "", 
+   "permlevel": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Sales User", 
+   "submit": 0, 
+   "write": 0
   }
  ], 
  "search_fields": "lead_name,lead_owner,status", 
diff --git a/erpnext/selling/doctype/lead/lead.py b/erpnext/selling/doctype/lead/lead.py
index 3c345ef..667a39f 100644
--- a/erpnext/selling/doctype/lead/lead.py
+++ b/erpnext/selling/doctype/lead/lead.py
@@ -11,6 +11,9 @@
 from erpnext.controllers.selling_controller import SellingController
 
 class Lead(SellingController):
+	def get_feed(self):
+		return '{0}: {1}'.format(_(self.status), self.lead_name)
+
 	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/opportunity/opportunity.js b/erpnext/selling/doctype/opportunity/opportunity.js
index af31d39..df84d72 100644
--- a/erpnext/selling/doctype/opportunity/opportunity.js
+++ b/erpnext/selling/doctype/opportunity/opportunity.js
@@ -8,6 +8,8 @@
 
 
 frappe.provide("erpnext.selling");
+cur_frm.email_field = "contact_email";
+
 // TODO commonify this code
 erpnext.selling.Opportunity = frappe.ui.form.Controller.extend({
 	onload: function() {
@@ -26,15 +28,6 @@
 			set_multiple(cdt, cdn, { fiscal_year:sys_defaults.fiscal_year });
 
 
-		if(!this.frm.doc.__islocal) {
-			cur_frm.communication_view = new frappe.views.CommunicationList({
-				list: frappe.get_list("Communication", {"parent": this.frm.doc.name, "parenttype": "Opportunity"}),
-				parent: cur_frm.fields_dict.communication_html.wrapper,
-				doc: this.frm.doc,
-				recipients: this.frm.doc.contact_email
-			});
-		}
-
 		if(this.frm.doc.customer && !this.frm.doc.customer_name) cur_frm.cscript.customer(this.frm.doc);
 
 		this.setup_queries();
diff --git a/erpnext/selling/doctype/opportunity/opportunity.json b/erpnext/selling/doctype/opportunity/opportunity.json
index 513fbc8..fdda647 100644
--- a/erpnext/selling/doctype/opportunity/opportunity.json
+++ b/erpnext/selling/doctype/opportunity/opportunity.json
@@ -135,26 +135,6 @@
    "read_only": 0
   }, 
   {
-   "description": "Keep a track of communication related to this enquiry which will help for future reference.", 
-   "fieldname": "communication_history", 
-   "fieldtype": "Section Break", 
-   "label": "Communication History", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-comments", 
-   "permlevel": 0, 
-   "read_only": 0
-  }, 
-  {
-   "allow_on_submit": 1, 
-   "fieldname": "communication_html", 
-   "fieldtype": "HTML", 
-   "label": "Communication HTML", 
-   "oldfieldname": "follow_up", 
-   "oldfieldtype": "Table", 
-   "permlevel": 0, 
-   "read_only": 0
-  }, 
-  {
    "fieldname": "fold", 
    "fieldtype": "Fold", 
    "permlevel": 0
@@ -402,21 +382,12 @@
    "print_hide": 1, 
    "read_only": 1, 
    "width": "150px"
-  }, 
-  {
-   "fieldname": "communications", 
-   "fieldtype": "Table", 
-   "hidden": 1, 
-   "label": "Communications", 
-   "options": "Communication", 
-   "permlevel": 0, 
-   "print_hide": 1
   }
  ], 
  "icon": "icon-info-sign", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2014-08-12 05:21:51.282397", 
+ "modified": "2014-09-11 18:53:14.037512", 
  "modified_by": "Administrator", 
  "module": "Selling", 
  "name": "Opportunity", 
@@ -424,7 +395,6 @@
  "permissions": [
   {
    "amend": 1, 
-   "apply_user_permissions": 1, 
    "cancel": 1, 
    "create": 1, 
    "delete": 1, 
diff --git a/erpnext/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js
index 8cff8d8..5f25446 100644
--- a/erpnext/selling/doctype/quotation/quotation.js
+++ b/erpnext/selling/doctype/quotation/quotation.js
@@ -53,15 +53,6 @@
 				}, "icon-download", "btn-default");
 		}
 
-		if (!doc.__islocal) {
-			cur_frm.communication_view = new frappe.views.CommunicationList({
-				list: frappe.get_list("Communication", {"parent": doc.name, "parenttype": "Quotation"}),
-				parent: cur_frm.fields_dict.communication_html.wrapper,
-				doc: doc,
-				recipients: doc.contact_email
-			});
-		}
-
 		this.toggle_reqd_lead_customer();
 	},
 
diff --git a/erpnext/selling/doctype/quotation/quotation.json b/erpnext/selling/doctype/quotation/quotation.json
index 5d960e9..107abc2 100644
--- a/erpnext/selling/doctype/quotation/quotation.json
+++ b/erpnext/selling/doctype/quotation/quotation.json
@@ -1,925 +1,931 @@
 {
- "allow_import": 1, 
- "autoname": "naming_series:", 
- "creation": "2013-05-24 19:29:08", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Transaction", 
+ "allow_import": 1,
+ "autoname": "naming_series:",
+ "creation": "2013-05-24 19:29:08",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Transaction",
  "fields": [
   {
-   "fieldname": "customer_section", 
-   "fieldtype": "Section Break", 
-   "label": "Customer", 
-   "options": "icon-user", 
+   "fieldname": "customer_section",
+   "fieldtype": "Section Break",
+   "label": "Customer",
+   "options": "icon-user",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "column_break0", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "fieldname": "column_break0",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "naming_series", 
-   "fieldtype": "Select", 
-   "label": "Series", 
-   "no_copy": 1, 
-   "oldfieldname": "naming_series", 
-   "oldfieldtype": "Select", 
-   "options": "QTN-", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "fieldname": "naming_series",
+   "fieldtype": "Select",
+   "label": "Series",
+   "no_copy": 1,
+   "oldfieldname": "naming_series",
+   "oldfieldtype": "Select",
+   "options": "QTN-",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "default": "Customer", 
-   "fieldname": "quotation_to", 
-   "fieldtype": "Select", 
-   "in_filter": 1, 
-   "label": "Quotation To", 
-   "oldfieldname": "quotation_to", 
-   "oldfieldtype": "Select", 
-   "options": "\nLead\nCustomer", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "report_hide": 0, 
+   "default": "Customer",
+   "fieldname": "quotation_to",
+   "fieldtype": "Select",
+   "in_filter": 1,
+   "label": "Quotation To",
+   "oldfieldname": "quotation_to",
+   "oldfieldtype": "Select",
+   "options": "\nLead\nCustomer",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "report_hide": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "depends_on": "eval:doc.quotation_to == \"Customer\"", 
-   "fieldname": "customer", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "label": "Customer", 
-   "oldfieldname": "customer", 
-   "oldfieldtype": "Link", 
-   "options": "Customer", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "depends_on": "eval:doc.quotation_to == \"Customer\"",
+   "fieldname": "customer",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "in_filter": 1,
+   "label": "Customer",
+   "oldfieldname": "customer",
+   "oldfieldtype": "Link",
+   "options": "Customer",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "search_index": 1
-  }, 
+  },
   {
-   "depends_on": "eval:doc.quotation_to == \"Lead\"", 
-   "fieldname": "lead", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "label": "Lead", 
-   "oldfieldname": "lead", 
-   "oldfieldtype": "Link", 
-   "options": "Lead", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "depends_on": "eval:doc.quotation_to == \"Lead\"",
+   "fieldname": "lead",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "in_filter": 1,
+   "label": "Lead",
+   "oldfieldname": "lead",
+   "oldfieldtype": "Link",
+   "options": "Lead",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "customer_name", 
-   "fieldtype": "Data", 
-   "hidden": 1, 
-   "in_list_view": 1, 
-   "label": "Customer / Lead Name", 
-   "permlevel": 0, 
+   "fieldname": "customer_name",
+   "fieldtype": "Data",
+   "hidden": 1,
+   "in_list_view": 1,
+   "label": "Customer / Lead Name",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "address_display", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "in_filter": 0, 
-   "label": "Address", 
-   "oldfieldname": "customer_address", 
-   "oldfieldtype": "Small Text", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 1, 
-   "reqd": 0, 
+   "fieldname": "address_display",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "in_filter": 0,
+   "label": "Address",
+   "oldfieldname": "customer_address",
+   "oldfieldtype": "Small Text",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 1,
+   "reqd": 0,
    "search_index": 0
-  }, 
+  },
   {
-   "fieldname": "contact_display", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "in_filter": 0, 
-   "label": "Contact", 
-   "permlevel": 0, 
-   "print_hide": 0, 
+   "fieldname": "contact_display",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "in_filter": 0,
+   "label": "Contact",
+   "permlevel": 0,
+   "print_hide": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "contact_mobile", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Mobile No", 
-   "permlevel": 0, 
-   "print_hide": 0, 
+   "fieldname": "contact_mobile",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Mobile No",
+   "permlevel": 0,
+   "print_hide": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "contact_email", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Contact Email", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "contact_email",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Contact Email",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "column_break1", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "fieldname": "column_break1",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "amended_from", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "label": "Amended From", 
-   "no_copy": 1, 
-   "oldfieldname": "amended_from", 
-   "oldfieldtype": "Data", 
-   "options": "Quotation", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Amended From",
+   "no_copy": 1,
+   "oldfieldname": "amended_from",
+   "oldfieldtype": "Data",
+   "options": "Quotation",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "width": "150px"
-  }, 
+  },
   {
-   "description": "Select the relevant company name if you have multiple companies.", 
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Company", 
-   "oldfieldname": "company", 
-   "oldfieldtype": "Link", 
-   "options": "Company", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
+   "description": "Select the relevant company name if you have multiple companies.",
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Company",
+   "oldfieldname": "company",
+   "oldfieldtype": "Link",
+   "options": "Company",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 1,
+   "search_index": 0,
    "width": "150px"
-  }, 
+  },
   {
-   "default": "Today", 
-   "fieldname": "transaction_date", 
-   "fieldtype": "Date", 
-   "in_filter": 1, 
-   "label": "Date", 
-   "no_copy": 1, 
-   "oldfieldname": "transaction_date", 
-   "oldfieldtype": "Date", 
-   "permlevel": 0, 
-   "read_only": 0, 
-   "reqd": 1, 
-   "search_index": 1, 
+   "default": "Today",
+   "fieldname": "transaction_date",
+   "fieldtype": "Date",
+   "in_filter": 1,
+   "label": "Date",
+   "no_copy": 1,
+   "oldfieldname": "transaction_date",
+   "oldfieldtype": "Date",
+   "permlevel": 0,
+   "read_only": 0,
+   "reqd": 1,
+   "search_index": 1,
    "width": "100px"
-  }, 
+  },
   {
-   "default": "Sales", 
-   "fieldname": "order_type", 
-   "fieldtype": "Select", 
-   "in_filter": 1, 
-   "label": "Order Type", 
-   "oldfieldname": "order_type", 
-   "oldfieldtype": "Select", 
-   "options": "\nSales\nMaintenance\nShopping Cart", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 1, 
+   "default": "Sales",
+   "fieldname": "order_type",
+   "fieldtype": "Select",
+   "in_filter": 1,
+   "label": "Order Type",
+   "oldfieldname": "order_type",
+   "oldfieldtype": "Select",
+   "options": "\nSales\nMaintenance\nShopping Cart",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 1,
    "search_index": 0
-  }, 
+  },
   {
-   "fieldname": "section_break0", 
-   "fieldtype": "Section Break", 
-   "label": "Currency and Price List", 
-   "options": "icon-tag", 
-   "permlevel": 0, 
+   "fieldname": "section_break0",
+   "fieldtype": "Section Break",
+   "label": "Currency and Price List",
+   "options": "icon-tag",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "currency", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Currency", 
-   "oldfieldname": "currency", 
-   "oldfieldtype": "Select", 
-   "options": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Currency",
+   "oldfieldname": "currency",
+   "oldfieldtype": "Select",
+   "options": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 1,
+   "search_index": 0,
    "width": "100px"
-  }, 
+  },
   {
-   "description": "Rate at which customer's currency is converted to company's base currency", 
-   "fieldname": "conversion_rate", 
-   "fieldtype": "Float", 
-   "label": "Exchange Rate", 
-   "oldfieldname": "conversion_rate", 
-   "oldfieldtype": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 1, 
+   "description": "Rate at which customer's currency is converted to company's base currency",
+   "fieldname": "conversion_rate",
+   "fieldtype": "Float",
+   "label": "Exchange Rate",
+   "oldfieldname": "conversion_rate",
+   "oldfieldtype": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 1,
    "width": "100px"
-  }, 
+  },
   {
-   "fieldname": "column_break2", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "fieldname": "column_break2",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "selling_price_list", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Price List", 
-   "oldfieldname": "price_list_name", 
-   "oldfieldtype": "Select", 
-   "options": "Price List", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
+   "fieldname": "selling_price_list",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Price List",
+   "oldfieldname": "price_list_name",
+   "oldfieldtype": "Select",
+   "options": "Price List",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 1,
+   "search_index": 0,
    "width": "100px"
-  }, 
+  },
   {
-   "fieldname": "price_list_currency", 
-   "fieldtype": "Link", 
-   "label": "Price List Currency", 
-   "options": "Currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "price_list_currency",
+   "fieldtype": "Link",
+   "label": "Price List Currency",
+   "options": "Currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "reqd": 1
-  }, 
+  },
   {
-   "description": "Rate at which Price list currency is converted to company's base currency", 
-   "fieldname": "plc_conversion_rate", 
-   "fieldtype": "Float", 
-   "label": "Price List Exchange Rate", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "description": "Rate at which Price list currency is converted to company's base currency",
+   "fieldname": "plc_conversion_rate",
+   "fieldtype": "Float",
+   "label": "Price List Exchange Rate",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "reqd": 1
-  }, 
+  },
   {
-   "fieldname": "ignore_pricing_rule", 
-   "fieldtype": "Check", 
-   "label": "Ignore Pricing Rule", 
-   "no_copy": 1, 
-   "permlevel": 1, 
+   "fieldname": "ignore_pricing_rule",
+   "fieldtype": "Check",
+   "label": "Ignore Pricing Rule",
+   "no_copy": 1,
+   "permlevel": 1,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "items", 
-   "fieldtype": "Section Break", 
-   "label": "Items", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-shopping-cart", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
+   "fieldname": "items",
+   "fieldtype": "Section Break",
+   "label": "Items",
+   "oldfieldtype": "Section Break",
+   "options": "icon-shopping-cart",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 0,
    "search_index": 0
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "quotation_details", 
-   "fieldtype": "Table", 
-   "label": "Quotation Items", 
-   "oldfieldname": "quotation_details", 
-   "oldfieldtype": "Table", 
-   "options": "Quotation Item", 
-   "permlevel": 0, 
-   "read_only": 0, 
-   "reqd": 0, 
+   "allow_on_submit": 1,
+   "fieldname": "quotation_details",
+   "fieldtype": "Table",
+   "label": "Quotation Items",
+   "oldfieldname": "quotation_details",
+   "oldfieldtype": "Table",
+   "options": "Quotation Item",
+   "permlevel": 0,
+   "read_only": 0,
+   "reqd": 0,
    "width": "40px"
-  }, 
+  },
   {
-   "fieldname": "sec_break23", 
-   "fieldtype": "Section Break", 
-   "permlevel": 0, 
+   "fieldname": "sec_break23",
+   "fieldtype": "Section Break",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "net_total", 
-   "fieldtype": "Currency", 
-   "label": "Net Total (Company Currency)", 
-   "no_copy": 0, 
-   "oldfieldname": "net_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
-   "reqd": 0, 
+   "fieldname": "net_total",
+   "fieldtype": "Currency",
+   "label": "Net Total (Company Currency)",
+   "no_copy": 0,
+   "oldfieldname": "net_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
+   "reqd": 0,
    "width": "100px"
-  }, 
+  },
   {
-   "fieldname": "column_break_28", 
-   "fieldtype": "Column Break", 
+   "fieldname": "column_break_28",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "net_total_export", 
-   "fieldtype": "Currency", 
-   "label": "Net Total", 
-   "options": "currency", 
-   "permlevel": 0, 
+   "fieldname": "net_total_export",
+   "fieldtype": "Currency",
+   "label": "Net Total",
+   "options": "currency",
+   "permlevel": 0,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "taxes", 
-   "fieldtype": "Section Break", 
-   "label": "Taxes and Charges", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-money", 
-   "permlevel": 0, 
+   "fieldname": "taxes",
+   "fieldtype": "Section Break",
+   "label": "Taxes and Charges",
+   "oldfieldtype": "Section Break",
+   "options": "icon-money",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "taxes_and_charges", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "label": "Taxes and Charges", 
-   "oldfieldname": "charge", 
-   "oldfieldtype": "Link", 
-   "options": "Sales Taxes and Charges Master", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "taxes_and_charges",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "label": "Taxes and Charges",
+   "oldfieldname": "charge",
+   "oldfieldtype": "Link",
+   "options": "Sales Taxes and Charges Master",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "column_break_34", 
-   "fieldtype": "Column Break", 
+   "fieldname": "column_break_34",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "shipping_rule", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "label": "Shipping Rule", 
-   "oldfieldtype": "Button", 
-   "options": "Shipping Rule", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "shipping_rule",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "label": "Shipping Rule",
+   "oldfieldtype": "Button",
+   "options": "Shipping Rule",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "section_break_36", 
-   "fieldtype": "Section Break", 
+   "fieldname": "section_break_36",
+   "fieldtype": "Section Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges", 
-   "fieldtype": "Table", 
-   "label": "Sales Taxes and Charges", 
-   "oldfieldname": "other_charges", 
-   "oldfieldtype": "Table", 
-   "options": "Sales Taxes and Charges", 
-   "permlevel": 0, 
+   "fieldname": "other_charges",
+   "fieldtype": "Table",
+   "label": "Sales Taxes and Charges",
+   "oldfieldname": "other_charges",
+   "oldfieldtype": "Table",
+   "options": "Sales Taxes and Charges",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_calculation", 
-   "fieldtype": "HTML", 
-   "label": "Taxes and Charges Calculation", 
-   "oldfieldtype": "HTML", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "other_charges_calculation",
+   "fieldtype": "HTML",
+   "label": "Taxes and Charges Calculation",
+   "oldfieldtype": "HTML",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "section_break_39", 
-   "fieldtype": "Section Break", 
+   "fieldname": "section_break_39",
+   "fieldtype": "Section Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_total", 
-   "fieldtype": "Currency", 
-   "label": "Taxes and Charges Total (Company Currency)", 
-   "oldfieldname": "other_charges_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "other_charges_total",
+   "fieldtype": "Currency",
+   "label": "Taxes and Charges Total (Company Currency)",
+   "oldfieldname": "other_charges_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "column_break_42", 
-   "fieldtype": "Column Break", 
+   "fieldname": "column_break_42",
+   "fieldtype": "Column Break",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "other_charges_total_export", 
-   "fieldtype": "Currency", 
-   "label": "Taxes and Charges Total", 
-   "options": "currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "other_charges_total_export",
+   "fieldtype": "Currency",
+   "label": "Taxes and Charges Total",
+   "options": "currency",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "fieldname": "discount_amount", 
-   "fieldtype": "Currency", 
-   "label": "Discount Amount", 
-   "options": "Company:company:default_currency", 
+   "fieldname": "discount_amount",
+   "fieldtype": "Currency",
+   "label": "Discount Amount",
+   "options": "Company:company:default_currency",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "totals", 
-   "fieldtype": "Section Break", 
-   "label": "Totals", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-money", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "totals",
+   "fieldtype": "Section Break",
+   "label": "Totals",
+   "oldfieldtype": "Section Break",
+   "options": "icon-money",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "grand_total", 
-   "fieldtype": "Currency", 
-   "label": "Grand Total (Company Currency)", 
-   "no_copy": 0, 
-   "oldfieldname": "grand_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
-   "reqd": 0, 
+   "fieldname": "grand_total",
+   "fieldtype": "Currency",
+   "label": "Grand Total (Company Currency)",
+   "no_copy": 0,
+   "oldfieldname": "grand_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
+   "reqd": 0,
    "width": "200px"
-  }, 
+  },
   {
-   "fieldname": "rounded_total", 
-   "fieldtype": "Currency", 
-   "label": "Rounded Total (Company Currency)", 
-   "no_copy": 0, 
-   "oldfieldname": "rounded_total", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "rounded_total",
+   "fieldtype": "Currency",
+   "label": "Rounded Total (Company Currency)",
+   "no_copy": 0,
+   "oldfieldname": "rounded_total",
+   "oldfieldtype": "Currency",
+   "options": "Company:company:default_currency",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "width": "200px"
-  }, 
+  },
   {
-   "description": "In Words will be visible once you save the Quotation.", 
-   "fieldname": "in_words", 
-   "fieldtype": "Data", 
-   "label": "In Words (Company Currency)", 
-   "no_copy": 0, 
-   "oldfieldname": "in_words", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "description": "In Words will be visible once you save the Quotation.",
+   "fieldname": "in_words",
+   "fieldtype": "Data",
+   "label": "In Words (Company Currency)",
+   "no_copy": 0,
+   "oldfieldname": "in_words",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "width": "200px"
-  }, 
+  },
   {
-   "fieldname": "column_break3", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "fieldname": "column_break3",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "grand_total_export", 
-   "fieldtype": "Currency", 
-   "in_list_view": 1, 
-   "label": "Grand Total", 
-   "no_copy": 0, 
-   "oldfieldname": "grand_total_export", 
-   "oldfieldtype": "Currency", 
-   "options": "currency", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 1, 
-   "reqd": 0, 
+   "fieldname": "grand_total_export",
+   "fieldtype": "Currency",
+   "in_list_view": 1,
+   "label": "Grand Total",
+   "no_copy": 0,
+   "oldfieldname": "grand_total_export",
+   "oldfieldtype": "Currency",
+   "options": "currency",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 1,
+   "reqd": 0,
    "width": "200px"
-  }, 
+  },
   {
-   "fieldname": "rounded_total_export", 
-   "fieldtype": "Currency", 
-   "label": "Rounded Total", 
-   "no_copy": 0, 
-   "oldfieldname": "rounded_total_export", 
-   "oldfieldtype": "Currency", 
-   "options": "currency", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 1, 
-   "reqd": 0, 
+   "fieldname": "rounded_total_export",
+   "fieldtype": "Currency",
+   "label": "Rounded Total",
+   "no_copy": 0,
+   "oldfieldname": "rounded_total_export",
+   "oldfieldtype": "Currency",
+   "options": "currency",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 1,
+   "reqd": 0,
    "width": "200px"
-  }, 
+  },
   {
-   "fieldname": "in_words_export", 
-   "fieldtype": "Data", 
-   "label": "In Words", 
-   "no_copy": 0, 
-   "oldfieldname": "in_words_export", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 1, 
+   "fieldname": "in_words_export",
+   "fieldtype": "Data",
+   "label": "In Words",
+   "no_copy": 0,
+   "oldfieldname": "in_words_export",
+   "oldfieldtype": "Data",
+   "permlevel": 0,
+   "print_hide": 0,
+   "read_only": 1,
    "width": "200px"
-  }, 
+  },
   {
-   "fieldname": "fold", 
-   "fieldtype": "Fold", 
-   "label": "Fold", 
+   "fieldname": "fold",
+   "fieldtype": "Fold",
+   "label": "Fold",
    "permlevel": 0
-  }, 
+  },
   {
-   "fieldname": "terms_section_break", 
-   "fieldtype": "Section Break", 
-   "label": "Terms and Conditions", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-legal", 
-   "permlevel": 0, 
-   "print_hide": 0, 
+   "fieldname": "terms_section_break",
+   "fieldtype": "Section Break",
+   "label": "Terms and Conditions",
+   "oldfieldtype": "Section Break",
+   "options": "icon-legal",
+   "permlevel": 0,
+   "print_hide": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "tc_name", 
-   "fieldtype": "Link", 
-   "label": "Terms", 
-   "oldfieldname": "tc_name", 
-   "oldfieldtype": "Link", 
-   "options": "Terms and Conditions", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "fieldname": "tc_name",
+   "fieldtype": "Link",
+   "label": "Terms",
+   "oldfieldname": "tc_name",
+   "oldfieldtype": "Link",
+   "options": "Terms and Conditions",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "report_hide": 1
-  }, 
+  },
   {
-   "fieldname": "terms", 
-   "fieldtype": "Text Editor", 
-   "label": "Term Details", 
-   "oldfieldname": "terms", 
-   "oldfieldtype": "Text Editor", 
-   "permlevel": 0, 
+   "fieldname": "terms",
+   "fieldtype": "Text Editor",
+   "label": "Term Details",
+   "oldfieldname": "terms",
+   "oldfieldtype": "Text Editor",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "contact_section", 
-   "fieldtype": "Section Break", 
-   "label": "Contact Info", 
-   "options": "icon-bullhorn", 
-   "permlevel": 0, 
+   "fieldname": "contact_section",
+   "fieldtype": "Section Break",
+   "label": "Contact Info",
+   "options": "icon-bullhorn",
+   "permlevel": 0,
    "read_only": 0
-  }, 
+  },
   {
-   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>", 
-   "fieldname": "territory", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "label": "Territory", 
-   "options": "Territory", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 1, 
+   "description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>",
+   "fieldname": "territory",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "in_filter": 1,
+   "label": "Territory",
+   "options": "Territory",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 1,
    "search_index": 0
-  }, 
+  },
   {
-   "depends_on": "customer", 
-   "description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>", 
-   "fieldname": "customer_group", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Customer Group", 
-   "oldfieldname": "customer_group", 
-   "oldfieldtype": "Link", 
-   "options": "Customer Group", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 0, 
+   "depends_on": "customer",
+   "description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>",
+   "fieldname": "customer_group",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Customer Group",
+   "oldfieldname": "customer_group",
+   "oldfieldtype": "Link",
+   "options": "Customer Group",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 0,
    "search_index": 0
-  }, 
+  },
   {
-   "fieldname": "shipping_address_name", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "label": "Shipping Address", 
-   "options": "Address", 
-   "permlevel": 0, 
+   "fieldname": "shipping_address_name",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "label": "Shipping Address",
+   "options": "Address",
+   "permlevel": 0,
    "print_hide": 1
-  }, 
+  },
   {
-   "fieldname": "shipping_address", 
-   "fieldtype": "Small Text", 
-   "hidden": 1, 
-   "label": "Shipping Address", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "shipping_address",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Shipping Address",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 1
-  }, 
+  },
   {
-   "depends_on": "customer", 
-   "fieldname": "col_break98", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
-   "read_only": 0, 
+   "depends_on": "customer",
+   "fieldname": "col_break98",
+   "fieldtype": "Column Break",
+   "permlevel": 0,
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "fieldname": "customer_address", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "label": "Customer Address", 
-   "options": "Address", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "customer_address",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "in_filter": 1,
+   "label": "Customer Address",
+   "options": "Address",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "depends_on": "eval:doc.customer", 
-   "fieldname": "contact_person", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "in_filter": 1, 
-   "label": "Contact Person", 
-   "oldfieldname": "contact_person", 
-   "oldfieldtype": "Link", 
-   "options": "Contact", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "depends_on": "eval:doc.customer",
+   "fieldname": "contact_person",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "in_filter": 1,
+   "label": "Contact Person",
+   "oldfieldname": "contact_person",
+   "oldfieldtype": "Link",
+   "options": "Contact",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "reqd": 0
-  }, 
+  },
   {
-   "fieldname": "more_info", 
-   "fieldtype": "Section Break", 
-   "label": "More Info", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-file-text", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "fieldname": "more_info",
+   "fieldtype": "Section Break",
+   "label": "More Info",
+   "oldfieldtype": "Section Break",
+   "options": "icon-file-text",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "campaign", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "label": "Campaign", 
-   "no_copy": 0, 
-   "oldfieldname": "campaign", 
-   "oldfieldtype": "Link", 
-   "options": "Campaign", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "fieldname": "campaign",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "label": "Campaign",
+   "no_copy": 0,
+   "oldfieldname": "campaign",
+   "oldfieldtype": "Link",
+   "options": "Campaign",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "report_hide": 0
-  }, 
+  },
   {
-   "fieldname": "source", 
-   "fieldtype": "Select", 
-   "hidden": 0, 
-   "label": "Source", 
-   "no_copy": 0, 
-   "oldfieldname": "source", 
-   "oldfieldtype": "Select", 
-   "options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "fieldname": "source",
+   "fieldtype": "Select",
+   "hidden": 0,
+   "label": "Source",
+   "no_copy": 0,
+   "oldfieldname": "source",
+   "oldfieldtype": "Select",
+   "options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "report_hide": 0
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "default": "Draft", 
-   "fieldname": "status", 
-   "fieldtype": "Select", 
-   "in_filter": 1, 
-   "in_list_view": 1, 
-   "label": "Status", 
-   "no_copy": 1, 
-   "oldfieldname": "status", 
-   "oldfieldtype": "Select", 
-   "options": "Draft\nSubmitted\nOrdered\nLost\nCancelled", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
-   "reqd": 1, 
+   "allow_on_submit": 0,
+   "default": "Draft",
+   "fieldname": "status",
+   "fieldtype": "Select",
+   "in_filter": 1,
+   "in_list_view": 1,
+   "label": "Status",
+   "no_copy": 1,
+   "oldfieldname": "status",
+   "oldfieldtype": "Select",
+   "options": "Draft\nSubmitted\nOrdered\nLost\nCancelled",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
+   "reqd": 1,
    "search_index": 0
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "order_lost_reason", 
-   "fieldtype": "Small Text", 
-   "label": "Quotation Lost Reason", 
-   "no_copy": 1, 
-   "oldfieldname": "order_lost_reason", 
-   "oldfieldtype": "Small Text", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "allow_on_submit": 1,
+   "fieldname": "order_lost_reason",
+   "fieldtype": "Small Text",
+   "label": "Quotation Lost Reason",
+   "no_copy": 1,
+   "oldfieldname": "order_lost_reason",
+   "oldfieldtype": "Small Text",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "fieldname": "column_break4", 
-   "fieldtype": "Column Break", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "fieldname": "column_break4",
+   "fieldtype": "Column Break",
+   "oldfieldtype": "Column Break",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "width": "50%"
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "letter_head", 
-   "fieldtype": "Link", 
-   "label": "Letter Head", 
-   "oldfieldname": "letter_head", 
-   "oldfieldtype": "Select", 
-   "options": "Letter Head", 
-   "permlevel": 0, 
-   "print_hide": 1, 
+   "allow_on_submit": 1,
+   "fieldname": "letter_head",
+   "fieldtype": "Link",
+   "label": "Letter Head",
+   "oldfieldname": "letter_head",
+   "oldfieldtype": "Select",
+   "options": "Letter Head",
+   "permlevel": 0,
+   "print_hide": 1,
    "read_only": 0
-  }, 
+  },
   {
-   "allow_on_submit": 1, 
-   "fieldname": "select_print_heading", 
-   "fieldtype": "Link", 
-   "label": "Print Heading", 
-   "no_copy": 1, 
-   "oldfieldname": "select_print_heading", 
-   "oldfieldtype": "Link", 
-   "options": "Print Heading", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
+   "allow_on_submit": 1,
+   "fieldname": "select_print_heading",
+   "fieldtype": "Link",
+   "label": "Print Heading",
+   "no_copy": 1,
+   "oldfieldname": "select_print_heading",
+   "oldfieldtype": "Link",
+   "options": "Print Heading",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
    "report_hide": 1
-  }, 
+  },
   {
-   "fieldname": "fiscal_year", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Fiscal Year", 
-   "oldfieldname": "fiscal_year", 
-   "oldfieldtype": "Select", 
-   "options": "Fiscal Year", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "reqd": 1, 
+   "fieldname": "fiscal_year",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Fiscal Year",
+   "oldfieldname": "fiscal_year",
+   "oldfieldtype": "Select",
+   "options": "Fiscal Year",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 0,
+   "reqd": 1,
    "search_index": 0
-  }, 
+  },
   {
-   "fieldname": "enq_det", 
-   "fieldtype": "Text", 
-   "hidden": 1, 
-   "label": "Opportunity Item", 
-   "no_copy": 0, 
-   "oldfieldname": "enq_det", 
-   "oldfieldtype": "Text", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 1, 
+   "fieldname": "enq_det",
+   "fieldtype": "Text",
+   "hidden": 1,
+   "label": "Opportunity Item",
+   "no_copy": 0,
+   "oldfieldname": "enq_det",
+   "oldfieldtype": "Text",
+   "permlevel": 0,
+   "print_hide": 1,
+   "read_only": 1,
    "report_hide": 0
-  }, 
-  {
-   "fieldname": "communication_history", 
-   "fieldtype": "Section Break", 
-   "label": "Communication History", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-comments", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0
-  }, 
-  {
-   "allow_on_submit": 1, 
-   "depends_on": "eval:!doc.__islocal", 
-   "fieldname": "communication_html", 
-   "fieldtype": "HTML", 
-   "label": "Communication HTML", 
-   "oldfieldname": "follow_up", 
-   "oldfieldtype": "Table", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "width": "40px"
-  }, 
-  {
-   "fieldname": "communications", 
-   "fieldtype": "Table", 
-   "hidden": 1, 
-   "label": "Communications", 
-   "options": "Communication", 
-   "permlevel": 0, 
-   "print_hide": 1
   }
- ], 
- "hide_toolbar": 0, 
- "icon": "icon-shopping-cart", 
- "idx": 1, 
- "is_submittable": 1, 
- "max_attachments": 1, 
- "modified": "2014-09-09 05:35:33.413559", 
- "modified_by": "Administrator", 
- "module": "Selling", 
- "name": "Quotation", 
- "owner": "Administrator", 
+ ],
+ "hide_toolbar": 0,
+ "icon": "icon-shopping-cart",
+ "idx": 1,
+ "is_submittable": 1,
+ "max_attachments": 1,
+ "modified": "2014-09-11 18:53:08.594908",
+ "modified_by": "Administrator",
+ "module": "Selling",
+ "name": "Quotation",
+ "owner": "Administrator",
  "permissions": [
   {
-   "amend": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Sales Manager", 
-   "submit": 1, 
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales User",
+   "submit": 1,
    "write": 1
-  }, 
+  },
   {
-   "amend": 1, 
-   "apply_user_permissions": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Sales User", 
-   "submit": 1, 
-   "write": 1
-  }, 
-  {
-   "amend": 0, 
-   "apply_user_permissions": 1, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Customer", 
-   "submit": 0, 
+   "amend": 0,
+   "cancel": 0,
+   "create": 0,
+   "delete": 0,
+   "match": "",
+   "permlevel": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales User",
+   "submit": 0,
    "write": 0
-  }, 
+  },
   {
-   "amend": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Maintenance Manager", 
-   "submit": 1, 
-   "write": 1
-  }, 
+   "cancel": 0,
+   "delete": 0,
+   "email": 1,
+   "match": "",
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Customer"
+  },
   {
-   "amend": 1, 
-   "apply_user_permissions": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Maintenance User", 
-   "submit": 1, 
-   "write": 1
-  }, 
+   "amend": 0,
+   "cancel": 0,
+   "create": 0,
+   "delete": 0,
+   "match": "",
+   "permlevel": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales Manager",
+   "submit": 0,
+   "write": 0
+  },
   {
-   "permlevel": 1, 
-   "read": 1, 
-   "role": "Sales Manager", 
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales Manager",
+   "submit": 1,
    "write": 1
+  },
+  {
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Maintenance Manager",
+   "submit": 1,
+   "write": 1
+  },
+  {
+   "amend": 0,
+   "cancel": 0,
+   "create": 0,
+   "delete": 0,
+   "match": "",
+   "permlevel": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Maintenance Manager",
+   "submit": 0
+  },
+  {
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Maintenance User",
+   "submit": 1,
+   "write": 1
+  },
+  {
+   "amend": 0,
+   "cancel": 0,
+   "create": 0,
+   "delete": 0,
+   "match": "",
+   "permlevel": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Maintenance User",
+   "submit": 0
   }
- ], 
- "read_only_onload": 1, 
- "search_fields": "status,transaction_date,customer,lead,order_type", 
- "sort_field": "modified", 
+ ],
+ "read_only_onload": 1,
+ "search_fields": "status,transaction_date,customer,lead,order_type",
+ "sort_field": "modified",
  "sort_order": "DESC"
-}
\ No newline at end of file
+}
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index 66e935a..a5460fc 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -13,6 +13,8 @@
 
 {% include "public/js/controllers/accounts.js" %}
 
+cur_frm.email_field = "contact_email";
+
 erpnext.selling.SellingController = erpnext.TransactionController.extend({
 	onload: function() {
 		this._super();
@@ -591,7 +593,7 @@
 		method:'erpnext.projects.doctype.project.project.get_cost_center_name' ,
 		args: {	project_name: frm.doc.project_name	},
 		callback: function(r, rt) {
-			if(!r.exc) { 
+			if(!r.exc) {
 				$.each(frm.doc[cur_frm.cscript.fname] || [], function(i, row) {
 					frappe.model.set_value(row.doctype, row.name, "cost_center", r.message);
 					msgprint(__("Cost Center For Item with Item Code '"+row.item_name+"' has been Changed to "+ r.message));
diff --git a/erpnext/setup/doctype/backup_manager/backup_manager.js b/erpnext/setup/doctype/backup_manager/backup_manager.js
index ee2b1a7..03c6bf9 100644
--- a/erpnext/setup/doctype/backup_manager/backup_manager.js
+++ b/erpnext/setup/doctype/backup_manager/backup_manager.js
@@ -4,17 +4,17 @@
 $.extend(cur_frm.cscript, {
 	refresh: function() {
 		cur_frm.disable_save();
-		
-		if(!(cint(cur_frm.doc.dropbox_access_allowed) || 
+
+		if(!(cint(cur_frm.doc.dropbox_access_allowed) ||
 			cint(cur_frm.doc.gdrive_access_allowed))) {
 				cur_frm.set_intro(__("You can start by selecting backup frequency and granting access for sync"));
 		} else {
 			var services = {
-				"dropbox": __("Dropbox"),
-				"gdrive": __("Google Drive")
+				"dropbox": __("Dropbox")
+				// "gdrive": __("Google Drive")
 			}
 			var active_services = [];
-			
+
 			$.each(services, function(service, label) {
 				var access_allowed = cint(cur_frm.doc[service + "_access_allowed"]);
 				var frequency = cur_frm.doc["upload_backups_to_" + service];
@@ -22,27 +22,27 @@
 					active_services.push(label + " [" + frequency + "]");
 				}
 			});
-			
+
 			if(active_services.length > 0) {
-				cur_frm.set_intro(__("Backups will be uploaded to") + ": " + 
+				cur_frm.set_intro(__("Backups will be uploaded to") + ": " +
 					frappe.utils.comma_and(active_services));
 			} else {
 				cur_frm.set_intro("");
 			}
 		}
-		
+
 	},
-	
+
 	validate_send_notifications_to: function() {
 		if(!cur_frm.doc.send_notifications_to) {
-			msgprint(__("Please specify") + ": " + 
+			msgprint(__("Please specify") + ": " +
 				__(frappe.meta.get_label(cur_frm.doctype, "send_notifications_to")));
 			return false;
 		}
-		
+
 		return true;
 	},
-	
+
 	allow_dropbox_access: function() {
 		if(cur_frm.cscript.validate_send_notifications_to()) {
 			return frappe.call({
@@ -59,7 +59,7 @@
 			});
 		}
 	},
-	
+
 	allow_gdrive_access: function() {
 		if(cur_frm.cscript.validate_send_notifications_to()) {
 			return frappe.call({
@@ -72,7 +72,7 @@
 			});
 		}
 	},
-	
+
 	validate_gdrive: function() {
 		return frappe.call({
 			method: "erpnext.setup.doctype.backup_manager.backup_googledrive.gdrive_callback",
@@ -81,11 +81,11 @@
 			},
 		});
 	},
-	
+
 	upload_backups_to_dropbox: function() {
 		cur_frm.save();
 	},
-	
+
 	// upload_backups_to_gdrive: function() {
 	// 	cur_frm.save();
 	// },
diff --git a/erpnext/setup/doctype/backup_manager/backup_manager.py b/erpnext/setup/doctype/backup_manager/backup_manager.py
index ff4e115..2695a46 100644
--- a/erpnext/setup/doctype/backup_manager/backup_manager.py
+++ b/erpnext/setup/doctype/backup_manager/backup_manager.py
@@ -21,10 +21,10 @@
 def take_backups_if(freq):
 	if frappe.db.get_value("Backup Manager", None, "upload_backups_to_dropbox")==freq:
 		take_backups_dropbox()
-		
+
 	# if frappe.db.get_value("Backup Manager", None, "upload_backups_to_gdrive")==freq:
 	# 	take_backups_gdrive()
-	
+
 @frappe.whitelist()
 def take_backups_dropbox():
 	did_not_upload, error_log = [], []
@@ -32,7 +32,7 @@
 		from erpnext.setup.doctype.backup_manager.backup_dropbox import backup_to_dropbox
 		did_not_upload, error_log = backup_to_dropbox()
 		if did_not_upload: raise Exception
-		
+
 		send_email(True, "Dropbox")
 	except Exception:
 		file_and_error = [" - ".join(f) for f in zip(did_not_upload, error_log)]
@@ -40,7 +40,7 @@
 		frappe.errprint(error_message)
 		send_email(False, "Dropbox", error_message)
 
-#backup to gdrive 
+#backup to gdrive
 @frappe.whitelist()
 def take_backups_gdrive():
 	did_not_upload, error_log = [], []
@@ -48,7 +48,7 @@
 		from erpnext.setup.doctype.backup_manager.backup_googledrive import backup_to_gdrive
 		did_not_upload, error_log = backup_to_gdrive()
 		if did_not_upload: raise Exception
-		
+
 		send_email(True, "Google Drive")
 	except Exception:
 		file_and_error = [" - ".join(f) for f in zip(did_not_upload, error_log)]
@@ -57,10 +57,9 @@
 		send_email(False, "Google Drive", error_message)
 
 def send_email(success, service_name, error_status=None):
-	from frappe.utils.email_lib import sendmail
 	if success:
 		subject = "Backup Upload Successful"
-		message ="""<h3>Backup Uploaded Successfully</h3><p>Hi there, this is just to inform you 
+		message ="""<h3>Backup Uploaded Successfully</h3><p>Hi there, this is just to inform you
 		that your backup was successfully uploaded to your %s account. So relax!</p>
 		""" % service_name
 
@@ -71,9 +70,9 @@
 		<p>Error message: %s</p>
 		<p>Please contact your system manager for more information.</p>
 		""" % (service_name, error_status)
-	
+
 	if not frappe.db:
 		frappe.connect()
-	
+
 	recipients = frappe.db.get_value("Backup Manager", None, "send_notifications_to").split(",")
-	sendmail(recipients, subject=subject, msg=message)
+	frappe.sendmail(recipients=recipients, subject=subject, msg=message)
diff --git a/erpnext/setup/doctype/country/README.md b/erpnext/setup/doctype/country/README.md
deleted file mode 100644
index 0e3f46c..0000000
--- a/erpnext/setup/doctype/country/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Country Master.
\ No newline at end of file
diff --git a/erpnext/setup/doctype/country/__init__.py b/erpnext/setup/doctype/country/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/setup/doctype/country/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/setup/doctype/country/country.json b/erpnext/setup/doctype/country/country.json
deleted file mode 100644
index 1798ca1..0000000
--- a/erpnext/setup/doctype/country/country.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
- "allow_import": 1, 
- "autoname": "field:country_name", 
- "creation": "2013-01-19 10:23:30", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Master", 
- "fields": [
-  {
-   "fieldname": "country_name", 
-   "fieldtype": "Data", 
-   "in_list_view": 1, 
-   "label": "Country Name", 
-   "oldfieldname": "country_name", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "reqd": 1
-  }, 
-  {
-   "fieldname": "date_format", 
-   "fieldtype": "Data", 
-   "in_list_view": 1, 
-   "label": "Date Format", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "time_zones", 
-   "fieldtype": "Text", 
-   "in_list_view": 1, 
-   "label": "Time Zones", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "code", 
-   "fieldtype": "Data", 
-   "in_list_view": 1, 
-   "label": "Code", 
-   "permlevel": 0
-  }
- ], 
- "icon": "icon-globe", 
- "idx": 1, 
- "in_create": 0, 
- "modified": "2014-05-27 03:49:08.984710", 
- "modified_by": "Administrator", 
- "module": "Setup", 
- "name": "Country", 
- "owner": "Administrator", 
- "permissions": [
-  {
-   "amend": 0, 
-   "create": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Sales Master Manager", 
-   "submit": 0, 
-   "write": 1
-  }, 
-  {
-   "create": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Purchase Master Manager", 
-   "submit": 0, 
-   "write": 1
-  }, 
-  {
-   "apply_user_permissions": 1, 
-   "create": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "HR User", 
-   "submit": 0, 
-   "write": 1
-  }, 
-  {
-   "create": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "HR Manager", 
-   "submit": 0, 
-   "write": 1
-  }, 
-  {
-   "apply_user_permissions": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "All"
-  }
- ], 
- "read_only": 0
-}
\ No newline at end of file
diff --git a/erpnext/setup/doctype/country/country.py b/erpnext/setup/doctype/country/country.py
deleted file mode 100644
index 5e16f51..0000000
--- a/erpnext/setup/doctype/country/country.py
+++ /dev/null
@@ -1,10 +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
-
-from frappe.model.document import Document
-
-class Country(Document):
-	pass
\ No newline at end of file
diff --git a/erpnext/setup/doctype/country/test_country.py b/erpnext/setup/doctype/country/test_country.py
deleted file mode 100644
index b261066..0000000
--- a/erpnext/setup/doctype/country/test_country.py
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-
-import frappe
-test_records = frappe.get_test_records('Country')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/country/test_records.json b/erpnext/setup/doctype/country/test_records.json
deleted file mode 100644
index 5a7c8a5..0000000
--- a/erpnext/setup/doctype/country/test_records.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- {
-  "country_name": "_Test Country", 
-  "doctype": "Country"
- }
-]
\ No newline at end of file
diff --git a/erpnext/setup/doctype/currency/README.md b/erpnext/setup/doctype/currency/README.md
deleted file mode 100644
index 3e1558e..0000000
--- a/erpnext/setup/doctype/currency/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Currency Master with details about abbreviation, symbol etc.
\ No newline at end of file
diff --git a/erpnext/setup/doctype/currency/__init__.py b/erpnext/setup/doctype/currency/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/setup/doctype/currency/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/setup/doctype/currency/currency.js b/erpnext/setup/doctype/currency/currency.js
deleted file mode 100644
index 79343e9..0000000
--- a/erpnext/setup/doctype/currency/currency.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt
-
-cur_frm.cscript.refresh = function(doc) {
-	cur_frm.set_intro("");
-	if(!cur_frm.doc.enabled) {
-		cur_frm.set_intro(__("This Currency is disabled. Enable to use in transactions"))
-	}
-}
\ No newline at end of file
diff --git a/erpnext/setup/doctype/currency/currency.json b/erpnext/setup/doctype/currency/currency.json
deleted file mode 100644
index ee7be19..0000000
--- a/erpnext/setup/doctype/currency/currency.json
+++ /dev/null
@@ -1,117 +0,0 @@
-{
- "autoname": "field:currency_name",
- "creation": "2013-01-28 10:06:02",
- "description": "**Currency** Master",
- "docstatus": 0,
- "doctype": "DocType",
- "fields": [
-  {
-   "fieldname": "currency_name",
-   "fieldtype": "Data",
-   "label": "Currency Name",
-   "oldfieldname": "currency_name",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
-   "reqd": 1
-  },
-  {
-   "fieldname": "enabled",
-   "fieldtype": "Check",
-   "in_list_view": 1,
-   "label": "Enabled",
-   "permlevel": 0
-  },
-  {
-   "description": "Sub-currency. For e.g. \"Cent\"",
-   "fieldname": "fraction",
-   "fieldtype": "Data",
-   "in_list_view": 1,
-   "label": "Fraction",
-   "permlevel": 0
-  },
-  {
-   "description": "1 Currency = [?] Fraction\nFor e.g. 1 USD = 100 Cent",
-   "fieldname": "fraction_units",
-   "fieldtype": "Int",
-   "in_list_view": 1,
-   "label": "Fraction Units",
-   "permlevel": 0
-  },
-  {
-   "description": "A symbol for this currency. For e.g. $",
-   "fieldname": "symbol",
-   "fieldtype": "Data",
-   "in_list_view": 1,
-   "label": "Symbol",
-   "permlevel": 0
-  },
-  {
-   "description": "How should this currency be formatted? If not set, will use system defaults",
-   "fieldname": "number_format",
-   "fieldtype": "Select",
-   "in_list_view": 1,
-   "label": "Number Format",
-   "options": "\n#,###.##\n#.###,##\n# ###.##\n# ###,##\n#'###.##\n#, ###.##\n#,##,###.##\n#,###.###\n#.###\n#,###",
-   "permlevel": 0
-  }
- ],
- "icon": "icon-bitcoin",
- "idx": 1,
- "in_create": 0,
- "modified": "2014-06-18 03:49:09.038451",
- "modified_by": "Administrator",
- "module": "Setup",
- "name": "Currency",
- "owner": "Administrator",
- "permissions": [
-  {
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Accounts Manager",
-   "submit": 0,
-   "write": 1
-  },
-  {
-   "amend": 0,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Sales Master Manager",
-   "submit": 0,
-   "write": 1
-  },
-  {
-   "amend": 0,
-   "create": 1,
-   "delete": 0,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Purchase Master Manager",
-   "submit": 0,
-   "write": 1
-  },
-  {
-   "apply_user_permissions": 1,
-   "delete": 0,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "All"
-  }
- ],
- "read_only": 0
-}
diff --git a/erpnext/setup/doctype/currency/currency.py b/erpnext/setup/doctype/currency/currency.py
deleted file mode 100644
index abfbe19..0000000
--- a/erpnext/setup/doctype/currency/currency.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
-from frappe import throw, _
-
-from frappe.model.document import Document
-
-class Currency(Document):
-	def validate(self):
-		frappe.clear_cache()
-
-def validate_conversion_rate(currency, conversion_rate, conversion_rate_label, company):
-	"""common validation for currency and price list currency"""
-
-	company_currency = frappe.db.get_value("Company", company, "default_currency")
-
-	if not conversion_rate:
-		throw(_("{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.").format(
-			conversion_rate_label, currency, company_currency))
diff --git a/erpnext/setup/doctype/currency/test_currency.py b/erpnext/setup/doctype/currency/test_currency.py
deleted file mode 100644
index f0c6cee..0000000
--- a/erpnext/setup/doctype/currency/test_currency.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-# pre loaded
-
-import frappe
-test_records = frappe.get_test_records('Currency')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/currency/test_records.json b/erpnext/setup/doctype/currency/test_records.json
deleted file mode 100644
index 0637a08..0000000
--- a/erpnext/setup/doctype/currency/test_records.json
+++ /dev/null
@@ -1 +0,0 @@
-[]
\ No newline at end of file
diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py
index 59a42cb..89a87f7 100644
--- a/erpnext/setup/doctype/email_digest/email_digest.py
+++ b/erpnext/setup/doctype/email_digest/email_digest.py
@@ -9,7 +9,6 @@
 from frappe.utils.dateutils import datetime_in_user_format
 from datetime import timedelta
 from dateutil.relativedelta import relativedelta
-from frappe.utils.email_lib import sendmail
 from frappe.core.doctype.user.user import STANDARD_USERS
 
 content_sequence = [
@@ -83,10 +82,10 @@
 				msg_for_this_receipient = self.get_msg_html(self.get_user_specific_content(user_id) + \
 					common_msg)
 				if msg_for_this_receipient:
-					sendmail(recipients=user_id,
+					frappe.sendmail(recipients=user_id,
 						subject="[ERPNext] [{frequency} Digest] {name}".format(
 							frequency=self.frequency, name=self.name),
-						msg=msg_for_this_receipient)
+						msg=msg_for_this_receipient, bulk=True)
 
 	def get_digest_msg(self):
 		return self.get_msg_html(self.get_user_specific_content(frappe.session.user) + \
@@ -295,7 +294,7 @@
 			filter_by_company=False)
 
 	def get_calendar_events(self, user_id):
-		from frappe.core.doctype.event.event import get_events
+		from frappe.desk.doctype.event.event import get_events
 		events = get_events(self.future_from_date.strftime("%Y-%m-%d"), self.future_to_date.strftime("%Y-%m-%d"))
 
 		html = ""
diff --git a/erpnext/setup/doctype/global_defaults/global_defaults.py b/erpnext/setup/doctype/global_defaults/global_defaults.py
index a8905f1..e67ba444 100644
--- a/erpnext/setup/doctype/global_defaults/global_defaults.py
+++ b/erpnext/setup/doctype/global_defaults/global_defaults.py
@@ -6,7 +6,7 @@
 import frappe
 import frappe.defaults
 from frappe.utils import cint
-from frappe.core.doctype.property_setter.property_setter import make_property_setter
+from frappe.custom.doctype.property_setter.property_setter import make_property_setter
 
 keydict = {
 	# "key in defaults": "key in Global Defaults"
diff --git a/erpnext/setup/doctype/jobs_email_settings/README.md b/erpnext/setup/doctype/jobs_email_settings/README.md
deleted file mode 100644
index 8314c55..0000000
--- a/erpnext/setup/doctype/jobs_email_settings/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Settings to extract job applications via email (POP).
\ No newline at end of file
diff --git a/erpnext/setup/doctype/jobs_email_settings/__init__.py b/erpnext/setup/doctype/jobs_email_settings/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/setup/doctype/jobs_email_settings/__init__.py
+++ /dev/null
diff --git a/erpnext/setup/doctype/jobs_email_settings/jobs_email_settings.js b/erpnext/setup/doctype/jobs_email_settings/jobs_email_settings.js
deleted file mode 100644
index cda8fd6..0000000
--- a/erpnext/setup/doctype/jobs_email_settings/jobs_email_settings.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt
-
-// For license information, please see license.txt
-
-cur_frm.cscript = {
-	refresh: function(doc) {
-		cur_frm.set_intro("");
-		if(doc.extract_emails) {
-			cur_frm.set_intro(__("Active: Will extract emails from ") + doc.email_id);
-		} else {
-			cur_frm.set_intro(__("Not Active"));
-		}
-	}
-}
\ No newline at end of file
diff --git a/erpnext/setup/doctype/jobs_email_settings/jobs_email_settings.json b/erpnext/setup/doctype/jobs_email_settings/jobs_email_settings.json
deleted file mode 100644
index e6fec9d..0000000
--- a/erpnext/setup/doctype/jobs_email_settings/jobs_email_settings.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "creation": "2013-01-15 16:50:01.000000", 
- "description": "Email settings for jobs email id \"jobs@example.com\"", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "fields": [
-  {
-   "description": "Settings to extract Job Applicants from a mailbox e.g. \"jobs@example.com\"", 
-   "fieldname": "pop3_mail_settings", 
-   "fieldtype": "Section Break", 
-   "label": "POP3 Mail Settings", 
-   "permlevel": 0
-  }, 
-  {
-   "description": "Check to activate", 
-   "fieldname": "extract_emails", 
-   "fieldtype": "Check", 
-   "label": "Extract Emails", 
-   "permlevel": 0
-  }, 
-  {
-   "description": "Email Id where a job applicant will email e.g. \"jobs@example.com\"", 
-   "fieldname": "email_id", 
-   "fieldtype": "Data", 
-   "label": "Email Id", 
-   "permlevel": 0
-  }, 
-  {
-   "description": "POP3 server e.g. (pop.gmail.com)", 
-   "fieldname": "host", 
-   "fieldtype": "Data", 
-   "label": "Host", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "use_ssl", 
-   "fieldtype": "Check", 
-   "label": "Use SSL", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "username", 
-   "fieldtype": "Data", 
-   "label": "Username", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "password", 
-   "fieldtype": "Password", 
-   "label": "Password", 
-   "permlevel": 0
-  }
- ], 
- "icon": "icon-cog", 
- "idx": 1, 
- "issingle": 1, 
- "modified": "2013-12-20 19:23:16.000000", 
- "modified_by": "Administrator", 
- "module": "Setup", 
- "name": "Jobs Email Settings", 
- "owner": "Administrator", 
- "permissions": [
-  {
-   "create": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "role": "System Manager", 
-   "write": 1
-  }
- ]
-}
\ No newline at end of file
diff --git a/erpnext/setup/doctype/jobs_email_settings/jobs_email_settings.py b/erpnext/setup/doctype/jobs_email_settings/jobs_email_settings.py
deleted file mode 100644
index 5d8bab8..0000000
--- a/erpnext/setup/doctype/jobs_email_settings/jobs_email_settings.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import frappe
-from frappe import _
-from frappe.utils import cint
-
-from frappe.model.document import Document
-
-class JobsEmailSettings(Document):
-
-	def validate(self):
-		if cint(self.extract_emails) and not (self.email_id and self.host and \
-			self.username and self.password):
-
-			frappe.throw(_("""Host, Email and Password required if emails are to be pulled"""))
diff --git a/erpnext/setup/doctype/naming_series/naming_series.py b/erpnext/setup/doctype/naming_series/naming_series.py
index cb0d437..bd6b708 100644
--- a/erpnext/setup/doctype/naming_series/naming_series.py
+++ b/erpnext/setup/doctype/naming_series/naming_series.py
@@ -12,15 +12,27 @@
 class NamingSeries(Document):
 
 	def get_transactions(self, arg=None):
+		doctypes = list(set(frappe.db.sql_list("""select parent
+				from `tabDocField` where fieldname='naming_series'""")
+			+ frappe.db.sql_list("""select dt from `tabCustom Field`
+				where fieldname='naming_series'""")))
+
+		prefixes = ""
+		for d in doctypes:
+			print d
+			try:
+				options = self.get_options(d)
+			except frappe.DoesNotExistError:
+				continue
+
+			prefixes = prefixes + "\n" + options
+
+		prefixes.replace("\n\n", "\n")
+		prefixes = "\n".join(sorted(prefixes.split()))
+
 		return {
-			"transactions": "\n".join([''] + sorted(list(set(
-				frappe.db.sql_list("""select parent
-					from `tabDocField` where fieldname='naming_series'""")
-				+ frappe.db.sql_list("""select dt from `tabCustom Field`
-					where fieldname='naming_series'""")
-				)))),
-			"prefixes": "\n".join([''] + [i[0] for i in
-				frappe.db.sql("""select name from tabSeries order by name""")])
+			"transactions": "\n".join([''] + sorted(doctypes)),
+			"prefixes": prefixes
 		}
 
 	def scrub_options_list(self, ol):
@@ -110,8 +122,8 @@
 		if not re.match("^[a-zA-Z0-9- /.#]*$", n):
 			throw(_('Special Characters except "-" and "/" not allowed in naming series'))
 
-	def get_options(self, arg=''):
-		return frappe.get_meta(self.select_doc_for_series).get_field("naming_series").options
+	def get_options(self, arg=None):
+		return frappe.get_meta(arg or self.select_doc_for_series).get_field("naming_series").options
 
 	def get_current(self, arg=None):
 		"""get series current"""
@@ -135,7 +147,7 @@
 			msgprint(_("Please select prefix first"))
 
 def set_by_naming_series(doctype, fieldname, naming_series, hide_name_field=True):
-	from frappe.core.doctype.property_setter.property_setter import make_property_setter
+	from frappe.custom.doctype.property_setter.property_setter import make_property_setter
 	if naming_series:
 		make_property_setter(doctype, "naming_series", "hidden", 0, "Check")
 		make_property_setter(doctype, "naming_series", "reqd", 1, "Check")
diff --git a/erpnext/setup/doctype/sales_email_settings/README.md b/erpnext/setup/doctype/sales_email_settings/README.md
deleted file mode 100644
index 8d7d48f..0000000
--- a/erpnext/setup/doctype/sales_email_settings/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Settings for creating new Communication, Leads from sales inbox like "sales@example.com" via POP3.
\ No newline at end of file
diff --git a/erpnext/setup/doctype/sales_email_settings/__init__.py b/erpnext/setup/doctype/sales_email_settings/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/setup/doctype/sales_email_settings/__init__.py
+++ /dev/null
diff --git a/erpnext/setup/doctype/sales_email_settings/sales_email_settings.js b/erpnext/setup/doctype/sales_email_settings/sales_email_settings.js
deleted file mode 100644
index cda8fd6..0000000
--- a/erpnext/setup/doctype/sales_email_settings/sales_email_settings.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt
-
-// For license information, please see license.txt
-
-cur_frm.cscript = {
-	refresh: function(doc) {
-		cur_frm.set_intro("");
-		if(doc.extract_emails) {
-			cur_frm.set_intro(__("Active: Will extract emails from ") + doc.email_id);
-		} else {
-			cur_frm.set_intro(__("Not Active"));
-		}
-	}
-}
\ No newline at end of file
diff --git a/erpnext/setup/doctype/sales_email_settings/sales_email_settings.json b/erpnext/setup/doctype/sales_email_settings/sales_email_settings.json
deleted file mode 100644
index c19f2e2..0000000
--- a/erpnext/setup/doctype/sales_email_settings/sales_email_settings.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "creation": "2013-01-16 10:25:26.000000", 
- "description": "Email settings to extract Leads from sales email id e.g. \"sales@example.com\"", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "fields": [
-  {
-   "description": "Email settings to extract Leads from sales email id e.g. \"sales@example.com\"", 
-   "fieldname": "pop3_mail_settings", 
-   "fieldtype": "Section Break", 
-   "label": "POP3 Mail Settings", 
-   "permlevel": 0
-  }, 
-  {
-   "description": "Check to activate", 
-   "fieldname": "extract_emails", 
-   "fieldtype": "Check", 
-   "label": "Extract Emails", 
-   "permlevel": 0
-  }, 
-  {
-   "description": "Email Id where a job applicant will email e.g. \"jobs@example.com\"", 
-   "fieldname": "email_id", 
-   "fieldtype": "Data", 
-   "label": "Email Id", 
-   "permlevel": 0
-  }, 
-  {
-   "description": "POP3 server e.g. (pop.gmail.com)", 
-   "fieldname": "host", 
-   "fieldtype": "Data", 
-   "label": "Host", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "use_ssl", 
-   "fieldtype": "Check", 
-   "label": "Use SSL", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "username", 
-   "fieldtype": "Data", 
-   "label": "Username", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "password", 
-   "fieldtype": "Password", 
-   "label": "Password", 
-   "permlevel": 0
-  }
- ], 
- "icon": "icon-cog", 
- "idx": 1, 
- "issingle": 1, 
- "modified": "2013-12-20 19:21:38.000000", 
- "modified_by": "Administrator", 
- "module": "Setup", 
- "name": "Sales Email Settings", 
- "owner": "Administrator", 
- "permissions": [
-  {
-   "create": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "role": "System Manager", 
-   "write": 1
-  }
- ]
-}
\ No newline at end of file
diff --git a/erpnext/setup/doctype/sales_email_settings/sales_email_settings.py b/erpnext/setup/doctype/sales_email_settings/sales_email_settings.py
deleted file mode 100644
index 88dc411..0000000
--- a/erpnext/setup/doctype/sales_email_settings/sales_email_settings.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import frappe
-from frappe import _
-from frappe.utils import cint
-
-from frappe.model.document import Document
-
-class SalesEmailSettings(Document):
-		
-	def validate(self):
-		if cint(self.extract_emails) and not (self.email_id and self.host and \
-			self.username and self.password):
-			
-			frappe.msgprint(_("""Host, Email and Password required if emails are to be pulled"""),
-				raise_exception=True)
\ No newline at end of file
diff --git a/erpnext/setup/install.py b/erpnext/setup/install.py
index 0e8e58d..dce101e 100644
--- a/erpnext/setup/install.py
+++ b/erpnext/setup/install.py
@@ -13,7 +13,6 @@
 def after_install():
 	frappe.get_doc({'doctype': "Role", "role_name": "Analytics"}).insert()
 	set_single_defaults()
-	import_country_and_currency()
 	from erpnext.accounts.doctype.chart_of_accounts.import_charts import import_charts
 	import_charts()
 	frappe.db.set_default('desktop:home_page', 'setup-wizard')
@@ -22,38 +21,6 @@
 	add_all_roles_to("Administrator")
 	frappe.db.commit()
 
-def import_country_and_currency():
-	from frappe.country_info import get_all
-	data = get_all()
-
-	for name in data:
-		country = frappe._dict(data[name])
-		add_country_and_currency(name, country)
-
-	# enable frequently used currencies
-	for currency in ("INR", "USD", "GBP", "EUR", "AED", "AUD", "JPY", "CNY", "CHF"):
-		frappe.db.set_value("Currency", currency, "enabled", 1)
-
-def add_country_and_currency(name, country):
-	if not frappe.db.exists("Country", name):
-		frappe.get_doc({
-			"doctype": "Country",
-			"country_name": name,
-			"code": country.code,
-			"date_format": country.date_format or "dd-mm-yyyy",
-			"time_zones": "\n".join(country.timezones or [])
-		}).insert()
-
-	if country.currency and not frappe.db.exists("Currency", country.currency):
-		frappe.get_doc({
-			"doctype": "Currency",
-			"currency_name": country.currency,
-			"fraction": country.currency_fraction,
-			"symbol": country.currency_symbol,
-			"fraction_units": country.currency_fraction_units,
-			"number_format": country.number_format
-		}).insert()
-
 def feature_setup():
 	"""save global defaults and features setup"""
 	doc = frappe.get_doc("Features Setup", "Features Setup")
@@ -85,6 +52,3 @@
 				pass
 
 	frappe.db.set_default("date_format", "dd-mm-yyyy")
-
-	frappe.db.set_value("Outgoing Email Settings", "Outgoing Email Settings", "footer",
-		default_mail_footer)
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.py b/erpnext/setup/page/setup_wizard/setup_wizard.py
index d3942e4..cc1cd23 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.py
@@ -8,7 +8,7 @@
 from frappe import _
 from frappe.utils.file_manager import save_file
 from frappe.translate import set_default_language, get_dict, get_lang_dict, send_translations
-from frappe.country_info import get_country_info
+from frappe.geo.country_info import get_country_info
 from frappe.utils.nestedset import get_root_of
 from default_website import website_maker
 import install_fixtures
@@ -227,9 +227,11 @@
 
 def create_feed_and_todo():
 	"""update activty feed and create todo for creation of item, customer, vendor"""
-	from erpnext.home import make_feed
-	make_feed('Comment', 'ToDo', '', frappe.session['user'],
-		'ERNext Setup Complete!', '#6B24B3')
+	frappe.get_doc({
+		"doctype": "Feed",
+		"feedtype": "Comment",
+		"subject": "ERPNext Setup Complete!"
+	}).insert(ignore_permissions=True)
 
 def create_email_digest():
 	from frappe.utils.user import get_system_managers
diff --git a/erpnext/startup/event_handlers.py b/erpnext/startup/event_handlers.py
deleted file mode 100644
index 6dac990..0000000
--- a/erpnext/startup/event_handlers.py
+++ /dev/null
@@ -1,17 +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
-from frappe.utils import nowtime
-from frappe.utils.user import get_user_fullname
-from erpnext.home import make_feed
-
-def on_session_creation(login_manager):
-	"""make feed"""
-	if frappe.session['user'] != 'Guest':
-		# create feed
-		make_feed('Login', 'User', login_manager.user, login_manager.user,
-			'%s logged in at %s' % (get_user_fullname(login_manager.user), nowtime()),
-			login_manager.user=='Administrator' and '#8CA2B3' or '#1B750D')
diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py
index eeda2ce..05ad09b 100644
--- a/erpnext/stock/doctype/material_request/material_request.py
+++ b/erpnext/stock/doctype/material_request/material_request.py
@@ -21,6 +21,9 @@
 	tname = 'Material Request Item'
 	fname = 'indent_details'
 
+	def get_feed(self):
+		return _("{0}: {1}").format(self.status, self.material_request_type)
+
 	def check_if_already_pulled(self):
 		pass#if self.[d.sales_order_no for d in self.get('indent_details')]
 
diff --git a/erpnext/stock/doctype/serial_no/serial_no.py b/erpnext/stock/doctype/serial_no/serial_no.py
index 14c409b..bc49090 100644
--- a/erpnext/stock/doctype/serial_no/serial_no.py
+++ b/erpnext/stock/doctype/serial_no/serial_no.py
@@ -192,9 +192,6 @@
 			self.set_sales_details(last_sle.get("delivery_sle"))
 			self.set_maintenance_status()
 
-	def on_communication(self):
-		return
-
 def process_serial_no(sle):
 	item_det = get_item_details(sle.item_code)
 	validate_serial_no(sle, item_det)
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index c3aab6a..74f88f2 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -26,6 +26,10 @@
 
 class StockEntry(StockController):
 	fname = 'mtn_details'
+
+	def get_feed(self):
+		return _("From {0} to {1}").format(self.from_warehouse, self.to_warehouse)
+
 	def onload(self):
 		if self.docstatus==1:
 			for item in self.get(self.fname):
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index fffb52e..19f9724 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -8,6 +8,7 @@
 import json
 from erpnext.accounts.doctype.pricing_rule.pricing_rule import get_pricing_rule_for_item
 from erpnext.setup.utils import get_exchange_rate
+from frappe.model.meta import get_field_precision
 
 @frappe.whitelist()
 def get_item_details(args):
@@ -206,8 +207,7 @@
 		throw(_("Price List not selected"))
 
 def validate_conversion_rate(args, meta):
-	from erpnext.setup.doctype.currency.currency import validate_conversion_rate
-	from frappe.model.meta import get_field_precision
+	from erpnext.controllers.accounts_controller import validate_conversion_rate
 
 	# validate currency conversion rate
 	validate_conversion_rate(args.currency, args.conversion_rate,
diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py
index 31fc6a0..2b4e368 100644
--- a/erpnext/stock/utils.py
+++ b/erpnext/stock/utils.py
@@ -6,7 +6,6 @@
 import json
 from frappe.utils import flt, cstr, nowdate, add_days, cint
 from frappe.defaults import get_global_default
-from frappe.utils.email_lib import sendmail
 from erpnext.accounts.utils import get_fiscal_year, FiscalYearError
 
 class InvalidWarehouseCompany(frappe.ValidationError): pass
@@ -345,11 +344,11 @@
 			msg += "<tr><td>" + item.item_code + "</td><td>" + item.warehouse + "</td><td>" + \
 				cstr(item.qty) + "</td><td>" + cstr(item.uom) + "</td></tr>"
 		msg += "</table>"
-	sendmail(email_list, subject='Auto Material Request Generation Notification', msg = msg)
+	frappe.sendmail(recipients=email_list, subject='Auto Material Request Generation Notification', msg = msg)
 
 def notify_errors(exceptions_list):
 	subject = "[Important] [ERPNext] Error(s) while creating Material Requests based on Re-order Levels"
-	msg = """Dear System Manager,
+	content = """Dear System Manager,
 
 An error occured for certain Items while creating Material Requests based on Re-order level.
 
@@ -362,5 +361,5 @@
 Regards,
 Administrator""" % ("\n\n".join(exceptions_list),)
 
-	from frappe.utils.user import get_system_managers
-	sendmail(get_system_managers(), subject=subject, msg=msg)
+	from frappe.email import sendmail_to_system_managers
+	sendmail_to_system_managers(subject, content)
diff --git a/erpnext/support/doctype/customer_issue/customer_issue.py b/erpnext/support/doctype/customer_issue/customer_issue.py
index 45adb0b..9e6300e 100644
--- a/erpnext/support/doctype/customer_issue/customer_issue.py
+++ b/erpnext/support/doctype/customer_issue/customer_issue.py
@@ -12,6 +12,8 @@
 from erpnext.utilities.transaction_base import TransactionBase
 
 class CustomerIssue(TransactionBase):
+	def get_feed(self):
+		return _("{0}: From {1}").format(self.status, self.customer_name)
 
 	def validate(self):
 		if session['user'] != 'Guest' and not self.customer:
diff --git a/erpnext/support/doctype/maintenance_visit/maintenance_visit.py b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
index e16017d..ef2fb41 100644
--- a/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
+++ b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
@@ -8,6 +8,8 @@
 from erpnext.utilities.transaction_base import TransactionBase
 
 class MaintenanceVisit(TransactionBase):
+	def get_feed(self):
+		return _("To {0}").format(self.customer_name)
 
 	def get_item_details(self, item_code):
 		return frappe.db.get_value("Item", item_code, ["item_name", "description"], as_dict=1)
diff --git a/erpnext/support/doctype/newsletter/newsletter.py b/erpnext/support/doctype/newsletter/newsletter.py
index 15bf0da..1a9713f 100644
--- a/erpnext/support/doctype/newsletter/newsletter.py
+++ b/erpnext/support/doctype/newsletter/newsletter.py
@@ -94,7 +94,7 @@
 
 		sender = self.send_from or frappe.utils.get_formatted_email(self.owner)
 
-		from frappe.utils.email_lib.bulk import send
+		from frappe.email.bulk import send
 
 		if not frappe.flags.in_test:
 			frappe.db.auto_commit_on_many_writes = True
diff --git a/erpnext/support/doctype/support_email_settings/__init__.py b/erpnext/support/doctype/support_email_settings/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/support/doctype/support_email_settings/__init__.py
+++ /dev/null
diff --git a/erpnext/support/doctype/support_email_settings/support_email_settings.json b/erpnext/support/doctype/support_email_settings/support_email_settings.json
deleted file mode 100644
index dd45049..0000000
--- a/erpnext/support/doctype/support_email_settings/support_email_settings.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
- "allow_copy": 1, 
- "creation": "2014-03-03 19:48:46.000000", 
- "description": "Email Settings for Outgoing and Incoming Emails.", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "fields": [
-  {
-   "description": "Check this to pull emails from your mailbox", 
-   "fieldname": "sync_support_mails", 
-   "fieldtype": "Check", 
-   "label": "Sync Support Mails", 
-   "permlevel": 0
-  }, 
-  {
-   "description": "Your support email id - must be a valid email - this is where your emails will come!", 
-   "fieldname": "support_email", 
-   "fieldtype": "Data", 
-   "label": "Support Email", 
-   "permlevel": 0
-  }, 
-  {
-   "description": "POP3 mail server (e.g. pop.gmail.com)", 
-   "fieldname": "mail_server", 
-   "fieldtype": "Data", 
-   "label": "POP3 Mail Server", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "use_ssl", 
-   "fieldtype": "Check", 
-   "label": "Use SSL", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "mail_login", 
-   "fieldtype": "Data", 
-   "label": "User Name", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "mail_password", 
-   "fieldtype": "Password", 
-   "label": "Support Password", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "cb1", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0
-  }, 
-  {
-   "description": "Signature to be appended at the end of every email", 
-   "fieldname": "support_signature", 
-   "fieldtype": "Text", 
-   "label": "Signature", 
-   "permlevel": 0
-  }, 
-  {
-   "default": "1", 
-   "fieldname": "send_autoreply", 
-   "fieldtype": "Check", 
-   "label": "Send Autoreply", 
-   "permlevel": 0
-  }, 
-  {
-   "description": "Autoreply when a new mail is received", 
-   "fieldname": "support_autoreply", 
-   "fieldtype": "Text", 
-   "label": "Custom Autoreply Message", 
-   "permlevel": 0
-  }
- ], 
- "icon": "icon-cog", 
- "idx": 1, 
- "in_create": 1, 
- "issingle": 1, 
- "modified": "2014-03-03 20:20:34.000000", 
- "modified_by": "Administrator", 
- "module": "Support", 
- "name": "Support Email Settings", 
- "owner": "Administrator", 
- "permissions": [
-  {
-   "create": 1, 
-   "permlevel": 0, 
-   "read": 1, 
-   "role": "System Manager", 
-   "write": 1
-  }
- ]
-}
\ No newline at end of file
diff --git a/erpnext/support/doctype/support_email_settings/support_email_settings.py b/erpnext/support/doctype/support_email_settings/support_email_settings.py
deleted file mode 100644
index be88891..0000000
--- a/erpnext/support/doctype/support_email_settings/support_email_settings.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# MIT License. See license.txt
-
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import frappe
-from frappe import _
-from frappe.utils import cint
-from frappe.model.document import Document
-from frappe.utils.email_lib.receive import POP3Mailbox
-import _socket, poplib
-
-class SupportEmailSettings(Document):
-
-	def validate(self):
-		"""
-			Checks support ticket email settings
-		"""
-		if cint(self.sync_support_mails) and self.mail_server and not frappe.local.flags.in_patch:
-			inc_email = frappe._dict(self.as_dict())
-			# inc_email.encode()
-			inc_email.host = self.mail_server
-			inc_email.use_ssl = self.use_ssl
-			try:
-				err_msg = _('User Name or Support Password missing. Please enter and try again.')
-				if not (self.mail_login and self.mail_password):
-					raise AttributeError, err_msg
-				inc_email.username = self.mail_login
-				inc_email.password = self.mail_password
-			except AttributeError, e:
-				frappe.msgprint(err_msg)
-				raise
-
-			pop_mb = POP3Mailbox(inc_email)
-
-			try:
-				pop_mb.connect()
-			except _socket.error, e:
-				# Invalid mail server -- due to refusing connection
-				frappe.msgprint(_('Invalid Mail Server. Please rectify and try again.'))
-				raise
-			except poplib.error_proto, e:
-				frappe.msgprint(_('Invalid User Name or Support Password. Please rectify and try again.'))
-				raise
diff --git a/erpnext/support/doctype/support_ticket/get_support_mails.py b/erpnext/support/doctype/support_ticket/get_support_mails.py
deleted file mode 100644
index 21f7c90..0000000
--- a/erpnext/support/doctype/support_ticket/get_support_mails.py
+++ /dev/null
@@ -1,87 +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
-from frappe.utils import cstr, cint, decode_dict, today
-from frappe.utils.email_lib import sendmail
-from frappe.utils.email_lib.receive import POP3Mailbox
-from frappe.core.doctype.communication.communication import _make
-
-class SupportMailbox(POP3Mailbox):
-	def setup(self, args=None):
-		self.email_settings = frappe.get_doc("Support Email Settings", "Support Email Settings")
-		self.settings = args or frappe._dict({
-			"use_ssl": self.email_settings.use_ssl,
-			"host": self.email_settings.mail_server,
-			"username": self.email_settings.mail_login,
-			"password": self.email_settings.mail_password
-		})
-
-	def process_message(self, mail):
-		if mail.from_email == self.email_settings.get('support_email'):
-			return
-		thread_id = mail.get_thread_id()
-		new_ticket = False
-
-		if not (thread_id and frappe.db.exists("Support Ticket", thread_id)):
-			new_ticket = True
-
-		ticket = add_support_communication(mail.subject, mail.content, mail.from_email,
-			docname=None if new_ticket else thread_id, mail=mail)
-
-		if new_ticket and cint(self.email_settings.send_autoreply) and \
-			"mailer-daemon" not in mail.from_email.lower():
-				self.send_auto_reply(ticket)
-
-	def send_auto_reply(self, d):
-		signature = self.email_settings.get('support_signature') or ''
-		response = self.email_settings.get('support_autoreply') or ("""
-A new Ticket has been raised for your query. If you have any additional information, please
-reply back to this mail.
-
-### We will get back to you as soon as possible
-
----
-
-Original Query:
-
-""" + d.description + "\n\n---\n\n" + cstr(signature))
-
-		sendmail(\
-			recipients = [cstr(d.raised_by)], \
-			sender = cstr(self.email_settings.get('support_email')), \
-			subject = '['+cstr(d.name)+'] ' + cstr(d.subject), \
-			msg = cstr(response))
-
-def get_support_mails():
-	if cint(frappe.db.get_value('Support Email Settings', None, 'sync_support_mails')):
-		SupportMailbox()
-
-def add_support_communication(subject, content, sender, docname=None, mail=None):
-	if docname:
-		ticket = frappe.get_doc("Support Ticket", docname)
-		ticket.status = 'Open'
-		ticket.ignore_permissions = True
-		ticket.save()
-	else:
-		ticket = frappe.get_doc(decode_dict({
-			"doctype":"Support Ticket",
-			"description": content,
-			"subject": subject,
-			"raised_by": sender,
-			"content_type": mail.content_type if mail else None,
-			"status": "Open",
-		}))
-		ticket.ignore_permissions = True
-		ticket.ignore_mandatory = True
-		ticket.insert()
-
-	_make(content=content, sender=sender, subject = subject,
-		doctype="Support Ticket", name=ticket.name,
-		date=mail.date if mail else today(), sent_or_received="Received")
-
-	if mail:
-		mail.save_attachments_in_doc(ticket)
-
-	return ticket
diff --git a/erpnext/support/doctype/support_ticket/support_ticket.js b/erpnext/support/doctype/support_ticket/support_ticket.js
index d4531dc..cd77be4 100644
--- a/erpnext/support/doctype/support_ticket/support_ticket.js
+++ b/erpnext/support/doctype/support_ticket/support_ticket.js
@@ -7,11 +7,11 @@
 frappe.provide("erpnext.support");
 
 cur_frm.add_fetch("customer", "customer_name", "customer_name")
+cur_frm.email_field = "raised_by";
 
 $.extend(cur_frm.cscript, {
 	refresh: function(doc) {
 		erpnext.toggle_naming_series();
-		cur_frm.cscript.make_listing(doc);
 		if(!doc.__islocal) {
 			if(cur_frm.fields_dict.status.get_status()=="Write") {
 				if(doc.status!='Closed') cur_frm.add_custom_button('Close',
@@ -26,28 +26,6 @@
 		refresh_field('status');
 	},
 
-	make_listing: function(doc) {
-		var wrapper = cur_frm.fields_dict['thread_html'].wrapper;
-
-		var comm_list = frappe.get_list("Communication", {"parent": doc.name, "parenttype":"Support Ticket"})
-
-		if(!comm_list.length) {
-			comm_list.push({
-				"sender": doc.raised_by,
-				"creation": doc.creation,
-				"subject": doc.subject,
-				"content": doc.description});
-		}
-
-		cur_frm.communication_view = new frappe.views.CommunicationList({
-			list: comm_list,
-			parent: wrapper,
-			doc: doc,
-			recipients: doc.raised_by
-		})
-
-	},
-
 	'Close Ticket': function() {
 		cur_frm.cscript.set_status("Closed");
 	},
diff --git a/erpnext/support/doctype/support_ticket/support_ticket.json b/erpnext/support/doctype/support_ticket/support_ticket.json
index 91bc884..3a66c5b 100644
--- a/erpnext/support/doctype/support_ticket/support_ticket.json
+++ b/erpnext/support/doctype/support_ticket/support_ticket.json
@@ -1,5 +1,6 @@
 {
-  "autoname": "naming_series:", 
+ "allow_attach": 1, 
+ "autoname": "naming_series:", 
  "creation": "2013-02-01 10:36:25", 
  "docstatus": 0, 
  "doctype": "DocType", 
@@ -68,13 +69,6 @@
    "reqd": 1
   }, 
   {
-   "fieldname": "sb00", 
-   "fieldtype": "Section Break", 
-   "label": "Messages", 
-   "options": "icon-comments", 
-   "permlevel": 0
-  }, 
-  {
    "depends_on": "eval:doc.__islocal", 
    "fieldname": "description", 
    "fieldtype": "Text", 
@@ -85,14 +79,6 @@
    "reqd": 0
   }, 
   {
-   "depends_on": "eval:!doc.__islocal", 
-   "fieldname": "thread_html", 
-   "fieldtype": "HTML", 
-   "label": "Thread HTML", 
-   "permlevel": 0, 
-   "read_only": 1
-  }, 
-  {
    "fieldname": "fold", 
    "fieldtype": "Fold", 
    "permlevel": 0
@@ -228,20 +214,11 @@
    "hidden": 1, 
    "label": "Content Type", 
    "permlevel": 0
-  }, 
-  {
-   "fieldname": "communications", 
-   "fieldtype": "Table", 
-   "hidden": 1, 
-   "label": "Communications", 
-   "options": "Communication", 
-   "permlevel": 0, 
-   "print_hide": 1
   }
  ], 
  "icon": "icon-ticket", 
  "idx": 1, 
- "modified": "2014-08-12 05:25:45.420934", 
+ "modified": "2014-09-11 18:53:21.140997", 
  "modified_by": "Administrator", 
  "module": "Support", 
  "name": "Support Ticket", 
@@ -249,6 +226,7 @@
  "permissions": [
   {
    "amend": 0, 
+   "cancel": 0, 
    "create": 1, 
    "delete": 0, 
    "email": 1, 
@@ -262,7 +240,7 @@
   }, 
   {
    "amend": 0, 
-   "apply_user_permissions": 1, 
+   "cancel": 0, 
    "create": 1, 
    "delete": 0, 
    "email": 1, 
@@ -276,7 +254,7 @@
   }, 
   {
    "amend": 0, 
-   "apply_user_permissions": 1, 
+   "cancel": 0, 
    "create": 1, 
    "delete": 1, 
    "email": 1, 
@@ -287,6 +265,30 @@
    "role": "Support Team", 
    "submit": 0, 
    "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "permlevel": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Support Team", 
+   "submit": 0, 
+   "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "permlevel": 2, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Support Team", 
+   "submit": 0, 
+   "write": 0
   }
  ], 
  "search_fields": "status,customer,subject,raised_by", 
diff --git a/erpnext/support/doctype/support_ticket/support_ticket.py b/erpnext/support/doctype/support_ticket/support_ticket.py
index 4cdc20a..4e24571 100644
--- a/erpnext/support/doctype/support_ticket/support_ticket.py
+++ b/erpnext/support/doctype/support_ticket/support_ticket.py
@@ -3,24 +3,14 @@
 
 from __future__ import unicode_literals
 import frappe
+from frappe import _
 
-from erpnext.utilities.transaction_base import TransactionBase
-from frappe.utils import now, extract_email_id
+from frappe.model.document import Document
+from frappe.utils import now
 
-class SupportTicket(TransactionBase):
-
-	def get_sender(self, comm):
-		return frappe.db.get_value('Support Email Settings',None,'support_email')
-
-	def get_subject(self, comm):
-		return '[' + self.name + '] ' + (comm.subject or 'No Subject Specified')
-
-	def get_content(self, comm):
-		signature = frappe.db.get_value('Support Email Settings',None,'support_signature')
-		content = comm.content
-		if signature:
-			content += '<p>' + signature + '</p>'
-		return content
+class SupportTicket(Document):
+	def get_feed(self):
+		return "{0}: {1}".format(_(self.status), self.subject)
 
 	def get_portal_page(self):
 		return "ticket"
@@ -30,7 +20,7 @@
 		self.set_lead_contact(self.raised_by)
 
 		if self.status == "Closed":
-			from frappe.widgets.form.assign_to import clear
+			from frappe.desk.form.assign_to import clear
 			clear(self.doctype, self.name)
 
 	def set_lead_contact(self, email_id):
diff --git a/erpnext/templates/utils.py b/erpnext/templates/utils.py
index d3c93eb..9892924 100644
--- a/erpnext/templates/utils.py
+++ b/erpnext/templates/utils.py
@@ -7,19 +7,14 @@
 @frappe.whitelist(allow_guest=True)
 def send_message(subject="Website Query", message="", sender="", status="Open"):
 	from frappe.templates.pages.contact import send_message as website_send_message
-	res = website_send_message(subject, message, sender)
 
-	if not res:
-		return
+	website_send_message(subject, message, sender)
 
-	if subject=="Support":
-		# create support ticket
-		from erpnext.support.doctype.support_ticket.get_support_mails import add_support_communication
-		add_support_communication(subject, message, sender, mail=None)
-	else:
-		# make lead / communication
-		from erpnext.selling.doctype.lead.get_leads import add_sales_communication
-		add_sales_communication(subject or "Website Query", message, sender, sender,
-			mail=None, status=status)
-
-	return res
+	comm = frappe.get_doc({
+		"doctype":"Communication",
+		"subject": subject,
+		"content": message,
+		"sender": sender,
+		"sent_or_received": "Received"
+	})
+	comm.insert(ignore_permissions=True)
diff --git a/erpnext/utilities/doctype/contact/contact.js b/erpnext/utilities/doctype/contact/contact.js
index f2a2fdc..fe407d9 100644
--- a/erpnext/utilities/doctype/contact/contact.js
+++ b/erpnext/utilities/doctype/contact/contact.js
@@ -3,16 +3,8 @@
 
 {% include 'controllers/js/contact_address_common.js' %};
 
-cur_frm.cscript.refresh = function(doc) {
-	cur_frm.communication_view = new frappe.views.CommunicationList({
-		list: frappe.get_list("Communication", {"parent": doc.name, "parenttype": "Contact"}),
-		parent: cur_frm.fields_dict.communication_html.wrapper,
-		doc: doc,
-		recipients: doc.email_id
-	});
-}
-
+cur_frm.email_field = "email_id";
 cur_frm.cscript.hide_dialog = function() {
 	if(cur_frm.contact_list)
 		cur_frm.contact_list.run();
-}
\ No newline at end of file
+}
diff --git a/erpnext/utilities/doctype/contact/contact.json b/erpnext/utilities/doctype/contact/contact.json
index c52cfdc..0207675 100644
--- a/erpnext/utilities/doctype/contact/contact.json
+++ b/erpnext/utilities/doctype/contact/contact.json
@@ -67,21 +67,6 @@
    "reqd": 0
   }, 
   {
-   "fieldname": "sb00", 
-   "fieldtype": "Section Break", 
-   "label": "Communication History", 
-   "options": "icon-comments", 
-   "permlevel": 0, 
-   "print_hide": 1
-  }, 
-  {
-   "fieldname": "communication_html", 
-   "fieldtype": "HTML", 
-   "label": "Communication HTML", 
-   "permlevel": 0, 
-   "print_hide": 1
-  }, 
-  {
    "fieldname": "contact_details", 
    "fieldtype": "Section Break", 
    "label": "Reference", 
@@ -187,28 +172,20 @@
    "fieldtype": "Check", 
    "label": "Unsubscribed", 
    "permlevel": 0
-  }, 
-  {
-   "fieldname": "communications", 
-   "fieldtype": "Table", 
-   "hidden": 1, 
-   "label": "Communications", 
-   "options": "Communication", 
-   "permlevel": 0, 
-   "print_hide": 1
   }
  ], 
  "icon": "icon-user", 
  "idx": 1, 
  "in_create": 0, 
  "in_dialog": 0, 
- "modified": "2014-07-30 05:44:25.767076", 
+ "modified": "2014-09-11 18:53:17.311624", 
  "modified_by": "Administrator", 
  "module": "Utilities", 
  "name": "Contact", 
  "owner": "Administrator", 
  "permissions": [
   {
+   "cancel": 0, 
    "create": 1, 
    "delete": 1, 
    "email": 1, 
@@ -222,6 +199,7 @@
   }, 
   {
    "amend": 0, 
+   "cancel": 0, 
    "create": 1, 
    "delete": 1, 
    "email": 1, 
@@ -234,6 +212,7 @@
    "write": 1
   }, 
   {
+   "cancel": 0, 
    "create": 1, 
    "delete": 1, 
    "email": 1, 
@@ -246,6 +225,7 @@
    "write": 1
   }, 
   {
+   "cancel": 0, 
    "create": 1, 
    "delete": 0, 
    "email": 1, 
@@ -258,6 +238,7 @@
    "write": 1
   }, 
   {
+   "cancel": 0, 
    "create": 1, 
    "delete": 0, 
    "email": 1, 
@@ -270,6 +251,7 @@
    "write": 1
   }, 
   {
+   "cancel": 0, 
    "create": 1, 
    "delete": 0, 
    "email": 1, 
@@ -282,6 +264,7 @@
    "write": 1
   }, 
   {
+   "cancel": 0, 
    "create": 1, 
    "delete": 0, 
    "email": 1, 
@@ -294,7 +277,7 @@
    "write": 1
   }, 
   {
-   "apply_user_permissions": 1, 
+   "cancel": 0, 
    "create": 1, 
    "delete": 0, 
    "email": 1, 
@@ -307,7 +290,7 @@
    "write": 1
   }, 
   {
-   "apply_user_permissions": 1, 
+   "cancel": 0, 
    "create": 1, 
    "delete": 0, 
    "email": 1, 
@@ -320,7 +303,7 @@
    "write": 1
   }, 
   {
-   "apply_user_permissions": 1, 
+   "cancel": 0, 
    "create": 1, 
    "delete": 0, 
    "email": 1, 
@@ -333,7 +316,7 @@
    "write": 1
   }, 
   {
-   "apply_user_permissions": 1, 
+   "cancel": 0, 
    "create": 1, 
    "delete": 0, 
    "email": 1, 
@@ -344,6 +327,18 @@
    "role": "Accounts User", 
    "submit": 0, 
    "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "match": "", 
+   "permlevel": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "All", 
+   "submit": 0
   }
  ]
 }
\ No newline at end of file
diff --git a/erpnext/utilities/doctype/note/README.md b/erpnext/utilities/doctype/note/README.md
deleted file mode 100644
index 95d7b33..0000000
--- a/erpnext/utilities/doctype/note/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Shared Note. (Page with standard information, links, attachments).
\ No newline at end of file
diff --git a/erpnext/utilities/doctype/note/note.json b/erpnext/utilities/doctype/note/note.json
deleted file mode 100644
index 66d99f4..0000000
--- a/erpnext/utilities/doctype/note/note.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "allow_rename": 1, 
- "creation": "2013-05-24 13:41:00", 
- "description": "Note is a free page where users can share documents / notes", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Transaction", 
- "fields": [
-  {
-   "fieldname": "title", 
-   "fieldtype": "Data", 
-   "in_list_view": 0, 
-   "label": "Title", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "reqd": 1
-  }, 
-  {
-   "description": "Help: To link to another record in the system, use \"#Form/Note/[Note Name]\" as the Link URL. (don't use \"http://\")", 
-   "fieldname": "content", 
-   "fieldtype": "Text Editor", 
-   "in_list_view": 0, 
-   "label": "Content", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "share", 
-   "fieldtype": "Section Break", 
-   "label": "Share", 
-   "permlevel": 0
-  }, 
-  {
-   "description": "Everyone can read", 
-   "fieldname": "public", 
-   "fieldtype": "Check", 
-   "in_list_view": 1, 
-   "label": "Public", 
-   "permlevel": 0, 
-   "print_hide": 1
-  }, 
-  {
-   "fieldname": "share_with", 
-   "fieldtype": "Table", 
-   "label": "Share With", 
-   "options": "Note User", 
-   "permlevel": 0, 
-   "print_hide": 1
-  }
- ], 
- "icon": "icon-file-text", 
- "idx": 1, 
- "modified": "2014-07-30 03:24:38.302928", 
- "modified_by": "Administrator", 
- "module": "Utilities", 
- "name": "Note", 
- "owner": "Administrator", 
- "permissions": [
-  {
-   "apply_user_permissions": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "role": "All", 
-   "write": 1
-  }
- ], 
- "read_only_onload": 1
-}
\ No newline at end of file
diff --git a/erpnext/utilities/doctype/note/note.py b/erpnext/utilities/doctype/note/note.py
deleted file mode 100644
index 2db4137..0000000
--- a/erpnext/utilities/doctype/note/note.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import frappe
-from frappe import _
-from frappe.model.document import Document
-
-class Note(Document):
-	def autoname(self):
-		# replace forbidden characters
-		import re
-		self.name = re.sub("[%'\"#*?`]", "", self.title.strip())
-
-	def before_print(self):
-		self.print_heading = self.name
-		self.sub_heading = ""
-
-def get_permission_query_conditions(user):
-	if not user: user = frappe.session.user
-
-	if user == "Administrator":
-		return ""
-
-	return """(`tabNote`.public=1 or `tabNote`.owner="{user}" or exists (
-		select name from `tabNote User`
-			where `tabNote User`.parent=`tabNote`.name
-			and `tabNote User`.user="{user}"))""".format(user=user)
-
-def has_permission(doc, ptype, user):
-	if doc.public == 1 or user == "Administrator":
-		return True
-
-	if user == doc.owner:
-		return True
-
-	note_user_map = dict((d.user, d) for d in doc.get("share_with"))
-	if user in note_user_map:
-		if ptype == "read":
-			return True
-		elif note_user_map.get(user).permission == "Edit":
-			return True
-
-	return False
diff --git a/erpnext/utilities/doctype/note/note_list.html b/erpnext/utilities/doctype/note/note_list.html
deleted file mode 100644
index d3289d2..0000000
--- a/erpnext/utilities/doctype/note/note_list.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<div class="row" style="max-height: 30px;">
-	<div class="col-xs-12">
-		<div class="text-ellipsis">
-			{%= list.get_avatar_and_id(doc) %}
-
-			{% if(!doc.public) { %}
-			<span style="margin-right: 8px;"
-				title="{%= __("Private") %}" class="filterable"
-				data-filter="public,=,Yes">
-				<i class="icon-lock text-muted"></i>
-			</span>
-			{% } %}
-
-		</div>
-	</div>
-</div>
diff --git a/erpnext/utilities/doctype/note/note_list.js b/erpnext/utilities/doctype/note/note_list.js
deleted file mode 100644
index 161ebad..0000000
--- a/erpnext/utilities/doctype/note/note_list.js
+++ /dev/null
@@ -1,3 +0,0 @@
-frappe.listview_settings['Note'] = {
-	add_fields: ["title", "public"],
-}
diff --git a/erpnext/utilities/doctype/note/test_note.py b/erpnext/utilities/doctype/note/test_note.py
deleted file mode 100644
index 997c57b..0000000
--- a/erpnext/utilities/doctype/note/test_note.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('Note')
-
-class TestNote(unittest.TestCase):
-	pass
diff --git a/erpnext/utilities/doctype/note/test_records.json b/erpnext/utilities/doctype/note/test_records.json
deleted file mode 100644
index f3d7cff..0000000
--- a/erpnext/utilities/doctype/note/test_records.json
+++ /dev/null
@@ -1,7 +0,0 @@
-[
-	{
-		"doctype": "Note",
-		"name": "_Test Note 1",
-		"title": "Test Note Title"
-	}
-]
diff --git a/erpnext/utilities/doctype/note_user/README.md b/erpnext/utilities/doctype/note_user/README.md
deleted file mode 100644
index a8e066d..0000000
--- a/erpnext/utilities/doctype/note_user/README.md
+++ /dev/null
@@ -1 +0,0 @@
-User who can access / edit the parent Note.
\ No newline at end of file
diff --git a/erpnext/utilities/doctype/note_user/__init__.py b/erpnext/utilities/doctype/note_user/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/utilities/doctype/note_user/__init__.py
+++ /dev/null
diff --git a/erpnext/utilities/doctype/note_user/note_user.json b/erpnext/utilities/doctype/note_user/note_user.json
deleted file mode 100644
index e67a75c..0000000
--- a/erpnext/utilities/doctype/note_user/note_user.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "creation": "2013-05-24 14:24:48", 
- "description": "List of users who can edit a particular Note", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Other", 
- "fields": [
-  {
-   "fieldname": "user", 
-   "fieldtype": "Link", 
-   "ignore_user_permissions": 1, 
-   "in_list_view": 1, 
-   "label": "User", 
-   "options": "User", 
-   "permlevel": 0, 
-   "reqd": 1
-  }, 
-  {
-   "default": "Edit", 
-   "fieldname": "permission", 
-   "fieldtype": "Select", 
-   "in_list_view": 1, 
-   "label": "Permission", 
-   "options": "Edit\nRead", 
-   "permlevel": 0
-  }
- ], 
- "idx": 1, 
- "istable": 1, 
- "modified": "2014-06-04 02:33:27.466061", 
- "modified_by": "Administrator", 
- "module": "Utilities", 
- "name": "Note User", 
- "owner": "Administrator", 
- "permissions": []
-}
\ No newline at end of file
diff --git a/erpnext/utilities/doctype/note_user/note_user.py b/erpnext/utilities/doctype/note_user/note_user.py
deleted file mode 100644
index 1594f78..0000000
--- a/erpnext/utilities/doctype/note_user/note_user.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import frappe
-
-from frappe.model.document import Document
-
-class NoteUser(Document):
-	pass
\ No newline at end of file
diff --git a/setup.py b/setup.py
index 5cea41c..be7f892 100644
--- a/setup.py
+++ b/setup.py
@@ -1,7 +1,6 @@
 from setuptools import setup, find_packages
-import os
 
-version = "4.3.0"
+version = "5.0.0-alpha"
 
 with open("requirements.txt", "r") as f:
 	install_requires = f.readlines()
