diff --git a/erpnext/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py
index 18ae244..094edd0 100644
--- a/erpnext/accounts/doctype/account/account.py
+++ b/erpnext/accounts/doctype/account/account.py
@@ -3,12 +3,8 @@
 
 from __future__ import unicode_literals
 import frappe
-
 from frappe.utils import flt, fmt_money, cstr, cint
 from frappe import msgprint, throw, _
-
-get_value = frappe.db.get_value
-
 from frappe.model.document import Document
 
 class Account(Document):
@@ -19,10 +15,7 @@
 			frappe.db.get_value("Company", self.company, "abbr")
 
 	def get_address(self):
-		return {
-			'address': frappe.db.get_value(self.master_type, 
-				self.master_name, "address")
-		}
+		return {'address': frappe.db.get_value(self.master_type, self.master_name, "address")}
 		
 	def validate(self): 
 		self.validate_master_name()
@@ -32,24 +25,19 @@
 		self.validate_mandatory()
 		self.validate_warehouse_account()
 		self.validate_frozen_accounts_modifier()
-	
-		if not self.parent_account:
-			self.parent_account = ''
 		
 	def validate_master_name(self):
-		"""Remind to add master name"""
 		if self.master_type in ('Customer', 'Supplier') or self.account_type == "Warehouse":
 			if not self.master_name:
 				msgprint(_("Please enter Master Name once the account is created."))
-			elif not frappe.db.exists(self.master_type or self.account_type, 
-					self.master_name):
+			elif not frappe.db.exists(self.master_type or self.account_type, self.master_name):
 				throw(_("Invalid Master Name"))
 			
 	def validate_parent(self):
 		"""Fetch Parent Details and validation for account not to be created under ledger"""
 		if self.parent_account:
-			par = frappe.db.sql("""select name, group_or_ledger, report_type 
-				from tabAccount where name =%s""", self.parent_account, as_dict=1)
+			par = frappe.db.get_value("Account", self.parent_account, 
+				["name", "group_or_ledger", "report_type"], as_dict=1)
 			if not par:
 				throw(_("Parent account does not exists"))
 			elif par[0]["name"] == self.name:
@@ -63,14 +51,13 @@
 	def validate_duplicate_account(self):
 		if self.get('__islocal') or not self.name:
 			company_abbr = frappe.db.get_value("Company", self.company, "abbr")
-			if frappe.db.sql("""select name from tabAccount where name=%s""", 
-				(self.account_name + " - " + company_abbr)):
-					throw("{name}: {acc_name} {exist}, {rename}".format(**{
-						"name": _("Account Name"),
-						"acc_name": self.account_name,
-						"exist": _("already exists"),
-						"rename": _("please rename")
-					}))
+			if frappe.db.exists("Account", (self.account_name + " - " + company_abbr)):
+				throw("{name}: {acc_name} {exist}, {rename}".format(**{
+					"name": _("Account Name"),
+					"acc_name": self.account_name,
+					"exist": _("already exists"),
+					"rename": _("please rename")
+				}))
 				
 	def validate_root_details(self):
 		#does not exists parent
diff --git a/erpnext/accounts/doctype/account/test_account.py b/erpnext/accounts/doctype/account/test_account.py
index 10883d9..5cecab4 100644
--- a/erpnext/accounts/doctype/account/test_account.py
+++ b/erpnext/accounts/doctype/account/test_account.py
@@ -35,12 +35,12 @@
 	]
 
 	for company, abbr in [["_Test Company", "_TC"], ["_Test Company 1", "_TC1"]]:
-		test_objects = make_test_objects("Account", [[{
+		test_objects = make_test_objects("Account", [{
 				"doctype": "Account",
 				"account_name": account_name,
 				"parent_account": parent_account + " - " + abbr,
 				"company": company,
 				"group_or_ledger": group_or_ledger
-			}] for account_name, parent_account, group_or_ledger in accounts])
+			} for account_name, parent_account, group_or_ledger in accounts])
 	
 	return test_objects
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/accounts_settings/accounts_settings.py b/erpnext/accounts/doctype/accounts_settings/accounts_settings.py
index 0559559..89d7c00 100644
--- a/erpnext/accounts/doctype/accounts_settings/accounts_settings.py
+++ b/erpnext/accounts/doctype/accounts_settings/accounts_settings.py
@@ -7,18 +7,16 @@
 import frappe
 from frappe import _
 from frappe.utils import cint
-
 from frappe.model.document import Document
 
 class AccountsSettings(Document):
-
 	def on_update(self):
 		frappe.db.set_default("auto_accounting_for_stock", self.auto_accounting_for_stock)
 		
 		if cint(self.auto_accounting_for_stock):
 			# set default perpetual account in company
 			for company in frappe.db.sql("select name from tabCompany"):
-				frappe.bean("Company", company[0]).save()
+				frappe.get_doc("Company", company[0]).save()
 			
 			# Create account head for warehouses
 			warehouse_list = frappe.db.sql("select name, company from tabWarehouse", as_dict=1)
diff --git a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.py b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.py
index d8edb20..dc7d57b 100644
--- a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.py
+++ b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.py
@@ -3,20 +3,25 @@
 
 from __future__ import unicode_literals
 import frappe
-
-from frappe.utils import cstr, flt, getdate, now, nowdate
-from frappe import msgprint
-
+from frappe.utils import cstr, flt, getdate, nowdate
+from frappe import msgprint, _
 from frappe.model.document import Document
 
 class BankReconciliation(Document):
-
 	def get_details(self):
 		if not (self.bank_account and self.from_date and self.to_date):
 			msgprint("Bank Account, From Date and To Date are Mandatory")
 			return
 	
-		dl = frappe.db.sql("select t1.name, t1.cheque_no, t1.cheque_date, t2.debit, t2.credit, t1.posting_date, t2.against_account from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 where t2.parent = t1.name and t2.account = %s and (clearance_date is null or clearance_date = '0000-00-00' or clearance_date = '') and t1.posting_date >= %s and t1.posting_date <= %s and t1.docstatus=1", (self.bank_account, self.from_date, self.to_date))
+		dl = frappe.db.sql("""select t1.name, t1.cheque_no, t1.cheque_date, t2.debit, 
+				t2.credit, t1.posting_date, t2.against_account 
+			from 
+				`tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 
+			where 
+				t2.parent = t1.name and t2.account = %s 
+				and (clearance_date is null or clearance_date = '0000-00-00' or clearance_date = '') 
+				and t1.posting_date >= %s and t1.posting_date <= %s and t1.docstatus=1""", 
+				(self.bank_account, self.from_date, self.to_date))
 		
 		self.set('entries', [])
 		self.total_amount = 0.0
@@ -37,15 +42,14 @@
 		for d in self.get('entries'):
 			if d.clearance_date:
 				if d.cheque_date and getdate(d.clearance_date) < getdate(d.cheque_date):
-					msgprint("Clearance Date can not be before Cheque Date (Row #%s)" % 
-						d.idx, raise_exception=1)
+					frappe.throw("Clearance Date can not be before Cheque Date (Row #%s)" % d.idx)
 					
-				frappe.db.sql("""update `tabJournal Voucher` 
-					set clearance_date = %s, modified = %s where name=%s""",
-					(d.clearance_date, nowdate(), d.voucher_id))
+				frappe.db.set_value("Journal Voucher", d.voucher_id, "clearance_date", d.clearance_date)
+				frappe.db.sql("""update `tabJournal Voucher` set clearance_date = %s, modified = %s 
+					where name=%s""", (d.clearance_date, nowdate(), d.voucher_id))
 				vouchers.append(d.voucher_id)
 
 		if vouchers:
 			msgprint("Clearance Date updated in %s" % ", ".join(vouchers))
 		else:
-			msgprint("Clearance Date not mentioned")
\ No newline at end of file
+			msgprint(_("Clearance Date not mentioned"))
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.py b/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.py
index 93dca1d..9be696c 100644
--- a/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.py
+++ b/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.py
@@ -3,7 +3,6 @@
 
 from __future__ import unicode_literals
 import frappe
-
 from frappe.model.document import Document
 
 class BankReconciliationDetail(Document):
diff --git a/erpnext/accounts/doctype/budget_detail/budget_detail.py b/erpnext/accounts/doctype/budget_detail/budget_detail.py
index 58106a0..ff4f886 100644
--- a/erpnext/accounts/doctype/budget_detail/budget_detail.py
+++ b/erpnext/accounts/doctype/budget_detail/budget_detail.py
@@ -3,7 +3,6 @@
 
 from __future__ import unicode_literals
 import frappe
-
 from frappe.model.document import Document
 
 class BudgetDetail(Document):
diff --git a/erpnext/accounts/doctype/budget_distribution/budget_distribution.py b/erpnext/accounts/doctype/budget_distribution/budget_distribution.py
index 069c4d3..2cc5015 100644
--- a/erpnext/accounts/doctype/budget_distribution/budget_distribution.py
+++ b/erpnext/accounts/doctype/budget_distribution/budget_distribution.py
@@ -3,11 +3,8 @@
 
 from __future__ import unicode_literals
 import frappe
-
 from frappe.utils import flt
-from frappe.model.bean import getlist
-from frappe import msgprint, _
-
+from frappe import _
 from frappe.model.document import Document
 
 class BudgetDistribution(Document):
@@ -17,13 +14,12 @@
 		idx =1
 		for m in month_list:
 			mnth = self.append('budget_distribution_details')
-			mnth.month = m or ''
+			mnth.month = m
 			mnth.idx = idx
 			idx += 1
 			
 	def validate(self):
-		total = sum([flt(d.percentage_allocation, 2) for d in self.doclist.get(
-			{"parentfield": "budget_distribution_details"})])
+		total = sum([flt(d.percentage_allocation) for d in self.get("budget_distribution_details")])
 			
 		if total != 100.0:
-			msgprint(_("Percentage Allocation should be equal to ") + "100%", raise_exception=1)
\ No newline at end of file
+			frappe.throw(_("Percentage Allocation should be equal to ") + "100%")
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/budget_distribution/test_budget_distribution.py b/erpnext/accounts/doctype/budget_distribution/test_budget_distribution.py
index 15b60db..57fc162 100644
--- a/erpnext/accounts/doctype/budget_distribution/test_budget_distribution.py
+++ b/erpnext/accounts/doctype/budget_distribution/test_budget_distribution.py
@@ -2,69 +2,48 @@
 # License: GNU General Public License v3. See license.txt
 
 test_records = [
-	[{
+	{
 		"doctype": "Budget Distribution",
 		"distribution_id": "_Test Distribution",
 		"fiscal_year": "_Test Fiscal Year 2013",
-	}, {
-		"doctype": "Budget Distribution Detail",
-		"parentfield": "budget_distribution_details",
-		"month": "January",
-		"percentage_allocation": "8"
-	}, {
-		"doctype": "Budget Distribution Detail",
-		"parentfield": "budget_distribution_details",
-		"month": "February",
-		"percentage_allocation": "8"
-	}, {
-		"doctype": "Budget Distribution Detail",
-		"parentfield": "budget_distribution_details",
-		"month": "March",
-		"percentage_allocation": "8"
-	}, {
-		"doctype": "Budget Distribution Detail",
-		"parentfield": "budget_distribution_details",
-		"month": "April",
-		"percentage_allocation": "8"
-	}, {
-		"doctype": "Budget Distribution Detail",
-		"parentfield": "budget_distribution_details",
-		"month": "May",
-		"percentage_allocation": "8"
-	}, {
-		"doctype": "Budget Distribution Detail",
-		"parentfield": "budget_distribution_details",
-		"month": "June",
-		"percentage_allocation": "8"
-	}, {
-		"doctype": "Budget Distribution Detail",
-		"parentfield": "budget_distribution_details",
-		"month": "July",
-		"percentage_allocation": "8"
-	}, {
-		"doctype": "Budget Distribution Detail",
-		"parentfield": "budget_distribution_details",
-		"month": "August",
-		"percentage_allocation": "8"
-	}, {
-		"doctype": "Budget Distribution Detail",
-		"parentfield": "budget_distribution_details",
-		"month": "September",
-		"percentage_allocation": "8"
-	}, {
-		"doctype": "Budget Distribution Detail",
-		"parentfield": "budget_distribution_details",
-		"month": "October",
-		"percentage_allocation": "8"
-	}, {
-		"doctype": "Budget Distribution Detail",
-		"parentfield": "budget_distribution_details",
-		"month": "November",
-		"percentage_allocation": "10"
-	}, {
-		"doctype": "Budget Distribution Detail",
-		"parentfield": "budget_distribution_details",
-		"month": "December",
-		"percentage_allocation": "10"
-	}]
+		"budget_distribution_details": [
+			{
+				"month": "January",
+				"percentage_allocation": "8"
+			}, {
+				"month": "February",
+				"percentage_allocation": "8"
+			}, {
+				"month": "March",
+				"percentage_allocation": "8"
+			}, {
+				"month": "April",
+				"percentage_allocation": "8"
+			}, {
+				"month": "May",
+				"percentage_allocation": "8"
+			}, {
+				"month": "June",
+				"percentage_allocation": "8"
+			}, {
+				"month": "July",
+				"percentage_allocation": "8"
+			}, {
+				"month": "August",
+				"percentage_allocation": "8"
+			}, {
+				"month": "September",
+				"percentage_allocation": "8"
+			}, {
+				"month": "October",
+				"percentage_allocation": "8"
+			}, {
+				"month": "November",
+				"percentage_allocation": "10"
+			}, {
+				"month": "December",
+				"percentage_allocation": "10"
+			}
+		]
+	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.py b/erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.py
index 84d8060..87d38fd 100644
--- a/erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.py
+++ b/erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.py
@@ -3,7 +3,6 @@
 
 from __future__ import unicode_literals
 import frappe
-
 from frappe.model.document import Document
 
 class BudgetDistributionDetail(Document):
diff --git a/erpnext/accounts/doctype/c_form/c_form.py b/erpnext/accounts/doctype/c_form/c_form.py
index d0df2e4..95e2e40 100644
--- a/erpnext/accounts/doctype/c_form/c_form.py
+++ b/erpnext/accounts/doctype/c_form/c_form.py
@@ -3,14 +3,11 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.utils import flt, getdate
-from frappe.model.bean import getlist
-
+from frappe.utils import flt
+from frappe import _
 from frappe.model.document import Document
 
 class CForm(Document):
-
-
 	def validate(self):
 		"""Validate invoice that c-form is applicable 
 			and no other c-form is received for that"""
@@ -21,18 +18,17 @@
 					`tabSales Invoice` where name = %s and docstatus = 1""", d.invoice_no)
 				
 				if not inv:
-					frappe.msgprint("""Invoice: %s is not exists in the system or 
-						is not submitted, please check.""" % d.invoice_no, raise_exception=1)
+					frappe.throw("""Invoice: %s is not exists in the system or 
+						is not submitted, please check.""" % d.invoice_no)
 					
 				elif inv[0][0] != 'Yes':
-					frappe.msgprint("C-form is not applicable for Invoice: %s" % 
-						d.invoice_no, raise_exception=1)
+					frappe.throw("C-form is not applicable for Invoice: %s" % d.invoice_no)
 					
 				elif inv[0][1] and inv[0][1] != self.name:
-					frappe.msgprint("""Invoice %s is tagged in another C-form: %s.
+					frappe.throw("""Invoice %s is tagged in another C-form: %s.
 						If you want to change C-form no for this invoice,
 						please remove invoice no from the previous c-form and then try again""" % 
-						(d.invoice_no, inv[0][1]), raise_exception=1)
+						(d.invoice_no, inv[0][1]))
 
 	def on_update(self):
 		"""	Update C-Form No on invoices"""
@@ -43,22 +39,19 @@
 		
 	def before_cancel(self):
 		# remove cform reference
-		frappe.db.sql("""update `tabSales Invoice` set c_form_no=null
-			where c_form_no=%s""", self.name)
+		frappe.db.sql("""update `tabSales Invoice` set c_form_no=null where c_form_no=%s""", self.name)
 		
 	def set_cform_in_sales_invoices(self):
 		inv = [d.invoice_no for d in self.get('invoice_details')]
 		if inv:
-			frappe.db.sql("""update `tabSales Invoice` set c_form_no=%s, modified=%s 
-				where name in (%s)""" % ('%s', '%s', ', '.join(['%s'] * len(inv))), 
-				tuple([self.name, self.modified] + inv))
+			frappe.db.sql("""update `tabSales Invoice` set c_form_no=%s, modified=%s where name in (%s)""" % 
+				('%s', '%s', ', '.join(['%s'] * len(inv))), tuple([self.name, self.modified] + inv))
 				
 			frappe.db.sql("""update `tabSales Invoice` set c_form_no = null, modified = %s 
 				where name not in (%s) and ifnull(c_form_no, '') = %s""" % 
-				('%s', ', '.join(['%s']*len(inv)), '%s'),
-				tuple([self.modified] + inv + [self.name]))
+				('%s', ', '.join(['%s']*len(inv)), '%s'), tuple([self.modified] + inv + [self.name]))
 		else:
-			frappe.msgprint("Please enter atleast 1 invoice in the table", raise_exception=1)
+			frappe.throw(_("Please enter atleast 1 invoice in the table"))
 
 	def set_total_invoiced_amount(self):
 		total = sum([flt(d.grand_total) for d in self.get('invoice_details')])
@@ -67,13 +60,13 @@
 	def get_invoice_details(self, invoice_no):
 		"""	Pull details from invoices for referrence """
 
-		inv = frappe.db.sql("""select posting_date, territory, net_total, grand_total 
-			from `tabSales Invoice` where name = %s""", invoice_no)	
+		inv = frappe.db.get_value("Sales Invoice", invoice_no, 
+			["posting_date", "territory", "net_total", "grand_total"], as_dict=True)
 		return {
-			'invoice_date' : inv and getdate(inv[0][0]).strftime('%Y-%m-%d') or '',
-			'territory'    : inv and inv[0][1] or '',
-			'net_total'    : inv and flt(inv[0][2]) or '',
-			'grand_total'  : inv and flt(inv[0][3]) or ''
+			'invoice_date' : inv.posting_date,
+			'territory'    : inv.territory,
+			'net_total'    : inv.net_total,
+			'grand_total'  : inv.grand_total
 		}
 
 def get_invoice_nos(doctype, txt, searchfield, start, page_len, filters):
diff --git a/erpnext/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.py b/erpnext/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.py
index 8e3bc29..f6b5474 100644
--- a/erpnext/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.py
+++ b/erpnext/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.py
@@ -3,7 +3,6 @@
 
 from __future__ import unicode_literals
 import frappe
-
 from frappe.model.document import Document
 
 class CFormInvoiceDetail(Document):
diff --git a/erpnext/accounts/doctype/chart_of_accounts/chart_of_accounts.py b/erpnext/accounts/doctype/chart_of_accounts/chart_of_accounts.py
index 536b199..d6b9eeb 100644
--- a/erpnext/accounts/doctype/chart_of_accounts/chart_of_accounts.py
+++ b/erpnext/accounts/doctype/chart_of_accounts/chart_of_accounts.py
@@ -5,25 +5,21 @@
 import frappe, os, json
 from frappe.utils import cstr
 from unidecode import unidecode
-
-
 from frappe.model.document import Document
 
 class ChartOfAccounts(Document):
-		self.no_report_type = False
+	no_report_type = False
 		
 	def create_accounts(self, company):
 		chart = {}
-		with open(os.path.join(os.path.dirname(__file__), "charts", 
-			self.source_file), "r") as f:
+		with open(os.path.join(os.path.dirname(__file__), "charts", self.source_file), "r") as f:
 			chart = json.loads(f.read())
 			
-		from erpnext.accounts.doctype.chart_of_accounts.charts.account_properties \
-			import account_properties
+		from erpnext.accounts.doctype.chart_of_accounts.charts.account_properties import account_properties
 			
 		if chart:
 			accounts = []
-						
+			
 			def _import_accounts(children, parent):
 				for child in children:
 					account_name = child.get("name")
@@ -33,10 +29,9 @@
 						count = accounts.count(account_name_in_db)
 						account_name = account_name + " " + cstr(count)
 
-					child.update(account_properties.get(chart.get("name"), {})\
-						.get(account_name, {}))
+					child.update(account_properties.get(chart.get("name"), {}).get(account_name, {}))
 					
-					account = frappe.bean({
+					account = frappe.new_doc({
 						"doctype": "Account",
 						"account_name": account_name,
 						"company": company,
@@ -63,5 +58,5 @@
 			
 @frappe.whitelist()
 def get_charts_for_country(country):
-	return frappe.db.sql_list("select chart_name from `tabChart of Accounts` where country=%s", 
-		country)
\ No newline at end of file
+	return frappe.db.sql_list("""select chart_name from `tabChart of Accounts` 
+		where country=%s""", country)
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/chart_of_accounts/import_charts.py b/erpnext/accounts/doctype/chart_of_accounts/import_charts.py
index 1d34ab2..3806f08 100644
--- a/erpnext/accounts/doctype/chart_of_accounts/import_charts.py
+++ b/erpnext/accounts/doctype/chart_of_accounts/import_charts.py
@@ -13,7 +13,7 @@
 				chart = json.loads(f.read())
 				country = frappe.db.get_value("Country", {"code": fname.split("_", 1)[0]})
 				if country:
-					bean = frappe.bean({
+					bean = frappe.new_doc({
 						"doctype":"Chart of Accounts",
 						"chart_name": chart.get("name"),
 						"source_file": fname,
diff --git a/erpnext/accounts/doctype/cost_center/cost_center.py b/erpnext/accounts/doctype/cost_center/cost_center.py
index 79bd121..ac69e75 100644
--- a/erpnext/accounts/doctype/cost_center/cost_center.py
+++ b/erpnext/accounts/doctype/cost_center/cost_center.py
@@ -3,19 +3,17 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.model.bean import getlist
+
 from frappe import msgprint, _
 
 from frappe.utils.nestedset import DocTypeNestedSet
 
 class CostCenter(DocTypeNestedSet):
-
-		self.nsm_parent_field = 'parent_cost_center'
-				
+	nsm_parent_field = 'parent_cost_center'
+	
 	def autoname(self):
-		company_abbr = frappe.db.sql("select abbr from tabCompany where name=%s", 
-			self.company)[0][0]
-		self.name = self.cost_center_name.strip() + ' - ' + company_abbr
+		self.name = self.cost_center_name.strip() + ' - ' + \
+			frappe.get_value("Company", self.company, "abbr")
 		
 	def validate_mandatory(self):
 		if not self.group_or_ledger:
@@ -78,7 +76,7 @@
 		new_cost_center = get_name_with_abbr(newdn, self.company)
 		
 		# Validate properties before merging
-		super(DocType, self).before_rename(olddn, new_cost_center, merge, "group_or_ledger")
+		super(CostCenter, self).before_rename(olddn, new_cost_center, merge, "group_or_ledger")
 		
 		return new_cost_center
 		
@@ -87,5 +85,5 @@
 			frappe.db.set_value("Cost Center", newdn, "cost_center_name", 
 				" - ".join(newdn.split(" - ")[:-1]))
 		else:
-			super(DocType, self).after_rename(olddn, newdn, merge)
+			super(CostCenter, self).after_rename(olddn, newdn, merge)
 			
diff --git a/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py b/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py
index fb1508e..36b4e95 100644
--- a/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py
+++ b/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py
@@ -5,7 +5,7 @@
 import frappe
 
 from frappe.utils import flt
-from frappe.model.bean import getlist
+
 from frappe import msgprint, _
 
 from frappe.model.document import Document
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index f9e9481..eb8b93a 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -5,7 +5,7 @@
 import frappe
 
 from frappe.utils import cint, cstr, flt, formatdate
-from frappe.model.bean import getlist
+
 from frappe.model.code import get_obj
 from frappe import msgprint, _
 from erpnext.setup.utils import get_company_currency
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index 449fca0..6413f91 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -10,7 +10,7 @@
 
 from frappe.utils import comma_and
 from frappe.model.naming import make_autoname
-from frappe.model.bean import getlist
+
 from frappe.model.code import get_obj
 from frappe import _, msgprint
 
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index 066afe0..bc6e17f 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -5,7 +5,7 @@
 import frappe
 
 from frappe.utils import cstr, flt
-from frappe.model.bean import getlist
+
 from frappe.model.code import get_obj
 from frappe import msgprint
 
diff --git a/erpnext/hr/doctype/appraisal/appraisal.py b/erpnext/hr/doctype/appraisal/appraisal.py
index b7b1421..1f7f255 100644
--- a/erpnext/hr/doctype/appraisal/appraisal.py
+++ b/erpnext/hr/doctype/appraisal/appraisal.py
@@ -5,7 +5,7 @@
 import frappe
 
 from frappe.utils import cstr, flt, getdate
-from frappe.model.bean import getlist
+
 from frappe import msgprint, _
 from frappe.model.mapper import get_mapped_doc
 from frappe.model.document import Document
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.py b/erpnext/hr/doctype/expense_claim/expense_claim.py
index 1d3697b..6a1be6e 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.py
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import frappe
 
-from frappe.model.bean import getlist
+
 from frappe import msgprint
 
 from frappe.model.document import Document
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py
index c81f22d..cfd39fc 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.py
@@ -6,7 +6,7 @@
 
 from frappe.utils import add_days, cint, cstr, flt, getdate, nowdate, _round
 from frappe.model.naming import make_autoname
-from frappe.model.bean import getlist
+
 from frappe.model.code import get_obj
 from frappe import msgprint, _
 from erpnext.setup.utils import get_company_currency
diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py
index e3199f9..0799a60 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.utils import cint, cstr, flt, now, nowdate
-from frappe.model.bean import getlist
+
 from frappe.model.code import get_obj
 from frappe import msgprint, _
 
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
index cdda05e..fa85eb1 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.utils import cstr, flt, cint, nowdate, add_days
-from frappe.model.bean import getlist
+
 from frappe.model.code import get_obj
 from frappe import msgprint, _
 
diff --git a/erpnext/selling/doctype/installation_note/installation_note.py b/erpnext/selling/doctype/installation_note/installation_note.py
index db6d7ec..91f1a07 100644
--- a/erpnext/selling/doctype/installation_note/installation_note.py
+++ b/erpnext/selling/doctype/installation_note/installation_note.py
@@ -5,7 +5,7 @@
 import frappe
 
 from frappe.utils import cstr, getdate
-from frappe.model.bean import getlist
+
 from frappe import msgprint
 from erpnext.stock.utils import get_valid_serial_nos	
 
diff --git a/erpnext/selling/doctype/opportunity/opportunity.py b/erpnext/selling/doctype/opportunity/opportunity.py
index 8a103be..b9e873d 100644
--- a/erpnext/selling/doctype/opportunity/opportunity.py
+++ b/erpnext/selling/doctype/opportunity/opportunity.py
@@ -5,7 +5,7 @@
 import frappe
 
 from frappe.utils import cstr, cint
-from frappe.model.bean import getlist
+
 from frappe import msgprint, _
 
 	
diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py
index bcccdaa..2730dc5 100644
--- a/erpnext/selling/doctype/quotation/quotation.py
+++ b/erpnext/selling/doctype/quotation/quotation.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.utils import cstr
-from frappe.model.bean import getlist
+
 from frappe.model.code import get_obj
 from frappe import _, msgprint
 
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index ff235b1..679bffe 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -6,7 +6,7 @@
 import frappe.utils
 
 from frappe.utils import cstr, flt, getdate
-from frappe.model.bean import getlist
+
 from frappe.model.code import get_obj
 from frappe import msgprint
 from frappe.model.mapper import get_mapped_doc
diff --git a/erpnext/setup/doctype/authorization_control/authorization_control.py b/erpnext/setup/doctype/authorization_control/authorization_control.py
index 6e24859..a50eb2f 100644
--- a/erpnext/setup/doctype/authorization_control/authorization_control.py
+++ b/erpnext/setup/doctype/authorization_control/authorization_control.py
@@ -5,7 +5,7 @@
 import frappe
 
 from frappe.utils import cstr, flt, has_common, make_esc
-from frappe.model.bean import getlist
+
 from frappe import session, msgprint
 from erpnext.setup.utils import get_company_currency
 
diff --git a/erpnext/setup/doctype/sales_person/sales_person.py b/erpnext/setup/doctype/sales_person/sales_person.py
index 9139bab..db2057d 100644
--- a/erpnext/setup/doctype/sales_person/sales_person.py
+++ b/erpnext/setup/doctype/sales_person/sales_person.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.model.bean import getlist
+
 from frappe.utils import flt
 from frappe.utils.nestedset import DocTypeNestedSet
 
diff --git a/erpnext/setup/doctype/territory/territory.py b/erpnext/setup/doctype/territory/territory.py
index 67669d9..ed2d5f1 100644
--- a/erpnext/setup/doctype/territory/territory.py
+++ b/erpnext/setup/doctype/territory/territory.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import frappe
 
-from frappe.model.bean import getlist
+
 from frappe.utils import flt
 
 from frappe.utils.nestedset import DocTypeNestedSet
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index d48024f..100a599 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -5,7 +5,7 @@
 import frappe
 
 from frappe.utils import cstr, flt, cint
-from frappe.model.bean import getlist
+
 from frappe.model.code import get_obj
 from frappe import msgprint, _
 import frappe.defaults
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index 9f556db..ea43b16 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -5,7 +5,7 @@
 import frappe
 
 from frappe.utils import cstr, flt, getdate, now_datetime, formatdate
-from frappe.model.bean import getlist
+
 from frappe import msgprint, _
 
 from frappe.model.controller import DocListController
diff --git a/erpnext/stock/doctype/packed_item/packed_item.py b/erpnext/stock/doctype/packed_item/packed_item.py
index 6c7ee51..232e601 100644
--- a/erpnext/stock/doctype/packed_item/packed_item.py
+++ b/erpnext/stock/doctype/packed_item/packed_item.py
@@ -6,7 +6,7 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.utils import cstr, flt
-from frappe.model.bean import getlist
+
 
 from frappe.model.document import Document
 
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index 74c8cff..b1abf12 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -5,7 +5,7 @@
 import frappe
 
 from frappe.utils import cstr, flt, cint
-from frappe.model.bean import getlist
+
 from frappe.model.code import get_obj
 from frappe import msgprint, _
 import frappe.defaults
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index eeb8d82..25f3157 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -6,7 +6,7 @@
 import frappe.defaults
 
 from frappe.utils import cstr, cint, flt, comma_or, nowdate
-from frappe.model.bean import getlist
+
 from frappe.model.code import get_obj
 from frappe import msgprint, _
 from erpnext.stock.utils import get_incoming_rate
diff --git a/erpnext/stock/doctype/stock_ledger/stock_ledger.py b/erpnext/stock/doctype/stock_ledger/stock_ledger.py
index d0fe60a..615352f 100644
--- a/erpnext/stock/doctype/stock_ledger/stock_ledger.py
+++ b/erpnext/stock/doctype/stock_ledger/stock_ledger.py
@@ -5,7 +5,7 @@
 import frappe
 
 from frappe.utils import add_days, cstr, flt, nowdate, cint, now
-from frappe.model.bean import getlist
+
 from frappe.model.code import get_obj
 from frappe import session, msgprint
 from erpnext.stock.utils import get_valid_serial_nos
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
index 0052ab2..b3ed19c 100644
--- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
+++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
@@ -5,7 +5,7 @@
 import frappe
 
 from frappe.utils import add_days, cstr, getdate, cint
-from frappe.model.bean import getlist
+
 from frappe import throw, _
 from erpnext.utilities.transaction_base import TransactionBase, delete_events
 from erpnext.stock.utils import get_valid_serial_nos
diff --git a/erpnext/support/doctype/maintenance_visit/maintenance_visit.py b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
index f8eb96a..b11d656 100644
--- a/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
+++ b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
@@ -5,7 +5,7 @@
 import frappe
 
 from frappe.utils import cstr
-from frappe.model.bean import getlist
+
 from frappe import msgprint
 
 	
diff --git a/erpnext/utilities/doctype/sms_control/sms_control.py b/erpnext/utilities/doctype/sms_control/sms_control.py
index 74b6e41..d16e54d 100644
--- a/erpnext/utilities/doctype/sms_control/sms_control.py
+++ b/erpnext/utilities/doctype/sms_control/sms_control.py
@@ -7,7 +7,7 @@
 from frappe.utils import nowdate, cstr
 from frappe.model.code import get_obj
 from frappe import msgprint, throw, _
-from frappe.model.bean import getlist
+
 
 from frappe.model.document import Document
 
