resoved conflict in patch, company and renaming tools
diff --git a/accounts/doctype/account/account.js b/accounts/doctype/account/account.js
index 856b58a..071bf57 100644
--- a/accounts/doctype/account/account.js
+++ b/accounts/doctype/account/account.js
@@ -72,6 +72,7 @@
   else alert("Please select master type");
 }
 
+/*
 // Get customer/supplier address
 // -----------------------------------------
 cur_frm.cscript.master_name = function(doc,cdt,cdn){
@@ -79,6 +80,7 @@
     get_server_fields('get_address','','',doc,cdt,cdn);
   }
 }
+*/
 
 // parent account get query
 // -----------------------------------------
diff --git a/accounts/doctype/account/account.py b/accounts/doctype/account/account.py
index ed49c2d..f5e4a6d 100644
--- a/accounts/doctype/account/account.py
+++ b/accounts/doctype/account/account.py
@@ -260,3 +260,16 @@
 	def on_restore(self):
 		# rebuild tree
 		self.update_nsm_model()
+	
+	# on rename
+	# ---------
+	def on_rename(self,newdn,olddn):
+		company_abbr = sql("select tc.abbr from `tabAccount` ta, `tabCompany` tc where ta.company = tc.name and ta.name=%s", olddn)[0][0]
+		
+		newdnchk = newdn.split(" - ")	
+
+		if newdnchk[-1].lower() != company_abbr.lower():			
+			msgprint("Please add company abbreviation <b>%s</b>" %(company_abbr), raise_exception=1)
+		else:
+			account_name = " - ".join(newdnchk[:-1])
+			sql("update `tabAccount` set account_name = '%s' where name = '%s'" %(account_name,olddn))				
diff --git a/buying/doctype/supplier/supplier.py b/buying/doctype/supplier/supplier.py
index 31d5b3d..55bf8b8 100644
--- a/buying/doctype/supplier/supplier.py
+++ b/buying/doctype/supplier/supplier.py
@@ -13,136 +13,155 @@
 get_value = webnotes.conn.get_value
 in_transaction = webnotes.conn.in_transaction
 convert_to_lists = webnotes.conn.convert_to_lists
-	
+
 # -----------------------------------------------------------------------------------------
 
-
 class DocType:
-  def __init__(self, doc, doclist=[]):
-    self.doc = doc
-    self.doclist = doclist
+	def __init__(self, doc, doclist=[]):
+		self.doc = doc
+		self.doclist = doclist
 
-  def autoname(self):
-    #get default naming conventional from control panel
-    supp_master_name = get_defaults()['supp_master_name']
+	def autoname(self):
+		#get default naming conventional from control panel
+		supp_master_name = get_defaults()['supp_master_name']
 
-    if supp_master_name == 'Supplier Name':
-    
-      # filter out bad characters in name
-      #supp = self.doc.supplier_name.replace('&','and').replace('.','').replace("'",'').replace('"','').replace(',','').replace('`','')
-      supp = self.doc.supplier_name
-      
-      cust = sql("select name from `tabCustomer` where name = '%s'" % (supp))
-      cust = cust and cust[0][0] or ''
-    
-      if cust:
-        msgprint("You already have a Customer with same name")
-        raise Exception
-      self.doc.name = supp
-      
-    else:
-      self.doc.name = make_autoname(self.doc.naming_series+'.#####')
+		if supp_master_name == 'Supplier Name':
+		
+			# filter out bad characters in name
+			#supp = self.doc.supplier_name.replace('&','and').replace('.','').replace("'",'').replace('"','').replace(',','').replace('`','')
+			supp = self.doc.supplier_name
+			
+			cust = sql("select name from `tabCustomer` where name = '%s'" % (supp))
+			cust = cust and cust[0][0] or ''
+		
+			if cust:
+				msgprint("You already have a Customer with same name")
+				raise Exception
+			self.doc.name = supp
+			
+		else:
+			self.doc.name = make_autoname(self.doc.naming_series+'.#####')
 
-  # ----------------------------------------
-  # update credit days and limit in account
-  # ----------------------------------------
-  def update_credit_days_limit(self):
-    sql("update tabAccount set credit_days = '%s' where name = '%s'" % (self.doc.credit_days, self.doc.name + " - " + self.get_company_abbr()))
+	# ----------------------------------------
+	# update credit days and limit in account
+	# ----------------------------------------
+	def update_credit_days_limit(self):
+		sql("update tabAccount set credit_days = '%s' where name = '%s'" % (self.doc.credit_days, self.doc.name + " - " + self.get_company_abbr()))
 
 
-  def on_update(self):
-    if not self.doc.naming_series:
-      self.doc.naming_series = ''
+	def on_update(self):
+		if not self.doc.naming_series:
+			self.doc.naming_series = ''
 
-  
-    # create address
-    addr_flds = [self.doc.address_line1, self.doc.address_line2, self.doc.city, self.doc.state, self.doc.country, self.doc.pincode]
-    address_line = "\n".join(filter(lambda x : (x!='' and x!=None),addr_flds))
-    set(self.doc,'address', address_line)
+	
+		# create address
+		addr_flds = [self.doc.address_line1, self.doc.address_line2, self.doc.city, self.doc.state, self.doc.country, self.doc.pincode]
+		address_line = "\n".join(filter(lambda x : (x!='' and x!=None),addr_flds))
+		set(self.doc,'address', address_line)
 
-    # create account head
-    self.create_account_head()
+		# create account head
+		self.create_account_head()
 
 		# update credit days and limit in account
-    self.update_credit_days_limit()
+		self.update_credit_days_limit()
 
 
-  def check_state(self):
-    return "\n" + "\n".join([i[0] for i in sql("select state_name from `tabState` where `tabState`.country='%s' " % self.doc.country)])
-  
-  # ACCOUNTS
-  # -------------------------------------------
-  def get_payables_group(self):
-    g = sql("select payables_group from tabCompany where name=%s", self.doc.company)
-    g = g and g[0][0] or ''
-    if not g:
-      msgprint("Update Company master, assign a default group for Payables")
-      raise Exception
-    return g
+	def check_state(self):
+		return "\n" + "\n".join([i[0] for i in sql("select state_name from `tabState` where `tabState`.country='%s' " % self.doc.country)])
+	
+	# ACCOUNTS
+	# -------------------------------------------
+	def get_payables_group(self):
+		g = sql("select payables_group from tabCompany where name=%s", self.doc.company)
+		g = g and g[0][0] or ''
+		if not g:
+			msgprint("Update Company master, assign a default group for Payables")
+			raise Exception
+		return g
 
-  def add_account(self, ac, par, abbr):
-    arg = {'account_name':ac,'parent_account':par, 'group_or_ledger':'Group', 'company':self.doc.company,'account_type':'','tax_rate':'0'}
-    t = get_obj('GL Control').add_ac(cstr(arg))
-    msgprint("Created Group " + t)
-  
-  def get_company_abbr(self):
-    return sql("select abbr from tabCompany where name=%s", self.doc.company)[0][0]
-  
-  def get_parent_account(self, abbr):
-    if (not self.doc.supplier_type):
-      msgprint("Supplier Type is mandatory")
-      raise Exception
-    
-    if not sql("select name from tabAccount where name=%s", (self.doc.supplier_type + " - " + abbr)):
+	def add_account(self, ac, par, abbr):
+		arg = {'account_name':ac,'parent_account':par, 'group_or_ledger':'Group', 'company':self.doc.company,'account_type':'','tax_rate':'0'}
+		t = get_obj('GL Control').add_ac(cstr(arg))
+		msgprint("Created Group " + t)
+	
+	def get_company_abbr(self):
+		return sql("select abbr from tabCompany where name=%s", self.doc.company)[0][0]
+	
+	def get_parent_account(self, abbr):
+		if (not self.doc.supplier_type):
+			msgprint("Supplier Type is mandatory")
+			raise Exception
+		
+		if not sql("select name from tabAccount where name=%s", (self.doc.supplier_type + " - " + abbr)):
 
-      # if not group created , create it
-      self.add_account(self.doc.supplier_type, self.get_payables_group(), abbr)
-    
-    return self.doc.supplier_type + " - " + abbr
+			# if not group created , create it
+			self.add_account(self.doc.supplier_type, self.get_payables_group(), abbr)
+		
+		return self.doc.supplier_type + " - " + abbr
 
 
-  def validate(self):
-    #validation for Naming Series mandatory field...
-    if get_defaults()['supp_master_name'] == 'Naming Series':
-      if not self.doc.naming_series:
-        msgprint("Series is Mandatory.")
-        raise Exception
-  
-  
-  # create accont head - in tree under zone + territory
-  # -------------------------------------------------------
-  def create_account_head(self):
-    if self.doc.company :
-      abbr = self.get_company_abbr() 
-            
-      if not sql("select name from tabAccount where name=%s", (self.doc.name + " - " + abbr)):
-        parent_account = self.get_parent_account(abbr)
-        
-        arg = {'account_name':self.doc.name,'parent_account': parent_account, 'group_or_ledger':'Ledger', 'company':self.doc.company,'account_type':'','tax_rate':'0','master_type':'Supplier','master_name':self.doc.name,'address':self.doc.address}
-        # create
-        ac = get_obj('GL Control').add_ac(cstr(arg))
-        msgprint("Created Account Head: "+ac)
-        
-    else : 
-      msgprint("Please select Company under which you want to create account head")
-      
-      
-  def get_contacts(self,nm):
-    if nm:    
-      contact_details =convert_to_lists(sql("select name, CONCAT(IFNULL(first_name,''),' ',IFNULL(last_name,'')),contact_no,email_id from `tabContact` where supplier = '%s'"%nm))
-   
-      return contact_details
-    else:
-      return ''
-      
-  def delete_supplier_address(self):
-    for rec in sql("select * from `tabAddress` where supplier='%s'" %(self.doc.name), as_dict=1):      
-      sql("delete from `tabAddress` where name=%s",(rec['name']))
-  
-  def delete_supplier_contact(self):
-    for rec in sql("select * from `tabContact` where supplier='%s'" %(self.doc.name), as_dict=1):      
-      sql("delete from `tabContact` where name=%s",(rec['name']))
-      
-  def on_trash(self):
-    self.delete_supplier_address()
-    self.delete_supplier_contact()    
+	def validate(self):
+		#validation for Naming Series mandatory field...
+		if get_defaults()['supp_master_name'] == 'Naming Series':
+			if not self.doc.naming_series:
+				msgprint("Series is Mandatory.")
+				raise Exception
+	
+	
+	# create accont head - in tree under zone + territory
+	# -------------------------------------------------------
+	def create_account_head(self):
+		if self.doc.company :
+			abbr = self.get_company_abbr() 
+						
+			if not sql("select name from tabAccount where name=%s", (self.doc.name + " - " + abbr)):
+				parent_account = self.get_parent_account(abbr)
+				
+				arg = {'account_name':self.doc.name,'parent_account': parent_account, 'group_or_ledger':'Ledger', 'company':self.doc.company,'account_type':'','tax_rate':'0','master_type':'Supplier','master_name':self.doc.name,'address':self.doc.address}
+				# create
+				ac = get_obj('GL Control').add_ac(cstr(arg))
+				msgprint("Created Account Head: "+ac)
+				
+		else : 
+			msgprint("Please select Company under which you want to create account head")
+			
+			
+	def get_contacts(self,nm):
+		if nm:
+			contact_details =convert_to_lists(sql("select name, CONCAT(IFNULL(first_name,''),' ',IFNULL(last_name,'')),contact_no,email_id from `tabContact` where supplier = '%s'"%nm))
+	 
+			return contact_details
+		else:
+			return ''
+			
+	def delete_supplier_address(self):
+		for rec in sql("select * from `tabAddress` where supplier='%s'" %(self.doc.name), as_dict=1):
+			sql("delete from `tabAddress` where name=%s",(rec['name']))
+	
+	def delete_supplier_contact(self):
+		for rec in sql("select * from `tabContact` where supplier='%s'" %(self.doc.name), as_dict=1):
+			sql("delete from `tabContact` where name=%s",(rec['name']))
+			
+	def on_trash(self):
+		self.delete_supplier_address()
+		self.delete_supplier_contact()
+		
+	# on rename
+	# ---------
+	def on_rename(self,newdn,olddn):
+		#update supplier_name if not naming series
+		if get_defaults().get('supp_master_name') == 'Supplier Name':
+			update_fields = [
+			('Supplier', 'name'),
+			('Address', 'supplier'),
+			('Contact', 'supplier'),
+			('Payable Voucher', 'supplier'),
+			('Purchase Order', 'supplier'),
+			('Purchase Receipt', 'supplier'),
+			('Serial No', 'supplier'),
+			('Supplier Quotation', 'supplier')]
+			for rec in update_fields:
+				sql("update `tab%s` set supplier_name = '%s' where %s = '%s'" %(rec[0],newdn,rec[1],olddn))
+				
+		#update master_name in doctype account
+		sql("update `tabAccount` set master_name = '%s', master_type = 'Supplier' where master_name = '%s'" %(newdn,olddn))
diff --git a/patches/patch.py b/patches/patch.py
index 0f688fe..7552872 100644
--- a/patches/patch.py
+++ b/patches/patch.py
@@ -1,6 +1,7 @@
 # REMEMBER to update this
 # ========================
-last_patch = 306
+
+last_patch = 308
 
 #-------------------------------------------
 
@@ -1187,9 +1188,9 @@
 		reload_doc('payroll', 'doctype', 'salary_structure')
 		reload_doc('payroll', 'doctype', 'salary_slip')
 	elif patch_no == 298:
-		sql("update `tabDocField` set options = 'Link:Company' where parent = 'Attendance' and fieldname = 'company'")
-		sql("update `tabDocField` set options = 'Link:Company' where parent = 'Expense Voucher' and fieldname = 'company'")
-		sql("update `tabDocField` set options = 'Link:Company' where parent = 'Appraisal' and fieldname = 'company'")
+		sql("update `tabDocField` set options = 'link:Company' where parent = 'Attendance' and fieldname = 'company'")
+		sql("update `tabDocField` set options = 'link:Company' where parent = 'Expense Voucher' and fieldname = 'company'")
+		sql("update `tabDocField` set options = 'link:Company' where parent = 'Appraisal' and fieldname = 'company'")
 	elif patch_no == 299:
 		sql("update `tabDocPerm` set `match` = NULL where parent = 'Employee' and role = 'Employee'")
 	elif patch_no == 300:
@@ -1208,5 +1209,14 @@
 	elif patch_no == 305:
 		sql("update `tabDocField` set options = 'link:Company' where options='link:Company' and fieldname='company' and fieldtype='Select'")
 	elif patch_no == 306:
+		sql("update `tabDocField` set options = '\nAccount\nCompany\nCustomer\nSupplier\nEmployee\nWarehouse\nItem' where parent = 'Rename Tool' and fieldname = 'select_doctype'")
+		sql("update `tabDocField` set options = 'link:Item' where parent = 'Raw Materials Supplied' and fieldname = 'po_item'")
+		sql("update `tabDocField` set options = 'Sales Order' where parent = 'Indent Detail' and fieldname = 'sales_order_no'")
+		sql("update `tabDocField` set options = 'link:Company', fieldtype = 'Select' where parent = 'Stock Ledger Entry' and fieldname = 'company'")
+		reload_doc('tools', 'doctype', 'rename_tool')
+	elif patch_no == 307:
+		sql("delete from `tabDocField` where parent = 'company' and label = 'Trash Company' and fieldtype = 'Button'")
+		reload_doc('setup', 'doctype', 'company')
+	elif patch_no == 308:
 		from erpnext_structure_cleanup import run_patches
 		run_patches()
diff --git a/selling/doctype/customer/customer.py b/selling/doctype/customer/customer.py
index eba2fc0..42f9ea3 100644
--- a/selling/doctype/customer/customer.py
+++ b/selling/doctype/customer/customer.py
@@ -10,221 +10,248 @@
 sql = webnotes.conn.sql
 get_value = webnotes.conn.get_value
 convert_to_lists = webnotes.conn.convert_to_lists
-	
+
 # -----------------------------------------------------------------------------------------
 
-
 class DocType:
-  def __init__(self, doc, doclist=[]):
-    self.doc = doc
-    self.doclist = doclist
-
+	def __init__(self, doc, doclist=[]):
+		self.doc = doc
+		self.doclist = doclist
+	
 # ******************************************************* autoname ***********************************************************
-  def autoname(self):
-    cust_master_name = get_defaults().get('cust_master_name')
-    if cust_master_name == 'Customer Name':
-   
-      # filter out bad characters in name
-      #cust = self.doc.customer_name.replace('&','and').replace('.','').replace("'",'').replace('"','').replace(',','').replace('`','')
-      cust = self.doc.customer_name
+	def autoname(self):
+		cust_master_name = get_defaults().get('cust_master_name')
+		if cust_master_name == 'Customer Name':
+			# filter out bad characters in name
+			#cust = self.doc.customer_name.replace('&','and').replace('.','').replace("'",'').replace('"','').replace(',','').replace('`','')
+			cust = self.doc.customer_name
 
-      supp = sql("select name from `tabSupplier` where name = %s", (cust))
-      supp = supp and supp[0][0] or ''
-      if supp:
-        msgprint("You already have a Supplier with same name")
-        raise Exception
-      else:
-        self.doc.name = cust
-        
-    else:
-      self.doc.name = make_autoname(self.doc.naming_series+'.#####')       
+			supp = sql("select name from `tabSupplier` where name = %s", (cust))
+			supp = supp and supp[0][0] or ''
+			if supp:
+				msgprint("You already have a Supplier with same name")
+				raise Exception
+			else:
+				self.doc.name = cust
+		else:
+			self.doc.name = make_autoname(self.doc.naming_series+'.#####')
 
 
 # ******************************************************* triggers ***********************************************************
-  # ----------------
-  # get company abbr
-  # -----------------
-  def get_company_abbr(self):
-    return get_value('Company', self.doc.company, 'abbr')
+	# ----------------
+	# get company abbr
+	# -----------------
+	def get_company_abbr(self):
+		return get_value('Company', self.doc.company, 'abbr')
 
-  # -----------------------------------------------------------------------------------------------------
-  # get parent account(i.e receivables group from company where default account head need to be created)
-  # -----------------------------------------------------------------------------------------------------
-  def get_receivables_group(self):
-    g = sql("select receivables_group from tabCompany where name=%s", self.doc.company)
-    g = g and g[0][0] or '' 
-    if not g:
-      msgprint("Update Company master, assign a default group for Receivables")
-      raise Exception
-    return g
-  
+	# -----------------------------------------------------------------------------------------------------
+	# get parent account(i.e receivables group from company where default account head need to be created)
+	# -----------------------------------------------------------------------------------------------------
+	def get_receivables_group(self):
+		g = sql("select receivables_group from tabCompany where name=%s", self.doc.company)
+		g = g and g[0][0] or '' 
+		if not g:
+			msgprint("Update Company master, assign a default group for Receivables")
+			raise Exception
+		return g
+	
 # ******************************************************* validate *********************************************************
-  # ----------------
-  # validate values
-  # ----------------
-  def validate_values(self):
-    # Master name by naming series -> Series field mandatory
-    if get_defaults().get('cust_master_name') == 'Naming Series' and not self.doc.naming_series:
-      msgprint("Series is Mandatory.")
-      raise Exception
+	# ----------------
+	# validate values
+	# ----------------
+	def validate_values(self):
+		# Master name by naming series -> Series field mandatory
+		if get_defaults().get('cust_master_name') == 'Naming Series' and not self.doc.naming_series:
+			msgprint("Series is Mandatory.")
+			raise Exception
 
-  # ---------
-  # validate
-  # ---------
-  def validate(self):
-    self.validate_values()
+	# ---------
+	# validate
+	# ---------
+	def validate(self):
+		self.validate_values()
 
 # ******************************************************* on update *********************************************************
-  # ------------------------
-  # create customer address
-  # ------------------------
-  def create_customer_address(self):
-    addr_flds = [self.doc.address_line1, self.doc.address_line2, self.doc.city, self.doc.state, self.doc.country, self.doc.pincode]
-    address_line = "\n".join(filter(lambda x : (x!='' and x!=None),addr_flds))
+	# ------------------------
+	# create customer address
+	# ------------------------
+	def create_customer_address(self):
+		addr_flds = [self.doc.address_line1, self.doc.address_line2, self.doc.city, self.doc.state, self.doc.country, self.doc.pincode]
+		address_line = "\n".join(filter(lambda x : (x!='' and x!=None),addr_flds))
 
-    if self.doc.phone_1:
-      address_line = address_line + "\n" + "Phone: " + cstr(self.doc.phone_1)
-    if self.doc.email_id:
-      address_line = address_line + "\n" + "E-mail: " + cstr(self.doc.email_id)
-    set(self.doc,'address', address_line)
-    
-    telephone = "(O): " + cstr(self.doc.phone_1) +"\n"+ cstr(self.doc.phone_2) + "\n" + "(M): " +  "\n" + "(fax): " + cstr(self.doc.fax_1)
-    set(self.doc,'telephone',telephone)
+		if self.doc.phone_1:
+			address_line = address_line + "\n" + "Phone: " + cstr(self.doc.phone_1)
+		if self.doc.email_id:
+			address_line = address_line + "\n" + "E-mail: " + cstr(self.doc.email_id)
+		set(self.doc,'address', address_line)
+		
+		telephone = "(O): " + cstr(self.doc.phone_1) +"\n"+ cstr(self.doc.phone_2) + "\n" + "(M): " +	"\n" + "(fax): " + cstr(self.doc.fax_1)
+		set(self.doc,'telephone',telephone)
 
 
-  # ------------------------------------
-  # create primary contact for customer
-  # ------------------------------------
-  def create_p_contact(self,nm,phn_no,email_id,mob_no,fax,cont_addr):
-    c1 = Document('Contact')
-    c1.first_name = nm
-    c1.contact_name = nm
-    c1.contact_no = phn_no
-    c1.email_id = email_id
-    c1.mobile_no = mob_no
-    c1.fax = fax
-    c1.contact_address = cont_addr
-    c1.is_primary_contact = 'Yes'
-    c1.is_customer =1
-    c1.customer = self.doc.name
-    c1.customer_name = self.doc.customer_name
-    c1.customer_address = self.doc.address
-    c1.customer_group = self.doc.customer_group
-    c1.save(1)
+	# ------------------------------------
+	# create primary contact for customer
+	# ------------------------------------
+	def create_p_contact(self,nm,phn_no,email_id,mob_no,fax,cont_addr):
+		c1 = Document('Contact')
+		c1.first_name = nm
+		c1.contact_name = nm
+		c1.contact_no = phn_no
+		c1.email_id = email_id
+		c1.mobile_no = mob_no
+		c1.fax = fax
+		c1.contact_address = cont_addr
+		c1.is_primary_contact = 'Yes'
+		c1.is_customer =1
+		c1.customer = self.doc.name
+		c1.customer_name = self.doc.customer_name
+		c1.customer_address = self.doc.address
+		c1.customer_group = self.doc.customer_group
+		c1.save(1)
 
 
-  # ------------------------
-  # create customer contact
-  # ------------------------
-  def create_customer_contact(self):
-    contact = sql("select distinct name from `tabContact` where customer_name=%s", (self.doc.customer_name))
-    contact = contact and contact[0][0] or ''
-    if not contact:
-      # create primary contact for individual customer 
-      if self.doc.customer_type == 'Individual':
-        self.create_p_contact(self.doc.customer_name,self.doc.phone_1,self.doc.email_id,'',self.doc.fax_1,self.doc.address)
-    
-      # create primary contact for lead
-      elif self.doc.lead_name:
-        c_detail = sql("select lead_name, company_name, contact_no, mobile_no, email_id, fax, address from `tabLead` where name =%s", self.doc.lead_name, as_dict=1)
-        self.create_p_contact(c_detail and c_detail[0]['lead_name'] or '', c_detail and c_detail[0]['contact_no'] or '', c_detail and c_detail[0]['email_id'] or '', c_detail and c_detail[0]['mobile_no'] or '', c_detail and c_detail[0]['fax'] or '', c_detail and c_detail[0]['address'] or '')
+	# ------------------------
+	# create customer contact
+	# ------------------------
+	def create_customer_contact(self):
+		contact = sql("select distinct name from `tabContact` where customer_name=%s", (self.doc.customer_name))
+		contact = contact and contact[0][0] or ''
+		if not contact:
+			# create primary contact for individual customer 
+			if self.doc.customer_type == 'Individual':
+				self.create_p_contact(self.doc.customer_name,self.doc.phone_1,self.doc.email_id,'',self.doc.fax_1,self.doc.address)
+		
+			# create primary contact for lead
+			elif self.doc.lead_name:
+				c_detail = sql("select lead_name, company_name, contact_no, mobile_no, email_id, fax, address from `tabLead` where name =%s", self.doc.lead_name, as_dict=1)
+				self.create_p_contact(c_detail and c_detail[0]['lead_name'] or '', c_detail and c_detail[0]['contact_no'] or '', c_detail and c_detail[0]['email_id'] or '', c_detail and c_detail[0]['mobile_no'] or '', c_detail and c_detail[0]['fax'] or '', c_detail and c_detail[0]['address'] or '')
 
 
-  # -------------------
-  # update lead status
-  # -------------------
-  def update_lead_status(self):
-    if self.doc.lead_name:
-      sql("update `tabLead` set status='Converted' where name = %s", self.doc.lead_name)
+	# -------------------
+	# update lead status
+	# -------------------
+	def update_lead_status(self):
+		if self.doc.lead_name:
+			sql("update `tabLead` set status='Converted' where name = %s", self.doc.lead_name)
 
 
-  # -------------------------------------------------------------------------
-  # create accont head - in tree under receivables_group of selected company
-  # -------------------------------------------------------------------------
-  def create_account_head(self):
-    if self.doc.company :
-      abbr = self.get_company_abbr()  
-      if not sql("select name from tabAccount where name=%s", (self.doc.name + " - " + abbr)):
-        parent_account = self.get_receivables_group()
-        arg = {'account_name':self.doc.name,'parent_account': parent_account, 'group_or_ledger':'Ledger', 'company':self.doc.company,'account_type':'','tax_rate':'0','master_type':'Customer','master_name':self.doc.name,'address':self.doc.address}
-        # create
-        ac = get_obj('GL Control').add_ac(cstr(arg))
-        msgprint("Account Head created for "+ac)
-    else :
-      msgprint("Please Select Company under which you want to create account head")
+	# -------------------------------------------------------------------------
+	# create accont head - in tree under receivables_group of selected company
+	# -------------------------------------------------------------------------
+	def create_account_head(self):
+		if self.doc.company :
+			abbr = self.get_company_abbr()
+			if not sql("select name from tabAccount where name=%s", (self.doc.name + " - " + abbr)):
+				parent_account = self.get_receivables_group()
+				arg = {'account_name':self.doc.name,'parent_account': parent_account, 'group_or_ledger':'Ledger', 'company':self.doc.company,'account_type':'','tax_rate':'0','master_type':'Customer','master_name':self.doc.name,'address':self.doc.address}
+				# create
+				ac = get_obj('GL Control').add_ac(cstr(arg))
+				msgprint("Account Head created for "+ac)
+		else :
+			msgprint("Please Select Company under which you want to create account head")
 
 
-  # ----------------------------------------
-  # update credit days and limit in account
-  # ----------------------------------------
-  def update_credit_days_limit(self):
-    sql("update tabAccount set credit_days = '%s', credit_limit = '%s' where name = '%s'" % (self.doc.credit_days, self.doc.credit_limit, self.doc.name + " - " + self.get_company_abbr()))
+	# ----------------------------------------
+	# update credit days and limit in account
+	# ----------------------------------------
+	def update_credit_days_limit(self):
+		sql("update tabAccount set credit_days = '%s', credit_limit = '%s' where name = '%s'" % (self.doc.credit_days, self.doc.credit_limit, self.doc.name + " - " + self.get_company_abbr()))
 
 
-  #create address and contact from lead
-  def create_lead_address_contact(self):
-    if self.doc.lead_name:
-      details = sql("select name, lead_name, address_line1, address_line2, city, country, state, pincode, contact_no, mobile_no, fax, email_id from `tabLead` where name = '%s'" %(self.doc.lead_name), as_dict = 1)      
-      d = Document('Address') 
-      d.address_line1 = details[0]['address_line1'] 
-      d.address_line2 = details[0]['address_line2']  
-      d.city = details[0]['city']  
-      d.country = details[0]['country']  
-      d.pincode = details[0]['pincode']
-      d.state = details[0]['state']  
-      d.fax = details[0]['fax']  
-      d.email_id = details[0]['email_id']  		
-      d.phone = details[0]['contact_no']  
-      d.customer = self.doc.name
-      d.customer_name = self.doc.customer_name
-      d.is_primary_address = 1
-      d.address_type = 'Office'
-      try:
-        d.save(1)
-      except NameError, e:
-        pass
-        
-      c = Document('Contact') 
-      c.first_name = details[0]['lead_name'] 
-      c.email_id = details[0]['email_id']
-      c.phone = details[0]['contact_no']
-      c.phone = details[0]['contact_no']  
-      c.customer = self.doc.name
-      c.customer_name = self.doc.customer_name
-      c.is_primary_contact = 1
-      try:
-        c.save(1)
-      except NameError, e:
-        pass  
+	#create address and contact from lead
+	def create_lead_address_contact(self):
+		if self.doc.lead_name:
+			details = sql("select name, lead_name, address_line1, address_line2, city, country, state, pincode, phone, mobile_no, fax, email_id from `tabLead` where name = '%s'" %(self.doc.lead_name), as_dict = 1)
+			d = Document('Address') 
+			d.address_line1 = details[0]['address_line1'] 
+			d.address_line2 = details[0]['address_line2']
+			d.city = details[0]['city']
+			d.country = details[0]['country']
+			d.pincode = details[0]['pincode']
+			d.state = details[0]['state']
+			d.fax = details[0]['fax']
+			d.email_id = details[0]['email_id']
+			d.phone = details[0]['phone']
+			d.customer = self.doc.name
+			d.customer_name = self.doc.customer_name
+			d.is_primary_address = 1
+			d.address_type = 'Office'
+			try:
+				d.save(1)
+			except NameError, e:
+				pass
+				
+			c = Document('Contact') 
+			c.first_name = details[0]['lead_name'] 
+			c.email_id = details[0]['email_id']
+			c.phone = details[0]['phone']
+			c.mobile_no = details[0]['mobile_no']
+			c.customer = self.doc.name
+			c.customer_name = self.doc.customer_name
+			c.is_primary_contact = 1
+			try:
+				c.save(1)
+			except NameError, e:
+				pass
 
-  # ----------
-  # on update
-  # ----------
-  def on_update(self):
-    # create customer addr
-    #self.create_customer_address()
-    # create customer contact
-    #self.create_customer_contact()
-    # update lead status
-    self.update_lead_status()
-    # create account head
-    self.create_account_head()
-    # update credit days and limit in account
-    self.update_credit_days_limit()
-    #create address and contact from lead    
-    self.create_lead_address_contact()
+	# ----------
+	# on update
+	# ----------
+	def on_update(self):
+		# create customer addr
+		#self.create_customer_address()
+		# create customer contact
+		#self.create_customer_contact()
+		# update lead status
+		self.update_lead_status()
+		# create account head
+		self.create_account_head()
+		# update credit days and limit in account
+		self.update_credit_days_limit()
+		#create address and contact from lead
+		self.create_lead_address_contact()
 
-  def delete_customer_address(self):
-    for rec in sql("select * from `tabAddress` where customer='%s'" %(self.doc.name), as_dict=1):      
-      sql("delete from `tabAddress` where name=%s",(rec['name']))
-  
-  def delete_customer_contact(self):
-    for rec in sql("select * from `tabContact` where customer='%s'" %(self.doc.name), as_dict=1):      
-      sql("delete from `tabContact` where name=%s",(rec['name']))
-  
+	def delete_customer_address(self):
+		for rec in sql("select * from `tabAddress` where customer='%s'" %(self.doc.name), as_dict=1):
+			sql("delete from `tabAddress` where name=%s",(rec['name']))
+	
+	def delete_customer_contact(self):
+		for rec in sql("select * from `tabContact` where customer='%s'" %(self.doc.name), as_dict=1):
+			sql("delete from `tabContact` where name=%s",(rec['name']))
+	
 # ******************************************************* on trash *********************************************************
-  def on_trash(self):    
-    self.delete_customer_address()
-    self.delete_customer_contact()
-    if self.doc.lead_name:
-      sql("update `tabLead` set status='Interested' where name=%s",self.doc.lead_name)
+	def on_trash(self):
+		self.delete_customer_address()
+		self.delete_customer_contact()
+		if self.doc.lead_name:
+			sql("update `tabLead` set status='Interested' where name=%s",self.doc.lead_name)
+			
+	# on rename
+	# ---------
+	def on_rename(self,newdn,olddn):
+		#update customer_name if not naming series
+		if get_defaults().get('cust_master_name') == 'Customer Name':
+			update_fields = [
+			('Customer', 'name'),
+			('Address', 'customer'),
+			('Contact', 'customer'),
+			('Customer Issue', 'customer'),
+			('Delivery Note', 'customer'),
+			('Enquiry', 'customer'),
+			('Installation Note', 'customer'),
+			('Maintenance Schedule', 'customer'),
+			('Maintenance Visit', 'customer'),
+			('Project', 'customer'),
+			('Quotation', 'customer'),
+			('Receivable Voucher', 'customer'),
+			('Sales Order', 'customer'),
+			('Serial No', 'customer'),
+			('Shipping Address', 'customer'),
+			('Stock Entry', 'customer'),
+			('Support Ticket', 'customer'),
+			('Ticket', 'customer')]
+			for rec in update_fields:
+				sql("update `tab%s` set customer_name = '%s' where %s = '%s'" %(rec[0],newdn,rec[1],olddn))
+				
+		#update master_name in doctype account
+		sql("update `tabAccount` set master_name = '%s', master_type = 'Customer' where master_name = '%s'" %(newdn,olddn))
diff --git a/setup/doctype/company/company.py b/setup/doctype/company/company.py
index ac5d0d6..783a158 100644
--- a/setup/doctype/company/company.py
+++ b/setup/doctype/company/company.py
@@ -13,234 +13,239 @@
 get_value = webnotes.conn.get_value
 in_transaction = webnotes.conn.in_transaction
 convert_to_lists = webnotes.conn.convert_to_lists
-	
+
 # -----------------------------------------------------------------------------------------
 
 
 class DocType:
-  def __init__(self,d,dl):
-    self.doc, self.doclist = d,dl
-  
-  # Create default accounts
-  # ---------------------------------------------------
-  def create_default_accounts(self):
-    self.fld_dict = {'account_name':0,'parent_account':1,'group_or_ledger':2,'is_pl_account':3,'account_type':4,'debit_or_credit':5,'company':6,'tax_rate':7}
-    acc_list_common = [['Application of Funds (Assets)','','Group','No','','Debit',self.doc.name,''],
-                        ['Current Assets','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
-                          ['Accounts Receivable','Current Assets','Group','No','','Debit',self.doc.name,''],
-                          ['Bank Accounts','Current Assets','Group','No','Bank or Cash','Debit',self.doc.name,''],
-                          ['Cash In Hand','Current Assets','Group','No','Bank or Cash','Debit',self.doc.name,''],
-                            ['Cash','Cash In Hand','Ledger','No','Bank or Cash','Debit',self.doc.name,''],
-                          ['Loans and Advances (Assets)','Current Assets','Group','No','','Debit',self.doc.name,''],
-                          ['Securities and Deposits','Current Assets','Group','No','','Debit',self.doc.name,''],
-                            ['Earnest Money','Securities and Deposits','Ledger','No','','Debit',self.doc.name,''],
-                          ['Stock In Hand','Current Assets','Group','No','','Debit',self.doc.name,''],
-                            ['Stock','Stock In Hand','Ledger','No','','Debit',self.doc.name,''],
-                          ['Tax Assets','Current Assets','Group','No','','Debit',self.doc.name,''],
-                        ['Fixed Assets','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
-                          ['Capital Equipments','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
-                          ['Computers','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
-                          ['Furniture and Fixture','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
-                          ['Office Equipments','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
-                          ['Plant and Machinery','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
-                        ['Investments','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
-                        ['Temporary Accounts (Assets)','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
-                          ['Temporary Account (Assets)','Temporary Accounts (Assets)','Ledger','No','','Debit',self.doc.name,''],
-                  ['Source of Funds (Liabilities)','','Group','No','','Credit',self.doc.name,''],
-                    ['Capital Account','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''],
-                      ['Reserves and Surplus','Capital Account','Group','No','','Credit',self.doc.name,''],
-                      ['Shareholders Funds','Capital Account','Group','No','','Credit',self.doc.name,''],
-                    ['Current Liabilities','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''],
-                      ['Accounts Payable','Current Liabilities','Group','No','','Credit',self.doc.name,''],
-                      ['Duties and Taxes','Current Liabilities','Group','No','','Credit',self.doc.name,''],
-                      ['Loans (Liabilities)','Current Liabilities','Group','No','','Credit',self.doc.name,''],
-                        ['Secured Loans','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''],
-                        ['Unsecured Loans','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''],
-                        ['Bank Overdraft Account','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''],
-                    ['Temporary Accounts (Liabilities)','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''],
-                      ['Temporary Account (Liabilities)','Temporary Accounts (Liabilities)','Ledger','No','','Credit',self.doc.name,''],
-                  ['Income','','Group','Yes','','Credit',self.doc.name,''],
-                    ['Direct Income','Income','Group','Yes','Income Account','Credit',self.doc.name,''],
-                      ['Sales','Direct Income','Ledger','Yes','Income Account','Credit',self.doc.name,''],
-                      ['Service','Direct Income','Ledger','Yes','Income Account','Credit',self.doc.name,''],
-                    ['Indirect Income','Income','Group','Yes','Income Account','Credit',self.doc.name,''],
-                  ['Expenses','','Group','Yes','Expense Account','Debit',self.doc.name,''],
-                    ['Direct Expenses','Expenses','Group','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Cost of Goods Sold','Direct Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                    ['Indirect Expenses','Expenses','Group','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Advertising and Publicity','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
-                      ['Bad Debts Written Off','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Bank Charges','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Books and Periodicals','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Charity and Donations','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Commission on Sales','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Conveyance Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Customer Entertainment Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Depreciation Account','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Freight and Forwarding Charges','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
-                      ['Legal Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Miscellaneous Expenses','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
-                      ['Office Maintenance Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Office Rent','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Postal Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Print and Stationary','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Rounded Off','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Salary','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Sales Promotion Expenses','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
-                      ['Service Charges Paid','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Staff Welfare Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Telephone Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Travelling Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-                      ['Water and Electricity Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,'']
-                  ]
-    
-    acc_list_india = [
-                      ['CENVAT Capital Goods','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
-                      ['CENVAT','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''],
-                      ['CENVAT Service Tax','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
-                      ['CENVAT Service Tax Cess 1','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
-                      ['CENVAT Service Tax Cess 2','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
-                      ['CENVAT Edu Cess','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''],
-                      ['CENVAT SHE Cess','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''],
-                      ['Excise Duty 4','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'4.00'],
-                      ['Excise Duty 8','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'8.00'],
-                      ['Excise Duty 10','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'10.00'],
-                      ['Excise Duty 14','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'14.00'],
-                      ['Excise Duty Edu Cess 2','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'2.00'],
-                      ['Excise Duty SHE Cess 1','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'1.00'],
-                      ['P L A','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
-                      ['P L A - Cess Portion','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
-                      ['Edu. Cess on Excise','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'],
-                      ['Edu. Cess on Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'],
-                      ['Edu. Cess on TDS','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'],
-                      ['Excise Duty @ 4','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'4.00'],
-                      ['Excise Duty @ 8','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'8.00'],
-                      ['Excise Duty @ 10','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'10.00'],
-                      ['Excise Duty @ 14','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'14.00'],
-                      ['Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'10.3'],
-                      ['SHE Cess on Excise','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'],
-                      ['SHE Cess on Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'],
-                      ['SHE Cess on TDS','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'],
-                      ['Professional Tax','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-                      ['VAT','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-                      ['TDS (Advertisement)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-                      ['TDS (Commission)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-                      ['TDS (Contractor)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-                      ['TDS (Interest)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-                      ['TDS (Rent)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-                      ['TDS (Salary)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,'']
-                     ]
-    # load common account heads
-    for d in acc_list_common:
-      self.add_acc(d)
+	def __init__(self,d,dl):
+		self.doc, self.doclist = d,dl
+	
+	# Create default accounts
+	# ---------------------------------------------------
+	def create_default_accounts(self):
+		self.fld_dict = {'account_name':0,'parent_account':1,'group_or_ledger':2,'is_pl_account':3,'account_type':4,'debit_or_credit':5,'company':6,'tax_rate':7}
+		acc_list_common = [['Application of Funds (Assets)','','Group','No','','Debit',self.doc.name,''],
+												['Current Assets','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
+													['Accounts Receivable','Current Assets','Group','No','','Debit',self.doc.name,''],
+													['Bank Accounts','Current Assets','Group','No','Bank or Cash','Debit',self.doc.name,''],
+													['Cash In Hand','Current Assets','Group','No','Bank or Cash','Debit',self.doc.name,''],
+														['Cash','Cash In Hand','Ledger','No','Bank or Cash','Debit',self.doc.name,''],
+													['Loans and Advances (Assets)','Current Assets','Group','No','','Debit',self.doc.name,''],
+													['Securities and Deposits','Current Assets','Group','No','','Debit',self.doc.name,''],
+														['Earnest Money','Securities and Deposits','Ledger','No','','Debit',self.doc.name,''],
+													['Stock In Hand','Current Assets','Group','No','','Debit',self.doc.name,''],
+														['Stock','Stock In Hand','Ledger','No','','Debit',self.doc.name,''],
+													['Tax Assets','Current Assets','Group','No','','Debit',self.doc.name,''],
+												['Fixed Assets','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
+													['Capital Equipments','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
+													['Computers','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
+													['Furniture and Fixture','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
+													['Office Equipments','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
+													['Plant and Machinery','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
+												['Investments','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
+												['Temporary Accounts (Assets)','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
+													['Temporary Account (Assets)','Temporary Accounts (Assets)','Ledger','No','','Debit',self.doc.name,''],
+									['Source of Funds (Liabilities)','','Group','No','','Credit',self.doc.name,''],
+										['Capital Account','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''],
+											['Reserves and Surplus','Capital Account','Group','No','','Credit',self.doc.name,''],
+											['Shareholders Funds','Capital Account','Group','No','','Credit',self.doc.name,''],
+										['Current Liabilities','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''],
+											['Accounts Payable','Current Liabilities','Group','No','','Credit',self.doc.name,''],
+											['Duties and Taxes','Current Liabilities','Group','No','','Credit',self.doc.name,''],
+											['Loans (Liabilities)','Current Liabilities','Group','No','','Credit',self.doc.name,''],
+												['Secured Loans','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''],
+												['Unsecured Loans','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''],
+												['Bank Overdraft Account','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''],
+										['Temporary Accounts (Liabilities)','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''],
+											['Temporary Account (Liabilities)','Temporary Accounts (Liabilities)','Ledger','No','','Credit',self.doc.name,''],
+									['Income','','Group','Yes','','Credit',self.doc.name,''],
+										['Direct Income','Income','Group','Yes','Income Account','Credit',self.doc.name,''],
+											['Sales','Direct Income','Ledger','Yes','Income Account','Credit',self.doc.name,''],
+											['Service','Direct Income','Ledger','Yes','Income Account','Credit',self.doc.name,''],
+										['Indirect Income','Income','Group','Yes','Income Account','Credit',self.doc.name,''],
+									['Expenses','','Group','Yes','Expense Account','Debit',self.doc.name,''],
+										['Direct Expenses','Expenses','Group','Yes','Expense Account','Debit',self.doc.name,''],
+											['Cost of Goods Sold','Direct Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+										['Indirect Expenses','Expenses','Group','Yes','Expense Account','Debit',self.doc.name,''],
+											['Advertising and Publicity','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
+											['Bad Debts Written Off','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Bank Charges','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Books and Periodicals','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Charity and Donations','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Commission on Sales','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Conveyance Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Customer Entertainment Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Depreciation Account','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Freight and Forwarding Charges','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
+											['Legal Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Miscellaneous Expenses','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
+											['Office Maintenance Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Office Rent','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Postal Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Print and Stationary','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Rounded Off','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Salary','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Sales Promotion Expenses','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
+											['Service Charges Paid','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Staff Welfare Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Telephone Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Travelling Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+											['Water and Electricity Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,'']
+									]
+		
+		acc_list_india = [
+											['CENVAT Capital Goods','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
+											['CENVAT','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''],
+											['CENVAT Service Tax','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
+											['CENVAT Service Tax Cess 1','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
+											['CENVAT Service Tax Cess 2','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
+											['CENVAT Edu Cess','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''],
+											['CENVAT SHE Cess','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''],
+											['Excise Duty 4','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'4.00'],
+											['Excise Duty 8','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'8.00'],
+											['Excise Duty 10','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'10.00'],
+											['Excise Duty 14','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'14.00'],
+											['Excise Duty Edu Cess 2','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'2.00'],
+											['Excise Duty SHE Cess 1','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'1.00'],
+											['P L A','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
+											['P L A - Cess Portion','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
+											['Edu. Cess on Excise','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'],
+											['Edu. Cess on Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'],
+											['Edu. Cess on TDS','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'],
+											['Excise Duty @ 4','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'4.00'],
+											['Excise Duty @ 8','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'8.00'],
+											['Excise Duty @ 10','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'10.00'],
+											['Excise Duty @ 14','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'14.00'],
+											['Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'10.3'],
+											['SHE Cess on Excise','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'],
+											['SHE Cess on Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'],
+											['SHE Cess on TDS','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'],
+											['Professional Tax','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+											['VAT','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+											['TDS (Advertisement)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+											['TDS (Commission)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+											['TDS (Contractor)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+											['TDS (Interest)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+											['TDS (Rent)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+											['TDS (Salary)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,'']
+										 ]
+		# load common account heads
+		for d in acc_list_common:
+			self.add_acc(d)
 
-    country = sql("select value from tabSingles where field = 'country' and doctype = 'Control Panel'")
-    country = country and cstr(country[0][0]) or ''
+		country = sql("select value from tabSingles where field = 'country' and doctype = 'Control Panel'")
+		country = country and cstr(country[0][0]) or ''
 
-    # load taxes (only for India)
-    if country == 'India':
-      for d in acc_list_india:
-        self.add_acc(d)
+		# load taxes (only for India)
+		if country == 'India':
+			for d in acc_list_india:
+				self.add_acc(d)
 
-  # Create account
-  # ---------------------------------------------------
-  def add_acc(self,lst):
-    ac = Document('Account')
-    for d in self.fld_dict.keys():
-      ac.fields[d] = (d == 'parent_account' and lst[self.fld_dict[d]]) and lst[self.fld_dict[d]] +' - '+ self.doc.abbr or lst[self.fld_dict[d]]
-    ac.old_parent = ''
-    ac_obj = get_obj(doc=ac)
-    ac_obj.validate()
-    ac_obj.doc.save(1)
-    ac_obj.on_update()
-    sql("commit")
-    sql("start transaction")
+	# Create account
+	# ---------------------------------------------------
+	def add_acc(self,lst):
+		ac = Document('Account')
+		for d in self.fld_dict.keys():
+			ac.fields[d] = (d == 'parent_account' and lst[self.fld_dict[d]]) and lst[self.fld_dict[d]] +' - '+ self.doc.abbr or lst[self.fld_dict[d]]
+		ac.old_parent = ''
+		ac_obj = get_obj(doc=ac)
+		ac_obj.validate()
+		ac_obj.doc.save(1)
+		ac_obj.on_update()
+		sql("commit")
+		sql("start transaction")
 
 
-  # Set letter head
-  # ---------------------------------------------------  
-  def set_letter_head(self):
-    if not self.doc.letter_head:
-      if self.doc.address:
-        header = """ 
+	# Set letter head
+	# ---------------------------------------------------
+	def set_letter_head(self):
+		if not self.doc.letter_head:
+			if self.doc.address:
+				header = """ 
 <div><h3> %(comp)s </h3> %(add)s </div>
 
-      """ % {'comp':self.doc.name,
-         'add':self.doc.address.replace("\n",'<br>')}
-       
-        self.doc.letter_head = header
+			""" % {'comp':self.doc.name,
+				 'add':self.doc.address.replace("\n",'<br>')}
+			 
+				self.doc.letter_head = header
 
-  # Set default AR and AP group
-  # ---------------------------------------------------
-  def set_default_groups(self):
-    if not self.doc.receivables_group:
-      set(self.doc, 'receivables_group', 'Accounts Receivable - '+self.doc.abbr)
-    if not self.doc.payables_group:
-      set(self.doc, 'payables_group', 'Accounts Payable - '+self.doc.abbr)
-      
-      
-  # Create default cost center
-  # ---------------------------------------------------
-  def create_default_cost_center(self):
-    glc = get_obj('GL Control')
-    cc_list = [{'cost_center_name':'Root','company_name':self.doc.name,'company_abbr':self.doc.abbr,'group_or_ledger':'Group','parent_cost_center':'','old_parent':''}, {'cost_center_name':'Default CC Ledger','company_name':self.doc.name,'company_abbr':self.doc.abbr,'group_or_ledger':'Ledger','parent_cost_center':'Root - ' + self.doc.abbr,'old_parent':''}]
-    for c in cc_list:
-      glc.add_cc(str(c))
-      
-      
-  # On update
-  # ---------------------------------------------------
-  def on_update(self):
-    self.set_letter_head()
-    ac = sql("select name from tabAccount where account_name='Income' and company=%s", self.doc.name)
-    if not ac:
-      self.create_default_accounts()
-    self.set_default_groups()
-    cc = sql("select name from `tabCost Center` where cost_center_name = 'Root' and company_name = '%s'"%(self.doc.name))
-    if not cc:
-      self.create_default_cost_center()
+	# Set default AR and AP group
+	# ---------------------------------------------------
+	def set_default_groups(self):
+		if not self.doc.receivables_group:
+			set(self.doc, 'receivables_group', 'Accounts Receivable - '+self.doc.abbr)
+		if not self.doc.payables_group:
+			set(self.doc, 'payables_group', 'Accounts Payable - '+self.doc.abbr)
+			
+			
+	# Create default cost center
+	# ---------------------------------------------------
+	def create_default_cost_center(self):
+		glc = get_obj('GL Control')
+		cc_list = [{'cost_center_name':'Root','company_name':self.doc.name,'company_abbr':self.doc.abbr,'group_or_ledger':'Group','parent_cost_center':'','old_parent':''}, {'cost_center_name':'Default CC Ledger','company_name':self.doc.name,'company_abbr':self.doc.abbr,'group_or_ledger':'Ledger','parent_cost_center':'Root - ' + self.doc.abbr,'old_parent':''}]
+		for c in cc_list:
+			glc.add_cc(str(c))
+			
+			
+	# On update
+	# ---------------------------------------------------
+	def on_update(self):
+		self.set_letter_head()
+		ac = sql("select name from tabAccount where account_name='Income' and company=%s", self.doc.name)
+		if not ac:
+			self.create_default_accounts()
+		self.set_default_groups()
+		cc = sql("select name from `tabCost Center` where cost_center_name = 'Root' and company_name = '%s'"%(self.doc.name))
+		if not cc:
+			self.create_default_cost_center()
 
-  # Trash accounts and cost centers for this company
-  # ---------------------------------------------------
-  #def on_trash1(self):
-  #  acc = sql("select name from tabAccount where company = '%s' and docstatus != 2 order by lft desc, rgt desc limit 2" % self.doc.name, debug=1)
-  #  for each in acc:
-  #    get_obj('Account', each[0]).on_trash()
-      
-  #  cc = sql("select name from `tabCost Center` where company_name = '%s' and docstatus != 2" % self.doc.name)
-  #  for each in cc:
-  #    get_obj('Cost Center', each[0]).on_trash()
-    
-  #  msgprint("Company trashed. All the accounts and cost centers related to this company also trashed. You can restore it anytime from Setup -> Manage Trash")
-    
-  def on_trash(self):    
-    rec = sql("SELECT sum(ab.opening), sum(ab.balance), sum(ab.debit), sum(ab.credit) FROM `tabAccount Balance` ab, `tabAccount` a WHERE ab.account = a.name and a.company = %s", self.doc.name)
-    if rec[0][0] == 0 and rec[0][1] == 0 and rec[0][2] == 0 and rec[0][3] == 0:
-      #delete tabAccount Balance
-      sql("delete ab.* from `tabAccount Balance` ab, `tabAccount` a where ab.account = a.name and a.company = %s", self.doc.name)
-      #delete tabAccount
-      sql("delete from `tabAccount` where company = %s order by lft desc, rgt desc", self.doc.name)
-      
-      #delete cost center child table - budget detail
-      sql("delete bd.* from `tabBudget Detail` bd, `tabCost Center` cc where bd.parent = cc.name and cc.company_name = %s", self.doc.name)
-      #delete cost center
-      sql("delete from `tabCost Center` WHERE company_name = %s order by lft desc, rgt desc", self.doc.name)
-      
-      #update value as blank for tabDefaultValue defkey=company
-      sql("update `tabDefaultValue` set defvalue = '' where defkey='company' and defvalue = %s", self.doc.name)
-      
-      #update value as blank for tabSingles Manage Account
-      sql("update `tabSingles` set value = '' where doctype='Manage Account' and field = 'default_company' and value = %s", self.doc.name)
+	# Trash accounts and cost centers for this company
+	# ---------------------------------------------------
+	#def on_trash1(self):
+	#	acc = sql("select name from tabAccount where company = '%s' and docstatus != 2 order by lft desc, rgt desc limit 2" % self.doc.name, debug=1)
+	#	for each in acc:
+	#		get_obj('Account', each[0]).on_trash()
+			
+	#	cc = sql("select name from `tabCost Center` where company_name = '%s' and docstatus != 2" % self.doc.name)
+	#	for each in cc:
+	#		get_obj('Cost Center', each[0]).on_trash()
+		
+	#	msgprint("Company trashed. All the accounts and cost centers related to this company also trashed. You can restore it anytime from Setup -> Manage Trash")
+		
+	def on_trash(self):
+		rec = sql("SELECT sum(ab.opening), sum(ab.balance), sum(ab.debit), sum(ab.credit) FROM `tabAccount Balance` ab, `tabAccount` a WHERE ab.account = a.name and a.company = %s", self.doc.name)
+		if rec[0][0] == 0 and rec[0][1] == 0 and rec[0][2] == 0 and rec[0][3] == 0:
+			#delete tabAccount Balance
+			sql("delete ab.* from `tabAccount Balance` ab, `tabAccount` a where ab.account = a.name and a.company = %s", self.doc.name)
+			#delete tabAccount
+			sql("delete from `tabAccount` where company = %s order by lft desc, rgt desc", self.doc.name)
+			
+			#delete cost center child table - budget detail
+			sql("delete bd.* from `tabBudget Detail` bd, `tabCost Center` cc where bd.parent = cc.name and cc.company_name = %s", self.doc.name)
+			#delete cost center
+			sql("delete from `tabCost Center` WHERE company_name = %s order by lft desc, rgt desc", self.doc.name)
+			
+			#update value as blank for tabDefaultValue defkey=company
+			sql("update `tabDefaultValue` set defvalue = '' where defkey='company' and defvalue = %s", self.doc.name)
+			
+			#update value as blank for tabSingles Manage Account
+			sql("update `tabSingles` set value = '' where doctype='Manage Account' and field = 'default_company' and value = %s", self.doc.name)
 
-  # Restore accounts and cost centers for this company  
-  # ---------------------------------------------------
-  def on_restore(self):
-    acc = sql("select name from tabAccount where company = '%s' and docstatus = 2" % self.doc.name)
-    for each in acc:
-      get_obj('Account', each[0]).on_restore()
-      
-    cc = sql("select name from `tabCost Center` where company_name = '%s' and docstatus = 2" % self.doc.name)
-    for each in cc:
-      get_obj('Cost Center', each[0]).on_restore()
-    
-    msgprint("Company restored. All the accounts and cost centers related to this company also restored.")
+	# Restore accounts and cost centers for this company
+	# ---------------------------------------------------
+	def on_restore(self):
+		acc = sql("select name from tabAccount where company = '%s' and docstatus = 2" % self.doc.name)
+		for each in acc:
+			get_obj('Account', each[0]).on_restore()
+			
+		cc = sql("select name from `tabCost Center` where company_name = '%s' and docstatus = 2" % self.doc.name)
+		for each in cc:
+			get_obj('Cost Center', each[0]).on_restore()
+		
+		msgprint("Company restored. All the accounts and cost centers related to this company also restored.")
+		
+	# on rename
+	# ---------
+	def on_rename(self,newdn,olddn):		
+		sql("update `tabCompany` set company_name = '%s' where name = '%s'" %(newdn,olddn))						
diff --git a/setup/doctype/company/company.txt b/setup/doctype/company/company.txt
index 3d2b52a..cee9770 100644
--- a/setup/doctype/company/company.txt
+++ b/setup/doctype/company/company.txt
@@ -1,377 +1,919 @@
-# DocType, Company
 [
-
-	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:08:55',
-		'docstatus': 0,
-		'modified': '2011-06-30 10:39:58',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
-	},
-
-	# These values are common for all DocType
-	{
-		'_last_update': '1309168616',
+		'_last_update': '1309506817',
+		'allow_attach': None,
+		'allow_copy': None,
+		'allow_email': None,
+		'allow_print': None,
+		'allow_rename': None,
 		'allow_trash': 1,
 		'autoname': 'field:company_name',
+		'change_log': None,
+		'client_script': None,
+		'client_script_core': None,
+		'client_string': None,
 		'colour': 'White:FFF',
+		'creation': '2010-08-08 17:08:55',
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocType',
 		'document_type': 'Master',
+		'dt_template': None,
+		'hide_heading': None,
+		'hide_toolbar': None,
+		'idx': None,
+		'in_create': None,
+		'in_dialog': None,
+		'is_transaction_doc': None,
+		'issingle': None,
+		'istable': None,
+		'max_attachments': None,
+		'menu_index': None,
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
 		'module': 'Setup',
-		'name': '__common__',
+		'name': 'Company',
+		'name_case': None,
+		'owner': 'Administrator',
+		'parent': None,
+		'parent_node': None,
+		'parentfield': None,
+		'parenttype': None,
+		'print_outline': None,
+		'read_only': None,
+		'read_only_onload': None,
+		'search_fields': None,
 		'section_style': 'Tabbed',
+		'server_code': None,
+		'server_code_compiled': None,
+		'server_code_core': None,
 		'server_code_error': ' ',
 		'show_in_menu': 0,
-		'version': 91
+		'smallicon': None,
+		'subject': None,
+		'tag_fields': None,
+		'use_template': None,
+		'version': 92
 	},
-
-	# These values are common for all DocField
 	{
-		'doctype': 'DocField',
-		'name': '__common__',
-		'parent': 'Company',
-		'parentfield': 'fields',
-		'parenttype': 'DocType'
-	},
-
-	# These values are common for all DocPerm
-	{
+		'amend': 0,
 		'cancel': 0,
+		'create': 1,
+		'creation': '2010-08-08 17:08:55',
+		'docstatus': 0,
 		'doctype': 'DocPerm',
-		'name': '__common__',
+		'execute': None,
+		'idx': 1,
+		'match': None,
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'PERM00119',
+		'owner': 'Administrator',
 		'parent': 'Company',
 		'parentfield': 'permissions',
 		'parenttype': 'DocType',
-		'read': 1
-	},
-
-	# DocType, Company
-	{
-		'doctype': 'DocType',
-		'name': 'Company'
-	},
-
-	# DocPerm
-	{
-		'amend': 0,
-		'create': 1,
-		'doctype': 'DocPerm',
-		'idx': 1,
 		'permlevel': 0,
+		'read': 1,
 		'role': 'System Manager',
 		'submit': 0,
 		'write': 1
 	},
-
-	# DocPerm
 	{
 		'amend': 0,
+		'cancel': 0,
 		'create': 1,
+		'creation': '2010-08-08 17:08:55',
+		'docstatus': 0,
 		'doctype': 'DocPerm',
+		'execute': None,
 		'idx': 2,
+		'match': None,
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'PERM00120',
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'permissions',
+		'parenttype': 'DocType',
 		'permlevel': 0,
+		'read': 1,
 		'role': 'System Manager',
 		'submit': 0,
 		'write': 1
 	},
-
-	# DocPerm
 	{
+		'amend': None,
+		'cancel': 0,
+		'create': None,
+		'creation': '2010-08-08 17:08:55',
+		'docstatus': 0,
 		'doctype': 'DocPerm',
+		'execute': None,
 		'idx': 3,
+		'match': None,
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'PERM00121',
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'permissions',
+		'parenttype': 'DocType',
 		'permlevel': 1,
-		'role': 'All'
+		'read': 1,
+		'role': 'All',
+		'submit': None,
+		'write': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2011-07-01 13:23:37',
+		'default': None,
+		'depends_on': None,
 		'description': 'Please Enter Company Name and Abbr and save the document. Once saved Accounting Settings will be populated automatically',
+		'docstatus': 0,
 		'doctype': 'DocField',
+		'fieldname': None,
 		'fieldtype': 'Section Break',
+		'hidden': None,
+		'icon': None,
 		'idx': 1,
+		'in_filter': None,
 		'label': 'Details',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL05650',
+		'no_column': None,
+		'no_copy': None,
+		'oldfieldname': None,
 		'oldfieldtype': 'Section Break',
-		'permlevel': 0
+		'options': None,
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
 		'colour': 'White:FFF',
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
+		'depends_on': None,
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'company_name',
 		'fieldtype': 'Data',
+		'hidden': None,
+		'icon': None,
 		'idx': 2,
+		'in_filter': None,
 		'label': 'Company',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00695',
+		'no_column': None,
 		'no_copy': 0,
 		'oldfieldname': 'company_name',
 		'oldfieldtype': 'Data',
+		'options': None,
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
 		'permlevel': 0,
-		'reqd': 1
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': 1,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
 		'colour': 'White:FFF',
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
+		'depends_on': None,
 		'description': 'Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.',
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'abbr',
 		'fieldtype': 'Data',
+		'hidden': None,
+		'icon': None,
 		'idx': 3,
+		'in_filter': None,
 		'label': 'Abbr',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00696',
+		'no_column': None,
 		'no_copy': 0,
 		'oldfieldname': 'abbr',
 		'oldfieldtype': 'Data',
+		'options': None,
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
 		'permlevel': 0,
-		'reqd': 1
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': 1,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
+		'depends_on': None,
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'address',
 		'fieldtype': 'Small Text',
+		'hidden': None,
+		'icon': None,
 		'idx': 4,
+		'in_filter': None,
 		'label': 'Address',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00697',
+		'no_column': None,
+		'no_copy': None,
 		'oldfieldname': 'address',
 		'oldfieldtype': 'Small Text',
-		'permlevel': 0
+		'options': None,
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2011-04-19 18:48:56',
+		'default': None,
+		'depends_on': None,
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'default_currency',
 		'fieldtype': 'Select',
+		'hidden': None,
+		'icon': None,
 		'idx': 5,
+		'in_filter': None,
 		'label': 'Default Currency',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': '000031318',
+		'no_column': None,
+		'no_copy': None,
+		'oldfieldname': None,
+		'oldfieldtype': None,
 		'options': 'link:Currency',
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
 		'permlevel': 0,
-		'reqd': 1
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': 1,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2011-07-01 13:23:37',
+		'default': None,
+		'depends_on': None,
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
+		'fieldname': None,
 		'fieldtype': 'Column Break',
+		'hidden': None,
+		'icon': None,
 		'idx': 6,
+		'in_filter': None,
+		'label': None,
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL05651',
+		'no_column': None,
+		'no_copy': None,
+		'oldfieldname': None,
 		'oldfieldtype': 'Column Break',
+		'options': None,
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
 		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
 		'width': '50%'
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
+		'depends_on': None,
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'phone_no',
 		'fieldtype': 'Data',
+		'hidden': None,
+		'icon': None,
 		'idx': 7,
+		'in_filter': None,
 		'label': 'Phone No',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00699',
+		'no_column': None,
+		'no_copy': None,
 		'oldfieldname': 'phone_no',
 		'oldfieldtype': 'Data',
 		'options': 'Phone',
-		'permlevel': 0
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
+		'depends_on': None,
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'email',
 		'fieldtype': 'Data',
+		'hidden': None,
+		'icon': None,
 		'idx': 8,
+		'in_filter': None,
 		'label': 'Email',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00700',
+		'no_column': None,
+		'no_copy': None,
 		'oldfieldname': 'email',
 		'oldfieldtype': 'Data',
 		'options': 'Email',
-		'permlevel': 0
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
+		'depends_on': None,
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'fax',
 		'fieldtype': 'Data',
+		'hidden': None,
+		'icon': None,
 		'idx': 9,
+		'in_filter': None,
 		'label': 'Fax',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00701',
+		'no_column': None,
+		'no_copy': None,
 		'oldfieldname': 'fax',
 		'oldfieldtype': 'Data',
 		'options': 'Phone',
-		'permlevel': 0
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
+		'depends_on': None,
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'website',
 		'fieldtype': 'Data',
+		'hidden': None,
+		'icon': None,
 		'idx': 10,
+		'in_filter': None,
 		'label': 'Website',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00702',
+		'no_column': None,
+		'no_copy': None,
 		'oldfieldname': 'website',
 		'oldfieldtype': 'Data',
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'colour': 'White:FFF',
-		'description': 'Company registration numbers for your reference. Example: VAT Registration Numbers etc.',
-		'doctype': 'DocField',
-		'fieldtype': 'Section Break',
-		'idx': 11,
-		'label': 'Registration Info',
-		'oldfieldtype': 'Section Break',
+		'options': None,
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
 		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
+		'width': None
+	},
+	{
+		'allow_on_submit': None,
+		'colour': 'White:FFF',
+		'creation': '2011-07-01 13:23:37',
+		'default': None,
+		'depends_on': None,
+		'description': 'Company registration numbers for your reference. Example: VAT Registration Numbers etc.',
+		'docstatus': 0,
+		'doctype': 'DocField',
+		'fieldname': None,
+		'fieldtype': 'Section Break',
+		'hidden': None,
+		'icon': None,
+		'idx': 11,
+		'in_filter': None,
+		'label': 'Registration Info',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL05652',
+		'no_column': None,
+		'no_copy': None,
+		'oldfieldname': None,
+		'oldfieldtype': 'Section Break',
+		'options': None,
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
 		'width': '50%'
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
 		'colour': 'White:FFF',
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
+		'depends_on': None,
 		'description': 'Company registration numbers for your reference. Tax numbers etc.',
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'registration_details',
 		'fieldtype': 'Code',
+		'hidden': None,
+		'icon': None,
 		'idx': 12,
+		'in_filter': None,
 		'label': 'Registration Details',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00704',
+		'no_column': None,
+		'no_copy': None,
 		'oldfieldname': 'registration_details',
 		'oldfieldtype': 'Code',
-		'permlevel': 0
+		'options': None,
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2011-07-01 13:23:37',
+		'default': None,
 		'depends_on': 'eval:!doc.__islocal',
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
+		'fieldname': None,
 		'fieldtype': 'Section Break',
+		'hidden': None,
+		'icon': None,
 		'idx': 13,
+		'in_filter': None,
 		'label': 'Accounting Settings',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL05653',
+		'no_column': None,
+		'no_copy': None,
+		'oldfieldname': None,
 		'oldfieldtype': 'Section Break',
-		'permlevel': 0
+		'options': None,
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
 		'depends_on': 'eval:!doc.__islocal',
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'default_bank_account',
 		'fieldtype': 'Link',
+		'hidden': None,
+		'icon': None,
 		'idx': 14,
+		'in_filter': None,
 		'label': 'Default Bank Account',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00706',
+		'no_column': None,
 		'no_copy': 1,
 		'oldfieldname': 'default_bank_account',
 		'oldfieldtype': 'Link',
 		'options': 'Account',
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
 		'permlevel': 0,
-		'trigger': 'Client'
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': 'Client',
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
 		'depends_on': 'eval:!doc.__islocal',
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'receivables_group',
 		'fieldtype': 'Link',
+		'hidden': None,
+		'icon': None,
 		'idx': 15,
+		'in_filter': None,
 		'label': 'Receivables Group',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00707',
+		'no_column': None,
 		'no_copy': 1,
 		'oldfieldname': 'receivables_group',
 		'oldfieldtype': 'Link',
 		'options': 'Account',
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
 		'permlevel': 0,
-		'trigger': 'Client'
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': 'Client',
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
 		'depends_on': 'eval:!doc.__islocal',
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'payables_group',
 		'fieldtype': 'Link',
+		'hidden': None,
+		'icon': None,
 		'idx': 16,
+		'in_filter': None,
 		'label': 'Payables Group',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00708',
+		'no_column': None,
 		'no_copy': 1,
 		'oldfieldname': 'payables_group',
 		'oldfieldtype': 'Link',
 		'options': 'Account',
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
 		'permlevel': 0,
-		'trigger': 'Client'
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': 'Client',
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2011-07-01 13:23:37',
+		'default': None,
+		'depends_on': None,
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
+		'fieldname': None,
 		'fieldtype': 'Column Break',
+		'hidden': None,
+		'icon': None,
 		'idx': 17,
+		'in_filter': None,
+		'label': None,
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL05654',
+		'no_column': None,
+		'no_copy': None,
+		'oldfieldname': None,
 		'oldfieldtype': 'Column Break',
+		'options': None,
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
 		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
 		'width': '50%'
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
 		'colour': 'White:FFF',
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
 		'depends_on': 'eval:!doc.__islocal',
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'yearly_bgt_flag',
 		'fieldtype': 'Select',
+		'hidden': None,
+		'icon': None,
 		'idx': 18,
+		'in_filter': None,
 		'label': 'If Yearly Budget Exceeded',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00710',
+		'no_column': None,
+		'no_copy': None,
 		'oldfieldname': 'yearly_bgt_flag',
 		'oldfieldtype': 'Select',
 		'options': '\nWarn\nIgnore\nStop',
-		'permlevel': 0
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
 		'depends_on': 'eval:!doc.__islocal',
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'monthly_bgt_flag',
 		'fieldtype': 'Select',
+		'hidden': None,
+		'icon': None,
 		'idx': 19,
+		'in_filter': None,
 		'label': 'If Monthly Budget Exceeded',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00711',
+		'no_column': None,
+		'no_copy': None,
 		'oldfieldname': 'monthly_bgt_flag',
 		'oldfieldtype': 'Select',
 		'options': '\nWarn\nIgnore\nStop',
-		'permlevel': 0
+		'owner': 'jai@webnotestech.com',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
 		'depends_on': 'eval:!doc.__islocal',
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'credit_days',
 		'fieldtype': 'Int',
+		'hidden': None,
+		'icon': None,
 		'idx': 20,
+		'in_filter': None,
 		'label': 'Credit Days',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00712',
+		'no_column': None,
+		'no_copy': None,
 		'oldfieldname': 'credit_days',
 		'oldfieldtype': 'Int',
-		'permlevel': 0
+		'options': None,
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
 		'depends_on': 'eval:!doc.__islocal',
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'credit_limit',
 		'fieldtype': 'Currency',
+		'hidden': None,
+		'icon': None,
 		'idx': 21,
+		'in_filter': None,
 		'label': 'Credit Limit',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00713',
+		'no_column': None,
+		'no_copy': None,
 		'oldfieldname': 'credit_limit',
 		'oldfieldtype': 'Currency',
-		'permlevel': 0
+		'options': None,
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	},
-
-	# DocField
 	{
+		'allow_on_submit': None,
+		'colour': None,
+		'creation': '2010-08-08 17:08:55',
+		'default': None,
+		'depends_on': None,
+		'description': None,
+		'docstatus': 0,
 		'doctype': 'DocField',
 		'fieldname': 'trash_reason',
 		'fieldtype': 'Small Text',
+		'hidden': None,
+		'icon': None,
 		'idx': 22,
+		'in_filter': None,
 		'label': 'Trash Reason',
+		'modified': '2011-07-01 13:46:45',
+		'modified_by': 'Administrator',
+		'name': 'FL00716',
+		'no_column': None,
 		'no_copy': 1,
 		'oldfieldname': 'trash_reason',
 		'oldfieldtype': 'Small Text',
-		'permlevel': 1
+		'options': None,
+		'owner': 'Administrator',
+		'parent': 'Company',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 1,
+		'print_hide': None,
+		'report_hide': None,
+		'reqd': None,
+		'search_index': None,
+		'trigger': None,
+		'width': None
 	}
-]
\ No newline at end of file
+]
diff --git a/utilities/doctype/rename_tool/rename_tool.py b/utilities/doctype/rename_tool/rename_tool.py
index 9b91193..ea12433 100644
--- a/utilities/doctype/rename_tool/rename_tool.py
+++ b/utilities/doctype/rename_tool/rename_tool.py
@@ -12,9 +12,9 @@
 		# call on_rename method if exists
 		obj = get_obj(self.doc.select_doctype, self.doc.document_to_rename)
 		if hasattr(obj, 'on_rename'):
-			obj.on_rename(self.doc.new_name)
-		
-		# rename the document
+			obj.on_rename(self.doc.new_name,self.doc.document_to_rename)
+			
+		# rename the document		
 		webnotes.model.rename(self.doc.select_doctype, self.doc.document_to_rename, self.doc.new_name)
 		
-		webnotes.msgprint("Item renamed successfully")
\ No newline at end of file
+		webnotes.msgprint("Successfully renamed "+self.doc.select_doctype+" : '"+self.doc.document_to_rename+"' to <b>"+self.doc.new_name+"</b>")