diff --git a/erpnext/accounts/DocType Mapper/Delivery Note-Sales Invoice/Delivery Note-Sales Invoice.txt b/erpnext/accounts/DocType Mapper/Delivery Note-Sales Invoice/Delivery Note-Sales Invoice.txt
index d4b7b45..15369e4 100644
--- a/erpnext/accounts/DocType Mapper/Delivery Note-Sales Invoice/Delivery Note-Sales Invoice.txt
+++ b/erpnext/accounts/DocType Mapper/Delivery Note-Sales Invoice/Delivery Note-Sales Invoice.txt
@@ -3,135 +3,135 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:34',
+		'creation': '2010-09-20 12:33:33',
 		'docstatus': 0,
-		'modified': '2011-09-15 15:04:42',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
+		'doctype': u'Table Mapper Detail',
 		'name': '__common__',
-		'parent': 'Delivery Note-Sales Invoice',
-		'parentfield': 'table_mapper_details',
-		'parenttype': 'DocType Mapper'
+		'parent': u'Delivery Note-Sales Invoice',
+		'parentfield': u'table_mapper_details',
+		'parenttype': u'DocType Mapper'
 	},
 
 	# These values are common for all Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
+		'doctype': u'Field Mapper Detail',
 		'name': '__common__',
-		'parent': 'Delivery Note-Sales Invoice',
-		'parentfield': 'field_mapper_details',
-		'parenttype': 'DocType Mapper'
+		'parent': u'Delivery Note-Sales Invoice',
+		'parentfield': u'field_mapper_details',
+		'parenttype': u'DocType Mapper'
 	},
 
 	# These values are common for all DocType Mapper
 	{
 		'doctype': u'DocType Mapper',
-		'from_doctype': 'Delivery Note',
-		'module': 'Accounts',
+		'from_doctype': u'Delivery Note',
+		'module': u'Accounts',
 		'name': '__common__',
 		'ref_doc_submitted': 1,
-		'to_doctype': 'Sales Invoice'
+		'to_doctype': u'Sales Invoice'
 	},
 
 	# DocType Mapper, Delivery Note-Sales Invoice
 	{
 		'doctype': u'DocType Mapper',
-		'name': 'Delivery Note-Sales Invoice'
+		'name': u'Delivery Note-Sales Invoice'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'eval: obj.basic_rate and (flt(obj.amount) - flt(obj.billed_amt)) / flt(obj.basic_rate) or obj.qty',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'eval: obj.basic_rate and (flt(obj.amount) - flt(obj.billed_amt)) / flt(obj.basic_rate) or obj.qty',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'qty'
+		'to_field': u'qty'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'parent',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'parent',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'delivery_note'
+		'to_field': u'delivery_note'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'name',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'name',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'dn_detail'
+		'to_field': u'dn_detail'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'prevdoc_docname',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'prevdoc_docname',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'sales_order'
+		'to_field': u'sales_order'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'prevdoc_detail_docname',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'prevdoc_detail_docname',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'so_detail'
+		'to_field': u'so_detail'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'eval: flt(obj.amount) - flt(obj.billed_amt)',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'eval: flt(obj.amount) - flt(obj.billed_amt)',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'amount'
+		'to_field': u'amount'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'eval: (flt(obj.amount) - flt(obj.billed_amt)) * flt(obj.export_rate)/flt(obj.basic_rate)',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'eval: (flt(obj.amount) - flt(obj.billed_amt)) * flt(obj.export_rate)/flt(obj.basic_rate)',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'export_amount'
+		'to_field': u'export_amount'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'naming_series',
-		'map': 'No',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'naming_series',
+		'map': u'No',
 		'match_id': 0,
-		'to_field': 'naming_series'
+		'to_field': u'naming_series'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'incentives',
-		'map': 'No',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'incentives',
+		'map': u'No',
 		'match_id': 3,
-		'to_field': 'incentives'
+		'to_field': u'incentives'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'serial_no',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'serial_no',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'serial_no'
+		'to_field': u'serial_no'
 	},
 
 	# Field Mapper Detail
@@ -146,43 +146,43 @@
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_table': 'Delivery Note',
+		'doctype': u'Table Mapper Detail',
+		'from_table': u'Delivery Note',
 		'match_id': 0,
-		'to_table': 'Sales Invoice',
-		'validation_logic': 'docstatus=1'
+		'to_table': u'Sales Invoice',
+		'validation_logic': u'docstatus=1'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_field': 'delivery_note_details',
-		'from_table': 'Delivery Note Item',
+		'doctype': u'Table Mapper Detail',
+		'from_field': u'delivery_note_details',
+		'from_table': u'Delivery Note Item',
 		'match_id': 1,
-		'to_field': 'entries',
-		'to_table': 'Sales Invoice Item',
-		'validation_logic': '(ifnull(amount, 0) = 0 or amount > ifnull(billed_amt, 0)) and docstatus = 1'
+		'to_field': u'entries',
+		'to_table': u'Sales Invoice Item',
+		'validation_logic': u'(ifnull(amount, 0) = 0 or amount > ifnull(billed_amt, 0)) and docstatus = 1'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_field': 'other_charges',
-		'from_table': 'Sales Taxes and Charges',
+		'doctype': u'Table Mapper Detail',
+		'from_field': u'other_charges',
+		'from_table': u'Sales Taxes and Charges',
 		'match_id': 2,
-		'to_field': 'other_charges',
-		'to_table': 'Sales Taxes and Charges',
-		'validation_logic': 'name is not null'
+		'to_field': u'other_charges',
+		'to_table': u'Sales Taxes and Charges',
+		'validation_logic': u'name is not null'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_field': 'sales_team',
-		'from_table': 'Sales Team',
+		'doctype': u'Table Mapper Detail',
+		'from_field': u'sales_team',
+		'from_table': u'Sales Team',
 		'match_id': 3,
-		'to_field': 'sales_team',
-		'to_table': 'Sales Team',
-		'validation_logic': 'name is not null'
+		'to_field': u'sales_team',
+		'to_table': u'Sales Team',
+		'validation_logic': u'name is not null'
 	}
-]
+]
\ No newline at end of file
diff --git a/erpnext/accounts/DocType Mapper/Project-Sales Invoice/Project-Sales Invoice.txt b/erpnext/accounts/DocType Mapper/Project-Sales Invoice/Project-Sales Invoice.txt
index cdcd24d..44cffbd 100644
--- a/erpnext/accounts/DocType Mapper/Project-Sales Invoice/Project-Sales Invoice.txt
+++ b/erpnext/accounts/DocType Mapper/Project-Sales Invoice/Project-Sales Invoice.txt
@@ -3,62 +3,62 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:47:59',
+		'creation': '2010-09-20 12:33:34',
 		'docstatus': 0,
-		'modified': '2011-09-15 15:04:43',
-		'modified_by': 'Administrator',
-		'owner': 'ashwini@webnotestech.com'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'ashwini@webnotestech.com'
 	},
 
 	# These values are common for all Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_table': 'Project',
+		'doctype': u'Table Mapper Detail',
+		'from_table': u'Project',
 		'match_id': 0,
 		'name': '__common__',
-		'parent': 'Project-Sales Invoice',
-		'parentfield': 'table_mapper_details',
-		'parenttype': 'DocType Mapper',
-		'to_table': 'Sales Invoice',
-		'validation_logic': 'name is not null'
+		'parent': u'Project-Sales Invoice',
+		'parentfield': u'table_mapper_details',
+		'parenttype': u'DocType Mapper',
+		'to_table': u'Sales Invoice',
+		'validation_logic': u'name is not null'
 	},
 
 	# These values are common for all Field Mapper Detail
 	{
-		'checking_operator': '=',
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'customer',
-		'map': 'Yes',
+		'checking_operator': u'=',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'customer',
+		'map': u'Yes',
 		'match_id': 0,
 		'name': '__common__',
-		'parent': 'Project-Sales Invoice',
-		'parentfield': 'field_mapper_details',
-		'parenttype': 'DocType Mapper',
-		'to_field': 'customer'
+		'parent': u'Project-Sales Invoice',
+		'parentfield': u'field_mapper_details',
+		'parenttype': u'DocType Mapper',
+		'to_field': u'customer'
 	},
 
 	# These values are common for all DocType Mapper
 	{
 		'doctype': 'DocType Mapper',
-		'from_doctype': 'Project',
-		'module': 'Accounts',
+		'from_doctype': u'Project',
+		'module': u'Accounts',
 		'name': '__common__',
-		'to_doctype': 'Sales Invoice'
+		'to_doctype': u'Sales Invoice'
 	},
 
 	# DocType Mapper, Project-Sales Invoice
 	{
 		'doctype': 'DocType Mapper',
-		'name': 'Project-Sales Invoice'
+		'name': u'Project-Sales Invoice'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail'
+		'doctype': u'Field Mapper Detail'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail'
+		'doctype': u'Table Mapper Detail'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/DocType Mapper/Purchase Order-Purchase Invoice/Purchase Order-Purchase Invoice.txt b/erpnext/accounts/DocType Mapper/Purchase Order-Purchase Invoice/Purchase Order-Purchase Invoice.txt
index 5949efe..5e06ad3 100644
--- a/erpnext/accounts/DocType Mapper/Purchase Order-Purchase Invoice/Purchase Order-Purchase Invoice.txt
+++ b/erpnext/accounts/DocType Mapper/Purchase Order-Purchase Invoice/Purchase Order-Purchase Invoice.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:35',
+		'creation': '2010-09-20 12:33:34',
 		'docstatus': 0,
-		'modified': '2012-02-07 13:28:31',
+		'modified': '2012-03-30 13:33:31',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
diff --git a/erpnext/accounts/DocType Mapper/Purchase Receipt-Purchase Invoice/Purchase Receipt-Purchase Invoice.txt b/erpnext/accounts/DocType Mapper/Purchase Receipt-Purchase Invoice/Purchase Receipt-Purchase Invoice.txt
index f620ec6..092c8df 100644
--- a/erpnext/accounts/DocType Mapper/Purchase Receipt-Purchase Invoice/Purchase Receipt-Purchase Invoice.txt
+++ b/erpnext/accounts/DocType Mapper/Purchase Receipt-Purchase Invoice/Purchase Receipt-Purchase Invoice.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:35',
+		'creation': '2010-09-20 12:33:34',
 		'docstatus': 0,
-		'modified': '2012-02-06 15:26:25',
+		'modified': '2012-03-30 13:33:31',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
diff --git a/erpnext/accounts/DocType Mapper/Sales Order-Sales Invoice/Sales Order-Sales Invoice.txt b/erpnext/accounts/DocType Mapper/Sales Order-Sales Invoice/Sales Order-Sales Invoice.txt
index f31e5da..efa1291 100644
--- a/erpnext/accounts/DocType Mapper/Sales Order-Sales Invoice/Sales Order-Sales Invoice.txt
+++ b/erpnext/accounts/DocType Mapper/Sales Order-Sales Invoice/Sales Order-Sales Invoice.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-09-20 12:33:35',
 		'docstatus': 0,
-		'modified': '2012-03-28 19:19:38',
+		'modified': '2012-03-30 13:33:31',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
diff --git a/erpnext/accounts/GL Mapper/Payable Voucher/Payable Voucher.txt b/erpnext/accounts/GL Mapper/Purchase Invoice/Purchase Invoice.txt
similarity index 100%
rename from erpnext/accounts/GL Mapper/Payable Voucher/Payable Voucher.txt
rename to erpnext/accounts/GL Mapper/Purchase Invoice/Purchase Invoice.txt
diff --git a/erpnext/accounts/GL Mapper/Receivable Voucher/Receivable Voucher.txt b/erpnext/accounts/GL Mapper/Sales Invoice/Sales Invoice.txt
similarity index 100%
rename from erpnext/accounts/GL Mapper/Receivable Voucher/Receivable Voucher.txt
rename to erpnext/accounts/GL Mapper/Sales Invoice/Sales Invoice.txt
diff --git a/erpnext/accounts/doctype/form_16a/form_16a.txt b/erpnext/accounts/doctype/form_16a/form_16a.txt
index 41a8a04..96ebb19 100644
--- a/erpnext/accounts/doctype/form_16a/form_16a.txt
+++ b/erpnext/accounts/doctype/form_16a/form_16a.txt
@@ -279,7 +279,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'return_details',
 		'fieldtype': u'Section Break',
-		'label': u'Sales and Purchase Return Items',
+		'label': u'Return Details',
 		'oldfieldtype': u'Section Break',
 		'permlevel': 0
 	},
@@ -434,4 +434,4 @@
 		'oldfieldtype': u'Data',
 		'permlevel': 0
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/accounts/doctype/pos_setting/pos_setting.txt b/erpnext/accounts/doctype/pos_setting/pos_setting.txt
index 5167842..b1b90e6 100755
--- a/erpnext/accounts/doctype/pos_setting/pos_setting.txt
+++ b/erpnext/accounts/doctype/pos_setting/pos_setting.txt
@@ -263,7 +263,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'tc_name',
 		'fieldtype': u'Link',
-		'label': u'Terms',
+		'label': u'Terms and Conditions',
 		'oldfieldname': u'tc_name',
 		'oldfieldtype': u'Link',
 		'options': u'Terms and Conditions'
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.txt b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.txt
index 08efc81..bc59d22 100755
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.txt
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.txt
@@ -522,7 +522,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'description': u'Add / Edit taxes and other charges',
+		'description': u'Add / Edit Taxes and Charges',
 		'doctype': u'DocField',
 		'fieldname': u'taxes',
 		'fieldtype': u'Section Break',
@@ -536,7 +536,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'purchase_other_charges',
 		'fieldtype': u'Link',
-		'label': u'Purchase Taxes and Charges Master',
+		'label': u'Purchase Taxes and Charges',
 		'oldfieldname': u'purchase_other_charges',
 		'oldfieldtype': u'Link',
 		'options': u'Purchase Taxes and Charges Master',
@@ -561,7 +561,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'purchase_tax_details',
 		'fieldtype': u'Table',
-		'label': u'Purchase Taxes and Chargess',
+		'label': u'Purchase Taxes and Charges',
 		'oldfieldname': u'purchase_tax_details',
 		'oldfieldtype': u'Table',
 		'options': u'Purchase Taxes and Charges',
@@ -915,7 +915,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_added',
 		'fieldtype': u'Currency',
-		'label': u'Other Charges Added',
+		'label': u'Taxes and Charges Added',
 		'oldfieldname': u'other_charges_added',
 		'oldfieldtype': u'Currency',
 		'permlevel': 1,
@@ -927,7 +927,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_deducted',
 		'fieldtype': u'Currency',
-		'label': u'Other Charges Deducted',
+		'label': u'Taxes and Charges Deducted',
 		'oldfieldname': u'other_charges_deducted',
 		'oldfieldtype': u'Currency',
 		'permlevel': 1,
@@ -1057,7 +1057,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_added_import',
 		'fieldtype': u'Currency',
-		'label': u'Other Charges Added (Import)',
+		'label': u'Taxes and Charges Added (Import)',
 		'oldfieldname': u'other_charges_added_import',
 		'oldfieldtype': u'Currency',
 		'permlevel': 1,
@@ -1069,7 +1069,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_deducted_import',
 		'fieldtype': u'Currency',
-		'label': u'Other Charges Deducted (Import)',
+		'label': u'Taxes and Charges Deducted (Import)',
 		'oldfieldname': u'other_charges_deducted_import',
 		'oldfieldtype': u'Currency',
 		'permlevel': 1,
@@ -1141,4 +1141,4 @@
 		'print_hide': 1,
 		'report_hide': 0
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.txt b/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.txt
index 213f350..236b75e 100755
--- a/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.txt
+++ b/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.txt
@@ -320,7 +320,7 @@
 
 	# DocField
 	{
-		'description': u'Tax detail table fetched from item master as a string and stored in this field.\nUsed for Purchase Other Charges',
+		'description': u'Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges',
 		'doctype': u'DocField',
 		'fieldname': u'item_tax_rate',
 		'fieldtype': u'Small Text',
@@ -345,4 +345,4 @@
 		'print_hide': 1,
 		'report_hide': 1
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.txt b/erpnext/accounts/doctype/sales_invoice/sales_invoice.txt
index 01d502e..7466d4e 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.txt
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.txt
@@ -696,7 +696,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'taxes',
 		'fieldtype': u'Section Break',
-		'label': u'Taxes',
+		'label': u'Taxes and Charges',
 		'oldfieldtype': u'Section Break',
 		'permlevel': 0
 	},
@@ -706,7 +706,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'charge',
 		'fieldtype': u'Link',
-		'label': u'Charge',
+		'label': u'Taxes and Charges',
 		'oldfieldname': u'charge',
 		'oldfieldtype': u'Link',
 		'options': u'Sales Taxes and Charges Master',
@@ -719,7 +719,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'get_charges',
 		'fieldtype': u'Button',
-		'label': u'Get Charges',
+		'label': u'Get Taxes and Charges',
 		'oldfieldtype': u'Button',
 		'permlevel': 0,
 		'print_hide': 1,
@@ -733,7 +733,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges',
 		'fieldtype': u'Table',
-		'label': u'Taxes1',
+		'label': u'Taxes and Charges1',
 		'oldfieldname': u'other_charges',
 		'oldfieldtype': u'Table',
 		'options': u'Sales Taxes and Charges',
@@ -745,7 +745,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'calculate_charges',
 		'fieldtype': u'Button',
-		'label': u'Calculate Charges',
+		'label': u'Calculate Taxes and Charges',
 		'oldfieldtype': u'Button',
 		'permlevel': 0,
 		'print_hide': 1,
@@ -757,7 +757,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_total',
 		'fieldtype': u'Currency',
-		'label': u'Total Charges',
+		'label': u'Total Taxes and Charges',
 		'oldfieldname': u'other_charges_total',
 		'oldfieldtype': u'Currency',
 		'permlevel': 1,
@@ -769,7 +769,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_calculation',
 		'fieldtype': u'HTML',
-		'label': u'Other Charges Calculation',
+		'label': u'Taxes and Charges Calculation',
 		'oldfieldtype': u'HTML',
 		'permlevel': 0,
 		'print_hide': 1
@@ -947,7 +947,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms_section_break',
 		'fieldtype': u'Section Break',
-		'label': u'Terms',
+		'label': u'Terms and Conditions',
 		'oldfieldtype': u'Section Break',
 		'permlevel': 0
 	},
@@ -957,7 +957,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'tc_name',
 		'fieldtype': u'Link',
-		'label': u'Select Terms',
+		'label': u'Select Terms and Conditions',
 		'oldfieldname': u'tc_name',
 		'oldfieldtype': u'Link',
 		'options': u'Terms and Conditions',
@@ -971,7 +971,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'get_terms',
 		'fieldtype': u'Button',
-		'label': u'Get Terms',
+		'label': u'Get Terms and Conditions',
 		'oldfieldtype': u'Button',
 		'options': u'get_tc_details',
 		'permlevel': 0,
@@ -985,7 +985,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms_html',
 		'fieldtype': u'HTML',
-		'label': u'Terms HTML',
+		'label': u'Terms and Conditions HTML',
 		'oldfieldtype': u'HTML',
 		'options': u'You can add Terms and Notes that will be printed in the Transaction',
 		'permlevel': 0,
diff --git a/erpnext/accounts/search_criteria/accounts_payable/accounts_payable.txt b/erpnext/accounts/search_criteria/accounts_payable/accounts_payable.txt
index 8d701ec..568cbbc 100644
--- a/erpnext/accounts/search_criteria/accounts_payable/accounts_payable.txt
+++ b/erpnext/accounts/search_criteria/accounts_payable/accounts_payable.txt
@@ -3,30 +3,30 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-10-22 16:28:49',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-10-22 15:16:03',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'GL Entry\x01Posting Date,GL Entry\x01Account,GL Entry\x01Against Voucher,GL Entry\x01Voucher No',
-		'criteria_name': 'Accounts Payable',
-		'doc_type': 'GL Entry',
+		'columns': u'GL Entry\x01Posting Date,GL Entry\x01Account,GL Entry\x01Against Voucher,GL Entry\x01Voucher No',
+		'criteria_name': u'Accounts Payable',
+		'doc_type': u'GL Entry',
 		'doctype': 'Search Criteria',
-		'filters': "{'GL Entry\x01Is Cancelled':'','GL Entry\x01Fiscal Year':'','GL Entry\x01Company':'','Purchase Invoice\x01Aging Based On':'Posting Date','GL Entry\x01Range 1':'30','GL Entry\x01Range 2':'45','GL Entry\x01Range 3':'60','GL Entry\x01Range 4':'90'}",
-		'module': 'Accounts',
+		'filters': u"{'GL Entry\x01Is Cancelled':'','GL Entry\x01Fiscal Year':'','GL Entry\x01Company':'','Purchase Invoice\x01Aging Based On':'Posting Date','GL Entry\x01Range 1':'30','GL Entry\x01Range 2':'45','GL Entry\x01Range 3':'60','GL Entry\x01Range 4':'90'}",
+		'module': u'Accounts',
 		'name': '__common__',
-		'sort_by': '`tabGL Entry`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabGL Entry`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, accounts_payable
 	{
 		'doctype': 'Search Criteria',
-		'name': 'accounts_payable'
+		'name': u'accounts_payable'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.txt b/erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.txt
index 2474eb7..1ecfb07 100644
--- a/erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.txt
+++ b/erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.txt
@@ -3,30 +3,30 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-10-19 10:32:39',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-10-19 10:29:38',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'GL Entry\x01Posting Date,GL Entry\x01Transaction Date,GL Entry\x01Account,GL Entry\x01Against Voucher,GL Entry\x01Voucher No',
-		'criteria_name': 'Accounts Receivable',
-		'doc_type': 'GL Entry',
+		'columns': u'GL Entry\x01Posting Date,GL Entry\x01Transaction Date,GL Entry\x01Account,GL Entry\x01Against Voucher,GL Entry\x01Voucher No',
+		'criteria_name': u'Accounts Receivable',
+		'doc_type': u'GL Entry',
 		'doctype': 'Search Criteria',
-		'filters': "{'GL Entry\x01Is Cancelled':'No','GL Entry\x01Fiscal Year':'','GL Entry\x01Company':'','GL Entry\x01Range 1':'30','GL Entry\x01Range 2':'45','GL Entry\x01Range 3':'60','GL Entry\x01Range 4':'90'}",
-		'module': 'Accounts',
+		'filters': u"{'GL Entry\x01Is Cancelled':'No','GL Entry\x01Fiscal Year':'','GL Entry\x01Company':'','GL Entry\x01Range 1':'30','GL Entry\x01Range 2':'45','GL Entry\x01Range 3':'60','GL Entry\x01Range 4':'90'}",
+		'module': u'Accounts',
 		'name': '__common__',
-		'sort_by': '`tabGL Entry`.`name`',
-		'sort_order': 'ASC',
-		'standard': 'Yes'
+		'sort_by': u'`tabGL Entry`.`name`',
+		'sort_order': u'ASC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, accounts_receivable
 	{
 		'doctype': 'Search Criteria',
-		'name': 'accounts_receivable'
+		'name': u'accounts_receivable'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/bank_clearance_report/bank_clearance_report.txt b/erpnext/accounts/search_criteria/bank_clearance_report/bank_clearance_report.txt
index 5103fd7..27064a7 100644
--- a/erpnext/accounts/search_criteria/bank_clearance_report/bank_clearance_report.txt
+++ b/erpnext/accounts/search_criteria/bank_clearance_report/bank_clearance_report.txt
@@ -3,34 +3,34 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-06-09 16:14:13',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Journal Voucher\x01ID,Journal Voucher Detail\x01Account,Journal Voucher Detail\x01Debit,Journal Voucher Detail\x01Credit,Journal Voucher\x01Clearance Date,Journal Voucher\x01Cheque No,Journal Voucher\x01Cheque Date,Journal Voucher\x01Voucher Date,Journal Voucher\x01Posting Date,Journal Voucher Detail\x01Against Payable,Journal Voucher Detail\x01Against Receivable',
-		'criteria_name': 'Bank Clearance report',
-		'description': 'Bank Clearance report',
-		'dis_filters': 'fiscal_year',
-		'doc_type': 'Journal Voucher Detail',
+		'columns': u'Journal Voucher\x01ID,Journal Voucher Detail\x01Account,Journal Voucher Detail\x01Debit,Journal Voucher Detail\x01Credit,Journal Voucher\x01Clearance Date,Journal Voucher\x01Cheque No,Journal Voucher\x01Cheque Date,Journal Voucher\x01Voucher Date,Journal Voucher\x01Posting Date,Journal Voucher Detail\x01Against Payable,Journal Voucher Detail\x01Against Receivable',
+		'criteria_name': u'Bank Clearance report',
+		'description': u'Bank Clearance report',
+		'dis_filters': u'fiscal_year',
+		'doc_type': u'Journal Voucher Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Journal Voucher\x01Submitted':1,'Journal Voucher\x01Voucher Type':'','Journal Voucher\x01Is Opening':'','Journal Voucher\x01Fiscal Year':'','Journal Voucher\x01Company':'','Journal Voucher\x01TDS Applicable':'','Journal Voucher\x01TDS Category':''}",
-		'module': 'Accounts',
+		'filters': u"{'Journal Voucher\x01Submitted':1,'Journal Voucher\x01Voucher Type':'','Journal Voucher\x01Is Opening':'','Journal Voucher\x01Fiscal Year':'','Journal Voucher\x01Company':'','Journal Voucher\x01TDS Applicable':'','Journal Voucher\x01TDS Category':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Journal Voucher',
-		'sort_by': 'ID',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Journal Voucher',
+		'sort_by': u'ID',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, bank_clearance_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'bank_clearance_report'
+		'name': u'bank_clearance_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.txt b/erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.txt
index 26566cc..51623a5 100644
--- a/erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.txt
+++ b/erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.txt
@@ -3,34 +3,34 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-11-01 10:56:14',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-10-29 16:36:00',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': "(`tabJournal Voucher Detail`.credit >= 0 or `tabJournal Voucher Detail`.credit is null)\n(`tabJournal Voucher`.cheque_no is not null or `tabJournal Voucher`.cheque_no != '')\n(ifnull(`tabJournal Voucher`.clearance_date, '0000-00-00') >'%(clearance_date1)s' or `tabJournal Voucher`.clearance_date is null or `tabJournal Voucher`.clearance_date = '0000-00-00')\n(`tabJournal Voucher`.posting_date <= '%(clearance_date1)s')",
-		'columns': 'Journal Voucher\x01ID,Journal Voucher\x01Posting Date,Journal Voucher\x01Cheque No,Journal Voucher\x01Cheque Date,Journal Voucher\x01Clearance Date,Journal Voucher Detail\x01Account,Journal Voucher Detail\x01Debit,Journal Voucher Detail\x01Credit,Journal Voucher Detail\x01Against Account',
-		'criteria_name': 'Bank Reconciliation Statement',
-		'dis_filters': 'clearance_date\nfiscal_year',
-		'doc_type': 'Journal Voucher Detail',
+		'add_cond': u"(`tabJournal Voucher Detail`.credit >= 0 or `tabJournal Voucher Detail`.credit is null)\n(`tabJournal Voucher`.cheque_no is not null or `tabJournal Voucher`.cheque_no != '')\n(ifnull(`tabJournal Voucher`.clearance_date, '0000-00-00') >'%(clearance_date1)s' or `tabJournal Voucher`.clearance_date is null or `tabJournal Voucher`.clearance_date = '0000-00-00')\n(`tabJournal Voucher`.posting_date <= '%(clearance_date1)s')",
+		'columns': u'Journal Voucher\x01ID,Journal Voucher\x01Posting Date,Journal Voucher\x01Cheque No,Journal Voucher\x01Cheque Date,Journal Voucher\x01Clearance Date,Journal Voucher Detail\x01Account,Journal Voucher Detail\x01Debit,Journal Voucher Detail\x01Credit,Journal Voucher Detail\x01Against Account',
+		'criteria_name': u'Bank Reconciliation Statement',
+		'dis_filters': u'clearance_date\nfiscal_year',
+		'doc_type': u'Journal Voucher Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Journal Voucher\x01Submitted':1,'Journal Voucher\x01Voucher Type':'','Journal Voucher\x01Is Opening':'','Journal Voucher\x01Company':'','Journal Voucher\x01TDS Applicable':'','Journal Voucher\x01TDS Category':''}",
-		'module': 'Accounts',
+		'filters': u"{'Journal Voucher\x01Submitted':1,'Journal Voucher\x01Voucher Type':'','Journal Voucher\x01Is Opening':'','Journal Voucher\x01Company':'','Journal Voucher\x01TDS Applicable':'','Journal Voucher\x01TDS Category':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Journal Voucher',
-		'sort_by': '`tabJournal Voucher`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Journal Voucher',
+		'sort_by': u'`tabJournal Voucher`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, bank_reconciliation_statement
 	{
 		'doctype': 'Search Criteria',
-		'name': 'bank_reconciliation_statement'
+		'name': u'bank_reconciliation_statement'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.txt b/erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.txt
index 00467ea..7b9b924 100644
--- a/erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.txt
+++ b/erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2011-05-23 16:07:41',
-		'modified_by': 'Administrator',
-		'owner': 'harshada@webnotestech.com'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'harshada@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'criteria_name': 'Budget Variance Report',
-		'doc_type': 'Budget Detail',
+		'criteria_name': u'Budget Variance Report',
+		'doc_type': u'Budget Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Budget Detail\x01Fiscal Year':''}",
-		'module': 'Accounts',
+		'filters': u"{'Budget Detail\x01Fiscal Year':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Cost Center',
-		'sort_by': '`tabCost Center`.`lft`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Cost Center',
+		'sort_by': u'`tabCost Center`.`lft`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, budget_variance_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'budget_variance_report'
+		'name': u'budget_variance_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.txt b/erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.txt
index 1b60cef..59a1f5e 100644
--- a/erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.txt
+++ b/erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.txt
@@ -3,34 +3,34 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-26 11:52:28',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-08-26 11:49:50',
-		'modified_by': 'Administrator',
-		'owner': 'saumil@webnotestech.com'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'saumil@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': "SUM(`tabSales Invoice`.`total_commission`) AS 'Total Commission'\nSUM(`tabSales Invoice`.`net_total`) AS 'Net Total'\n((SUM(`tabSales Invoice`.`total_commission`) / SUM(`tabSales Invoice`.`net_total`)) * 100) AS 'Average Commission Rate'",
-		'add_cond': '`tabSales Invoice`.`net_total` > 0\n`tabSales Invoice`.`total_commission` > 0',
-		'columns': 'Sales Invoice\x01Business Associate',
-		'criteria_name': 'Business Associate Commission Report',
-		'description': 'Track total commission given to your Business Associate',
-		'doc_type': 'Sales Invoice',
+		'add_col': u"SUM(`tabSales Invoice`.`total_commission`) AS 'Total Commission'\nSUM(`tabSales Invoice`.`net_total`) AS 'Net Total'\n((SUM(`tabSales Invoice`.`total_commission`) / SUM(`tabSales Invoice`.`net_total`)) * 100) AS 'Average Commission Rate'",
+		'add_cond': u'`tabSales Invoice`.`net_total` > 0\n`tabSales Invoice`.`total_commission` > 0',
+		'columns': u'Sales Invoice\x01Business Associate',
+		'criteria_name': u'Business Associate Commission Report',
+		'description': u'Track total commission given to your Business Associate',
+		'doc_type': u'Sales Invoice',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Invoice\x01Submitted':1}",
-		'group_by': '`tabSales Invoice`.sales_partner',
-		'module': 'Accounts',
+		'filters': u"{'Sales Invoice\x01Submitted':1}",
+		'group_by': u'`tabSales Invoice`.sales_partner',
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, business_associate_commission_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'business_associate_commission_report'
+		'name': u'business_associate_commission_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.txt b/erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.txt
index dc3d985..600ebb7 100644
--- a/erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.txt
+++ b/erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-11-01 10:56:14',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-10-29 16:39:19',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Account\x01ID',
-		'criteria_name': 'Cash Flow Statement',
-		'dis_filters': 'fiscal_year\ntransaction_date',
-		'doc_type': 'Account',
+		'columns': u'Account\x01ID',
+		'criteria_name': u'Cash Flow Statement',
+		'dis_filters': u'fiscal_year\ntransaction_date',
+		'doc_type': u'Account',
 		'doctype': 'Search Criteria',
-		'filters': "{'Account\x01Group or Ledger':'Ledger','Account\x01Is PL Account':'','Account\x01Is Active':'','Account\x01Account Type':'','Account\x01Company':'','Account\x01Fiscal Year':'','Account\x01Show Group Balance':'','Account\x01Level':'2'}",
-		'module': 'Accounts',
+		'filters': u"{'Account\x01Group or Ledger':'Ledger','Account\x01Is PL Account':'','Account\x01Is Active':'','Account\x01Account Type':'','Account\x01Company':'','Account\x01Fiscal Year':'','Account\x01Show Group Balance':'','Account\x01Level':'2'}",
+		'module': u'Accounts',
 		'name': '__common__',
-		'sort_by': '`tabAccount`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabAccount`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, cash_flow_statement
 	{
 		'doctype': 'Search Criteria',
-		'name': 'cash_flow_statement'
+		'name': u'cash_flow_statement'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/collection_report/collection_report.txt b/erpnext/accounts/search_criteria/collection_report/collection_report.txt
index 21c143f..19d6491 100644
--- a/erpnext/accounts/search_criteria/collection_report/collection_report.txt
+++ b/erpnext/accounts/search_criteria/collection_report/collection_report.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-10-05 12:51:20',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-10-01 11:29:51',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Journal Voucher\x01ID,Journal Voucher\x01Posting Date,Journal Voucher\x01Company,Journal Voucher\x01Cheque No,Journal Voucher\x01Cheque Date,Journal Voucher Detail\x01Account,Journal Voucher Detail\x01Credit,Journal Voucher Detail\x01Against Receivable,Journal Voucher Detail\x01Is Advance',
-		'criteria_name': 'Collection Report',
-		'doc_type': 'Journal Voucher Detail',
+		'columns': u'Journal Voucher\x01ID,Journal Voucher\x01Posting Date,Journal Voucher\x01Company,Journal Voucher\x01Cheque No,Journal Voucher\x01Cheque Date,Journal Voucher Detail\x01Account,Journal Voucher Detail\x01Credit,Journal Voucher Detail\x01Against Receivable,Journal Voucher Detail\x01Is Advance',
+		'criteria_name': u'Collection Report',
+		'doc_type': u'Journal Voucher Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Journal Voucher\x01Saved':1,'Journal Voucher\x01Submitted':1,'Journal Voucher\x01Voucher Type':'','Journal Voucher\x01Is Opening':'','Journal Voucher\x01Company':'','Journal Voucher\x01TDS Applicable':'','Journal Voucher\x01TDS Category':'','GL Entry\x01Range 1':'30','GL Entry\x01Range 2':'45','GL Entry\x01Range 3':'60','GL Entry\x01Range 4':'90'}",
-		'module': 'Accounts',
+		'filters': u"{'Journal Voucher\x01Saved':1,'Journal Voucher\x01Submitted':1,'Journal Voucher\x01Voucher Type':'','Journal Voucher\x01Is Opening':'','Journal Voucher\x01Company':'','Journal Voucher\x01TDS Applicable':'','Journal Voucher\x01TDS Category':'','GL Entry\x01Range 1':'30','GL Entry\x01Range 2':'45','GL Entry\x01Range 3':'60','GL Entry\x01Range 4':'90'}",
+		'module': u'Accounts',
 		'name': '__common__',
-		'parent_doc_type': 'Journal Voucher',
-		'sort_by': '`tabJournal Voucher`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Journal Voucher',
+		'sort_by': u'`tabJournal Voucher`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, collection_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'collection_report'
+		'name': u'collection_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.txt b/erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.txt
index 72d173e..a9dd156 100644
--- a/erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.txt
+++ b/erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-06-10 13:19:39',
-		'modified_by': 'Administrator',
-		'owner': 'swarnalata@webnotestech.com'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'swarnalata@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'criteria_name': 'Cost Center wise Expense',
-		'dis_filters': 'fiscal_year',
-		'doc_type': 'GL Entry',
+		'criteria_name': u'Cost Center wise Expense',
+		'dis_filters': u'fiscal_year',
+		'doc_type': u'GL Entry',
 		'doctype': 'Search Criteria',
-		'filters': "{'GL Entry\x01Voucher Type':'','GL Entry\x01Is Cancelled':'','GL Entry\x01Fiscal Year':'','GL Entry\x01Company':''}",
-		'module': 'Accounts',
+		'filters': u"{'GL Entry\x01Voucher Type':'','GL Entry\x01Is Cancelled':'','GL Entry\x01Fiscal Year':'','GL Entry\x01Company':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabGL Entry`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabGL Entry`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, cost_center_wise_expense
 	{
 		'doctype': 'Search Criteria',
-		'name': 'cost_center_wise_expense'
+		'name': u'cost_center_wise_expense'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.txt b/erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.txt
index aa7751a..2b6398c 100644
--- a/erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.txt
+++ b/erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.txt
@@ -3,29 +3,29 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:28',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-11-22 17:05:46',
-		'modified_by': 'Administrator',
-		'owner': 'nabin@webnotestech.com'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'nabin@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'criteria_name': "Creditor's Ledger",
-		'doc_type': 'GL Entry',
+		'criteria_name': u"Creditor's Ledger",
+		'doc_type': u'GL Entry',
 		'doctype': 'Search Criteria',
-		'filters': "{'GL Entry\x01Voucher Type':'','GL Entry\x01Is Cancelled':'','GL Entry\x01Is Opening':'','GL Entry\x01Fiscal Year':''}",
-		'module': 'Accounts',
+		'filters': u"{'GL Entry\x01Voucher Type':'','GL Entry\x01Is Cancelled':'','GL Entry\x01Is Opening':'','GL Entry\x01Fiscal Year':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, creditors_ledger
 	{
 		'doctype': 'Search Criteria',
-		'name': 'creditors_ledger'
+		'name': u'creditors_ledger'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.txt b/erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.txt
index 4ba71f0..04e9132 100644
--- a/erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.txt
+++ b/erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.txt
@@ -3,29 +3,29 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:28',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-11-22 17:02:05',
-		'modified_by': 'Administrator',
-		'owner': 'nabin@webnotestech.com'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'nabin@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'criteria_name': "Debtor's Ledger",
-		'doc_type': 'GL Entry',
+		'criteria_name': u"Debtor's Ledger",
+		'doc_type': u'GL Entry',
 		'doctype': 'Search Criteria',
-		'filters': "{'GL Entry\x01Voucher Type':'','GL Entry\x01Is Cancelled':'No','GL Entry\x01Is Opening':'','GL Entry\x01Fiscal Year':''}",
-		'module': 'Accounts',
+		'filters': u"{'GL Entry\x01Voucher Type':'','GL Entry\x01Is Cancelled':'No','GL Entry\x01Is Opening':'','GL Entry\x01Fiscal Year':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, debtors_ledger
 	{
 		'doctype': 'Search Criteria',
-		'name': 'debtors_ledger'
+		'name': u'debtors_ledger'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/general_ledger/general_ledger.txt b/erpnext/accounts/search_criteria/general_ledger/general_ledger.txt
index 6401ff4..26468b0 100644
--- a/erpnext/accounts/search_criteria/general_ledger/general_ledger.txt
+++ b/erpnext/accounts/search_criteria/general_ledger/general_ledger.txt
@@ -3,30 +3,30 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:28',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-11-30 16:26:42',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'criteria_name': 'General Ledger',
-		'doc_type': 'GL Entry',
+		'criteria_name': u'General Ledger',
+		'doc_type': u'GL Entry',
 		'doctype': 'Search Criteria',
-		'filters': "{'GL Entry\x01From Posting Date\x01lower':'','GL Entry\x01To Posting Date\x01upper':'','GL Entry\x01Voucher Type':'','GL Entry\x01Is Cancelled':'No','GL Entry\x01Is Opening':'','GL Entry\x01Fiscal Year':'','GL Entry\x01Company':''}",
-		'module': 'Accounts',
+		'filters': u"{'GL Entry\x01From Posting Date\x01lower':'','GL Entry\x01To Posting Date\x01upper':'','GL Entry\x01Voucher Type':'','GL Entry\x01Is Cancelled':'No','GL Entry\x01Is Opening':'','GL Entry\x01Fiscal Year':'','GL Entry\x01Company':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabGL Entry`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabGL Entry`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, general_ledger
 	{
 		'doctype': 'Search Criteria',
-		'name': 'general_ledger'
+		'name': u'general_ledger'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.txt b/erpnext/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.txt
index 29004ea..bb4289d 100644
--- a/erpnext/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.txt
+++ b/erpnext/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.txt
@@ -3,34 +3,34 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-10 16:53:49',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2011-06-20 13:25:29',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Purchase Invoice\x01ID,Purchase Invoice\x01Credit To,Purchase Invoice\x01Company,Purchase Invoice Item\x01Item,Purchase Invoice Item\x01Item Name,Purchase Invoice Item\x01Expense Head,Purchase Invoice Item\x01Cost Center,Purchase Invoice Item\x01Qty,Purchase Invoice Item\x01Rate (Default Curr.),Purchase Invoice Item\x01Amount (Default Curr.)',
-		'criteria_name': 'Itemwise Purchase Register',
-		'description': 'Itemwise Purchase Register',
-		'dis_filters': 'fiscal_year',
-		'doc_type': 'Purchase Invoice Item',
+		'columns': u'Purchase Invoice\x01ID,Purchase Invoice\x01Credit To,Purchase Invoice\x01Company,Purchase Invoice Item\x01Item,Purchase Invoice Item\x01Item Name,Purchase Invoice Item\x01Expense Head,Purchase Invoice Item\x01Cost Center,Purchase Invoice Item\x01Qty,Purchase Invoice Item\x01Rate (Default Curr.),Purchase Invoice Item\x01Amount (Default Curr.)',
+		'criteria_name': u'Itemwise Purchase Register',
+		'description': u'Itemwise Purchase Register',
+		'dis_filters': u'fiscal_year',
+		'doc_type': u'Purchase Invoice Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Purchase Invoice\x01Submitted':1,'Purchase Invoice\x01Is Opening':'No','Purchase Invoice\x01Company':'','Purchase Invoice\x01Fiscal Year':''}",
-		'module': 'Accounts',
+		'filters': u"{'Purchase Invoice\x01Submitted':1,'Purchase Invoice\x01Is Opening':'No','Purchase Invoice\x01Company':'','Purchase Invoice\x01Fiscal Year':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Purchase Invoice',
-		'sort_by': '`tabPurchase Invoice`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Purchase Invoice',
+		'sort_by': u'`tabPurchase Invoice`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, itemwise_purchase_register
 	{
 		'doctype': 'Search Criteria',
-		'name': 'itemwise_purchase_register'
+		'name': u'itemwise_purchase_register'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.txt b/erpnext/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.txt
index 82eee4d..4614263 100644
--- a/erpnext/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.txt
+++ b/erpnext/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-01-19 17:33:33',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2011-06-20 16:30:41',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Sales Invoice Item\x01Item,Sales Invoice Item\x01Item Name,Sales Invoice Item\x01Item Group,Sales Invoice\x01ID,Sales Invoice\x01Voucher Date,Sales Invoice\x01Posting Date,Sales Invoice\x01Debit To,Sales Invoice Item\x01Cost Center,Sales Invoice\x01Territory,Sales Invoice Item\x01Income Account,Sales Invoice Item\x01Qty,Sales Invoice Item\x01Basic Rate*,Sales Invoice Item\x01Amount*',
-		'criteria_name': 'Itemwise Sales Register',
-		'doc_type': 'Sales Invoice Item',
+		'columns': u'Sales Invoice Item\x01Item,Sales Invoice Item\x01Item Name,Sales Invoice Item\x01Item Group,Sales Invoice\x01ID,Sales Invoice\x01Voucher Date,Sales Invoice\x01Posting Date,Sales Invoice\x01Debit To,Sales Invoice Item\x01Cost Center,Sales Invoice\x01Territory,Sales Invoice Item\x01Income Account,Sales Invoice Item\x01Qty,Sales Invoice Item\x01Basic Rate*,Sales Invoice Item\x01Amount*',
+		'criteria_name': u'Itemwise Sales Register',
+		'doc_type': u'Sales Invoice Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Invoice\x01Submitted':1,'Sales Invoice\x01From Posting Date\x01lower':'','Sales Invoice\x01To Posting Date\x01upper':'','Sales Invoice\x01Is Opening':'','Sales Invoice\x01Company':'','Sales Invoice\x01Fiscal Year':''}",
-		'module': 'Accounts',
+		'filters': u"{'Sales Invoice\x01Submitted':1,'Sales Invoice\x01From Posting Date\x01lower':'','Sales Invoice\x01To Posting Date\x01upper':'','Sales Invoice\x01Is Opening':'','Sales Invoice\x01Company':'','Sales Invoice\x01Fiscal Year':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Sales Invoice',
-		'sort_by': '`tabSales Invoice Item`.`income_account`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Sales Invoice',
+		'sort_by': u'`tabSales Invoice Item`.`income_account`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, itemwise_sales_register
 	{
 		'doctype': 'Search Criteria',
-		'name': 'itemwise_sales_register'
+		'name': u'itemwise_sales_register'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.txt b/erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.txt
index fa527bb..3247aea 100644
--- a/erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.txt
+++ b/erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.txt
@@ -3,34 +3,34 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-06-09 16:30:43',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': "month(`tabGL Entry`.posting_date) AS 'Fiscal Month'\nsum(`tabGL Entry`.debit) AS 'Debit'\nsum(`tabGL Entry`.credit) AS 'Credit'",
-		'add_cond': '(`tabGL Entry`.debit > 0 or `tabGL Entry`.credit > 0)',
-		'criteria_name': 'Monthly Ledger Summary Report',
-		'dis_filters': 'company',
-		'doc_type': 'GL Entry',
+		'add_col': u"month(`tabGL Entry`.posting_date) AS 'Fiscal Month'\nsum(`tabGL Entry`.debit) AS 'Debit'\nsum(`tabGL Entry`.credit) AS 'Credit'",
+		'add_cond': u'(`tabGL Entry`.debit > 0 or `tabGL Entry`.credit > 0)',
+		'criteria_name': u'Monthly Ledger Summary Report',
+		'dis_filters': u'company',
+		'doc_type': u'GL Entry',
 		'doctype': 'Search Criteria',
-		'filters': "{'GL Entry\x01Voucher Type':'','GL Entry\x01Is Cancelled':'','GL Entry\x01Is Opening':''}",
-		'group_by': 'month(`tabGL Entry`.posting_date)',
-		'module': 'Accounts',
+		'filters': u"{'GL Entry\x01Voucher Type':'','GL Entry\x01Is Cancelled':'','GL Entry\x01Is Opening':''}",
+		'group_by': u'month(`tabGL Entry`.posting_date)',
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`Fiscal Month`',
-		'sort_order': 'ASC',
-		'standard': 'Yes'
+		'sort_by': u'`Fiscal Month`',
+		'sort_order': u'ASC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, monthly_ledger_summary_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'monthly_ledger_summary_report'
+		'name': u'monthly_ledger_summary_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.txt b/erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.txt
index 4a10aae..858fec2 100644
--- a/erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.txt
+++ b/erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-06-11 17:00:54',
-		'modified_by': 'Administrator',
-		'owner': 'jai@webnotestech.com'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'jai@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'GL Entry\x01ID,GL Entry\x01Owner,GL Entry\x01Posting Date,GL Entry\x01Account,GL Entry\x01Cost Center,GL Entry\x01Against Voucher,GL Entry\x01Voucher Type,GL Entry\x01Voucher No,GL Entry\x01Remarks,GL Entry\x01Is Cancelled,GL Entry\x01Is Opening,GL Entry\x01Fiscal Year,GL Entry\x01Company',
-		'criteria_name': 'Payment Receipt Report',
-		'doc_type': 'GL Entry',
+		'columns': u'GL Entry\x01ID,GL Entry\x01Owner,GL Entry\x01Posting Date,GL Entry\x01Account,GL Entry\x01Cost Center,GL Entry\x01Against Voucher,GL Entry\x01Voucher Type,GL Entry\x01Voucher No,GL Entry\x01Remarks,GL Entry\x01Is Cancelled,GL Entry\x01Is Opening,GL Entry\x01Fiscal Year,GL Entry\x01Company',
+		'criteria_name': u'Payment Receipt Report',
+		'doc_type': u'GL Entry',
 		'doctype': 'Search Criteria',
-		'filters': "{'GL Entry\x01Voucher Type':'','GL Entry\x01Is Cancelled':'','GL Entry\x01Is Opening':'','GL Entry\x01Fiscal Year':''}",
-		'module': 'Accounts',
+		'filters': u"{'GL Entry\x01Voucher Type':'','GL Entry\x01Is Cancelled':'','GL Entry\x01Is Opening':'','GL Entry\x01Fiscal Year':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabGL Entry`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabGL Entry`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, payment_receipt_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'payment_receipt_report'
+		'name': u'payment_receipt_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/payment_report/payment_report.txt b/erpnext/accounts/search_criteria/payment_report/payment_report.txt
index 1421025..2c22090 100644
--- a/erpnext/accounts/search_criteria/payment_report/payment_report.txt
+++ b/erpnext/accounts/search_criteria/payment_report/payment_report.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-06-10 09:48:52',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Journal Voucher\x01ID,Journal Voucher\x01Posting Date,Journal Voucher\x01Company,Journal Voucher\x01Cheque No,Journal Voucher\x01Cheque Date,Journal Voucher Detail\x01Account,Journal Voucher Detail\x01Debit,Journal Voucher Detail\x01Against Payable,Journal Voucher Detail\x01Is Advance',
-		'criteria_name': 'Payment Report',
-		'doc_type': 'Journal Voucher Detail',
+		'columns': u'Journal Voucher\x01ID,Journal Voucher\x01Posting Date,Journal Voucher\x01Company,Journal Voucher\x01Cheque No,Journal Voucher\x01Cheque Date,Journal Voucher Detail\x01Account,Journal Voucher Detail\x01Debit,Journal Voucher Detail\x01Against Payable,Journal Voucher Detail\x01Is Advance',
+		'criteria_name': u'Payment Report',
+		'doc_type': u'Journal Voucher Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Journal Voucher\x01Submitted':1,'Journal Voucher\x01Voucher Type':'','Journal Voucher\x01Is Opening':'','Journal Voucher\x01Company':'','Journal Voucher\x01TDS Applicable':'','Journal Voucher\x01TDS Category':'','GL Entry\x01Range 1':'30','GL Entry\x01Range 2':'45','GL Entry\x01Range 3':'60','GL Entry\x01Range 4':'90','Sales Invoice\x01Aging Based On':'','Purchase Invoice\x01Aging Based On':''}",
-		'module': 'Accounts',
+		'filters': u"{'Journal Voucher\x01Submitted':1,'Journal Voucher\x01Voucher Type':'','Journal Voucher\x01Is Opening':'','Journal Voucher\x01Company':'','Journal Voucher\x01TDS Applicable':'','Journal Voucher\x01TDS Category':'','GL Entry\x01Range 1':'30','GL Entry\x01Range 2':'45','GL Entry\x01Range 3':'60','GL Entry\x01Range 4':'90','Sales Invoice\x01Aging Based On':'','Purchase Invoice\x01Aging Based On':''}",
+		'module': u'Accounts',
 		'name': '__common__',
-		'parent_doc_type': 'Journal Voucher',
-		'sort_by': '`tabJournal Voucher`.`aging_date`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Journal Voucher',
+		'sort_by': u'`tabJournal Voucher`.`aging_date`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, payment_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'payment_report'
+		'name': u'payment_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.txt b/erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.txt
index 0748ba2..d0dae73 100644
--- a/erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.txt
+++ b/erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-11-01 10:56:14',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-10-29 16:44:43',
-		'modified_by': 'Administrator',
-		'owner': 'jai@webnotestech.com'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'jai@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Journal Voucher\x01ID,Journal Voucher\x01Owner,Journal Voucher\x01Voucher Type,Journal Voucher\x01Voucher Date,Journal Voucher\x01Posting Date,Journal Voucher\x01Is Opening,Journal Voucher\x01Fiscal Year,Journal Voucher\x01Company,Journal Voucher\x01Cheque No,Journal Voucher\x01Clearance Date,Journal Voucher\x01TDS Applicable,Journal Voucher\x01TDS Category,Journal Voucher Detail\x01Account,Journal Voucher Detail\x01Cost Center,Journal Voucher Detail\x01Against Payable,Journal Voucher Detail\x01Against Receivable',
-		'criteria_name': 'Progressive Total Excise Duty',
-		'doc_type': 'Journal Voucher Detail',
+		'columns': u'Journal Voucher\x01ID,Journal Voucher\x01Owner,Journal Voucher\x01Voucher Type,Journal Voucher\x01Voucher Date,Journal Voucher\x01Posting Date,Journal Voucher\x01Is Opening,Journal Voucher\x01Fiscal Year,Journal Voucher\x01Company,Journal Voucher\x01Cheque No,Journal Voucher\x01Clearance Date,Journal Voucher\x01TDS Applicable,Journal Voucher\x01TDS Category,Journal Voucher Detail\x01Account,Journal Voucher Detail\x01Cost Center,Journal Voucher Detail\x01Against Payable,Journal Voucher Detail\x01Against Receivable',
+		'criteria_name': u'Progressive Total Excise Duty',
+		'doc_type': u'Journal Voucher Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Journal Voucher\x01Saved':1,'Journal Voucher\x01Submitted':1,'Journal Voucher\x01Voucher Type':'','Journal Voucher\x01Is Opening':'','Journal Voucher\x01Fiscal Year':'','Journal Voucher\x01Company':'','Journal Voucher\x01TDS Applicable':'','Journal Voucher\x01TDS Category':''}",
-		'module': 'Accounts',
+		'filters': u"{'Journal Voucher\x01Saved':1,'Journal Voucher\x01Submitted':1,'Journal Voucher\x01Voucher Type':'','Journal Voucher\x01Is Opening':'','Journal Voucher\x01Fiscal Year':'','Journal Voucher\x01Company':'','Journal Voucher\x01TDS Applicable':'','Journal Voucher\x01TDS Category':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Journal Voucher',
-		'sort_by': 'ID',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Journal Voucher',
+		'sort_by': u'ID',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, progressive_total_excise_duty
 	{
 		'doctype': 'Search Criteria',
-		'name': 'progressive_total_excise_duty'
+		'name': u'progressive_total_excise_duty'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/purchase_register/purchase_register.txt b/erpnext/accounts/search_criteria/purchase_register/purchase_register.txt
index f8a60af..451332b 100644
--- a/erpnext/accounts/search_criteria/purchase_register/purchase_register.txt
+++ b/erpnext/accounts/search_criteria/purchase_register/purchase_register.txt
@@ -3,29 +3,29 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-15 08:39:24',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2011-06-06 14:37:00',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': "`tabPurchase Invoice`.is_opening != 'Yes'\n`tabPurchase Invoice`.name not like 'OP/%'",
-		'columns': 'Purchase Invoice\x01ID,Purchase Invoice\x01Voucher Date,Purchase Invoice\x01Posting Date,Purchase Invoice\x01Credit To,Purchase Invoice\x01Expense Head',
-		'criteria_name': 'Purchase Register',
-		'doc_type': 'Purchase Invoice',
+		'add_cond': u"`tabPurchase Invoice`.is_opening != 'Yes'\n`tabPurchase Invoice`.name not like 'OP/%'",
+		'columns': u'Purchase Invoice\x01ID,Purchase Invoice\x01Voucher Date,Purchase Invoice\x01Posting Date,Purchase Invoice\x01Credit To,Purchase Invoice\x01Expense Head',
+		'criteria_name': u'Purchase Register',
+		'doc_type': u'Purchase Invoice',
 		'doctype': 'Search Criteria',
-		'filters': "{'Purchase Invoice\x01Submitted':1}",
-		'module': 'Accounts',
+		'filters': u"{'Purchase Invoice\x01Submitted':1}",
+		'module': u'Accounts',
 		'name': '__common__',
-		'standard': 'Yes'
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, purchase_register
 	{
 		'doctype': 'Search Criteria',
-		'name': 'purchase_register'
+		'name': u'purchase_register'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/sales_register/sales_register.txt b/erpnext/accounts/search_criteria/sales_register/sales_register.txt
index fcdaf37..f21fa0c 100644
--- a/erpnext/accounts/search_criteria/sales_register/sales_register.txt
+++ b/erpnext/accounts/search_criteria/sales_register/sales_register.txt
@@ -3,35 +3,35 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-15 08:39:24',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-08-10 10:48:01',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': "`tabAccount`.`parent_account` AS 'Parent Account'\n`tabCustomer`.`territory` AS 'Territory'\n`tabCustomer`.`customer_details` AS 'Customer Details'",
-		'add_cond': "ifnull(`tabSales Invoice`.`is_opening`, 'No') = 'No'\n`tabAccount`.name =`tabSales Invoice`.debit_to\n`tabCustomer`.`name` = `tabAccount`.`master_name`",
-		'add_tab': '`tabAccount`\n`tabCustomer`',
-		'columns': 'Sales Invoice\x01ID,Sales Invoice\x01Posting Date,Sales Invoice\x01Debit To',
-		'criteria_name': 'Sales Register',
-		'dis_filters': 'fiscal_year',
-		'doc_type': 'Sales Invoice',
+		'add_col': u"`tabAccount`.`parent_account` AS 'Parent Account'\n`tabCustomer`.`territory` AS 'Territory'\n`tabCustomer`.`customer_details` AS 'Customer Details'",
+		'add_cond': u"ifnull(`tabSales Invoice`.`is_opening`, 'No') = 'No'\n`tabAccount`.name =`tabSales Invoice`.debit_to\n`tabCustomer`.`name` = `tabAccount`.`master_name`",
+		'add_tab': u'`tabAccount`\n`tabCustomer`',
+		'columns': u'Sales Invoice\x01ID,Sales Invoice\x01Posting Date,Sales Invoice\x01Debit To',
+		'criteria_name': u'Sales Register',
+		'dis_filters': u'fiscal_year',
+		'doc_type': u'Sales Invoice',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Invoice\x01Submitted':1,'Sales Invoice\x01Is Opening':''}",
-		'module': 'Accounts',
+		'filters': u"{'Sales Invoice\x01Submitted':1,'Sales Invoice\x01Is Opening':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`Parent Account`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`Parent Account`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, sales_register
 	{
 		'doctype': 'Search Criteria',
-		'name': 'sales_register'
+		'name': u'sales_register'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.txt b/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.txt
index f4b9fed..73e5cb6 100644
--- a/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.txt
+++ b/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-11-01 10:56:14',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-10-29 16:42:59',
-		'modified_by': 'Administrator',
-		'owner': 'jai@webnotestech.com'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'jai@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Journal Voucher\x01ID,Journal Voucher\x01Owner,Journal Voucher\x01Voucher Type,Journal Voucher\x01Voucher Date,Journal Voucher\x01Posting Date,Journal Voucher\x01Is Opening,Journal Voucher\x01Fiscal Year,Journal Voucher\x01Company,Journal Voucher\x01Cheque No,Journal Voucher\x01Clearance Date,Journal Voucher\x01TDS Applicable,Journal Voucher\x01TDS Category,Journal Voucher Detail\x01Account,Journal Voucher Detail\x01Cost Center,Journal Voucher Detail\x01Against Payable,Journal Voucher Detail\x01Against Receivable',
-		'criteria_name': 'Service Tax Credit Account - Inputs',
-		'doc_type': 'Journal Voucher Detail',
+		'columns': u'Journal Voucher\x01ID,Journal Voucher\x01Owner,Journal Voucher\x01Voucher Type,Journal Voucher\x01Voucher Date,Journal Voucher\x01Posting Date,Journal Voucher\x01Is Opening,Journal Voucher\x01Fiscal Year,Journal Voucher\x01Company,Journal Voucher\x01Cheque No,Journal Voucher\x01Clearance Date,Journal Voucher\x01TDS Applicable,Journal Voucher\x01TDS Category,Journal Voucher Detail\x01Account,Journal Voucher Detail\x01Cost Center,Journal Voucher Detail\x01Against Payable,Journal Voucher Detail\x01Against Receivable',
+		'criteria_name': u'Service Tax Credit Account - Inputs',
+		'doc_type': u'Journal Voucher Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Journal Voucher\x01Saved':1,'Journal Voucher\x01Submitted':1,'Journal Voucher\x01Voucher Type':'','Journal Voucher\x01Is Opening':'','Journal Voucher\x01Fiscal Year':'','Journal Voucher\x01Company':'','Journal Voucher\x01TDS Applicable':'','Journal Voucher\x01TDS Category':''}",
-		'module': 'Accounts',
+		'filters': u"{'Journal Voucher\x01Saved':1,'Journal Voucher\x01Submitted':1,'Journal Voucher\x01Voucher Type':'','Journal Voucher\x01Is Opening':'','Journal Voucher\x01Fiscal Year':'','Journal Voucher\x01Company':'','Journal Voucher\x01TDS Applicable':'','Journal Voucher\x01TDS Category':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Journal Voucher',
-		'sort_by': 'ID',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Journal Voucher',
+		'sort_by': u'ID',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, service_tax_credit_account_-_inputs
 	{
 		'doctype': 'Search Criteria',
-		'name': 'service_tax_credit_account_-_inputs'
+		'name': u'service_tax_credit_account_-_inputs'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/tds_return/tds_return.txt b/erpnext/accounts/search_criteria/tds_return/tds_return.txt
index 5c200e5..d89d303 100644
--- a/erpnext/accounts/search_criteria/tds_return/tds_return.txt
+++ b/erpnext/accounts/search_criteria/tds_return/tds_return.txt
@@ -3,29 +3,29 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-06-30 14:38:18',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'criteria_name': 'TDS Return',
-		'dis_filters': 'fiscal_year',
-		'doc_type': 'TDS Payment Detail',
+		'criteria_name': u'TDS Return',
+		'dis_filters': u'fiscal_year',
+		'doc_type': u'TDS Payment Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'TDS Payment\x01Submitted':1}",
-		'module': 'Accounts',
+		'filters': u"{'TDS Payment\x01Submitted':1}",
+		'module': u'Accounts',
 		'name': '__common__',
-		'parent_doc_type': 'TDS Payment',
-		'standard': 'Yes'
+		'parent_doc_type': u'TDS Payment',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, tds_return
 	{
 		'doctype': 'Search Criteria',
-		'name': 'tds_return'
+		'name': u'tds_return'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.txt b/erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.txt
index aa3e2ea..0fddd22 100644
--- a/erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.txt
+++ b/erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.txt
@@ -3,34 +3,34 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-06-09 18:09:34',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': '(master_type = "Customer" or parent_account like "Sundry Debtors%" or parent_account like "Accounts Receivable%")',
-		'columns': 'Account\x01ID',
-		'criteria_name': 'Total amout collection for a period - Customerwise',
-		'dis_filters': 'transaction_date',
+		'add_cond': u'(master_type = "Customer" or parent_account like "Sundry Debtors%" or parent_account like "Accounts Receivable%")',
+		'columns': u'Account\x01ID',
+		'criteria_name': u'Total amout collection for a period - Customerwise',
+		'dis_filters': u'transaction_date',
 		'disabled': 0,
-		'doc_type': 'Account',
+		'doc_type': u'Account',
 		'doctype': 'Search Criteria',
-		'filters': "{'Account\x01Saved':1,'Account\x01Group or Ledger':'','Account\x01Is PL Account':'','Account\x01Account Type':'','Account\x01From Date\x01lower':'2010-04-01','Account\x01To Date\x01upper':'2010-06-09'}",
-		'module': 'Accounts',
+		'filters': u"{'Account\x01Saved':1,'Account\x01Group or Ledger':'','Account\x01Is PL Account':'','Account\x01Account Type':'','Account\x01From Date\x01lower':'2010-04-01','Account\x01To Date\x01upper':'2010-06-09'}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabAccount`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabAccount`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, total_amout_collection_for_a_period_-_customerwise
 	{
 		'doctype': 'Search Criteria',
-		'name': 'total_amout_collection_for_a_period_-_customerwise'
+		'name': u'total_amout_collection_for_a_period_-_customerwise'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.txt b/erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.txt
index 3d1ed07..729eefa 100644
--- a/erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.txt
+++ b/erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-09-06 15:36:58',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2011-09-06 15:50:28',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Sales Taxes and Charges\x01Type,Sales Taxes and Charges\x01Account Head,Sales Taxes and Charges\x01Cost Center,Sales Taxes and Charges\x01Description,Sales Taxes and Charges\x01Rate,Sales Taxes and Charges\x01Amount*,Sales Taxes and Charges\x01Total*',
-		'criteria_name': 'Voucher wise tax details',
-		'doc_type': 'Sales Taxes and Charges',
+		'columns': u'Sales Taxes and Charges\x01Type,Sales Taxes and Charges\x01Account Head,Sales Taxes and Charges\x01Cost Center,Sales Taxes and Charges\x01Description,Sales Taxes and Charges\x01Rate,Sales Taxes and Charges\x01Amount*,Sales Taxes and Charges\x01Total*',
+		'criteria_name': u'Voucher wise tax details',
+		'doc_type': u'Sales Taxes and Charges',
 		'doctype': 'Search Criteria',
-		'filters': "{'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'','Delivery Note\x01Fiscal Year':''}",
-		'module': 'Accounts',
+		'filters': u"{'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'','Delivery Note\x01Fiscal Year':''}",
+		'module': u'Accounts',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Delivery Note',
-		'sort_by': '`tabSales Taxes and Charges`.`parent`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Delivery Note',
+		'sort_by': u'`tabSales Taxes and Charges`.`parent`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, voucher_wise_tax_details
 	{
 		'doctype': 'Search Criteria',
-		'name': 'voucher_wise_tax_details'
+		'name': u'voucher_wise_tax_details'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.txt b/erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.txt
index 19a5866..9166eeb 100644
--- a/erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.txt
+++ b/erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.txt
@@ -3,30 +3,30 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-20 13:00:43',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-09-17 16:02:25',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Profile\x01ID',
-		'criteria_name': 'Monthly Transaction Summary',
-		'doc_type': 'Profile',
+		'columns': u'Profile\x01ID',
+		'criteria_name': u'Monthly Transaction Summary',
+		'doc_type': u'Profile',
 		'doctype': 'Search Criteria',
-		'filters': "{'DocType\x01Period':'Monthly'}",
-		'module': 'Analysis',
+		'filters': u"{'DocType\x01Period':'Monthly'}",
+		'module': u'Analysis',
 		'name': '__common__',
-		'sort_by': '`tabProfile`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabProfile`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, monthly_transaction_summary
 	{
 		'doctype': 'Search Criteria',
-		'name': 'monthly_transaction_summary'
+		'name': u'monthly_transaction_summary'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.txt b/erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.txt
index a099c97..857e25e 100644
--- a/erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.txt
+++ b/erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:18',
+		'creation': '2012-03-30 14:50:45',
 		'docstatus': 0,
-		'modified': '2010-11-10 11:06:06',
-		'modified_by': 'Administrator',
-		'owner': 'saumil@webnotestech.com'
+		'modified': '2012-03-30 14:50:45',
+		'modified_by': u'Administrator',
+		'owner': u'saumil@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Profile\x01ID,Profile\x01Owner',
-		'criteria_name': 'Trend Analyzer',
-		'doc_type': 'Profile',
+		'columns': u'Profile\x01ID,Profile\x01Owner',
+		'criteria_name': u'Trend Analyzer',
+		'doc_type': u'Profile',
 		'doctype': 'Search Criteria',
-		'filters': '{}',
-		'module': 'Analysis',
+		'filters': u'{}',
+		'module': u'Analysis',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabProfile`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabProfile`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, trend_analyzer
 	{
 		'doctype': 'Search Criteria',
-		'name': 'trend_analyzer'
+		'name': u'trend_analyzer'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.txt b/erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.txt
index 2f55a1f..4d8a395 100644
--- a/erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.txt
+++ b/erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.txt
@@ -3,30 +3,30 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-20 13:00:43',
+		'creation': '2012-03-30 14:50:45',
 		'docstatus': 0,
-		'modified': '2010-09-17 16:03:04',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:45',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Profile\x01ID',
-		'criteria_name': 'Yearly Transaction Summary',
-		'doc_type': 'Profile',
+		'columns': u'Profile\x01ID',
+		'criteria_name': u'Yearly Transaction Summary',
+		'doc_type': u'Profile',
 		'doctype': 'Search Criteria',
-		'filters': "{'DocType\x01Fiscal Year':'2009-2010','DocType\x01Company':'Alpha Company','DocType\x01Period':'Monthly'}",
-		'module': 'Analysis',
+		'filters': u"{'DocType\x01Fiscal Year':'2009-2010','DocType\x01Company':'Alpha Company','DocType\x01Period':'Monthly'}",
+		'module': u'Analysis',
 		'name': '__common__',
-		'sort_by': '`tabProfile`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabProfile`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, yearly_transaction_summary
 	{
 		'doctype': 'Search Criteria',
-		'name': 'yearly_transaction_summary'
+		'name': u'yearly_transaction_summary'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/buying/DocType Mapper/Purchase Request-Purchase Order/Purchase Request-Purchase Order.txt b/erpnext/buying/DocType Mapper/Purchase Request-Purchase Order/Purchase Request-Purchase Order.txt
index beb9282..e3f5970 100644
--- a/erpnext/buying/DocType Mapper/Purchase Request-Purchase Order/Purchase Request-Purchase Order.txt
+++ b/erpnext/buying/DocType Mapper/Purchase Request-Purchase Order/Purchase Request-Purchase Order.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:34',
+		'creation': '2010-09-20 12:33:34',
 		'docstatus': 0,
-		'modified': '2012-02-14 15:21:20',
+		'modified': '2012-03-30 13:33:31',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
diff --git a/erpnext/buying/DocType Mapper/Sales Order-Purchase Request/Sales Order-Purchase Request.txt b/erpnext/buying/DocType Mapper/Sales Order-Purchase Request/Sales Order-Purchase Request.txt
index 26e4546..5cc46c3 100755
--- a/erpnext/buying/DocType Mapper/Sales Order-Purchase Request/Sales Order-Purchase Request.txt
+++ b/erpnext/buying/DocType Mapper/Sales Order-Purchase Request/Sales Order-Purchase Request.txt
@@ -3,114 +3,114 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-05-20 10:07:55',
+		'creation': '2011-05-06 12:42:44',
 		'docstatus': 0,
-		'modified': '2011-09-14 12:36:25',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
+		'doctype': u'Table Mapper Detail',
 		'name': '__common__',
-		'parent': 'Sales Order-Purchase Request',
-		'parentfield': 'table_mapper_details',
-		'parenttype': 'DocType Mapper'
+		'parent': u'Sales Order-Purchase Request',
+		'parentfield': u'table_mapper_details',
+		'parenttype': u'DocType Mapper'
 	},
 
 	# These values are common for all Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
+		'doctype': u'Field Mapper Detail',
 		'name': '__common__',
-		'parent': 'Sales Order-Purchase Request',
-		'parentfield': 'field_mapper_details',
-		'parenttype': 'DocType Mapper'
+		'parent': u'Sales Order-Purchase Request',
+		'parentfield': u'field_mapper_details',
+		'parenttype': u'DocType Mapper'
 	},
 
 	# These values are common for all DocType Mapper
 	{
 		'doctype': 'DocType Mapper',
-		'from_doctype': 'Sales Order',
-		'module': 'Buying',
+		'from_doctype': u'Sales Order',
+		'module': u'Buying',
 		'name': '__common__',
 		'ref_doc_submitted': 1,
-		'to_doctype': 'Purchase Request'
+		'to_doctype': u'Purchase Request'
 	},
 
 	# DocType Mapper, Sales Order-Purchase Request
 	{
 		'doctype': 'DocType Mapper',
-		'name': 'Sales Order-Purchase Request'
+		'name': u'Sales Order-Purchase Request'
 	},
 
 	# Field Mapper Detail
 	{
-		'checking_operator': '>=',
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'transaction_date',
-		'map': 'No',
+		'checking_operator': u'>=',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'transaction_date',
+		'map': u'No',
 		'match_id': 0,
-		'to_field': 'transaction_date'
+		'to_field': u'transaction_date'
 	},
 
 	# Field Mapper Detail
 	{
-		'checking_operator': '=',
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'company',
-		'map': 'Yes',
+		'checking_operator': u'=',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'company',
+		'map': u'Yes',
 		'match_id': 0,
-		'to_field': 'company'
+		'to_field': u'company'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'parent',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'parent',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'sales_order_no'
+		'to_field': u'sales_order_no'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'stock_uom',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'stock_uom',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'uom'
+		'to_field': u'uom'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'reserved_warehouse',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'reserved_warehouse',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'warehouse'
+		'to_field': u'warehouse'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_field': 'sales_order_details',
-		'from_table': 'Sales Order Item',
+		'doctype': u'Table Mapper Detail',
+		'from_field': u'sales_order_details',
+		'from_table': u'Sales Order Item',
 		'match_id': 1,
-		'reference_doctype_key': 'prevdoc_doctype',
-		'reference_key': 'prevdoc_detail_docname',
-		'to_field': 'indent_details',
-		'to_table': 'Purchase Request Item',
-		'validation_logic': 'docstatus=1'
+		'reference_doctype_key': u'prevdoc_doctype',
+		'reference_key': u'prevdoc_detail_docname',
+		'to_field': u'indent_details',
+		'to_table': u'Purchase Request Item',
+		'validation_logic': u'docstatus=1'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_table': 'Sales Order',
+		'doctype': u'Table Mapper Detail',
+		'from_table': u'Sales Order',
 		'match_id': 0,
-		'reference_key': 'prevdoc_docname',
-		'to_table': 'Purchase Request',
-		'validation_logic': 'docstatus = 1'
+		'reference_key': u'prevdoc_docname',
+		'to_table': u'Purchase Request',
+		'validation_logic': u'docstatus = 1'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js
index 22640ba..c165388 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.js
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.js
@@ -71,9 +71,9 @@
 var set_dynamic_label_par = function(doc, cdt, cdn, base_curr) {
 	//parent flds
 	par_cols_base = {'net_total': 'Net Total', 'total_tax': 'Total Tax', 'grand_total':	'Grand Total', /*'rounded_total': 'Rounded Total',*/
-		'in_words': 'In Words', 'other_charges_added': 'Other Charges Added', 'other_charges_deducted': 'Other Charges Deducted'}
+		'in_words': 'In Words', 'other_charges_added': 'Taxes and Charges Added', 'other_charges_deducted': 'Taxes and Charges Deducted'}
 	par_cols_import = {'net_total_import': 'Net Total', 'grand_total_import': 'Grand Total', 'in_words_import':	'In Words', 
-		'other_charges_added_import': 'Other Charges Added', 'other_charges_deducted_import': 'Other Charges Deducted'};
+		'other_charges_added_import': 'Taxes and Charges Added', 'other_charges_deducted_import': 'Taxes and Charges Deducted'};
 
 	for (d in par_cols_base) cur_frm.fields_dict[d].label_area.innerHTML = par_cols_base[d]+' (' + base_curr + ')';
 	for (d in par_cols_import) cur_frm.fields_dict[d].label_area.innerHTML = par_cols_import[d]+' (' + doc.currency + ')';
@@ -434,7 +434,7 @@
 	// ------------------
 
 	
-	cur_frm.fields_dict['Tax Calculation'].disp_area.innerHTML = '<b style="padding: 8px 0px;">Calculation Details for Other Charges and Landed cost:</b>';
+	cur_frm.fields_dict['Tax Calculation'].disp_area.innerHTML = '<b style="padding: 8px 0px;">Calculation Details for Taxes, Charges and Landed Cost:</b>';
 	var cl = getchildren(tname, doc.name, fname);
 	var tax = getchildren('Purchase Taxes and Charges', doc.name, other_fname,doc.doctype);
 	// make display table
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.py b/erpnext/buying/doctype/purchase_common/purchase_common.py
index eb8a322..a9e0c87 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.py
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.py
@@ -52,7 +52,6 @@
 
 		# used in validation for items and update_prevdoc_detail
 		self.doctype_dict = {'Purchase Request'						 : 'Purchase Request Item',
-							 'Supplier Quotation' : 'Supplier Quotation Detail',
 							 'Purchase Order'		 : 'Purchase Order Item',
 							 'Purchase Receipt'	 : 'Purchase Receipt Item'}
  
@@ -155,7 +154,7 @@
 			ret['lead_time_date'] = cstr(add_days(obj.doc.transaction_date, cint(item[0]['lead_time_days'])))
 		
 		#	get last purchase rate as per stock uom and default currency for following list of doctypes
-		if obj.doc.doctype in ['Supplier Quotation', 'Purchase Order', 'Purchase Receipt']:
+		if obj.doc.doctype in ['Purchase Order', 'Purchase Receipt']:
 			ret['purchase_ref_rate'] = item and flt(item[0]['last_purchase_rate']) or 0
 			ret['import_ref_rate'] = flt(item and flt(item[0]['last_purchase_rate']) or 0) / flt(obj.doc.fields.has_key('conversion_rate') and flt(obj.doc.conversion_rate) or 1)			
 			ret['purchase_rate'] = item and flt(item[0]['last_purchase_rate']) or 0
@@ -318,7 +317,7 @@
 					msgprint(cstr(prevdoc_doctype) + ": " + cstr(prevdoc_docname) + " does not belong to the Company: " + cstr(obj.doc.company))
 					raise Exception
 
-				if prevdoc_doctype in ['Supplier Quotation','Purchase Order', 'Purchase Receipt']:
+				if prevdoc_doctype in ['Purchase Order', 'Purchase Receipt']:
 					dt = sql("select supplier, currency from `tab%s` where name = '%s'" % (prevdoc_doctype, name))
 					supplier = dt and dt[0][0] or ''
 					currency = dt and dt[0][1] or ''
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index 1bd21e3..0f852f2 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -91,8 +91,6 @@
 					item = sql("select last_purchase_rate from tabItem where name = '%s'" %(d.item_code), as_dict=1)
 					d.purchase_rate = item and flt(item[0]['last_purchase_rate']) or 0
 					d.import_rate = flt(item and flt(item[0]['last_purchase_rate']) or 0) / flt(self.doc.fields.has_key('conversion_rate') and flt(self.doc.conversion_rate) or 1)
-		if self.doc.supplier_qtn:
-			get_obj('DocType Mapper','Supplier Quotation-Purchase Order').dt_map('Supplier Quotation','Purchase Order',self.doc.supplier_qtn, self.doc, self.doclist, "[['Supplier Quotation','Purchase Order'],['Supplier Quotation Detail', 'Purchase Order Item']]")
 	
 	# GET TERMS & CONDITIONS
 	# =====================================================================================
@@ -115,12 +113,8 @@
 	# validation
 	#-------------------------------------------------------------------------------------------------------------
 	def validate_doc(self,pc_obj):
-		# Please Check Supplier Quotation - Purchase ORder Transaction , it has to be discussed
-		if self.doc.supp_quo_no:
-			pc_obj.validate_doc(obj = self, prevdoc_doctype = 'Supplier Quotation', prevdoc_docname = cstr(self.doc.supp_quo_no))
-		else:
-			# Validate values with reference document
-			pc_obj.validate_reference_value(obj = self)
+		# Validate values with reference document
+		pc_obj.validate_reference_value(obj = self)
 
 	# Check for Stopped status 
 	def check_for_stopped_status(self, pc_obj):
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.txt b/erpnext/buying/doctype/purchase_order/purchase_order.txt
index 957b219..859ef65 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.txt
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.txt
@@ -542,11 +542,11 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'description': u'If you have created a standard template in Other Charges master, select one and click on the button below.',
+		'description': u'If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.',
 		'doctype': u'DocField',
 		'fieldname': u'purchase_other_charges',
 		'fieldtype': u'Link',
-		'label': u'Purchase Other Charges',
+		'label': u'Purchase Taxes and Charges',
 		'no_copy': 1,
 		'oldfieldname': u'purchase_other_charges',
 		'oldfieldtype': u'Link',
@@ -672,7 +672,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_added',
 		'fieldtype': u'Currency',
-		'label': u'Other Charges Added',
+		'label': u'Taxes and Charges Added',
 		'no_copy': 0,
 		'oldfieldname': u'other_charges_added',
 		'oldfieldtype': u'Currency',
@@ -685,7 +685,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_deducted',
 		'fieldtype': u'Currency',
-		'label': u'Other Charges Deducted',
+		'label': u'Taxes and Charges Deducted',
 		'no_copy': 0,
 		'oldfieldname': u'other_charges_deducted',
 		'oldfieldtype': u'Currency',
@@ -748,7 +748,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_added_import',
 		'fieldtype': u'Currency',
-		'label': u'Other Charges Added (Import)',
+		'label': u'Taxes and Charges Added (Import)',
 		'no_copy': 0,
 		'oldfieldname': u'other_charges_added_import',
 		'oldfieldtype': u'Currency',
@@ -762,7 +762,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_deducted_import',
 		'fieldtype': u'Currency',
-		'label': u'Other Charges Deducted (Import)',
+		'label': u'Taxes and Charges Deducted (Import)',
 		'no_copy': 0,
 		'oldfieldname': u'other_charges_deducted_import',
 		'oldfieldtype': u'Currency',
@@ -776,7 +776,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms_section_break',
 		'fieldtype': u'Section Break',
-		'label': u'Terms',
+		'label': u'Terms and Conditions',
 		'oldfieldtype': u'Section Break',
 		'permlevel': 0
 	},
@@ -800,7 +800,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'tc_name',
 		'fieldtype': u'Link',
-		'label': u'Select Terms',
+		'label': u'Select Terms and Conditions',
 		'oldfieldname': u'tc_name',
 		'oldfieldtype': u'Link',
 		'options': u'Terms and Conditions',
@@ -813,7 +813,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'get_terms',
 		'fieldtype': u'Button',
-		'label': u'Get Terms',
+		'label': u'Get Terms and Conditions',
 		'oldfieldtype': u'Button',
 		'options': u'get_tc_details',
 		'permlevel': 0
@@ -824,7 +824,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms_html',
 		'fieldtype': u'HTML',
-		'label': u'Terms HTML',
+		'label': u'Terms and Conditions HTML',
 		'oldfieldtype': u'HTML',
 		'options': u'You can add Terms and Notes that will be printed in the Transaction',
 		'permlevel': 0,
@@ -836,7 +836,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms',
 		'fieldtype': u'Text Editor',
-		'label': u'Terms1',
+		'label': u'Terms and Conditions1',
 		'oldfieldname': u'terms',
 		'oldfieldtype': u'Text Editor',
 		'permlevel': 0
@@ -1033,7 +1033,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'po_raw_material_details',
 		'fieldtype': u'Table',
-		'label': u'Purchase Order Item Supplieds',
+		'label': u'Purchase Order Items Supplied',
 		'no_copy': 0,
 		'oldfieldname': u'po_raw_material_details',
 		'oldfieldtype': u'Table',
@@ -1054,4 +1054,4 @@
 		'permlevel': 0,
 		'print_hide': 1
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/buying/doctype/purchase_order_item/purchase_order_item.txt b/erpnext/buying/doctype/purchase_order_item/purchase_order_item.txt
index aa90921..499cdef 100755
--- a/erpnext/buying/doctype/purchase_order_item/purchase_order_item.txt
+++ b/erpnext/buying/doctype/purchase_order_item/purchase_order_item.txt
@@ -426,7 +426,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'description': u'Tax detail table fetched from item master as a string and stored in this field.\nUsed for Purchase Other Charges',
+		'description': u'Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges',
 		'doctype': u'DocField',
 		'fieldname': u'item_tax_rate',
 		'fieldtype': u'Small Text',
@@ -453,4 +453,4 @@
 		'permlevel': 0,
 		'print_hide': 1
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/buying/doctype/purchase_request/purchase_request.py b/erpnext/buying/doctype/purchase_request/purchase_request.py
index a25426c..c2de9bb 100644
--- a/erpnext/buying/doctype/purchase_request/purchase_request.py
+++ b/erpnext/buying/doctype/purchase_request/purchase_request.py
@@ -166,7 +166,7 @@
 	# On Submit Functions
 	#----------------------------------------------------------------------------
 	
-	# Update Indented Qty in Bin
+	# Update Quantity Requested for Purchase in Bin
 	def update_bin(self, is_submit, is_stopped):
 		for d in getlist(self.doclist, 'indent_details'):
 			# Step 1:=> Check if is_stock_item == 'Yes'
diff --git a/erpnext/buying/doctype/purchase_request/purchase_request.txt b/erpnext/buying/doctype/purchase_request/purchase_request.txt
index b17d884..34e7749 100644
--- a/erpnext/buying/doctype/purchase_request/purchase_request.txt
+++ b/erpnext/buying/doctype/purchase_request/purchase_request.txt
@@ -434,11 +434,11 @@
 
 	# DocField
 	{
-		'description': u'Add Terms and Conditions for the Purchase Requisition. You can also prepare a master Term Sheet and use the Template',
+		'description': u'Add Terms and Conditions for the Purchase Requisition. You can also prepare a Terms and Conditions Master and use the Template',
 		'doctype': u'DocField',
 		'fieldname': u'terms_section_break',
 		'fieldtype': u'Section Break',
-		'label': u'Terms',
+		'label': u'Terms and Conditions',
 		'oldfieldtype': u'Section Break',
 		'permlevel': 0
 	},
@@ -462,7 +462,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'tc_name',
 		'fieldtype': u'Link',
-		'label': u'Select Terms',
+		'label': u'Select Terms and Conditions',
 		'oldfieldname': u'tc_name',
 		'oldfieldtype': u'Link',
 		'options': u'Terms and Conditions',
@@ -476,7 +476,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'get_terms',
 		'fieldtype': u'Button',
-		'label': u'Get Terms',
+		'label': u'Get Terms and Conditions',
 		'oldfieldtype': u'Button',
 		'options': u'get_tc_details',
 		'permlevel': 0
@@ -487,7 +487,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms_html',
 		'fieldtype': u'HTML',
-		'label': u'Terms HTML',
+		'label': u'Terms and Conditions HTML',
 		'oldfieldtype': u'HTML',
 		'options': u'You can add Terms and Notes that will be printed in the Transaction',
 		'permlevel': 0,
@@ -499,7 +499,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms',
 		'fieldtype': u'Text Editor',
-		'label': u'Terms Content',
+		'label': u'Terms and Conditions Content',
 		'oldfieldname': u'terms',
 		'oldfieldtype': u'Text Editor',
 		'permlevel': 0
@@ -528,4 +528,4 @@
 		'permlevel': 0,
 		'print_hide': 1
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt b/erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt
index 3c3fb90..8592ebf 100644
--- a/erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt
+++ b/erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-03-31 12:39:57',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Purchase Order\x01ID,Purchase Order\x01PO Date,Purchase Order\x01Grand Total,Purchase Order Item\x01Item Code,Purchase Order Item\x01Item Name,Purchase Order Item\x01Quantity,Purchase Order Item\x01Stock UOM,Purchase Order Item\x01Purchase Rate,Purchase Order Item\x01Amount,Purchase Order Item\x01Warehouse',
-		'criteria_name': 'Itemwise Purchase Details',
-		'doc_type': 'Purchase Order Item',
+		'columns': u'Purchase Order\x01ID,Purchase Order\x01PO Date,Purchase Order\x01Grand Total,Purchase Order Item\x01Item Code,Purchase Order Item\x01Item Name,Purchase Order Item\x01Quantity,Purchase Order Item\x01Stock UOM,Purchase Order Item\x01Purchase Rate,Purchase Order Item\x01Amount,Purchase Order Item\x01Warehouse',
+		'criteria_name': u'Itemwise Purchase Details',
+		'doc_type': u'Purchase Order Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Purchase Order\x01Saved':1,'Purchase Order\x01Submitted':1,'Purchase Order\x01Status':'','Purchase Order\x01Company Name':''}",
-		'module': 'Buying',
+		'filters': u"{'Purchase Order\x01Saved':1,'Purchase Order\x01Submitted':1,'Purchase Order\x01Status':'','Purchase Order\x01Company Name':''}",
+		'module': u'Buying',
 		'name': '__common__',
-		'parent_doc_type': 'Purchase Order',
-		'sort_by': '`tabPurchase Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Purchase Order',
+		'sort_by': u'`tabPurchase Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, itemwise_purchase_details
 	{
 		'doctype': 'Search Criteria',
-		'name': 'itemwise_purchase_details'
+		'name': u'itemwise_purchase_details'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt b/erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt
index c0de719..71200a5 100644
--- a/erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt
+++ b/erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:19',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-10-22 14:36:11',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Purchase Receipt\x01ID,Purchase Receipt\x01Posting Date,Purchase Receipt Item\x01Item Code,Purchase Receipt Item\x01Item Name,Purchase Receipt Item\x01Accepted Quantity,Purchase Receipt Item\x01Rejected Quantity,Purchase Receipt Item\x01Accepted Warehouse,Purchase Receipt Item\x01Rejected Warehouse,Purchase Receipt Item\x01Amount',
-		'criteria_name': 'Itemwise Receipt Details',
-		'doc_type': 'Purchase Receipt Item',
+		'columns': u'Purchase Receipt\x01ID,Purchase Receipt\x01Posting Date,Purchase Receipt Item\x01Item Code,Purchase Receipt Item\x01Item Name,Purchase Receipt Item\x01Accepted Quantity,Purchase Receipt Item\x01Rejected Quantity,Purchase Receipt Item\x01Accepted Warehouse,Purchase Receipt Item\x01Rejected Warehouse,Purchase Receipt Item\x01Amount',
+		'criteria_name': u'Itemwise Receipt Details',
+		'doc_type': u'Purchase Receipt Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Purchase Receipt\x01Saved':1,'Purchase Receipt\x01Submitted':1,'Purchase Receipt\x01Status':'','Purchase Receipt\x01Fiscal Year':''}",
-		'module': 'Buying',
+		'filters': u"{'Purchase Receipt\x01Saved':1,'Purchase Receipt\x01Submitted':1,'Purchase Receipt\x01Status':'','Purchase Receipt\x01Fiscal Year':''}",
+		'module': u'Buying',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Purchase Receipt',
-		'sort_by': '`tabPurchase Receipt`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Purchase Receipt',
+		'sort_by': u'`tabPurchase Receipt`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, itemwise_receipt_details
 	{
 		'doctype': 'Search Criteria',
-		'name': 'itemwise_receipt_details'
+		'name': u'itemwise_receipt_details'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.txt b/erpnext/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.txt
index 53a40ee..23bf68e 100644
--- a/erpnext/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.txt
+++ b/erpnext/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.txt
@@ -3,35 +3,35 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-03-30 11:03:20',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2011-03-29 14:26:49',
-		'modified_by': 'Administrator',
-		'owner': 'dhanalekshmi@webnotestech.com'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'dhanalekshmi@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': '(CASE WHEN (`tabPurchase Order Item`.qty- ifnull(`tabPurchase Order Item`.billed_qty, 0) > 0 ) THEN (`tabPurchase Order Item`.qty-ifnull(`tabPurchase Order Item`.billed_qty, 0) ) ELSE 0 END) AS "Pending To Bill"',
-		'add_cond': '(`tabPurchase Order Item`.qty - ifnull(`tabPurchase Order Item`.received_qty, 0) > 0 or `tabPurchase Order Item`.qty - ifnull(`tabPurchase Order Item`.billed_qty, 0) > 0)\n`tabPurchase Order`.status != "Stopped"',
-		'columns': 'Purchase Order\x01ID,Purchase Order\x01Supplier,Purchase Order\x01Supplier Name,Purchase Order\x01Status,Purchase Order\x01PO Date,Purchase Order\x01Fiscal Year,Purchase Order Item\x01Purchase Request No,Purchase Order Item\x01Item Code,Purchase Order Item\x01Item Name,Purchase Order Item\x01Description,Purchase Order Item\x01Quantity,Purchase Order Item\x01UOM,Purchase Order Item\x01Received Qty',
-		'criteria_name': 'Pending PO Items To Bill',
-		'description': 'Pending PO Items To Bill',
-		'doc_type': 'Purchase Order Item',
+		'add_col': u'(CASE WHEN (`tabPurchase Order Item`.qty- ifnull(`tabPurchase Order Item`.billed_qty, 0) > 0 ) THEN (`tabPurchase Order Item`.qty-ifnull(`tabPurchase Order Item`.billed_qty, 0) ) ELSE 0 END) AS "Pending To Bill"',
+		'add_cond': u'(`tabPurchase Order Item`.qty - ifnull(`tabPurchase Order Item`.received_qty, 0) > 0 or `tabPurchase Order Item`.qty - ifnull(`tabPurchase Order Item`.billed_qty, 0) > 0)\n`tabPurchase Order`.status != "Stopped"',
+		'columns': u'Purchase Order\x01ID,Purchase Order\x01Supplier,Purchase Order\x01Supplier Name,Purchase Order\x01Status,Purchase Order\x01PO Date,Purchase Order\x01Fiscal Year,Purchase Order Item\x01Purchase Request No,Purchase Order Item\x01Item Code,Purchase Order Item\x01Item Name,Purchase Order Item\x01Description,Purchase Order Item\x01Quantity,Purchase Order Item\x01UOM,Purchase Order Item\x01Received Qty',
+		'criteria_name': u'Pending PO Items To Bill',
+		'description': u'Pending PO Items To Bill',
+		'doc_type': u'Purchase Order Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Purchase Order\x01Saved':1,'Purchase Order\x01Submitted':1,'Purchase Order\x01Status':'','Purchase Order\x01Fiscal Year':''}",
-		'module': 'Buying',
+		'filters': u"{'Purchase Order\x01Saved':1,'Purchase Order\x01Submitted':1,'Purchase Order\x01Status':'','Purchase Order\x01Fiscal Year':''}",
+		'module': u'Buying',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Purchase Order',
-		'sort_by': '`tabPurchase Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Purchase Order',
+		'sort_by': u'`tabPurchase Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, pending_po_items_to_bill
 	{
 		'doctype': 'Search Criteria',
-		'name': 'pending_po_items_to_bill'
+		'name': u'pending_po_items_to_bill'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.txt b/erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.txt
index 5016623..516bcd2 100644
--- a/erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.txt
+++ b/erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-03-29 14:57:52',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2012-02-14 11:04:22',
+		'modified': '2012-03-30 13:33:32',
 		'modified_by': u'Administrator',
 		'owner': u'dhanalekshmi@webnotestech.com'
 	},
diff --git a/erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.txt b/erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.txt
index d30c3d1..4294135 100644
--- a/erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.txt
+++ b/erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.txt
@@ -3,37 +3,37 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-08-30 13:04:44',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': "`tabPurchase Receipt`.`posting_date` AS 'PR Posting Date'",
-		'add_cond': "`tabPurchase Invoice Item`.`purchase_receipt`  = `tabPurchase Receipt`.`name`\n`tabPurchase Receipt`.`posting_date` >= '%(pr_posting_date)s'\n`tabPurchase Receipt`.`posting_date` <= '%(pr_posting_date1)s'\n`tabPurchase Receipt`.`posting_date` > `tabPurchase Invoice`.`posting_date`",
-		'add_tab': '`tabPurchase Receipt`',
-		'columns': 'Purchase Invoice\x01ID,Purchase Invoice\x01Voucher Date,Purchase Invoice\x01Posting Date,Purchase Invoice\x01Credit To,Purchase Invoice Item\x01Rate,Purchase Invoice Item\x01Qty,Purchase Invoice Item\x01Amount,Purchase Invoice Item\x01Pur Order,Purchase Invoice Item\x01Pur Receipt',
-		'criteria_name': 'Purchase in Transit',
-		'description': 'List of PR whose posting date is after PV posting date',
-		'dis_filters': '`tabPurchase Receipt`.`pr_posting_date`',
-		'doc_type': 'Purchase Invoice Item',
+		'add_col': u"`tabPurchase Receipt`.`posting_date` AS 'PR Posting Date'",
+		'add_cond': u"`tabPurchase Invoice Item`.`purchase_receipt`  = `tabPurchase Receipt`.`name`\n`tabPurchase Receipt`.`posting_date` >= '%(pr_posting_date)s'\n`tabPurchase Receipt`.`posting_date` <= '%(pr_posting_date1)s'\n`tabPurchase Receipt`.`posting_date` > `tabPurchase Invoice`.`posting_date`",
+		'add_tab': u'`tabPurchase Receipt`',
+		'columns': u'Purchase Invoice\x01ID,Purchase Invoice\x01Voucher Date,Purchase Invoice\x01Posting Date,Purchase Invoice\x01Credit To,Purchase Invoice Item\x01Rate,Purchase Invoice Item\x01Qty,Purchase Invoice Item\x01Amount,Purchase Invoice Item\x01Pur Order,Purchase Invoice Item\x01Pur Receipt',
+		'criteria_name': u'Purchase in Transit',
+		'description': u'List of PR whose posting date is after PV posting date',
+		'dis_filters': u'`tabPurchase Receipt`.`pr_posting_date`',
+		'doc_type': u'Purchase Invoice Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Purchase Invoice\x01Submitted':1,'Purchase Invoice\x01From Posting Date\x01lower':'2009-04-01','Purchase Invoice\x01To Posting Date\x01upper':'2010-01-11','Purchase Invoice\x01Is Opening':'','Purchase Invoice\x01Fiscal Year':'','Purchase Invoice\x01Company':'','Purchase Receipt\x01From PR Posting Date\x01lower':'2009-04-01','Purchase Receipt\x01To PR Posting Date\x01upper':'2010-01-11'}",
-		'module': 'Buying',
+		'filters': u"{'Purchase Invoice\x01Submitted':1,'Purchase Invoice\x01From Posting Date\x01lower':'2009-04-01','Purchase Invoice\x01To Posting Date\x01upper':'2010-01-11','Purchase Invoice\x01Is Opening':'','Purchase Invoice\x01Fiscal Year':'','Purchase Invoice\x01Company':'','Purchase Receipt\x01From PR Posting Date\x01lower':'2009-04-01','Purchase Receipt\x01To PR Posting Date\x01upper':'2010-01-11'}",
+		'module': u'Buying',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Purchase Invoice',
-		'sort_by': '`tabPurchase Invoice`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Purchase Invoice',
+		'sort_by': u'`tabPurchase Invoice`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, purchase_in_transit
 	{
 		'doctype': 'Search Criteria',
-		'name': 'purchase_in_transit'
+		'name': u'purchase_in_transit'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt b/erpnext/home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt
deleted file mode 100644
index f2898b5..0000000
--- a/erpnext/home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-# Search Criteria, enquiry-quotations_to_be_sent
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2010-08-08 17:09:31',
-		'docstatus': 0,
-		'modified': '2010-07-16 13:29:58',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
-	},
-
-	# These values are common for all Search Criteria
-	{
-		'add_cond': '`tabQuotation`.enq_no!=`tabOpportunity`.name\n',
-		'add_tab': 'tabQuotation',
-		'columns': 'Opportunity\x01ID,Opportunity\x01Owner',
-		'criteria_name': 'Opportunity-Quotations to be sent',
-		'doc_type': 'Opportunity',
-		'doctype': 'Search Criteria',
-		'filters': '{}',
-		'module': 'Home',
-		'name': '__common__',
-		'page_len': 50,
-		'sort_by': '`tabOpportunity`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
-	},
-
-	# Search Criteria, enquiry-quotations_to_be_sent
-	{
-		'doctype': 'Search Criteria',
-		'name': 'enquiry-quotations_to_be_sent'
-	}
-]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js b/erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js
deleted file mode 100644
index d0fffc4..0000000
--- a/erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-report.customize_filters = function() {
-
-  this.filter_fields_dict['Opportunity'+FILTER_SEP +'Company'].df['report_default'] = sys_defaults.company;
-  this.filter_fields_dict['Opportunity'+FILTER_SEP +'Fiscal Year'].df['report_default'] = sys_defaults.fiscal_year;
-}
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt b/erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt
deleted file mode 100644
index 6e4224f..0000000
--- a/erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-# Search Criteria, enquiry-to_follow_up
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2010-09-01 15:48:09',
-		'docstatus': 0,
-		'modified': '2010-08-30 12:08:00',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
-	},
-
-	# These values are common for all Search Criteria
-	{
-		'add_cond': "`tabOpportunity`.name=`tabQuotation`.enq_no\n`tabOpportunity`.docstatus=1\n`tabQuotation`.status='Submitted'",
-		'columns': 'Opportunity\x01ID,Opportunity\x01Owner,Opportunity\x01Company,Opportunity\x01Fiscal Year',
-		'criteria_name': 'Opportunity-To follow up',
-		'doc_type': 'Opportunity',
-		'doctype': 'Search Criteria',
-		'filters': "{'Opportunity\x01Fiscal Year':''}",
-		'module': 'Home',
-		'name': '__common__',
-		'page_len': 50,
-		'sort_by': '`tabOpportunity`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
-	},
-
-	# Search Criteria, enquiry-to_follow_up
-	{
-		'doctype': 'Search Criteria',
-		'name': 'enquiry-to_follow_up'
-	}
-]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt b/erpnext/home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt
deleted file mode 100644
index 649548c..0000000
--- a/erpnext/home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-# Search Criteria, indent-purchase_order_to_be_made
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2010-08-08 17:09:32',
-		'docstatus': 0,
-		'modified': '2010-05-13 17:37:18',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
-	},
-
-	# These values are common for all Search Criteria
-	{
-		'add_cond': "`tabPurchase Request`.status='Submitted'\nifnull(`tabPurchase Request`.per_ordered,0)<100",
-		'columns': 'Purchase Request\x01ID,Purchase Request\x01Purchase Request Date,Purchase Request\x01Requested By,Purchase Request\x01Owner,Purchase Request\x01% Ordered',
-		'criteria_name': 'Purchase Request-Purchase Order to be made',
-		'doc_type': 'Purchase Request',
-		'doctype': 'Search Criteria',
-		'filters': "{'Purchase Request\x01Submitted':1,'Purchase Request\x01Status':'Submitted','Purchase Request\x01Fiscal Year':''}",
-		'module': 'Home',
-		'name': '__common__',
-		'page_len': 50,
-		'sort_by': '`tabPurchase Request`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
-	},
-
-	# Search Criteria, indent-purchase_order_to_be_made
-	{
-		'doctype': 'Search Criteria',
-		'name': 'indent-purchase_order_to_be_made'
-	}
-]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt b/erpnext/home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt
deleted file mode 100644
index 8b68428..0000000
--- a/erpnext/home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-# Search Criteria, indent-to_be_submitted
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2010-08-08 17:09:32',
-		'docstatus': 0,
-		'modified': '2010-05-13 17:38:49',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
-	},
-
-	# These values are common for all Search Criteria
-	{
-		'add_cond': "`tabPurchase Request`.status='Draft'",
-		'columns': 'Purchase Request\x01ID,Purchase Request\x01Owner,Purchase Request\x01Purchase Request Date,Purchase Request\x01Remarks',
-		'criteria_name': 'Purchase Request-To be submitted',
-		'doc_type': 'Purchase Request',
-		'doctype': 'Search Criteria',
-		'filters': "{'Purchase Request\x01Saved':1,'Purchase Request\x01Status':'Draft','Purchase Request\x01Fiscal Year':''}",
-		'module': 'Home',
-		'name': '__common__',
-		'page_len': 50,
-		'sort_by': '`tabPurchase Request`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
-	},
-
-	# Search Criteria, indent-to_be_submitted
-	{
-		'doctype': 'Search Criteria',
-		'name': 'indent-to_be_submitted'
-	}
-]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/invoices_overdue/invoices_overdue.txt b/erpnext/home/search_criteria/invoices_overdue/invoices_overdue.txt
index fd16b9b..671c8f8 100644
--- a/erpnext/home/search_criteria/invoices_overdue/invoices_overdue.txt
+++ b/erpnext/home/search_criteria/invoices_overdue/invoices_overdue.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-04-30 17:08:52',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': '`tabSales Invoice`.due_date<now()\n`tabSales Invoice`.outstanding_amount!=0\n`tabSales Invoice`.docstatus=1',
-		'columns': 'Sales Invoice\x01ID,Sales Invoice\x01Debit To,Sales Invoice\x01Voucher Date,Sales Invoice\x01Due Date,Sales Invoice\x01Outstanding Amount',
-		'criteria_name': 'Invoices-Overdue',
-		'doc_type': 'Sales Invoice',
+		'add_cond': u'`tabSales Invoice`.due_date<now()\n`tabSales Invoice`.outstanding_amount!=0\n`tabSales Invoice`.docstatus=1',
+		'columns': u'Sales Invoice\x01ID,Sales Invoice\x01Debit To,Sales Invoice\x01Voucher Date,Sales Invoice\x01Due Date,Sales Invoice\x01Outstanding Amount',
+		'criteria_name': u'Invoices-Overdue',
+		'doc_type': u'Sales Invoice',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Invoice\x01Saved':1,'Sales Invoice\x01Submitted':1,'Sales Invoice\x01Is Opening':'','Sales Invoice\x01Fiscal Year':''}",
-		'module': 'Home',
+		'filters': u"{'Sales Invoice\x01Saved':1,'Sales Invoice\x01Submitted':1,'Sales Invoice\x01Is Opening':'','Sales Invoice\x01Fiscal Year':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSales Invoice`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSales Invoice`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, invoices-overdue
 	{
 		'doctype': 'Search Criteria',
-		'name': 'invoices-overdue'
+		'name': u'invoices-overdue'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt b/erpnext/home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt
index 7cd7983..7029d85 100644
--- a/erpnext/home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt
+++ b/erpnext/home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-05-03 10:18:56',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Sales Invoice\x01ID,Sales Invoice\x01Debit To,Sales Invoice\x01Voucher Date,Sales Invoice\x01Due Date',
-		'criteria_name': 'Invoices-To be submitted',
-		'doc_type': 'Sales Invoice',
+		'columns': u'Sales Invoice\x01ID,Sales Invoice\x01Debit To,Sales Invoice\x01Voucher Date,Sales Invoice\x01Due Date',
+		'criteria_name': u'Invoices-To be submitted',
+		'doc_type': u'Sales Invoice',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Invoice\x01Saved':1,'Sales Invoice\x01Is Opening':'','Sales Invoice\x01Fiscal Year':''}",
-		'module': 'Home',
+		'filters': u"{'Sales Invoice\x01Saved':1,'Sales Invoice\x01Is Opening':'','Sales Invoice\x01Fiscal Year':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSales Invoice`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSales Invoice`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, invoices-to_be_submitted
 	{
 		'doctype': 'Search Criteria',
-		'name': 'invoices-to_be_submitted'
+		'name': u'invoices-to_be_submitted'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt b/erpnext/home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt
index 7429b55..245e1e8 100644
--- a/erpnext/home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt
+++ b/erpnext/home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-04-30 16:54:26',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': '`tabSales Invoice`.due_date>now() \n`tabSales Invoice`.outstanding_amount!=0\n`tabSales Invoice`.docstatus=1',
-		'columns': 'Sales Invoice\x01ID,Sales Invoice\x01Owner,Sales Invoice\x01Debit To,Sales Invoice\x01Voucher Date,Sales Invoice\x01Due Date,Sales Invoice\x01Outstanding Amount',
-		'criteria_name': 'Invoices-To receive payment',
-		'doc_type': 'Sales Invoice',
+		'add_cond': u'`tabSales Invoice`.due_date>now() \n`tabSales Invoice`.outstanding_amount!=0\n`tabSales Invoice`.docstatus=1',
+		'columns': u'Sales Invoice\x01ID,Sales Invoice\x01Owner,Sales Invoice\x01Debit To,Sales Invoice\x01Voucher Date,Sales Invoice\x01Due Date,Sales Invoice\x01Outstanding Amount',
+		'criteria_name': u'Invoices-To receive payment',
+		'doc_type': u'Sales Invoice',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Invoice\x01Submitted':1,'Sales Invoice\x01Is Opening':'','Sales Invoice\x01Fiscal Year':''}",
-		'module': 'Home',
+		'filters': u"{'Sales Invoice\x01Submitted':1,'Sales Invoice\x01Is Opening':'','Sales Invoice\x01Fiscal Year':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSales Invoice`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSales Invoice`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, invoices-to_receive_payment
 	{
 		'doctype': 'Search Criteria',
-		'name': 'invoices-to_receive_payment'
+		'name': u'invoices-to_receive_payment'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt b/erpnext/home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt
index 0754bf7..a0a46be 100644
--- a/erpnext/home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt
+++ b/erpnext/home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-08-30 12:01:19',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': "`tabLead`.status!='Converted' \n`tabLead`.status!='Lead Lost' \n`tabLead`.status!='Not Interested'",
-		'columns': 'Lead\x01ID,Lead\x01Status,Lead\x01Lead Name,Lead\x01Lead Date,Lead\x01Lead Owner,Lead\x01Next Contact Date',
-		'criteria_name': 'Lead-To follow up',
-		'doc_type': 'Lead',
+		'add_cond': u"`tabLead`.status!='Converted' \n`tabLead`.status!='Lead Lost' \n`tabLead`.status!='Not Interested'",
+		'columns': u'Lead\x01ID,Lead\x01Status,Lead\x01Lead Name,Lead\x01Lead Date,Lead\x01Lead Owner,Lead\x01Next Contact Date',
+		'criteria_name': u'Lead-To follow up',
+		'doc_type': u'Lead',
 		'doctype': 'Search Criteria',
-		'filters': "{'Lead\x01Status':'','Lead\x01Source':'','Lead\x01Expected Month':'','Lead\x01Industry':'','Lead\x01Market Segment':'','Lead\x01Rating':''}",
-		'module': 'Home',
+		'filters': u"{'Lead\x01Status':'','Lead\x01Source':'','Lead\x01Expected Month':'','Lead\x01Industry':'','Lead\x01Market Segment':'','Lead\x01Rating':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabLead`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabLead`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, lead-to_follow_up
 	{
 		'doctype': 'Search Criteria',
-		'name': 'lead-to_follow_up'
+		'name': u'lead-to_follow_up'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/enquiry_quotations_to_be_sent/__init__.py b/erpnext/home/search_criteria/opportunity_quotations_to_be_sent/__init__.py
similarity index 100%
rename from erpnext/home/search_criteria/enquiry_quotations_to_be_sent/__init__.py
rename to erpnext/home/search_criteria/opportunity_quotations_to_be_sent/__init__.py
diff --git a/erpnext/home/search_criteria/opportunity_quotations_to_be_sent/opportunity_quotations_to_be_sent.txt b/erpnext/home/search_criteria/opportunity_quotations_to_be_sent/opportunity_quotations_to_be_sent.txt
new file mode 100644
index 0000000..891bafd
--- /dev/null
+++ b/erpnext/home/search_criteria/opportunity_quotations_to_be_sent/opportunity_quotations_to_be_sent.txt
@@ -0,0 +1,35 @@
+# Search Criteria, opportunity-quotations_to_be_sent
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-03-30 14:50:44',
+		'docstatus': 0,
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
+	},
+
+	# These values are common for all Search Criteria
+	{
+		'add_cond': u'`tabQuotation`.enq_no!=`tabOpportunity`.name\n',
+		'add_tab': u'tabQuotation',
+		'columns': u'Opportunity\x01ID,Opportunity\x01Owner',
+		'criteria_name': u'Opportunity-Quotations to be sent',
+		'doc_type': u'Opportunity',
+		'doctype': 'Search Criteria',
+		'filters': u'{}',
+		'module': u'Home',
+		'name': '__common__',
+		'page_len': 50,
+		'sort_by': u'`tabOpportunity`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
+	},
+
+	# Search Criteria, opportunity-quotations_to_be_sent
+	{
+		'doctype': 'Search Criteria',
+		'name': u'opportunity-quotations_to_be_sent'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/enquiry_to_follow_up/__init__.py b/erpnext/home/search_criteria/opportunity_to_follow_up/__init__.py
similarity index 100%
rename from erpnext/home/search_criteria/enquiry_to_follow_up/__init__.py
rename to erpnext/home/search_criteria/opportunity_to_follow_up/__init__.py
diff --git a/erpnext/home/search_criteria/opportunity_to_follow_up/opportunity_to_follow_up.txt b/erpnext/home/search_criteria/opportunity_to_follow_up/opportunity_to_follow_up.txt
new file mode 100644
index 0000000..ee57967
--- /dev/null
+++ b/erpnext/home/search_criteria/opportunity_to_follow_up/opportunity_to_follow_up.txt
@@ -0,0 +1,34 @@
+# Search Criteria, opportunity-to_follow_up
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-03-30 14:50:44',
+		'docstatus': 0,
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
+	},
+
+	# These values are common for all Search Criteria
+	{
+		'add_cond': u"`tabOpportunity`.name=`tabQuotation`.enq_no\n`tabOpportunity`.docstatus=1\n`tabQuotation`.status='Submitted'",
+		'columns': u'Opportunity\x01ID,Opportunity\x01Owner,Opportunity\x01Company,Opportunity\x01Fiscal Year',
+		'criteria_name': u'Opportunity-To follow up',
+		'doc_type': u'Opportunity',
+		'doctype': 'Search Criteria',
+		'filters': u"{'Opportunity\x01Fiscal Year':''}",
+		'module': u'Home',
+		'name': '__common__',
+		'page_len': 50,
+		'sort_by': u'`tabOpportunity`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
+	},
+
+	# Search Criteria, opportunity-to_follow_up
+	{
+		'doctype': 'Search Criteria',
+		'name': u'opportunity-to_follow_up'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt b/erpnext/home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt
index 5ed4d3f..a7b0a2e 100644
--- a/erpnext/home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt
+++ b/erpnext/home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:32',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-05-13 17:31:42',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': "ifnull(`tabPurchase Order`.per_billed,0)<100\n`tabPurchase Order`.status='Submitted'",
-		'columns': 'Purchase Order\x01ID,Purchase Order\x01Supplier,Purchase Order\x01PO Date,Purchase Order\x01Company,Purchase Order\x01Grand Total',
-		'criteria_name': 'Purchase Order-To be billed',
-		'doc_type': 'Purchase Order',
+		'add_cond': u"ifnull(`tabPurchase Order`.per_billed,0)<100\n`tabPurchase Order`.status='Submitted'",
+		'columns': u'Purchase Order\x01ID,Purchase Order\x01Supplier,Purchase Order\x01PO Date,Purchase Order\x01Company,Purchase Order\x01Grand Total',
+		'criteria_name': u'Purchase Order-To be billed',
+		'doc_type': u'Purchase Order',
 		'doctype': 'Search Criteria',
-		'filters': "{'Purchase Order\x01Submitted':1,'Purchase Order\x01Status':'Submitted','Purchase Order\x01Fiscal Year':''}",
-		'module': 'Home',
+		'filters': u"{'Purchase Order\x01Submitted':1,'Purchase Order\x01Status':'Submitted','Purchase Order\x01Fiscal Year':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabPurchase Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabPurchase Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, purchase_order-to_be_billed
 	{
 		'doctype': 'Search Criteria',
-		'name': 'purchase_order-to_be_billed'
+		'name': u'purchase_order-to_be_billed'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt b/erpnext/home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt
index 11422b8..0b79093 100644
--- a/erpnext/home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt
+++ b/erpnext/home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:32',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-05-03 11:19:23',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Purchase Order\x01ID,Purchase Order\x01Supplier,Purchase Order\x01PO Date,Purchase Order\x01Company,Purchase Order\x01Grand Total',
-		'criteria_name': 'Purchase Order-To be submitted',
-		'doc_type': 'Purchase Order',
+		'columns': u'Purchase Order\x01ID,Purchase Order\x01Supplier,Purchase Order\x01PO Date,Purchase Order\x01Company,Purchase Order\x01Grand Total',
+		'criteria_name': u'Purchase Order-To be submitted',
+		'doc_type': u'Purchase Order',
 		'doctype': 'Search Criteria',
-		'filters': "{'Purchase Order\x01Saved':1,'Purchase Order\x01Submitted':0,'Purchase Order\x01Status':'Draft','Purchase Order\x01Fiscal Year':''}",
-		'module': 'Home',
+		'filters': u"{'Purchase Order\x01Saved':1,'Purchase Order\x01Submitted':0,'Purchase Order\x01Status':'Draft','Purchase Order\x01Fiscal Year':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabPurchase Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabPurchase Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, purchase_order-to_be_submitted
 	{
 		'doctype': 'Search Criteria',
-		'name': 'purchase_order-to_be_submitted'
+		'name': u'purchase_order-to_be_submitted'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt b/erpnext/home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt
index ab747c7..7ee6c0d 100644
--- a/erpnext/home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt
+++ b/erpnext/home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:32',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-05-13 17:34:22',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': "ifnull(`tabPurchase Order`.per_received,0)<100\n`tabPurchase Order`.status='Submitted'",
-		'columns': 'Purchase Order\x01ID,Purchase Order\x01Supplier,Purchase Order\x01PO Date,Purchase Order\x01Company,Purchase Order\x01% Received,Purchase Order\x01Grand Total',
-		'criteria_name': 'Purchase Order-To receive items',
-		'doc_type': 'Purchase Order',
+		'add_cond': u"ifnull(`tabPurchase Order`.per_received,0)<100\n`tabPurchase Order`.status='Submitted'",
+		'columns': u'Purchase Order\x01ID,Purchase Order\x01Supplier,Purchase Order\x01PO Date,Purchase Order\x01Company,Purchase Order\x01% Received,Purchase Order\x01Grand Total',
+		'criteria_name': u'Purchase Order-To receive items',
+		'doc_type': u'Purchase Order',
 		'doctype': 'Search Criteria',
-		'filters': "{'Purchase Order\x01Submitted':1,'Purchase Order\x01Status':'Submitted','Purchase Order\x01Fiscal Year':''}",
-		'module': 'Home',
+		'filters': u"{'Purchase Order\x01Submitted':1,'Purchase Order\x01Status':'Submitted','Purchase Order\x01Fiscal Year':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabPurchase Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabPurchase Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, purchase_order-to_receive_items
 	{
 		'doctype': 'Search Criteria',
-		'name': 'purchase_order-to_receive_items'
+		'name': u'purchase_order-to_receive_items'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/indent_purchase_order_to_be_made/__init__.py b/erpnext/home/search_criteria/purchase_request_purchase_order_to_be_made/__init__.py
similarity index 100%
rename from erpnext/home/search_criteria/indent_purchase_order_to_be_made/__init__.py
rename to erpnext/home/search_criteria/purchase_request_purchase_order_to_be_made/__init__.py
diff --git a/erpnext/home/search_criteria/purchase_request_purchase_order_to_be_made/purchase_request_purchase_order_to_be_made.txt b/erpnext/home/search_criteria/purchase_request_purchase_order_to_be_made/purchase_request_purchase_order_to_be_made.txt
new file mode 100644
index 0000000..e40868b
--- /dev/null
+++ b/erpnext/home/search_criteria/purchase_request_purchase_order_to_be_made/purchase_request_purchase_order_to_be_made.txt
@@ -0,0 +1,34 @@
+# Search Criteria, purchase_request-purchase_order_to_be_made
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-03-30 13:33:32',
+		'docstatus': 0,
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
+	},
+
+	# These values are common for all Search Criteria
+	{
+		'add_cond': u"`tabPurchase Request`.status='Submitted'\nifnull(`tabPurchase Request`.per_ordered,0)<100",
+		'columns': u'Purchase Request\x01ID,Purchase Request\x01Purchase Request Date,Purchase Request\x01Requested By,Purchase Request\x01Owner,Purchase Request\x01% Ordered',
+		'criteria_name': u'Purchase Request-Purchase Order to be made',
+		'doc_type': u'Purchase Request',
+		'doctype': 'Search Criteria',
+		'filters': u"{'Purchase Request\x01Submitted':1,'Purchase Request\x01Status':'Submitted','Purchase Request\x01Fiscal Year':''}",
+		'module': u'Home',
+		'name': '__common__',
+		'page_len': 50,
+		'sort_by': u'`tabPurchase Request`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
+	},
+
+	# Search Criteria, purchase_request-purchase_order_to_be_made
+	{
+		'doctype': 'Search Criteria',
+		'name': u'purchase_request-purchase_order_to_be_made'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/indent_to_be_submitted/__init__.py b/erpnext/home/search_criteria/purchase_request_to_be_submitted/__init__.py
similarity index 100%
rename from erpnext/home/search_criteria/indent_to_be_submitted/__init__.py
rename to erpnext/home/search_criteria/purchase_request_to_be_submitted/__init__.py
diff --git a/erpnext/home/search_criteria/purchase_request_to_be_submitted/purchase_request_to_be_submitted.txt b/erpnext/home/search_criteria/purchase_request_to_be_submitted/purchase_request_to_be_submitted.txt
new file mode 100644
index 0000000..1fc78d1
--- /dev/null
+++ b/erpnext/home/search_criteria/purchase_request_to_be_submitted/purchase_request_to_be_submitted.txt
@@ -0,0 +1,34 @@
+# Search Criteria, purchase_request-to_be_submitted
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-03-30 13:33:32',
+		'docstatus': 0,
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
+	},
+
+	# These values are common for all Search Criteria
+	{
+		'add_cond': u"`tabPurchase Request`.status='Draft'",
+		'columns': u'Purchase Request\x01ID,Purchase Request\x01Owner,Purchase Request\x01Purchase Request Date,Purchase Request\x01Remarks',
+		'criteria_name': u'Purchase Request-To be submitted',
+		'doc_type': u'Purchase Request',
+		'doctype': 'Search Criteria',
+		'filters': u"{'Purchase Request\x01Saved':1,'Purchase Request\x01Status':'Draft','Purchase Request\x01Fiscal Year':''}",
+		'module': u'Home',
+		'name': '__common__',
+		'page_len': 50,
+		'sort_by': u'`tabPurchase Request`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
+	},
+
+	# Search Criteria, purchase_request-to_be_submitted
+	{
+		'doctype': 'Search Criteria',
+		'name': u'purchase_request-to_be_submitted'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/sales_order_overdue/sales_order_overdue.txt b/erpnext/home/search_criteria/sales_order_overdue/sales_order_overdue.txt
index 416ee67..9122cdf 100644
--- a/erpnext/home/search_criteria/sales_order_overdue/sales_order_overdue.txt
+++ b/erpnext/home/search_criteria/sales_order_overdue/sales_order_overdue.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-26 11:52:28',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-08-26 11:52:09',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': '`tabSales Order`.delivery_date<now()\nifnull(`tabSales Order`.per_delivered,0)<100',
-		'columns': 'Sales Order\x01ID,Sales Order\x01Customer,Sales Order\x01Sales Order Date,Sales Order\x01Expected Delivery Date,Sales Order\x01Quotation No,Sales Order\x01Company,Sales Order\x01%  Delivered',
-		'criteria_name': 'Sales Order-Overdue',
-		'doc_type': 'Sales Order',
+		'add_cond': u'`tabSales Order`.delivery_date<now()\nifnull(`tabSales Order`.per_delivered,0)<100',
+		'columns': u'Sales Order\x01ID,Sales Order\x01Customer,Sales Order\x01Sales Order Date,Sales Order\x01Expected Delivery Date,Sales Order\x01Quotation No,Sales Order\x01Company,Sales Order\x01%  Delivered',
+		'criteria_name': u'Sales Order-Overdue',
+		'doc_type': u'Sales Order',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Submitted':1,'Sales Order\x01Status':'Submitted','Sales Order\x01Fiscal Year':''}",
-		'module': 'Home',
+		'filters': u"{'Sales Order\x01Submitted':1,'Sales Order\x01Status':'Submitted','Sales Order\x01Fiscal Year':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSales Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSales Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, sales_order-overdue
 	{
 		'doctype': 'Search Criteria',
-		'name': 'sales_order-overdue'
+		'name': u'sales_order-overdue'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt b/erpnext/home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt
index 3de9f17..515688a 100644
--- a/erpnext/home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt
+++ b/erpnext/home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-05-13 17:45:37',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': "ifnull(`tabSales Order`.per_billed,0)<100\n`tabSales Order`.status='Submitted'",
-		'columns': 'Sales Order\x01ID,Sales Order\x01Status,Sales Order\x01Quotation No,Sales Order\x01Sales Order Date,Sales Order\x01Expected Delivery Date,Sales Order\x01% Billed,Sales Order\x01Customer',
-		'criteria_name': 'Sales Order-To be billed',
-		'doc_type': 'Sales Order',
+		'add_cond': u"ifnull(`tabSales Order`.per_billed,0)<100\n`tabSales Order`.status='Submitted'",
+		'columns': u'Sales Order\x01ID,Sales Order\x01Status,Sales Order\x01Quotation No,Sales Order\x01Sales Order Date,Sales Order\x01Expected Delivery Date,Sales Order\x01% Billed,Sales Order\x01Customer',
+		'criteria_name': u'Sales Order-To be billed',
+		'doc_type': u'Sales Order',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Submitted':1,'Sales Order\x01Fiscal Year':''}",
-		'module': 'Home',
+		'filters': u"{'Sales Order\x01Submitted':1,'Sales Order\x01Fiscal Year':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSales Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSales Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, sales_order-to_be_billed
 	{
 		'doctype': 'Search Criteria',
-		'name': 'sales_order-to_be_billed'
+		'name': u'sales_order-to_be_billed'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt b/erpnext/home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt
index 1018f46..f46a031 100644
--- a/erpnext/home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt
+++ b/erpnext/home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-05-13 17:53:29',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': "ifnull(`tabSales Order`.per_delivered,0)<100\n`tabSales Order`.status = 'Submitted'\n`tabSales Order`. delivery_date > now()",
-		'columns': 'Sales Order\x01ID,Sales Order\x01Owner,Sales Order\x01Status,Sales Order\x01Customer,Sales Order\x01Sales Order Date,Sales Order\x01Expected Delivery Date,Sales Order\x01Quotation No',
-		'criteria_name': 'Sales Order-To be delivered',
-		'doc_type': 'Sales Order',
+		'add_cond': u"ifnull(`tabSales Order`.per_delivered,0)<100\n`tabSales Order`.status = 'Submitted'\n`tabSales Order`. delivery_date > now()",
+		'columns': u'Sales Order\x01ID,Sales Order\x01Owner,Sales Order\x01Status,Sales Order\x01Customer,Sales Order\x01Sales Order Date,Sales Order\x01Expected Delivery Date,Sales Order\x01Quotation No',
+		'criteria_name': u'Sales Order-To be delivered',
+		'doc_type': u'Sales Order',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Fiscal Year':''}",
-		'module': 'Home',
+		'filters': u"{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Fiscal Year':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 100,
-		'sort_by': '`tabSales Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSales Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, sales_order-to_be_delivered
 	{
 		'doctype': 'Search Criteria',
-		'name': 'sales_order-to_be_delivered'
+		'name': u'sales_order-to_be_delivered'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt b/erpnext/home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt
index 9cc5106..80f25ae 100644
--- a/erpnext/home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt
+++ b/erpnext/home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-05-13 17:47:45',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': "`tabSales Order`.status='Draft'",
-		'columns': 'Sales Order\x01ID,Sales Order\x01Customer,Sales Order\x01Sales Order Date,Sales Order\x01Quotation No',
-		'criteria_name': 'Sales Order-To be submitted',
-		'doc_type': 'Sales Order',
+		'add_cond': u"`tabSales Order`.status='Draft'",
+		'columns': u'Sales Order\x01ID,Sales Order\x01Customer,Sales Order\x01Sales Order Date,Sales Order\x01Quotation No',
+		'criteria_name': u'Sales Order-To be submitted',
+		'doc_type': u'Sales Order',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Saved':1,'Sales Order\x01Fiscal Year':''}",
-		'module': 'Home',
+		'filters': u"{'Sales Order\x01Saved':1,'Sales Order\x01Fiscal Year':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 100,
-		'sort_by': '`tabSales Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSales Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, sales_order-to_be_submitted
 	{
 		'doctype': 'Search Criteria',
-		'name': 'sales_order-to_be_submitted'
+		'name': u'sales_order-to_be_submitted'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt b/erpnext/home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt
index e2ed6d1..14aaea0 100644
--- a/erpnext/home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt
+++ b/erpnext/home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:32',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-07-29 15:01:33',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': '`tab Serial No`.month(amc_expiry_date)=month(now()) \n`tab Serial No`.year(amc_expiry_date)=year(now())',
-		'columns': 'Serial No\x01ID,Serial No\x01Status,Serial No\x01AMC Expiry Date,Serial No\x01Customer Name',
-		'criteria_name': 'Serial No-AMC expiring this month',
-		'doc_type': 'Serial No',
+		'add_cond': u'`tab Serial No`.month(amc_expiry_date)=month(now()) \n`tab Serial No`.year(amc_expiry_date)=year(now())',
+		'columns': u'Serial No\x01ID,Serial No\x01Status,Serial No\x01AMC Expiry Date,Serial No\x01Customer Name',
+		'criteria_name': u'Serial No-AMC expiring this month',
+		'doc_type': u'Serial No',
 		'doctype': 'Search Criteria',
-		'filters': "{'Serial No\x01Saved':1,'Serial No\x01Submitted':1,'Serial No\x01Status':'','Serial No\x01Warranty Status':''}",
-		'module': 'Home',
+		'filters': u"{'Serial No\x01Saved':1,'Serial No\x01Submitted':1,'Serial No\x01Status':'','Serial No\x01Warranty Status':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSerial No`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSerial No`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, serial_no-amc_expiring_this_month
 	{
 		'doctype': 'Search Criteria',
-		'name': 'serial_no-amc_expiring_this_month'
+		'name': u'serial_no-amc_expiring_this_month'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt b/erpnext/home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt
index 406d8dd..d0ba642 100644
--- a/erpnext/home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt
+++ b/erpnext/home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:32',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-07-23 09:57:51',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': "`tab Serial No`.docstatus!=2\n`tab Serial No`.maintenance_status='Under Warranty'\n`tab Serial No`.status!='Scrapped'\n`tab Serial No`.status!='Not in Use'\n`tab Serial No`.month(ifnull(warranty_expiry_date,0)) = month(now()) \n`tab Serial No`.yearmonth(ifnull(warranty_expiry_date,0)) = year(now())",
-		'columns': 'Serial No\x01ID,Serial No\x01Status,Serial No\x01Warranty Expiry Date,Serial No\x01Customer Name',
-		'criteria_name': 'Serial No-Warranty expiring this month',
-		'doc_type': 'Serial No',
+		'add_cond': u"`tab Serial No`.docstatus!=2\n`tab Serial No`.maintenance_status='Under Warranty'\n`tab Serial No`.status!='Scrapped'\n`tab Serial No`.status!='Not in Use'\n`tab Serial No`.month(ifnull(warranty_expiry_date,0)) = month(now()) \n`tab Serial No`.yearmonth(ifnull(warranty_expiry_date,0)) = year(now())",
+		'columns': u'Serial No\x01ID,Serial No\x01Status,Serial No\x01Warranty Expiry Date,Serial No\x01Customer Name',
+		'criteria_name': u'Serial No-Warranty expiring this month',
+		'doc_type': u'Serial No',
 		'doctype': 'Search Criteria',
-		'filters': "{'Serial No\x01Saved':1,'Serial No\x01Submitted':1,'Serial No\x01Status':'Issued','Serial No\x01Maintenance Status':''}",
-		'module': 'Home',
+		'filters': u"{'Serial No\x01Saved':1,'Serial No\x01Submitted':1,'Serial No\x01Status':'Issued','Serial No\x01Maintenance Status':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSerial No`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSerial No`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, serial_no-warranty_expiring_this_month
 	{
 		'doctype': 'Search Criteria',
-		'name': 'serial_no-warranty_expiring_this_month'
+		'name': u'serial_no-warranty_expiring_this_month'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/search_criteria/task_open/task_open.txt b/erpnext/home/search_criteria/task_open/task_open.txt
index 1d10853..01a76b6 100644
--- a/erpnext/home/search_criteria/task_open/task_open.txt
+++ b/erpnext/home/search_criteria/task_open/task_open.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:32',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-07-16 13:03:49',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': "`tabTask`.status='Open'",
-		'columns': 'Task\x01ID,Task\x01Subject,Task\x01Priority,Task\x01Raised By,Task\x01Allocated To',
-		'criteria_name': 'Task-Open',
-		'doc_type': 'Task',
+		'add_cond': u"`tabTask`.status='Open'",
+		'columns': u'Task\x01ID,Task\x01Subject,Task\x01Priority,Task\x01Raised By,Task\x01Allocated To',
+		'criteria_name': u'Task-Open',
+		'doc_type': u'Task',
 		'doctype': 'Search Criteria',
-		'filters': "{'Task\x01Priority':''}",
-		'module': 'Home',
+		'filters': u"{'Task\x01Priority':''}",
+		'module': u'Home',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabTask`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabTask`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, task-open
 	{
 		'doctype': 'Search Criteria',
-		'name': 'task-open'
+		'name': u'task-open'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/hr/DocType Mapper/Appraisal Template-Appraisal/Appraisal Template-Appraisal.txt b/erpnext/hr/DocType Mapper/Appraisal Template-Appraisal/Appraisal Template-Appraisal.txt
index 23f1a02..11fd209 100644
--- a/erpnext/hr/DocType Mapper/Appraisal Template-Appraisal/Appraisal Template-Appraisal.txt
+++ b/erpnext/hr/DocType Mapper/Appraisal Template-Appraisal/Appraisal Template-Appraisal.txt
@@ -3,45 +3,45 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:47:59',
+		'creation': '2010-09-20 12:33:34',
 		'docstatus': 0,
-		'modified': '2011-09-15 15:04:42',
-		'modified_by': 'Administrator',
-		'owner': 'ashwini@webnotestech.com'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'ashwini@webnotestech.com'
 	},
 
 	# These values are common for all Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_field': 'kra_sheet',
-		'from_table': 'Appraisal Template Goal',
+		'doctype': u'Table Mapper Detail',
+		'from_field': u'kra_sheet',
+		'from_table': u'Appraisal Template Goal',
 		'match_id': 0,
 		'name': '__common__',
-		'parent': 'Appraisal Template-Appraisal',
-		'parentfield': 'table_mapper_details',
-		'parenttype': 'DocType Mapper',
-		'to_field': 'appraisal_details',
-		'to_table': 'Appraisal Goal',
-		'validation_logic': 'name is not Null'
+		'parent': u'Appraisal Template-Appraisal',
+		'parentfield': u'table_mapper_details',
+		'parenttype': u'DocType Mapper',
+		'to_field': u'appraisal_details',
+		'to_table': u'Appraisal Goal',
+		'validation_logic': u'name is not Null'
 	},
 
 	# These values are common for all DocType Mapper
 	{
 		'doctype': 'DocType Mapper',
-		'from_doctype': 'Appraisal Template',
-		'module': 'HR',
+		'from_doctype': u'Appraisal Template',
+		'module': u'HR',
 		'name': '__common__',
-		'to_doctype': 'Appraisal'
+		'to_doctype': u'Appraisal'
 	},
 
 	# DocType Mapper, Appraisal Template-Appraisal
 	{
 		'doctype': 'DocType Mapper',
-		'name': 'Appraisal Template-Appraisal'
+		'name': u'Appraisal Template-Appraisal'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail'
+		'doctype': u'Table Mapper Detail'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/hr/doctype/employee/employee.txt b/erpnext/hr/doctype/employee/employee.txt
index 6442080..d9e2c1f 100644
--- a/erpnext/hr/doctype/employee/employee.txt
+++ b/erpnext/hr/doctype/employee/employee.txt
@@ -885,7 +885,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'previous_experience_details',
 		'fieldtype': u'Table',
-		'label': u'Employee External Work Historys',
+		'label': u'Employee External Work History',
 		'options': u'Employee External Work History',
 		'permlevel': 0
 	},
@@ -1064,4 +1064,4 @@
 		'oldfieldtype': u'Small Text',
 		'permlevel': 1
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.txt b/erpnext/hr/doctype/salary_slip/salary_slip.txt
index bd79edc..398b2b3 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.txt
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.txt
@@ -438,7 +438,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'deduction_details',
 		'fieldtype': u'Table',
-		'label': u'Deduction Details',
+		'label': u'Deductions',
 		'oldfieldname': u'deduction_details',
 		'oldfieldtype': u'Table',
 		'options': u'Salary Slip Deduction',
@@ -553,4 +553,4 @@
 		'oldfieldtype': u'Data',
 		'permlevel': 1
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/hr/search_criteria/employee_appraisals/employee_appraisals.txt b/erpnext/hr/search_criteria/employee_appraisals/employee_appraisals.txt
index 31b5d45..5bc5289 100644
--- a/erpnext/hr/search_criteria/employee_appraisals/employee_appraisals.txt
+++ b/erpnext/hr/search_criteria/employee_appraisals/employee_appraisals.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-09-01 14:18:42',
-		'modified_by': 'Administrator',
-		'owner': 'ashwini@webnotestech.com'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'ashwini@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Appraisal\x01ID,Appraisal\x01Status,Appraisal\x01Employee,Appraisal\x01Employee Name,Appraisal\x01Start Date,Appraisal\x01End Date,Appraisal\x01Approver,Appraisal\x01Total Score',
-		'criteria_name': 'Employee Appraisals',
-		'doc_type': 'Appraisal',
+		'columns': u'Appraisal\x01ID,Appraisal\x01Status,Appraisal\x01Employee,Appraisal\x01Employee Name,Appraisal\x01Start Date,Appraisal\x01End Date,Appraisal\x01Approver,Appraisal\x01Total Score',
+		'criteria_name': u'Employee Appraisals',
+		'doc_type': u'Appraisal',
 		'doctype': 'Search Criteria',
-		'filters': "{'Appraisal\x01Saved':1,'Appraisal\x01Submitted':1,'Appraisal\x01Status':'','Appraisal\x01Fiscal Year':''}",
-		'module': 'HR',
+		'filters': u"{'Appraisal\x01Saved':1,'Appraisal\x01Submitted':1,'Appraisal\x01Status':'','Appraisal\x01Fiscal Year':''}",
+		'module': u'HR',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabAppraisal`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabAppraisal`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, employee_appraisals
 	{
 		'doctype': 'Search Criteria',
-		'name': 'employee_appraisals'
+		'name': u'employee_appraisals'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/employee_information/employee_information.txt b/erpnext/hr/search_criteria/employee_information/employee_information.txt
index edb68f8..9934f77 100644
--- a/erpnext/hr/search_criteria/employee_information/employee_information.txt
+++ b/erpnext/hr/search_criteria/employee_information/employee_information.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:25',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-10-26 12:03:08',
-		'modified_by': 'Administrator',
-		'owner': 'harshada@webnotestech.com'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'harshada@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Employee\x01ID,Employee\x01Employee Name,Employee\x01Employee Number,Employee\x01Date of Joining,Employee\x01Gender,Employee\x01Date of Birth,Employee\x01Employment Type,Employee\x01Scheduled Confirmation Date,Employee\x01Contract End Date,Employee\x01Status,Employee\x01Branch,Employee\x01Department,Employee\x01Designation,Employee\x01Grade,Employee\x01Reports to,Employee\x01Email (By company),Employee\x01Bank Name,Employee\x01Relieving Date',
-		'criteria_name': 'Employee Information',
-		'doc_type': 'Employee',
+		'columns': u'Employee\x01ID,Employee\x01Employee Name,Employee\x01Employee Number,Employee\x01Date of Joining,Employee\x01Gender,Employee\x01Date of Birth,Employee\x01Employment Type,Employee\x01Scheduled Confirmation Date,Employee\x01Contract End Date,Employee\x01Status,Employee\x01Branch,Employee\x01Department,Employee\x01Designation,Employee\x01Grade,Employee\x01Reports to,Employee\x01Email (By company),Employee\x01Bank Name,Employee\x01Relieving Date',
+		'criteria_name': u'Employee Information',
+		'doc_type': u'Employee',
 		'doctype': 'Search Criteria',
-		'filters': "{'Employee\x01Saved':1,'Employee\x01Submitted':1,'Employee\x01Gender':'','Employee\x01Month of Birth':'','Employee\x01Status':''}",
-		'module': 'HR',
+		'filters': u"{'Employee\x01Saved':1,'Employee\x01Submitted':1,'Employee\x01Gender':'','Employee\x01Month of Birth':'','Employee\x01Status':''}",
+		'module': u'HR',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabEmployee`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabEmployee`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, employee_information
 	{
 		'doctype': 'Search Criteria',
-		'name': 'employee_information'
+		'name': u'employee_information'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/employees_birthday/employees_birthday.txt b/erpnext/hr/search_criteria/employees_birthday/employees_birthday.txt
index ecbce74..965d05a 100644
--- a/erpnext/hr/search_criteria/employees_birthday/employees_birthday.txt
+++ b/erpnext/hr/search_criteria/employees_birthday/employees_birthday.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:33:12',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-08-04 13:15:28',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Employee\x01ID,Employee\x01Employee Name,Employee\x01Department,Employee\x01Gender,Employee\x01Date of Birth,Employee\x01Month of Birth',
-		'criteria_name': "Employee's Birthday",
-		'doc_type': 'Employee',
+		'columns': u'Employee\x01ID,Employee\x01Employee Name,Employee\x01Department,Employee\x01Gender,Employee\x01Date of Birth,Employee\x01Month of Birth',
+		'criteria_name': u"Employee's Birthday",
+		'doc_type': u'Employee',
 		'doctype': 'Search Criteria',
-		'filters': "{'Employee\x01Saved':1,'Employee\x01Gender':'','Employee\x01Month of Birth':'May','Employee\x01Status':''}",
-		'module': 'HR',
+		'filters': u"{'Employee\x01Saved':1,'Employee\x01Gender':'','Employee\x01Month of Birth':'May','Employee\x01Status':''}",
+		'module': u'HR',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabEmployee`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabEmployee`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, employees_birthday
 	{
 		'doctype': 'Search Criteria',
-		'name': 'employees_birthday'
+		'name': u'employees_birthday'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/employeewise_leave_transaction_details/employeewise_leave_transaction_details.txt b/erpnext/hr/search_criteria/employeewise_leave_transaction_details/employeewise_leave_transaction_details.txt
index fb54227..5a04479 100644
--- a/erpnext/hr/search_criteria/employeewise_leave_transaction_details/employeewise_leave_transaction_details.txt
+++ b/erpnext/hr/search_criteria/employeewise_leave_transaction_details/employeewise_leave_transaction_details.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:32',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-08-04 08:56:43',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Leave Transaction\x01ID,Leave Transaction\x01Fiscal Year,Leave Transaction\x01Employee,Leave Transaction\x01Leave Type,Leave Transaction\x01Previous Balance,Leave Transaction\x01Leave Transaction Type,Leave Transaction\x01Allocation Type,Leave Transaction\x01Deduction Type,Leave Transaction\x01Half Day,Leave Transaction\x01From Date,Leave Transaction\x01To Date,Leave Transaction\x01Encashment Date,Leave Transaction\x01Total Leave Days,Leave Transaction\x01Status',
-		'criteria_name': 'Employeewise Leave Transaction Details',
-		'doc_type': 'Leave Transaction',
+		'columns': u'Leave Transaction\x01ID,Leave Transaction\x01Fiscal Year,Leave Transaction\x01Employee,Leave Transaction\x01Leave Type,Leave Transaction\x01Previous Balance,Leave Transaction\x01Leave Transaction Type,Leave Transaction\x01Allocation Type,Leave Transaction\x01Deduction Type,Leave Transaction\x01Half Day,Leave Transaction\x01From Date,Leave Transaction\x01To Date,Leave Transaction\x01Encashment Date,Leave Transaction\x01Total Leave Days,Leave Transaction\x01Status',
+		'criteria_name': u'Employeewise Leave Transaction Details',
+		'doc_type': u'Leave Transaction',
 		'doctype': 'Search Criteria',
-		'filters': "{'Leave Transaction\x01Saved':1,'Leave Transaction\x01Submitted':1}",
-		'module': 'HR',
+		'filters': u"{'Leave Transaction\x01Saved':1,'Leave Transaction\x01Submitted':1}",
+		'module': u'HR',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabLeave Transaction`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabLeave Transaction`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, employeewise_leave_transaction_details
 	{
 		'doctype': 'Search Criteria',
-		'name': 'employeewise_leave_transaction_details'
+		'name': u'employeewise_leave_transaction_details'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/expense_vouchers/__init__.py b/erpnext/hr/search_criteria/expense_claims/__init__.py
similarity index 100%
rename from erpnext/hr/search_criteria/expense_vouchers/__init__.py
rename to erpnext/hr/search_criteria/expense_claims/__init__.py
diff --git a/erpnext/hr/search_criteria/expense_claims/expense_claims.txt b/erpnext/hr/search_criteria/expense_claims/expense_claims.txt
new file mode 100644
index 0000000..0032df5
--- /dev/null
+++ b/erpnext/hr/search_criteria/expense_claims/expense_claims.txt
@@ -0,0 +1,33 @@
+# Search Criteria, expense_claims
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-03-30 13:33:32',
+		'docstatus': 0,
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'ashwini@webnotestech.com'
+	},
+
+	# These values are common for all Search Criteria
+	{
+		'columns': u'Expense Claim\x01ID,Expense Claim\x01Approval Status,Expense Claim\x01From Employee,Expense Claim\x01Employee Name,Expense Claim\x01Approver,Expense Claim\x01Posting Date,Expense Claim\x01Total Claimed Amount,Expense Claim\x01Total Sanctioned Amount',
+		'criteria_name': u'Expense Claims',
+		'doc_type': u'Expense Claim',
+		'doctype': 'Search Criteria',
+		'filters': u"{'Expense Claim\x01Saved':1,'Expense Claim\x01Submitted':1,'Expense Claim\x01Approval Status':'','Expense Claim\x01Fiscal Year':''}",
+		'module': u'HR',
+		'name': '__common__',
+		'page_len': 50,
+		'sort_by': u'`tabExpense Claim`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
+	},
+
+	# Search Criteria, expense_claims
+	{
+		'doctype': 'Search Criteria',
+		'name': u'expense_claims'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/expense_vouchers/expense_vouchers.txt b/erpnext/hr/search_criteria/expense_vouchers/expense_vouchers.txt
deleted file mode 100644
index dbc69f9..0000000
--- a/erpnext/hr/search_criteria/expense_vouchers/expense_vouchers.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-# Search Criteria, expense_vouchers
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2010-09-03 16:45:09',
-		'docstatus': 0,
-		'modified': '2010-09-02 11:05:37',
-		'modified_by': 'Administrator',
-		'owner': 'ashwini@webnotestech.com'
-	},
-
-	# These values are common for all Search Criteria
-	{
-		'columns': 'Expense Claim\x01ID,Expense Claim\x01Approval Status,Expense Claim\x01From Employee,Expense Claim\x01Employee Name,Expense Claim\x01Approver,Expense Claim\x01Posting Date,Expense Claim\x01Total Claimed Amount,Expense Claim\x01Total Sanctioned Amount',
-		'criteria_name': 'Expense Claims',
-		'doc_type': 'Expense Claim',
-		'doctype': 'Search Criteria',
-		'filters': "{'Expense Claim\x01Saved':1,'Expense Claim\x01Submitted':1,'Expense Claim\x01Approval Status':'','Expense Claim\x01Fiscal Year':''}",
-		'module': 'HR',
-		'name': '__common__',
-		'page_len': 50,
-		'sort_by': '`tabExpense Claim`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
-	},
-
-	# Search Criteria, expense_vouchers
-	{
-		'doctype': 'Search Criteria',
-		'name': 'expense_vouchers'
-	}
-]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.txt b/erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.txt
index 23e4063..9ad2e99 100644
--- a/erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.txt
+++ b/erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:25',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-11-30 18:03:56',
-		'modified_by': 'Administrator',
-		'owner': 'harshada@webnotestech.com'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'harshada@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Attendance\x01Employee',
-		'criteria_name': 'Monthly Attendance Details',
-		'doc_type': 'Attendance',
+		'columns': u'Attendance\x01Employee',
+		'criteria_name': u'Monthly Attendance Details',
+		'doc_type': u'Attendance',
 		'doctype': 'Search Criteria',
-		'filters': "{'Attendance\x01Status':'','Attendance\x01Fiscal Year':''}",
-		'module': 'HR',
+		'filters': u"{'Attendance\x01Status':'','Attendance\x01Fiscal Year':''}",
+		'module': u'HR',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabAttendance`.`employee`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabAttendance`.`employee`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, monthly_attendance_details
 	{
 		'doctype': 'Search Criteria',
-		'name': 'monthly_attendance_details'
+		'name': u'monthly_attendance_details'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/monthly_salary_register/monthly_salary_register.txt b/erpnext/hr/search_criteria/monthly_salary_register/monthly_salary_register.txt
index e480563..e829f64 100644
--- a/erpnext/hr/search_criteria/monthly_salary_register/monthly_salary_register.txt
+++ b/erpnext/hr/search_criteria/monthly_salary_register/monthly_salary_register.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:33:12',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-04-05 14:43:08',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Salary Slip\x01ID,Salary Slip\x01Employee,Salary Slip\x01Employee Name,Salary Slip\x01Leave Without Pay,Salary Slip\x01Arrear Amount',
-		'criteria_name': 'Monthly Salary Register',
-		'doc_type': 'Salary Slip',
+		'columns': u'Salary Slip\x01ID,Salary Slip\x01Employee,Salary Slip\x01Employee Name,Salary Slip\x01Leave Without Pay,Salary Slip\x01Arrear Amount',
+		'criteria_name': u'Monthly Salary Register',
+		'doc_type': u'Salary Slip',
 		'doctype': 'Search Criteria',
-		'filters': "{'Salary Slip\x01Month':'','Salary Slip\x01Year':''}",
-		'module': 'HR',
+		'filters': u"{'Salary Slip\x01Month':'','Salary Slip\x01Year':''}",
+		'module': u'HR',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': 'ID',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'ID',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, monthly_salary_register
 	{
 		'doctype': 'Search Criteria',
-		'name': 'monthly_salary_register'
+		'name': u'monthly_salary_register'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.txt b/erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.txt
index f58984c..b8d0171 100644
--- a/erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.txt
+++ b/erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:25',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-12-01 09:54:34',
-		'modified_by': 'Administrator',
-		'owner': 'harshada@webnotestech.com'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'harshada@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Employee\x01ID',
-		'criteria_name': 'New or left employees for a month',
-		'doc_type': 'Employee',
+		'columns': u'Employee\x01ID',
+		'criteria_name': u'New or left employees for a month',
+		'doc_type': u'Employee',
 		'doctype': 'Search Criteria',
-		'filters': "{'Employee\x01Saved':1,'Employee\x01Submitted':1,'Employee\x01Gender':'','Employee\x01Month of Birth':'','Employee\x01Status':''}",
-		'module': 'HR',
+		'filters': u"{'Employee\x01Saved':1,'Employee\x01Submitted':1,'Employee\x01Gender':'','Employee\x01Month of Birth':'','Employee\x01Status':''}",
+		'module': u'HR',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabEmployee`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabEmployee`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, new_or_left_employees_for_a_month
 	{
 		'doctype': 'Search Criteria',
-		'name': 'new_or_left_employees_for_a_month'
+		'name': u'new_or_left_employees_for_a_month'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/pending_appraisals/pending_appraisals.txt b/erpnext/hr/search_criteria/pending_appraisals/pending_appraisals.txt
index 3010bc9..cf22c7a 100644
--- a/erpnext/hr/search_criteria/pending_appraisals/pending_appraisals.txt
+++ b/erpnext/hr/search_criteria/pending_appraisals/pending_appraisals.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-09-01 14:19:02',
-		'modified_by': 'Administrator',
-		'owner': 'ashwini@webnotestech.com'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'ashwini@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'criteria_name': 'Pending Appraisals',
+		'criteria_name': u'Pending Appraisals',
 		'disabled': 0,
-		'doc_type': 'Appraisal',
+		'doc_type': u'Appraisal',
 		'doctype': 'Search Criteria',
-		'filters': "{'Appraisal\x01Submitted':1,'Appraisal\x01Status':'Submitted','Appraisal\x01Fiscal Year':'','Appraisal\x01Approver':''}",
-		'module': 'HR',
+		'filters': u"{'Appraisal\x01Submitted':1,'Appraisal\x01Status':'Submitted','Appraisal\x01Fiscal Year':'','Appraisal\x01Approver':''}",
+		'module': u'HR',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabAppraisal`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabAppraisal`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, pending_appraisals
 	{
 		'doctype': 'Search Criteria',
-		'name': 'pending_appraisals'
+		'name': u'pending_appraisals'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/pending_expense_vouchers/__init__.py b/erpnext/hr/search_criteria/pending_expense_claims/__init__.py
similarity index 100%
rename from erpnext/hr/search_criteria/pending_expense_vouchers/__init__.py
rename to erpnext/hr/search_criteria/pending_expense_claims/__init__.py
diff --git a/erpnext/hr/search_criteria/pending_expense_claims/pending_expense_claims.txt b/erpnext/hr/search_criteria/pending_expense_claims/pending_expense_claims.txt
new file mode 100644
index 0000000..0bff5ad
--- /dev/null
+++ b/erpnext/hr/search_criteria/pending_expense_claims/pending_expense_claims.txt
@@ -0,0 +1,31 @@
+# Search Criteria, pending_expense_claims
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-03-30 14:50:44',
+		'docstatus': 0,
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'ashwini@webnotestech.com'
+	},
+
+	# These values are common for all Search Criteria
+	{
+		'criteria_name': u'Pending Expense Claims',
+		'doc_type': u'Expense Claim',
+		'doctype': 'Search Criteria',
+		'filters': u"{'Expense Claim\x01Approval Status':'','Expense Claim\x01Fiscal Year':''}",
+		'module': u'HR',
+		'name': '__common__',
+		'page_len': 50,
+		'sort_order': u'DESC',
+		'standard': u'Yes'
+	},
+
+	# Search Criteria, pending_expense_claims
+	{
+		'doctype': 'Search Criteria',
+		'name': u'pending_expense_claims'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.js b/erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.js
deleted file mode 100644
index 41a4b9c..0000000
--- a/erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-report.customize_filters = function() {
-  this.hide_all_filters();  
-  
-  this.add_filter({fieldname:'approver', label:'Approver', fieldtype:'Link', options:'Profile', ignore : 1, parent:'Expense Claim'});  
-  this.filter_fields_dict['Expense Claim'+FILTER_SEP +'Approver'].df.in_first_page = 1;
-  
-  this.filter_fields_dict['Expense Claim'+FILTER_SEP +'From Employee'].df.filter_hide = 0;
-  this.filter_fields_dict['Expense Claim'+FILTER_SEP +'Employee Name'].df.filter_hide = 0;
-  this.filter_fields_dict['Expense Claim'+FILTER_SEP +'Fiscal Year'].df.filter_hide = 0;  
-  this.filter_fields_dict['Expense Claim'+FILTER_SEP +'From Posting Date'].df.filter_hide = 0;
-  this.filter_fields_dict['Expense Claim'+FILTER_SEP +'To Posting Date'].df.filter_hide = 0;
-  this.filter_fields_dict['Expense Claim'+FILTER_SEP +'Company'].df.filter_hide = 0;
-}
-this.mytabs.items['Select Columns'].hide();
-
-report.get_query = function(){
-  //get filter values
-  emp = this.filter_fields_dict['Expense Claim'+FILTER_SEP+'From Employee'].get_value(); 
-  emp_nm = this.filter_fields_dict['Expense Claim'+FILTER_SEP+'Employee Name'].get_value(); 
-  frm_start_date = this.filter_fields_dict['Expense Claim'+FILTER_SEP+'From Posting Date'].get_value(); 
-  to_end_date = this.filter_fields_dict['Expense Claim'+FILTER_SEP+'To Posting Date'].get_value(); 
-  fiscal_year = this.filter_fields_dict['Expense Claim'+FILTER_SEP+'Fiscal Year'].get_value();
-  approver = this.filter_fields_dict['Expense Claim'+FILTER_SEP+'Approver'].get_value();
-  company = this.filter_fields_dict['Expense Claim'+FILTER_SEP+'Company'].get_value();
-  
-  var cond = '';
-  if(emp) cond += ' AND `tabExpense Claim`.employee = "'+emp+'"';
-  if(emp_nm) cond += ' AND `tabExpense Claim`.employee_name = "'+emp_nm+'"';
-  if(frm_start_date) cond += ' AND `tabExpense Claim`.posting_date >= "'+frm_start_date+'"';
-  if(to_end_date) cond += ' AND `tabExpense Claim`.posting_date <= "'+to_end_date+'"';
-  if(fiscal_year !='') cond += ' AND `tabExpense Claim`.fiscal_year = "'+fiscal_year+'"';
-  if(approver) cond += ' AND `tabExpense Claim`.exp_approver = "'+approver+'"';
-  if(company) cond += ' AND `tabExpense Claim`.company = "'+company+'"';
-
-  var q = 'SELECT DISTINCT `tabExpense Claim`.name, `tabExpense Claim`.employee, `tabExpense Claim`.employee_name, `tabExpense Claim`.posting_date,`tabExpense Claim`.exp_approver, `tabExpense Claim`.total_claimed_amount, `tabExpense Claim`.total_sanctioned_amount FROM `tabExpense Claim` WHERE `tabExpense Claim`.approval_status= "Submitted"'+cond;  
-  return q;
-}
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.txt b/erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.txt
deleted file mode 100644
index 7bb376f..0000000
--- a/erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-# Search Criteria, pending_expense_vouchers
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2010-09-03 16:45:09',
-		'docstatus': 0,
-		'modified': '2010-09-02 11:04:41',
-		'modified_by': 'Administrator',
-		'owner': 'ashwini@webnotestech.com'
-	},
-
-	# These values are common for all Search Criteria
-	{
-		'criteria_name': 'Pending Expense Claims',
-		'doc_type': 'Expense Claim',
-		'doctype': 'Search Criteria',
-		'filters': "{'Expense Claim\x01Approval Status':'','Expense Claim\x01Fiscal Year':''}",
-		'module': 'HR',
-		'name': '__common__',
-		'page_len': 50,
-		'sort_order': 'DESC',
-		'standard': 'Yes'
-	},
-
-	# Search Criteria, pending_expense_vouchers
-	{
-		'doctype': 'Search Criteria',
-		'name': 'pending_expense_vouchers'
-	}
-]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/salary_register/salary_register.txt b/erpnext/hr/search_criteria/salary_register/salary_register.txt
index 6d9c4fa..e7f33f0 100644
--- a/erpnext/hr/search_criteria/salary_register/salary_register.txt
+++ b/erpnext/hr/search_criteria/salary_register/salary_register.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-29 12:30:57',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-12-29 12:11:18',
-		'modified_by': 'Administrator',
-		'owner': 'harshada@webnotestech.com'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'harshada@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Salary Slip\x01ID,Salary Slip\x01Employee,Salary Slip\x01Employee Name,Salary Slip\x01Year,Salary Slip\x01Month,Salary Slip\x01Total days in month,Salary Slip\x01Payment days',
-		'criteria_name': 'Salary Register',
-		'doc_type': 'Salary Slip',
+		'columns': u'Salary Slip\x01ID,Salary Slip\x01Employee,Salary Slip\x01Employee Name,Salary Slip\x01Year,Salary Slip\x01Month,Salary Slip\x01Total days in month,Salary Slip\x01Payment days',
+		'criteria_name': u'Salary Register',
+		'doc_type': u'Salary Slip',
 		'doctype': 'Search Criteria',
-		'filters': "{'Salary Slip\x01Submitted':1,'Salary Slip\x01Month':''}",
-		'module': 'HR',
+		'filters': u"{'Salary Slip\x01Submitted':1,'Salary Slip\x01Month':''}",
+		'module': u'HR',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSalary Slip`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSalary Slip`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, salary_register
 	{
 		'doctype': 'Search Criteria',
-		'name': 'salary_register'
+		'name': u'salary_register'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/salary_slips/salary_slips.txt b/erpnext/hr/search_criteria/salary_slips/salary_slips.txt
index 00e6d46..960b226 100644
--- a/erpnext/hr/search_criteria/salary_slips/salary_slips.txt
+++ b/erpnext/hr/search_criteria/salary_slips/salary_slips.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:32',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-08-04 13:07:29',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Salary Slip\x01ID,Salary Slip\x01Fiscal Year,Salary Slip\x01Month,Salary Slip\x01Employee,Salary Slip\x01Employee Name,Salary Slip\x01Department,Salary Slip\x01Designation,Salary Slip\x01Branch,Salary Slip\x01Grade,Salary Slip\x01PF No.,Salary Slip\x01ESIC No.,Salary Slip\x01Leave Without Pay,Salary Slip\x01Bank Name,Salary Slip\x01Bank Account No.,Salary Slip\x01Payment days,Salary Slip\x01Arrear Amount,Salary Slip\x01Encashment Amount,Salary Slip\x01Gross Pay,Salary Slip\x01Total Deduction,Salary Slip\x01Net Pay',
-		'criteria_name': 'Salary Slips',
-		'doc_type': 'Salary Slip',
+		'columns': u'Salary Slip\x01ID,Salary Slip\x01Fiscal Year,Salary Slip\x01Month,Salary Slip\x01Employee,Salary Slip\x01Employee Name,Salary Slip\x01Department,Salary Slip\x01Designation,Salary Slip\x01Branch,Salary Slip\x01Grade,Salary Slip\x01PF No.,Salary Slip\x01ESIC No.,Salary Slip\x01Leave Without Pay,Salary Slip\x01Bank Name,Salary Slip\x01Bank Account No.,Salary Slip\x01Payment days,Salary Slip\x01Arrear Amount,Salary Slip\x01Encashment Amount,Salary Slip\x01Gross Pay,Salary Slip\x01Total Deduction,Salary Slip\x01Net Pay',
+		'criteria_name': u'Salary Slips',
+		'doc_type': u'Salary Slip',
 		'doctype': 'Search Criteria',
-		'filters': "{'Salary Slip\x01Saved':1,'Salary Slip\x01Submitted':1}",
-		'module': 'HR',
+		'filters': u"{'Salary Slip\x01Saved':1,'Salary Slip\x01Submitted':1}",
+		'module': u'HR',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSalary Slip`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSalary Slip`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, salary_slips
 	{
 		'doctype': 'Search Criteria',
-		'name': 'salary_slips'
+		'name': u'salary_slips'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/hr/search_criteria/salary_structure_details/salary_structure_details.txt b/erpnext/hr/search_criteria/salary_structure_details/salary_structure_details.txt
index 1111a38..1b72656 100644
--- a/erpnext/hr/search_criteria/salary_structure_details/salary_structure_details.txt
+++ b/erpnext/hr/search_criteria/salary_structure_details/salary_structure_details.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:25',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-08-04 09:19:01',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Salary Structure\x01ID,Salary Structure\x01Employee,Salary Structure\x01From Date,Salary Structure\x01To Date,Salary Structure\x01Fiscal Year,Salary Structure\x01Branch,Salary Structure\x01Designation,Salary Structure\x01Department,Salary Structure\x01Grade,Salary Structure\x01Is Active,Salary Structure\x01Total Earning,Salary Structure\x01Total Deduction,Salary Structure\x01CTC,Salary Structure\x01Total',
-		'criteria_name': 'Salary Structure Details',
-		'doc_type': 'Salary Structure',
+		'columns': u'Salary Structure\x01ID,Salary Structure\x01Employee,Salary Structure\x01From Date,Salary Structure\x01To Date,Salary Structure\x01Fiscal Year,Salary Structure\x01Branch,Salary Structure\x01Designation,Salary Structure\x01Department,Salary Structure\x01Grade,Salary Structure\x01Is Active,Salary Structure\x01Total Earning,Salary Structure\x01Total Deduction,Salary Structure\x01CTC,Salary Structure\x01Total',
+		'criteria_name': u'Salary Structure Details',
+		'doc_type': u'Salary Structure',
 		'doctype': 'Search Criteria',
-		'filters': "{'Salary Structure\x01Branch':'','Salary Structure\x01Designation':'','Salary Structure\x01Department':'','Salary Structure\x01Grade':'','Salary Structure\x01Is Active':''}",
-		'module': 'HR',
+		'filters': u"{'Salary Structure\x01Branch':'','Salary Structure\x01Designation':'','Salary Structure\x01Department':'','Salary Structure\x01Grade':'','Salary Structure\x01Is Active':''}",
+		'module': u'HR',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSalary Structure`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSalary Structure`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, salary_structure_details
 	{
 		'doctype': 'Search Criteria',
-		'name': 'salary_structure_details'
+		'name': u'salary_structure_details'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/patches/before_jan_2012/index_patch.py b/erpnext/patches/before_jan_2012/index_patch.py
index 89a4f07..fef48de 100644
--- a/erpnext/patches/before_jan_2012/index_patch.py
+++ b/erpnext/patches/before_jan_2012/index_patch.py
@@ -153,7 +153,6 @@
 						'Form 16A Tax Detail': [], 
 						'Event': ['event_date', 'event_type'], 
 						'Currency': [], 
-						'Service Quotation Detail': ['item_code'], 
 						'Warehouse Type': ['warehouse_type'], 
 						'Sales BOM': ['item_group'], 
 						'IT Checklist': ['employee'], 
@@ -274,7 +273,6 @@
 						'SMS Receiver': [], 
 						'Naming Series Options': ['doc_type'], 
 						'Activity Type': [], 
-						'PRO Production Plan Item': [], 
 						'Delivery Note Packing Item': ['item_code', 'parent_item', 'warehouse'], 
 						'Workflow Rule': ['select_form'], 
 						'File': ['file_group'], 
diff --git a/erpnext/patches/jan_mar_2012/rename_doctype_indent.py b/erpnext/patches/jan_mar_2012/rename_doctype_indent.py
deleted file mode 100644
index 56e2086..0000000
--- a/erpnext/patches/jan_mar_2012/rename_doctype_indent.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-import webnotes
-def execute():
-	"""
-		* Create DocType Label
-		* Reload Related DocTypes
-	"""
-	create_doctype_label()
-	reload_related_doctype()
-
-
-def create_doctype_label():
-	"""
-		Creates a DocType Label Record for Purchase Request
-	"""
-	res = webnotes.conn.sql("""\
-		SELECT name FROM `tabDocType Label`
-		WHERE name='Purchase Request'
-	""")
-	if not(res and res[0] and res[0][0]):
-		from webnotes.model.doc import Document
-		doclabel = Document('DocType Label')
-		doclabel.dt = 'Purchase Request'
-		doclabel.dt_label = 'Purchase Requisition'
-		doclabel.save(1)
-
-
-def reload_related_doctype():
-	"""
-		Reload:
-		* indent
-		* purchase_order
-		* po_detail
-	"""
-	from webnotes.modules import reload_doc
-	reload_doc('buying', 'doctype', 'indent')
-	reload_doc('buying', 'doctype', 'purchase_order')
-	reload_doc('buying', 'doctype', 'po_detail')
diff --git a/erpnext/patches/jan_mar_2012/rename_dt.py b/erpnext/patches/jan_mar_2012/rename_dt.py
index 8d860a5..e2cd2f0 100644
--- a/erpnext/patches/jan_mar_2012/rename_dt.py
+++ b/erpnext/patches/jan_mar_2012/rename_dt.py
@@ -7,27 +7,10 @@
 from webnotes.utils import make_esc
 import os
 
-def execute3():
-	# Dt Mapper renaming
-	ren_mapper = get_mapper_to_be_renamed()
-	# Rename mapper in db
-	rename_in_db(ren_mapper, 'DocType Mapper', 0)
-
-	#---------------------------------------------------
-	# GL Mapper renaming
-	gl_mapper = {'Receivable Voucher': 'Sales Invoice', 'Payable Voucher': 'Purchase Invoice'}
-	rename_in_db(gl_mapper, 'GL Mapper', 0)
-
-
-	#---------------------------------------------------
-	# remove dt label
-	webnotes.conn.sql("""delete from `tabDocType Label` where name in ('Ticket', 'Receivable Voucher', 
-		'QA Inspection Report', 'Payable Voucher', 'Manage Account', 'Indent', 'DocLayer')""")
-
 def execute():
-	update_local_file_system()
+	update_file_content({'Follow up': 'Communication'})
 
-def execute2():
+def execute1():
 	# delete dt, mapper
 	delete_dt_and_mapper()
 	
@@ -61,13 +44,36 @@
 	for d in ren_mapper:
 		mod = '_'.join(webnotes.conn.sql("select module from `tabDocType Mapper` where name = %s", ren_mapper[d])[0][0].lower().split())
 		reload_doc(mod, 'DocType Mapper', ren_mapper[d])
+	
+	webnotes.conn.sql("DELETE FROM `tabSearch Criteria` WHERE name=''")
+	webnotes.conn.sql("""UPDATE `tabSearch Criteria` SET standard='No'
+			WHERE name IN ('appraisal_custom', 'bills-to_be_paid',
+			'bills-to_be_submitted', 'cenvat_credit_-_input_or_capital_goods',
+			'custom_test', 'custom_test1', 'delivery_note-to_be_billed',
+			'delivery_note-to_be_submitted', 'delivery_notes',
+			'employee_leave_balance_report', 'flat_bom_report',
+			'general_ledger1', 'lead_interested',
+			'payables_-_as_on_outstanding', 'periodical_budget_report',
+			'projectwise_delivered_qty_and_costs_as_per_purchase_cost',
+			'projectwise_pending_qty_and_costs_as_per_purchase_cost', 'sales',
+			'sales_order1', 'sales_order_pending_items',
+			'territory_wise_sales_-_target_vs_actual_', 'test_report')""")
 
 	# reload custom search criteria
-	for d in  webnotes.conn.sql("""select name, module from `tabSearch Criteria` where ifnull(standard, 'Yes') = 'Yes' and ifnull(disabled, 0) = 0"""):
-		reload_doc(d[1], 'search_criteria', d[0])
+	for d in  webnotes.conn.sql("""select name, module from
+			`tabSearch Criteria` where ifnull(standard, 'No') = 'Yes' and ifnull(disabled, 0) = 0"""):
+		print d
+		reload_doc(d[1], 'search_criteria', d[0].replace('-', '_'))
+	
+	webnotes.conn.sql("""DELETE FROM `tabPrint Format`
+			WHERE name IN ('Delivery Note Format', 'Purchase Order Format',
+			'Quotation Format', 'Receivable Voucher Format', 'Sales Order',
+			'SalesInvoiceModern_test', 'SalesInvoiceStdNew',
+			'Service Order Format', 'Service Quotation Format')""")
 
 	# reload custom print format
-	for d in webnotes.conn.sql("select name, module from `tabPrint Format` where ifnull(standard, 'Yes') = 'Yes'"):
+	for d in webnotes.conn.sql("""select name, module from `tabPrint Format`
+			where ifnull(standard, 'No') = 'Yes'"""):
 		reload_doc(d[1], 'Print Format', d[0])
 
 	#  Reload GL Mapper
@@ -172,8 +178,6 @@
 		'QA Inspection Report'		:	'Quality Inspection',
 		'Ticket'					:	'Task',
 		'Manage Account'			:	'Global Defaults',
-		'DocLayer'					:	'Customize Form View',
-		'DocLayerField'				:	'CFV Field',
 		'ToDo Item'					:	'ToDo',
 		'Term'						:	'Terms and Conditions',
 		'Static Parameter Detail'	:	'SMS Parameter',
@@ -268,17 +272,21 @@
 	rendt = get_dt_to_be_renamed()
 
 	# replace dt in js/py file
-	#update_file_content(rendt)
+	update_file_content(rendt)
 	# git mv
-	#rename_dt_files(rendt)
+	rename_dt_files(rendt)
 
 
 	# Mapper renaming
 	ren_mapper = get_mapper_to_be_renamed()
 
 	rename_mapper_files(ren_mapper)
-	
 
+	os.system('git mv erpnext/accounts/GL\ Mapper/Payable\ Voucher erpnext/accounts/GL\ Mapper/Purchase\ Invoice')
+	os.system('git mv erpnext/accounts/GL\ Mapper/Purchase\ Invoice/Payable\ Voucher.txt erpnext/accounts/GL\ Mapper/Purchase\ Invoice/Purchase\ Invoice.txt')
+	os.system('git mv erpnext/accounts/GL\ Mapper/Receivable\ Voucher erpnext/accounts/GL\ Mapper/Sales\ Invoice')
+	os.system('git mv erpnext/accounts/GL\ Mapper/Sales\ Invoice/Receivable\ Voucher.txt erpnext/accounts/GL\ Mapper/Sales\ Invoice/Sales\ Invoice.txt')
+	
 	# git rm production dt mapper
 	os.system('git rm -r erpnext/production/DocType\ Mapper/')
 
@@ -312,7 +320,7 @@
 def rename_mapper_files(ren_mapper):
 	for d in ren_mapper:
 		# module
-		mod = '_'.join(webnotes.conn.sql("select module from `tabDocType Mapper` where name = %s", ren_mapper[d], debug=1)[0][0].lower().split())
+		mod = '_'.join(webnotes.conn.sql("select module from `tabDocType Mapper` where name = %s", ren_mapper[d])[0][0].lower().split())
 		path = 'erpnext/' + mod + '/DocType Mapper/'
 
 		# rename old dir
diff --git a/erpnext/patches/old_patches/__init__.py b/erpnext/patches/old_patches/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/patches/old_patches/__init__.py
+++ /dev/null
diff --git a/erpnext/patches/old_patches/customer_address.py b/erpnext/patches/old_patches/customer_address.py
deleted file mode 100644
index 851fb95..0000000
--- a/erpnext/patches/old_patches/customer_address.py
+++ /dev/null
@@ -1,704 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-import webnotes
-
-from webnotes.model.doc import Document
-from webnotes.utils import load_json, cint, cstr
-from webnotes import msgprint, errprint
-
-def make_address():
-	from webnotes.modules import reload_doc
-	reload_doc('utilities','doctype','address')
-	
-	from webnotes.model.db_schema import updatedb
-	updatedb('Address')
-
-def make_address_from_customer():
-	for c in webnotes.conn.sql("select * from tabCustomer", as_dict=1):		
-		d = Document('Address') 
-		d.address_line1 = c['address_line1'] 
-		d.address_line2 = c['address_line2']  
-		d.city = c['city']  
-		d.country = c['country']  
-		d.pincode = c['pincode']
-		d.state = c['state']  
-		d.fax = c['fax_1']  
-		d.email_id = c['email_id']  		
-		d.phone = c['phone_1']  
-		d.customer = c['name']  
-		d.customer_name = c['customer_name']  
-		d.is_primary_address = 1
-		d.address_type = 'Office'
-		try:
-			d.save(1)
-		except NameError, e:
-			pass
-
-def make_address_from_supplier():
-	for c in webnotes.conn.sql("select * from tabSupplier", as_dict=1):		
-		d = Document('Address')
-		d.address_line1 = c['address_line1'] 
-		d.address_line2 = c['address_line2']  
-		d.city = c['city']  
-		d.country = c['country']  
-		d.pincode = c['pincode']
-		d.state = c['state']  		  		
-		d.supplier = c['name']  
-		d.supplier_name = c['supplier_name']  
-		d.is_primary_address = 1
-		d.address_type = 'Office'
-		try:
-			d.save(1)
-		except NameError, e:
-			pass
-
-def make_contact_from_contacttab():
-	webnotes.conn.sql("""
-	update ignore tabContact set
-		is_primary_contact = if(is_primary_contact='Yes',1,0)
-	""")
-
-	webnotes.conn.sql("""
-	update ignore tabContact t1, tabCustomer t2 set
-		t1.name = concat(ifnull(t1.contact_name,t1.name), '-', ifnull(t1.customer_name, t2.name))
-		where ifnull(t1.is_customer,0)=1
-		and t1.customer = t2.name
-	""")
-
-	webnotes.conn.sql("""
-	update ignore tabContact t1, tabSupplier t2 set
-		t1.name = concat(ifnull(t1.contact_name,t1.name), '-', ifnull(t1.supplier_name, t2.name))
-		where ifnull(t1.is_supplier,0)=1
-		and t1.supplier = t2.name
-	""")
-
-	webnotes.conn.sql("""
-	update ignore tabContact set
-		name = concat(ifnull(contact_name,name), '-', sales_partner)
-		where ifnull(is_sales_partner,0)=1
-	""")
-
-	webnotes.conn.commit()
-	try:
-		webnotes.conn.sql("""alter table tabContact change contact_no phone varchar(180)""")
-		webnotes.conn.sql("""alter table tabContact change is_primary_contact is_primary_contact int(1)""")
-	except:
-		pass
-	webnotes.conn.begin()
-	
-def delete_unwanted_fields():
-	delete_fields = [
-		('Contact', 'is_sales_partner'), ('Contact', 'sales_partner_address'), ('Contact', 'partner_type'), ('Contact', 'disable_login'), ('Contact', 'contact_address'), ('Contact', 'fax'), ('Contact', 'company_name'), ('Contact', 'contact_no'), ('Contact', 'customer_group'), ('Contact', 'has_login'), ('Contact', 'Create Login'), ('Contact', 'contact_name'), ('Contact', 'company_address'), ('Contact', 'customer_address'), ('Contact', 'supplier_address'), ('Contact', 'supplier_type'), ('Contact', 'is_customer'), ('Contact', 'is_supplier'), ('Contact', 'employee_id'), ('Contact', 'is_employee'), 
-		('Customer', 'region'), ('Customer', 'pincode'), ('Customer', 'city'), ('Customer', 'country'), ('Customer', 'state'), ('Customer', 'address'), ('Customer', 'telephone'), ('Customer', 'address_line2'), ('Customer', 'address_line1'), ('Customer', 'last_sales_order'), ('Customer', 'Shipping HTML'), ('Customer', 'phone_1'), ('Customer', 'Territory Help'), ('Customer', 'CG Help'), ('Customer', 'fax_1'), ('Customer', 'email_id'), 
-		('Customer Issue', 'email_id'), ('Customer Issue', 'contact_no'),
-		('Delivery Note', 'customer_mobile_no'), ('Delivery Note', 'Send SMS'), ('Delivery Note', 'Get Other Charges'), ('Delivery Note', 'message'), ('Delivery Note', 'shipping_address'), ('Delivery Note', 'ship_to'), ('Delivery Note', 'ship_det_no'), ('Delivery Note', 'contact_no'), ('Delivery Note', 'Customer Details'), ('Delivery Note', 'email_id'), ('Delivery Note', 'delivery_address'), ('Delivery Note', 'Contact Help'), ('Delivery Note', 'Territory Help'), 
-		('Opportunity', 'address'), ('Opportunity', 'Send Email'), ('Opportunity', 'enquiry_attachment_detail'), ('Opportunity', 'contact_date_ref'), ('Opportunity', 'Update Communication Log'), ('Opportunity', 'email_id1'), ('Opportunity', 'cc_to'), ('Opportunity', 'subject'), ('Opportunity', 'message'), ('Opportunity', 'Attachment Html'), ('Opportunity', 'Create New File'), ('Opportunity', 'contact_no'), ('Opportunity', 'email_id'), ('Opportunity', 'project'), ('Opportunity', 'update_follow_up'), ('Opportunity', 'Contact Help'), 
-		('Installation Note', 'address'), 
-		('Lead', 'message'), ('Lead', 'Send Email'), ('Lead', 'address'), ('Lead', 'subject'), ('Lead', 'contact_no'), ('Lead', 'TerritoryHelp'), 
-		('Maintenance Schedule', 'address'), 
-		('Maintenance Visit', 'address'), 
-		('Purchase Order', 'Contact Help'), ('Purchase Order', 'supplier_qtn'), ('Purchase Order', 'contact_no'), ('Purchase Order', 'email'), 
-		('Purchase Receipt', 'Contact Help'), 
-		('Quotation', 'email_id'), ('Quotation', 'contact_no'), ('Quotation', 'Update Communication Log'), ('Quotation', 'contact_date_ref'), ('Quotation', 'Territory Help'), ('Quotation', 'Contact Help'), 
-		('Sales Invoice', 'Territory Help'), 
-		('Sales Order', 'contact_no'), ('Sales Order', 'email_id'), ('Sales Order', 'Contact Help'), ('Sales Order', 'file_list'), ('Sales Order', 'ship_det_no'), ('Sales Order', 'mobile_no'), ('Sales Order', 'Territory Help'), ('Sales Order', 'ship_to'), ('Sales Order', 'Customer Details'), 
-		('Sales Partner', 'area_code'), ('Sales Partner', 'telephone'), ('Sales Partner', 'email'), ('Sales Partner', 'address'), ('Sales Partner', 'TerritoryHelp'), ('Sales Partner', 'pincode'), ('Sales Partner', 'country'), ('Sales Partner', 'city'), ('Sales Partner', 'address_line2'), ('Sales Partner', 'address_line1'), ('Sales Partner', 'mobile'), ('Sales Partner', 'state'), 
-		('Serial No', 'supplier_address'), 
-		('Supplier', 'city'), ('Supplier', 'country'), ('Supplier', 'state'), ('Supplier', 'address_line1'), ('Supplier', 'last_purchase_order'), ('Supplier', 'address'), ('Supplier', 'address_line2'), ('Supplier', 'pincode'), ('Supplier rating', 'address'), ('Supplier rating', 'select'), ('Supplier rating', 'supplier')]
-	for d in delete_fields:
-		webnotes.conn.sql("delete from tabDocField where parent=%s and if(ifnull(fieldname,'')='',ifnull(label,''),fieldname)=%s", (d[0], d[1]))
-
-#def gen_txt_files():
-#	from webnotes.modules.export_module import export_to_files
-#	for dt in ['Contact','Customer','Customer Issue','Delivery Note','Opportunity','Installation Note','Lead','Maintenance Schedule','Maintenance Visit','Purchase Order','Purchase Receipt','Quotation','Sales Invoice','Sales Order','Sales Partner','Serial No','Supplier']:
-#		export_to_files(record_list=[['DocType',dt]])
-
-def reload_doc_files():
-	from webnotes.modules import reload_doc	
-	reload_doc('utilities', 'doctype', 'contact')
-	reload_doc('selling', 'doctype', 'customer')
-	reload_doc('support', 'doctype', 'customer_issue')
-	reload_doc('stock', 'doctype', 'delivery_note')
-	reload_doc('selling', 'doctype', 'enquiry')
-	reload_doc('selling', 'doctype', 'installation_note')
-	reload_doc('selling', 'doctype', 'lead')
-	reload_doc('support', 'doctype', 'maintenance_schedule')
-	reload_doc('support', 'doctype', 'maintenance_visit')
-	reload_doc('buying', 'doctype', 'purchase_order')
-	reload_doc('stock', 'doctype', 'purchase_receipt')
-	reload_doc('selling', 'doctype', 'quotation')
-	reload_doc('accounts', 'doctype', 'receivable_voucher')
-	reload_doc('accounts', 'doctype', 'payable_voucher')	
-	reload_doc('selling', 'doctype', 'sales_order')
-	reload_doc('setup', 'doctype', 'sales_partner')
-	reload_doc('stock', 'doctype', 'serial_no')
-	reload_doc('buying', 'doctype', 'supplier')
-	
-def reload_mapper_files():
-	from webnotes.modules import reload_doc	
-	reload_doc('Mapper', 'DocType Mapper', 'Customer Issue-Maintenance Visit')
-	reload_doc('Mapper', 'DocType Mapper', 'Delivery Note-Installation Note')
-	reload_doc('Mapper', 'DocType Mapper', 'Delivery Note-Sales Invoice')
-	reload_doc('Mapper', 'DocType Mapper', 'Opportunity-Quotation')
-	reload_doc('Mapper', 'DocType Mapper', 'Lead-Customer')
-	reload_doc('Mapper', 'DocType Mapper', 'Lead-Opportunity')
-	reload_doc('Mapper', 'DocType Mapper', 'Purchase Order-Purchase Invoice')
-	reload_doc('Mapper', 'DocType Mapper', 'Purchase Order-Purchase Receipt')
-	reload_doc('Mapper', 'DocType Mapper', 'Purchase Receipt-Purchase Invoice')
-	reload_doc('Mapper', 'DocType Mapper', 'Quotation-Sales Order')
-	reload_doc('Mapper', 'DocType Mapper', 'Sales Invoice-Delivery Note')
-	reload_doc('Mapper', 'DocType Mapper', 'Sales Order-Delivery Note')
-	reload_doc('Mapper', 'DocType Mapper', 'Sales Order-Maintenance Schedule')
-	reload_doc('Mapper', 'DocType Mapper', 'Sales Order-Maintenance Visit')
-	reload_doc('Mapper', 'DocType Mapper', 'Sales Order-Sales Invoice')		
-  	
-def delete_unwanted_mapper_fields():
-	delete_fields = [
-	('Customer Issue-Maintenance Visit', 'customer_address', 'address'),
-	('Delivery Note-Installation Note', 'customer_address', 'address'),
-	('Opportunity-Quotation', 'contact_no', 'contact_no'), ('Opportunity-Quotation', 'subject', 'enq_det'), ('Opportunity-Quotation', 'customer_name', 'customer_name'), ('Opportunity-Quotation', 'customer_name', 'customer_name'), ('Opportunity-Quotation', 'address', 'customer_address'), ('Opportunity-Quotation', 'email_id', 'email_id'),
-	('Quotation-Sales Order', 'contact_no', 'contact_no'), ('Quotation-Sales Order', 'email_id', 'email_id'), ('Quotation-Sales Order', 'customer_mobile_no', 'customer_mobile_no'),
-	('Sales Order-Delivery Note', 'customer_address', 'delivery_address'), ('Sales Order-Delivery Note', 'customer_address', 'customer_address'), ('Sales Order-Delivery Note', 'contact_no', 'contact_no'), ('Sales Order-Delivery Note', 'email_id', 'email_id'), ('Sales Order-Delivery Note', 'ship_det_no', 'ship_det_no'), ('Sales Order-Delivery Note', 'ship_to', 'ship_to'), ('Sales Order-Delivery Note', 'shipping_address', 'shipping_address'), ('Sales Order-Delivery Note', 'customer_mobile_no', 'customer_mobile_no'),
-	('Sales Order-Maintenance Schedule', 'customer_address', 'address'),
-	('Sales Order-Maintenance Visit', 'customer_address', 'address'),
-	('Sales Order-Sales Invoice', 'contact_no', 'contact_no')]
-	
-  	for rec in delete_fields:  		
-		webnotes.conn.sql("delete from `tabField Mapper Detail` where parent=%s and from_field=%s and to_field=%s",(rec[0], rec[1], rec[2]))
-  	
-def sync_docfield_properties():
-	update_fields = [	
-	('Contact', 'customer', 'Customer', 0L, None, 0L, None), ('Contact', 'supplier', 'Supplier', 0L, None, None, None), ('Contact', 'is_primary_contact', None, 0L, None, None, None), ('Contact', 'email_id', None, 0L, 1L, None, None), ('Contact', 'department', 'Suggest', 0L, None, None, None), ('Contact', 'designation', 'Suggest', 0L, None, None, None),
-	('Customer Issue', 'customer', 'Customer', 0L, 1L, 1L, None), ('Customer Issue', 'customer_address', 'Address', 0L, None, 1L, None), ('Customer Issue', 'contact_person', 'Contact', 0L, None, 1L, None), ('Customer Issue', 'customer_name', None, 1L, None, None, None), ('Customer Issue', 'company', 'Company', 0L, 1L, 1L, None), ('Customer Issue', 'fiscal_year', 'link:Fiscal Year', 0L, 1L, 1L, None),
-	('Delivery Note', 'customer_address', 'Address', 0L, None, 1L, None), ('Delivery Note', 'contact_person', 'Contact', 0L, None, 1L, None), ('Delivery Note', 'customer_name', None, 1L, None, None, None), ('Delivery Note', 'status', '\nDraft\nSubmitted\nCancelled', 1L, 1L, 1L, None), ('Delivery Note', 'territory', 'Territory', 0L, 1L, 1L, 0L), ('Delivery Note', 'customer_group', 'Customer Group', 0L, None, 1L, None), ('Delivery Note', 'transporter_name', None, 0L, 0L, 1L, None), ('Delivery Note', 'lr_no', None, 0L, 0L, 1L, None), ('Delivery Note', 'lr_date', None, 0L, None, 1L, None), ('Delivery Note', 'currency', 'link:Currency', 0L, 1L, 1L, None), ('Delivery Note', 'letter_head', 'link:Letter Head', 0L, None, 1L, None),
-	('Opportunity', 'contact_person', 'Contact', 0L, None, 1L, None), ('Opportunity', 'customer_name', None, 1L, None, 0L, None), ('Opportunity', 'lead', 'Lead', 0L, None, 1L, 0L), ('Opportunity', 'enquiry_type', '\nSales\nMaintenance', 0L, 1L, None, None), ('Opportunity', 'territory', 'Territory', 0L, 1L, 1L, None), ('Opportunity', 'customer_group', 'Customer Group', 0L, 0L, 1L, 0L), ('Opportunity', 'contact_by', 'Profile', 0L, None, None, None),
-	('Installation Note', 'contact_person', 'Contact', 0L, None, 1L, None), ('Installation Note', 'customer_name', None, 1L, 0L, None, None), ('Installation Note', 'territory', 'Territory', 0L, 1L, 1L, None), ('Installation Note', 'status', 'Draft\nSubmitted\nCancelled', 1L, 1L, 1L, None),
-	('Lead', 'city', None, 0L, 1L, 1L, None), ('Lead', 'country', 'link:Country', 0L, 1L, 1L, None), ('Lead', 'state', 'Suggest', 0L, None, 1L, None), ('Lead', 'company', 'Company', 0L, 1L, None, None), ('Lead', 'contact_by', 'Profile', 0L, 0L, 0L, 0L),
-	('Maintenance Schedule', 'customer', 'Customer', 0L, 1L, 1L, None), ('Maintenance Schedule', 'contact_person', 'Contact', 0L, None, 1L, None), ('Maintenance Schedule', 'status', '\nDraft\nSubmitted\nCancelled', 1L, 1L, None, None), ('Maintenance Schedule', 'territory', 'Territory', 0L, 1L, None, None),
-	('Maintenance Visit', 'customer', 'Customer', 0L, 1L, 1L, None), ('Maintenance Visit', 'contact_person', 'Contact', 0L, None, 1L, None), ('Maintenance Visit', 'customer_name', None, 1L, None, None, None), ('Maintenance Visit', 'company', 'link:Company', 0L, 1L, 1L, None), ('Maintenance Visit', 'fiscal_year', 'link:Fiscal Year', 0L, 1L, 1L, None), ('Maintenance Visit', 'status', '\nDraft\nCancelled\nSubmitted', 1L, 1L, None, None), ('Maintenance Visit', 'territory', 'Territory', 0L, None, 1L, None),
-	('Purchase Order', 'supplier_address', 'Address', 0L, None, 1L, None), ('Purchase Order', 'contact_person', 'Contact', 0L, None, 1L, None), ('Purchase Order', 'supplier_name', None, 1L, None, None, None), ('Purchase Order', 'status', '\nDraft\nSubmitted\nStopped\nCancelled', 1L, 1L, 1L, None), ('Purchase Order', 'indent_no', 'Purchase Request', 0L, None, 1L, 0L), ('Purchase Order', 'is_subcontracted', '\nYes\nNo', 0L, None, 1L, None), ('Purchase Order', 'currency', 'link:Currency', 0L, 1L, 1L, None), ('Purchase Order', 'net_total', None, 1L, 0L, 1L, None),
-	('Purchase Receipt', 'supplier_address', 'Address', 0L, None, 1L, None), ('Purchase Receipt', 'contact_person', 'Contact', 0L, None, 1L, None), ('Purchase Receipt', 'supplier_name', None, 1L, None, None, None), ('Purchase Receipt', 'status', '\nDraft\nSubmitted\nCancelled', 1L, 1L, 1L, None), ('Purchase Receipt', 'currency', 'link:Currency', 0L, 1L, 1L, None),
-	('Quotation', 'customer', 'Customer', 0L, None, 1L, 0L), ('Quotation', 'customer_address', 'Address', 0L, None, 1L, 0L), ('Quotation', 'contact_person', 'Contact', 0L, 0L, 1L, 0L), ('Quotation', 'customer_name', None, 1L, None, None, None), ('Quotation', 'lead', 'Lead', 0L, None, 1L, 0L), ('Quotation', 'lead_name', None, 1L, None, None, None), ('Quotation', 'order_type', '\nSales\nMaintenance', 0L, 1L, 0L, None), ('Quotation', 'status', '\nDraft\nSubmitted\nOrder Confirmed\nOrder Lost\nCancelled', 1L, 1L, 1L, None), ('Quotation', 'territory', 'Territory', 0L, 1L, 1L, 0L), ('Quotation', 'currency', 'link:Currency', 0L, 1L, 1L, None), ('Quotation', 'letter_head', 'link:Letter Head', 0L, None, 1L, None), ('Quotation', 'order_lost_reason', None, 1L, None, 1L, None), ('Quotation', 'contact_by', 'Profile', 0L, None, 1L, None), ('Quotation', 'contact_date', None, 0L, None, 1L, None), ('Quotation', 'to_discuss', None, 0L, None, 1L, None),
-	('Sales Invoice', 'debit_to', 'Account', 0L, 1L, 1L, None), ('Sales Invoice', 'customer_address', 'Address', 0L, None, 1L, None), ('Sales Invoice', 'territory', 'Territory', 0L, 1L, 1L, None), ('Sales Invoice', 'paid_amount', None, 0L, None, 1L, None), ('Sales Invoice', 'company', 'Company', 0L, 1L, 1L, None), ('Sales Invoice', 'fiscal_year', 'link:Fiscal Year', 0L, 1L, 1L, None), ('Sales Invoice', 'outstanding_amount', None, 1L, None, 1L, None),
-	('Purchase Invoice', 'supplier_address', 'Address', 0L, None, 1L, None), ('Purchase Invoice', 'contact_display', None, 1L, None, None, None), ('Purchase Invoice', 'contact_mobile', None, 1L, None, None, None), ('Purchase Invoice', 'contact_email', None, 1L, None, 1L, None), ('Purchase Invoice', 'currency', 'link:Currency', 0L, 1L, 1L, None), ('Purchase Invoice', 'conversion_rate', None, 0L, 1L, 1L, None), ('Purchase Invoice', 'company', 'Company', 0L, 1L, 1L, None), ('Purchase Invoice', 'fiscal_year', 'link:Fiscal Year', 0L, 1L, 1L, None),
-	('Sales Order', 'customer_address', 'Address', 0L, None, 1L, 0L), ('Sales Order', 'contact_person', 'Contact', 0L, None, 1L, None), ('Sales Order', 'customer_name', None, 1L, None, None, None), ('Sales Order', 'status', '\nDraft\nSubmitted\nStopped\nCancelled', 1L, 1L, 1L, None), ('Sales Order', 'quotation_date', None, 1L, 0L, 1L, 1L), ('Sales Order', 'currency', 'link:Currency', 0L, 1L, 1L, None), ('Sales Order', 'letter_head', 'link:Letter Head', 0L, None, 1L, None),
-	('Sales Partner', 'territory', 'Territory', 0L, 1L, None, None),
-	('Supplier', 'company', 'Company', 0L, 1L, None, None)]
-	
-	for rec in update_fields:
-		webnotes.conn.sql("UPDATE `tabDocField` SET options=%s, permlevel=%s, reqd=%s, print_hide=%s, hidden=%s where parent=%s and fieldname=%s",(rec[2], rec[3], rec[4], rec[5], rec[6], rec[0], rec[1]))
-	
-def run_patch():
-	make_address()
-  	make_address_from_customer()
-  	make_address_from_supplier()
-  	make_contact_from_contacttab()
-  	delete_unwanted_fields()
-	reload_doc_files()
-	reload_mapper_files()
-	delete_unwanted_mapper_fields()
-	sync_docfield_properties()	
-
-#Old Customer Data Sync Patch for "Quotation, SO, PO, RV, PV, DN, PR, Installation Note, Maintenance Schedule, Customer Issue, Maintenance Visit"
-#--------------------------------------------------------------
-
-def run_old_data_sync_patch():
-	sync_quotation_customer_data()
-	sync_sales_order_customer_data()
-	sync_purchase_order_supplier_data()
-	sync_receivable_voucher_customer_data()
-	sync_payable_voucher_supplier_data()
-	sync_delivery_note_customer_data()
-	sync_purchase_receipt_supplier_data()
-	sync_installation_note_customer_data()
-	sync_maintenance_schedule_customer_data()
-	sync_customer_issue_customer_data()
-	sync_maintenance_visit_customer_data()
-	sync_lead_phone()
-	
-#Quotation
-def sync_quotation_customer_data():
-	data_rec = webnotes.conn.sql("""
-	SELECT tq.name as id,tq.customer, 
-	ta.name as customer_address, ta.address_line1, ta.address_line2, ta.city, ta.country, ta.pincode, ta.state, ta.phone
-	FROM tabQuotation tq, tabAddress ta
-	WHERE tq.customer = ta.customer
-	AND tq.quotation_to = 'Customer'	
-	AND tq.docstatus !=2
-	ORDER BY tq.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		address_display = cstr((rec['address_line1'] and rec['address_line1'] or '')) + cstr((rec['address_line2'] and '\n' + rec['address_line2'] or '')) + cstr((rec['city'] and '\n'+rec['city'] or '')) + cstr((rec['pincode'] and ', ' + rec['pincode'] or '')) + cstr((rec['state'] and '\n'+rec['state']+', ' or '')) + cstr((rec['country'] and rec['country'] or '')) + '\n' + cstr((rec['phone'] and 'Tel: '+rec['phone'] or ''))											
-		
-		webnotes.conn.sql("""
-		UPDATE tabQuotation SET
-			customer_address = %s,
-			address_display = %s
-			WHERE name = %s
-		""",(rec['customer_address'],address_display,rec['id']))
-		
-	data_rec = webnotes.conn.sql("""
-	SELECT tq.name as id,tq.customer, 
-	tc.name as contact_person, tc.first_name, tc.last_name, tc.email_id, tc.phone as contact_phone, tc.mobile_no, tc.department, tc.designation
-	FROM tabQuotation tq, tabContact tc
-	WHERE tq.customer = tc.customer 
-	AND tq.quotation_to = 'Customer'	
-	AND tq.docstatus !=2
-	ORDER BY tq.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		contact_display = (rec['first_name'] and rec['first_name'] or '') + (rec['last_name'] and ' ' + rec['last_name'] or '')
-											
-		webnotes.conn.sql("""
-		UPDATE tabQuotation SET
-			contact_person = %s,
-			contact_mobile = %s,
-			contact_email = %s,
-			contact_display = %s			
-			WHERE name = %s
-		""",(rec['contact_person'],rec['mobile_no'],rec['email_id'],contact_display,rec['id']))
-				
-		
-#Sales Order		
-def sync_sales_order_customer_data():
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	ta.name as customer_address, ta.address_line1, ta.address_line2, ta.city, ta.country, ta.pincode, ta.state, ta.phone
-	FROM `tabSales Order` t, tabAddress ta
-	WHERE t.customer = ta.customer
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		address_display = cstr((rec['address_line1'] and rec['address_line1'] or '')) + cstr((rec['address_line2'] and '\n' + rec['address_line2'] or '')) + cstr((rec['city'] and '\n'+rec['city'] or '')) + cstr((rec['pincode'] and ', ' + rec['pincode'] or '')) + cstr((rec['state'] and '\n'+rec['state']+', ' or '')) + cstr((rec['country'] and rec['country'] or '')) + '\n' + cstr((rec['phone'] and 'Phone: '+rec['phone'] or ''))
-											
-		webnotes.conn.sql("""
-		UPDATE `tabSales Order` SET
-			customer_address = %s,
-			address_display = %s
-			WHERE name = %s
-		""",(rec['customer_address'],address_display,rec['id']))		
-
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	tc.name as contact_person, tc.first_name, tc.last_name, tc.email_id, tc.phone as contact_phone, tc.mobile_no, tc.department, tc.designation
-	FROM `tabSales Order` t, tabContact tc
-	WHERE t.customer = tc.customer 
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:					
-		contact_display = (rec['first_name'] and rec['first_name'] or '') + (rec['last_name'] and ' ' + rec['last_name'] or '')
-											
-		webnotes.conn.sql("""
-		UPDATE `tabSales Order` SET
-			contact_person = %s,
-			contact_mobile = %s,
-			contact_email = %s,
-			contact_display = %s			
-			WHERE name = %s
-		""",(rec['contact_person'],rec['mobile_no'],rec['email_id'],contact_display,rec['id']))		
-				
-#Purchase Order
-def sync_purchase_order_supplier_data():
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.supplier, 
-	ta.name as supplier_address, ta.address_line1, ta.address_line2, ta.city, ta.country, ta.pincode, ta.state, ta.phone
-	FROM `tabPurchase Order` t, tabAddress ta
-	WHERE t.supplier = ta.supplier
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		address_display = cstr((rec['address_line1'] and rec['address_line1'] or '')) + cstr((rec['address_line2'] and '\n' + rec['address_line2'] or '')) + cstr((rec['city'] and '\n'+rec['city'] or '')) + cstr((rec['pincode'] and ', ' + rec['pincode'] or '')) + cstr((rec['state'] and '\n'+rec['state']+', ' or '')) + cstr((rec['country'] and rec['country'] or '')) + '\n' + cstr((rec['phone'] and 'Tel: '+rec['phone'] or ''))
-											
-		webnotes.conn.sql("""
-		UPDATE `tabPurchase Order` SET
-			supplier_address = %s,
-			address_display = %s
-			WHERE name = %s
-		""",(rec['supplier_address'],address_display,rec['id']))				
-
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.supplier, 
-	tc.name as contact_person, tc.first_name, tc.last_name, tc.email_id, tc.phone as contact_phone, tc.mobile_no, tc.department, tc.designation
-	FROM `tabPurchase Order` t, tabContact tc
-	WHERE t.supplier = tc.supplier 
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:					
-		contact_display = (rec['first_name'] and rec['first_name'] or '') + (rec['last_name'] and ' ' + rec['last_name'] or '')
-											
-		webnotes.conn.sql("""
-		UPDATE `tabPurchase Order` SET
-			contact_person = %s,
-			contact_mobile = %s,
-			contact_email = %s,
-			contact_display = %s			
-			WHERE name = %s
-		""",(rec['contact_person'],rec['mobile_no'],rec['email_id'],contact_display,rec['id']))				
-		
-#Sales Invoice		
-def sync_receivable_voucher_customer_data():
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	ta.name as customer_address, ta.address_line1, ta.address_line2, ta.city, ta.country, ta.pincode, ta.state, ta.phone
-	FROM `tabSales Invoice` t, tabAddress ta
-	WHERE t.customer = ta.customer
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		address_display = cstr((rec['address_line1'] and rec['address_line1'] or '')) + cstr((rec['address_line2'] and '\n' + rec['address_line2'] or '')) + cstr((rec['city'] and '\n'+rec['city'] or '')) + cstr((rec['pincode'] and ', ' + rec['pincode'] or '')) + cstr((rec['state'] and '\n'+rec['state']+', ' or '')) + cstr((rec['country'] and rec['country'] or '')) + '\n' + cstr((rec['phone'] and 'Tel: '+rec['phone'] or ''))
-											
-		webnotes.conn.sql("""
-		UPDATE `tabSales Invoice` SET
-			customer_address = %s,
-			address_display = %s
-			WHERE name = %s
-		""",(rec['customer_address'],address_display,rec['id']))		
-		
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	tc.name as contact_person, tc.first_name, tc.last_name, tc.email_id, tc.phone as contact_phone, tc.mobile_no, tc.department, tc.designation
-	FROM `tabSales Invoice` t, tabContact tc
-	WHERE t.customer = tc.customer 
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:					
-		contact_display = (rec['first_name'] and rec['first_name'] or '') + (rec['last_name'] and ' ' + rec['last_name'] or '')
-											
-		webnotes.conn.sql("""
-		UPDATE `tabSales Invoice` SET
-			contact_person = %s,
-			contact_mobile = %s,
-			contact_email = %s,
-			contact_display = %s			
-			WHERE name = %s
-		""",(rec['contact_person'],rec['mobile_no'],rec['email_id'],contact_display,rec['id']))				
-		
-#Purchase Invoice
-def sync_payable_voucher_supplier_data():
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.supplier, 
-	ta.name as supplier_address, ta.address_line1, ta.address_line2, ta.city, ta.country, ta.pincode, ta.state, ta.phone
-	FROM `tabPurchase Invoice` t, tabAddress ta
-	WHERE t.supplier = ta.supplier
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		address_display = cstr((rec['address_line1'] and rec['address_line1'] or '')) + cstr((rec['address_line2'] and '\n' + rec['address_line2'] or '')) + cstr((rec['city'] and '\n'+rec['city'] or '')) + cstr((rec['pincode'] and ', ' + rec['pincode'] or '')) + cstr((rec['state'] and '\n'+rec['state']+', ' or '')) + cstr((rec['country'] and rec['country'] or '')) + '\n' + cstr((rec['phone'] and 'Tel: '+rec['phone'] or ''))
-											
-		webnotes.conn.sql("""
-		UPDATE `tabPurchase Invoice` SET
-			supplier_address = %s,
-			address_display = %s
-			WHERE name = %s
-		""",(rec['supplier_address'],address_display,rec['id']))				
-
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.supplier, 
-	tc.name as contact_person, tc.first_name, tc.last_name, tc.email_id, tc.phone as contact_phone, tc.mobile_no, tc.department, tc.designation
-	FROM `tabPurchase Invoice` t, tabContact tc
-	WHERE t.supplier = tc.supplier 
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:					
-		contact_display = (rec['first_name'] and rec['first_name'] or '') + (rec['last_name'] and ' ' + rec['last_name'] or '')
-											
-		webnotes.conn.sql("""
-		UPDATE `tabPurchase Invoice` SET
-			contact_person = %s,
-			contact_mobile = %s,
-			contact_email = %s,
-			contact_display = %s			
-			WHERE name = %s
-		""",(rec['contact_person'],rec['mobile_no'],rec['email_id'],contact_display,rec['id']))				
-		
-#Delivery Note
-def sync_delivery_note_customer_data():
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	ta.name as customer_address, ta.address_line1, ta.address_line2, ta.city, ta.country, ta.pincode, ta.state, ta.phone
-	FROM `tabDelivery Note` t, tabAddress ta
-	WHERE t.customer = ta.customer
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		address_display = cstr((rec['address_line1'] and rec['address_line1'] or '')) + cstr((rec['address_line2'] and '\n' + rec['address_line2'] or '')) + cstr((rec['city'] and '\n'+rec['city'] or '')) + cstr((rec['pincode'] and ', ' + rec['pincode'] or '')) + cstr((rec['state'] and '\n'+rec['state']+', ' or '')) + cstr((rec['country'] and rec['country'] or '')) + '\n' + cstr((rec['phone'] and 'Tel: '+rec['phone'] or ''))
-											
-		webnotes.conn.sql("""
-		UPDATE `tabDelivery Note` SET
-			customer_address = %s,
-			address_display = %s
-			WHERE name = %s
-		""",(rec['customer_address'],address_display,rec['id']))				
-
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	tc.name as contact_person, tc.first_name, tc.last_name, tc.email_id, tc.phone as contact_phone, tc.mobile_no, tc.department, tc.designation
-	FROM `tabDelivery Note` t, tabContact tc
-	WHERE t.customer = tc.customer 
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		contact_display = (rec['first_name'] and rec['first_name'] or '') + (rec['last_name'] and ' ' + rec['last_name'] or '')
-											
-		webnotes.conn.sql("""
-		UPDATE `tabDelivery Note` SET
-			contact_person = %s,
-			contact_mobile = %s,
-			contact_email = %s,
-			contact_display = %s			
-			WHERE name = %s
-		""",(rec['contact_person'],rec['mobile_no'],rec['email_id'],contact_display,rec['id']))				
-
-#Purchase Receipt
-def sync_purchase_receipt_supplier_data():
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.supplier, 
-	ta.name as supplier_address, ta.address_line1, ta.address_line2, ta.city, ta.country, ta.pincode, ta.state, ta.phone
-	FROM `tabPurchase Receipt` t, tabAddress ta
-	WHERE t.supplier = ta.supplier
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		address_display = cstr((rec['address_line1'] and rec['address_line1'] or '')) + cstr((rec['address_line2'] and '\n' + rec['address_line2'] or '')) + cstr((rec['city'] and '\n'+rec['city'] or '')) + cstr((rec['pincode'] and ', ' + rec['pincode'] or '')) + cstr((rec['state'] and '\n'+rec['state']+', ' or '')) + cstr((rec['country'] and rec['country'] or '')) + '\n' + cstr((rec['phone'] and 'Tel: '+rec['phone'] or ''))
-											
-		webnotes.conn.sql("""
-		UPDATE `tabPurchase Receipt` SET
-			supplier_address = %s,
-			address_display = %s
-			WHERE name = %s
-		""",(rec['supplier_address'],address_display,rec['id']))				
-
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.supplier, 
-	tc.name as contact_person, tc.first_name, tc.last_name, tc.email_id, tc.phone as contact_phone, tc.mobile_no, tc.department, tc.designation
-	FROM `tabPurchase Receipt` t, tabContact tc
-	WHERE t.supplier = tc.supplier 
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:					
-		contact_display = (rec['first_name'] and rec['first_name'] or '') + (rec['last_name'] and ' ' + rec['last_name'] or '')
-											
-		webnotes.conn.sql("""
-		UPDATE `tabPurchase Receipt` SET
-			contact_person = %s,
-			contact_mobile = %s,
-			contact_email = %s,
-			contact_display = %s			
-			WHERE name = %s
-		""",(rec['contact_person'],rec['mobile_no'],rec['email_id'],contact_display,rec['id']))				
-
-#Installation Note
-def sync_installation_note_customer_data():
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	ta.name as customer_address, ta.address_line1, ta.address_line2, ta.city, ta.country, ta.pincode, ta.state, ta.phone
-	FROM `tabInstallation Note` t, tabAddress ta
-	WHERE t.customer = ta.customer
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		address_display = cstr((rec['address_line1'] and rec['address_line1'] or '')) + cstr((rec['address_line2'] and '\n' + rec['address_line2'] or '')) + cstr((rec['city'] and '\n'+rec['city'] or '')) + cstr((rec['pincode'] and ', ' + rec['pincode'] or '')) + cstr((rec['state'] and '\n'+rec['state']+', ' or '')) + cstr((rec['country'] and rec['country'] or '')) + '\n' + cstr((rec['phone'] and 'Tel: '+rec['phone'] or ''))
-											
-		webnotes.conn.sql("""
-		UPDATE `tabInstallation Note` SET
-			customer_address = %s,
-			address_display = %s
-			WHERE name = %s
-		""",(rec['customer_address'],address_display,rec['id']))				
-
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	tc.name as contact_person, tc.first_name, tc.last_name, tc.email_id, tc.phone as contact_phone, tc.mobile_no, tc.department, tc.designation
-	FROM `tabInstallation Note` t, tabContact tc
-	WHERE t.customer = tc.customer 
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		contact_display = (rec['first_name'] and rec['first_name'] or '') + (rec['last_name'] and ' ' + rec['last_name'] or '')
-											
-		webnotes.conn.sql("""
-		UPDATE `tabInstallation Note` SET
-			contact_person = %s,
-			contact_mobile = %s,
-			contact_email = %s,
-			contact_display = %s			
-			WHERE name = %s
-		""",(rec['contact_person'],rec['mobile_no'],rec['email_id'],contact_display,rec['id']))				
-		
-#Maintenance Schedule
-def sync_maintenance_schedule_customer_data():
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	ta.name as customer_address, ta.address_line1, ta.address_line2, ta.city, ta.country, ta.pincode, ta.state, ta.phone
-	FROM `tabMaintenance Schedule` t, tabAddress ta
-	WHERE t.customer = ta.customer
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		address_display = cstr((rec['address_line1'] and rec['address_line1'] or '')) + cstr((rec['address_line2'] and '\n' + rec['address_line2'] or '')) + cstr((rec['city'] and '\n'+rec['city'] or '')) + cstr((rec['pincode'] and ', ' + rec['pincode'] or '')) + cstr((rec['state'] and '\n'+rec['state']+', ' or '')) + cstr((rec['country'] and rec['country'] or '')) + '\n' + cstr((rec['phone'] and 'Tel: '+rec['phone'] or ''))
-											
-		webnotes.conn.sql("""
-		UPDATE `tabMaintenance Schedule` SET
-			customer_address = %s,
-			address_display = %s
-			WHERE name = %s
-		""",(rec['customer_address'],address_display,rec['id']))	
-
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	tc.name as contact_person, tc.first_name, tc.last_name, tc.email_id, tc.phone as contact_phone, tc.mobile_no, tc.department, tc.designation
-	FROM `tabMaintenance Schedule` t, tabContact tc
-	WHERE t.customer = tc.customer 
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		contact_display = (rec['first_name'] and rec['first_name'] or '') + (rec['last_name'] and ' ' + rec['last_name'] or '')
-											
-		webnotes.conn.sql("""
-		UPDATE `tabMaintenance Schedule` SET
-			contact_person = %s,
-			contact_mobile = %s,
-			contact_email = %s,
-			contact_display = %s			
-			WHERE name = %s
-		""",(rec['contact_person'],rec['mobile_no'],rec['email_id'],contact_display,rec['id']))	
-				
-#Customer Issue
-def sync_customer_issue_customer_data():
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	ta.name as customer_address, ta.address_line1, ta.address_line2, ta.city, ta.country, ta.pincode, ta.state, ta.phone
-	FROM `tabCustomer Issue` t, tabAddress ta
-	WHERE t.customer = ta.customer
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		address_display = cstr((rec['address_line1'] and rec['address_line1'] or '')) + cstr((rec['address_line2'] and '\n' + rec['address_line2'] or '')) + cstr((rec['city'] and '\n'+rec['city'] or '')) + cstr((rec['pincode'] and ', ' + rec['pincode'] or '')) + cstr((rec['state'] and '\n'+rec['state']+', ' or '')) + cstr((rec['country'] and rec['country'] or '')) + '\n' + cstr((rec['phone'] and 'Tel: '+rec['phone'] or ''))
-											
-		webnotes.conn.sql("""
-		UPDATE `tabCustomer Issue` SET
-			customer_address = %s,
-			address_display = %s
-			WHERE name = %s
-		""",(rec['customer_address'],address_display,rec['id']))
-
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	tc.name as contact_person, tc.first_name, tc.last_name, tc.email_id, tc.phone as contact_phone, tc.mobile_no, tc.department, tc.designation
-	FROM `tabCustomer Issue` t, tabContact tc
-	WHERE t.customer = tc.customer 
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		contact_display = (rec['first_name'] and rec['first_name'] or '') + (rec['last_name'] and ' ' + rec['last_name'] or '')
-											
-		webnotes.conn.sql("""
-		UPDATE `tabCustomer Issue` SET
-			contact_person = %s,
-			contact_mobile = %s,
-			contact_email = %s,
-			contact_display = %s			
-			WHERE name = %s
-		""",(rec['contact_person'],rec['mobile_no'],rec['email_id'],contact_display,rec['id']))
-		
-#Maintenance Visit
-def sync_maintenance_visit_customer_data():
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	ta.name as customer_address, ta.address_line1, ta.address_line2, ta.city, ta.country, ta.pincode, ta.state, ta.phone
-	FROM `tabMaintenance Visit` t, tabAddress ta
-	WHERE t.customer = ta.customer
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		address_display = cstr((rec['address_line1'] and rec['address_line1'] or '')) + cstr((rec['address_line2'] and '\n' + rec['address_line2'] or '')) + cstr((rec['city'] and '\n'+rec['city'] or '')) + cstr((rec['pincode'] and ', ' + rec['pincode'] or '')) + cstr((rec['state'] and '\n'+rec['state']+', ' or '')) + cstr((rec['country'] and rec['country'] or '')) + '\n' + cstr((rec['phone'] and 'Tel: '+rec['phone'] or ''))
-											
-		webnotes.conn.sql("""
-		UPDATE `tabMaintenance Visit` SET
-			customer_address = %s,
-			address_display = %s
-			WHERE name = %s
-		""",(rec['customer_address'],address_display,rec['id']))	
-
-	data_rec = webnotes.conn.sql("""
-	SELECT t.name as id,t.customer, 
-	tc.name as contact_person, tc.first_name, tc.last_name, tc.email_id, tc.phone as contact_phone, tc.mobile_no, tc.department, tc.designation
-	FROM `tabMaintenance Visit` t, tabContact tc
-	WHERE t.customer = tc.customer 
-	AND t.docstatus !=2
-	ORDER BY t.name
-	""", as_dict=1)
-	
-	for rec in data_rec:			
-		contact_display = (rec['first_name'] and rec['first_name'] or '') + (rec['last_name'] and ' ' + rec['last_name'] or '')
-											
-		webnotes.conn.sql("""
-		UPDATE `tabMaintenance Visit` SET
-			contact_person = %s,
-			contact_mobile = %s,
-			contact_email = %s,
-			contact_display = %s			
-			WHERE name = %s
-		""",(rec['contact_person'],rec['mobile_no'],rec['email_id'],contact_display,rec['id']))			
-
-#lead phone data sync
-def sync_lead_phone():
-	webnotes.conn.sql("""
-		update ignore tabLead set
-			phone = contact_no
-			where contact_no is not null			
-		""")
diff --git a/erpnext/patches/old_patches/doctype_permission_patch.py b/erpnext/patches/old_patches/doctype_permission_patch.py
deleted file mode 100644
index b23277a..0000000
--- a/erpnext/patches/old_patches/doctype_permission_patch.py
+++ /dev/null
@@ -1,90 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-import webnotes
-
-def set_doctype_permissions():
-	
-	# remove descriptions
-	webnotes.conn.sql("update tabDocType set description=null")
-		
-	from webnotes.modules import reload_doc
-	reload_doc('core','doctype','custom_script')
-	reload_doc('core','doctype','custom_field')
-	reload_doc('core','doctype','property_setter')
-	
-	# remove admin rights
-	webnotes.conn.sql("delete from tabUserRole where role in ('Administrator','Customer','Supplier') and parent!='Administrator'")	
-	
-	# create custom scripts
-	create_custom_scripts()
-
-	# remove script fields
-	reload_doc('core','doctype','doctype')
-
-	# allow sys manager to read doctype, custom script
-	allow_sys_manager()
-	
-def create_custom_scripts():
-	
-	cs_list = webnotes.conn.sql("select name, server_code, client_script from tabDocType where ifnull(server_code,'')!='' or ifnull(client_script,'')!=''")
-	
-	from webnotes.model.doc import Document
-	
-	for c in cs_list:
-		if c[1]:
-			cs = Document('Custom Script')
-			cs.dt = c[0]
-			cs.script_type = 'Server'
-			cs.script = c[1]
-			try:
-				cs.save(1)
-			except NameError:
-				pass
-
-		if c[2]:
-			cs = Document('Custom Script')
-			cs.dt = c[0]
-			cs.script_type = 'Client'
-			cs.script = c[2]
-			try:
-				cs.save(1)
-			except NameError:
-				pass
-
-def allow_sys_manager():
-	from webnotes.model.doc import Document
-
-	if not webnotes.conn.sql("select name from tabDocPerm where parent='DocType' and role='System Manager' and `read`=1"):
-		d = Document('DocPerm')
-		d.parent = 'DocType'
-		d.parenttype = 'DocType'
-		d.parentfield = 'permissions'
-		d.role = 'System Manager'
-		d.read = 1
-		d.save(1)
-
-	
-	if not webnotes.conn.sql("select name from tabDocPerm where parent='Custom Script' and role='System Manager' and `write`=1"):
-		d = Document('DocPerm')
-		d.parent = 'Custom Script'
-		d.parenttype = 'DocType'
-		d.parentfield = 'permissions'
-		d.role = 'System Manager'
-		d.read = 1
-		d.write = 1
-		d.create = 1
-		d.save(1)
\ No newline at end of file
diff --git a/erpnext/patches/old_patches/feed_patch.py b/erpnext/patches/old_patches/feed_patch.py
deleted file mode 100644
index 3cc13b5..0000000
--- a/erpnext/patches/old_patches/feed_patch.py
+++ /dev/null
@@ -1,118 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# long patches
-import webnotes
-
-def set_subjects_and_tagfields():
-	subject_dict = {
-		'Item':'%(item_name)s',
-		'Customer':' ',
-		'Contact':'%(first_name)s %(last_name)s - Email: %(email_id)s | Contact: %(contact_no)s',
-		'Supplier':' ',
-		'Lead':'%(lead_name)s from %(company_name)s | To Discuss: %(to_discuss)s',
-		'Quotation':'To %(customer_name)s on %(transaction_date)s worth %(currency)s %(grand_total_export)s',
-		'Opportunity':'To %(customer_name)s%(lead_name)s on %(transaction_date)s',
-		'Sales Order':'From %(customer_name)s on %(transaction_date)s worth %(currency)s %(grand_total_export)s | %(per_delivered)s% delivered | %(per_billed)s% billed',
-		'Delivery Note':'To %(customer_name)s on %(transaction_date)s | %(per_billed)s% billed',
-		'Purchase Request':'%(per_ordered)s% ordered',
-		'Purchase Order':'To %(supplier_name)s on %(transaction_date)s | %(per_received)s% delivered',
-		'Purchase Receipt':'From %(supplier_name)s against %(purchase_order)s on %(transaction_date)s',
-		'Sales Invoice':'To %(customer_name)s worth %(currency)s %(grand_total_export)s due on %(due_date)s | %(outstanding_amount)s outstanding',
-		'Purchase Invoice':'From %(supplier_name)s due on %(due_date)s | %(outstanding_amount)s outstanding',
-		'Journal Voucher':' ',
-		'Serial No':'%(item_code)s',
-		'Project':' ',
-		'Task':'%(subject)s',
-		'Timesheet':'%(owner)s',
-		'Support Ticket':'%(problem_description)s',
-		'Installation Note':'At %(customer_name)s on %(inst_date)s',
-		'Maintenance Visit':'To %(customer_name)s on %(mntc_date)s',
-		'Customer Issue':'%(complaint)s By %(complaint_raised_by)s on %(issue_date)s',
-		'Employee':'%(employee_name)s',
-		'Expense Claim':'From %(employee_name)s for %(total_claimed_amount)s (claimed)',
-		'Appraisal':'',
-		'Leave Application':'From %(employee_name)s, %(designation)s',
-		'Salary Structure':'For %(employee_name)s',
-		'Salary Slip':'For %(employee_name)s, %(designation)s',
-		'Bill of Materials':'%(item_code)s'
-	}
-	
-	tags_dict = {
-		'Item':'item_group',
-		'Customer':'customer_group,customer_type',
-		#'Contact':'',
-		'Supplier':'supplier_type',
-		'Lead':'status,source',
-		'Quotation':'status',
-		'Opportunity':'',
-		'Sales Order':'status',
-		'Delivery Note':'',
-		'Purchase Request':'',
-		'Purchase Order':'',
-		'Purchase Receipt':'',
-		'Sales Invoice':'',
-		'Purchase Invoice':'',
-		'Journal Voucher':'voucher_type',
-		'Serial No':'status',
-		'Project':'status',
-		'Task':'status',
-		'Timesheet':'',
-		'Support Ticket':'',
-		'Installation Note':'',
-		'Maintenance Visit':'completion_status,maintenance_type',
-		'Customer Issue':'status',
-		'Employee':'status',
-		'Expense Claim':'approval_status',
-		'Appraisal':'',
-		'Leave Application':'leave_type',
-		'Salary Structure':'',
-		'Bill of Materials':''
-	}
-	
-	description_dict = {
-		'Property Setter':'Property Setter overrides a standard DocType or Field property',
-		'Custom Field':'Adds a custom field to a DocType',
-		'Custom Script':'Adds a custom script (client or server) to a DocType'
-	}
-	
-	alldt = []
-	
-	for dt in subject_dict:
-		webnotes.conn.sql('update tabDocType set subject=%s where name=%s', (subject_dict[dt], dt))
-		if not dt in alldt: alldt.append(dt)
-	
-	for dt in tags_dict:
-		webnotes.conn.sql('update tabDocType set tag_fields=%s where name=%s', (tags_dict[dt], dt))
-		if not dt in alldt: alldt.append(dt)
-
-	for dt in description_dict:
-		webnotes.conn.sql('update tabDocType set description=%s where name=%s', (description_dict[dt], dt))
-		if not dt in alldt: alldt.append(dt)
-	
-	#from webnotes.modules.export_module import export_to_files
-	#for dt in alldt:
-	#	export_to_files(record_list=[['DocType',dt]])
-
-def support_patch():
-	# relaod support and other doctypes
-	
-	from webnotes.modules import reload_doc
-	
-	webnotes.model.delete_doc('DocType','Support Ticket')
-	reload_doc('setup','doctype','support_email_settings')
-	reload_doc('support','doctype','support_ticket')
-	reload_doc('support','doctype','support_ticket_response')
diff --git a/erpnext/patches/old_patches/patch_1.py b/erpnext/patches/old_patches/patch_1.py
deleted file mode 100644
index a139333..0000000
--- a/erpnext/patches/old_patches/patch_1.py
+++ /dev/null
@@ -1,1196 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-"""
-	Old patches for reference
-"""
-
-if patch_no==33:
-	pass
-elif patch_no==34:
-	webnotes.conn.sql("update `tabDocField` set options = 'Letter Head', print_hide = 1 where fieldname = 'letter_head' and fieldtype = 'Link'")
-elif patch_no==35:
-	webnotes.conn.sql("update tabDocType set module = 'Event Updates' where name = 'Feed Control'")
-elif patch_no==36:
-	# remove delivery note foreign key in Serial Number
-	from webnotes.model.db_schema import DbTable
-	t = DbTable('Serial No')
-	fk_list  = t.get_foreign_keys()
-	for f in fk_list:
-		if f[0]=='delivery_note_no':
-			webnotes.conn.commit()
-			webnotes.conn.sql("alter table `tabSerial No` drop foreign key `%s`" % f[1])
-			webnotes.conn.begin()
-			webnotes.conn.sql("update tabDocField set fieldtype='Data' where fieldname='delivery_note_no' and parent='Serial No' limit 1")
-elif patch_no==37:
-	import os
-	mod_path = webnotes.defs.modules_path
-	path_list = []
-	for m in os.listdir(mod_path):
-		for t in ['doctype', 'page', 'search_criteria']:
-			dt_path = os.path.join(mod_path, m, t)
-			if os.path.exists(dt_path):
-				for dt in os.listdir(dt_path):
-					if '.' not in dt and os.path.exists(os.path.join(dt_path, dt, dt+ '.txt')):
-						path_list.append(os.path.join(dt_path, dt, dt+ '.txt'))
-
-	for d in path_list:
-		doclist = eval(open(d,'r').read())
-		webnotes.conn.sql("update `tab%s` set module = '%s' where name = '%s'" % (doclist[0]['doctype'], doclist[0]['module'], doclist[0]['name']))
-
-elif patch_no==38:
-	import webnotes
-	webnotes.conn.set_global("system_message", "System Updates: Hello! You would have noticed some changes on the Home Page. As a part of our commitment to make the system more friendly and social, we have re-designed the feed so that now you will only see feed that is relevant to you (either you have created something or you have been mentioned in the document).<br><br>On the individual listings, you can add tags and also color them!<br><br>You will also get time-to-time updates from our side here. Do keep sending your feedback at support@erpnext.com.")
-	webnotes.conn.set_global("system_message_id", "1")
-
-elif patch_no == 39:
-	pass
-
-elif patch_no == 40:
-	import_from_files(record_list=[['material_management','doctype','item']])
-
-elif patch_no == 42:
-	acc = sql("select name, lft, rgt from tabAccount where account_name in ('Incomes', 'Expenses')")
-	for d in acc:
-		sql("update tabAccount set is_pl_account = 'Yes' where lft >= '%s' and rgt <= '%s'" % (d[1], d[2]))
-elif patch_no == 43:
-	import webnotes.model
-	webnotes.model.delete_doc('Page', 'Module Manager')
-
-# cleanup of Service, Customer Support, Utilities Modules
-# -------------------------------------------------------
-elif patch_no == 44:
-	from webnotes.model import delete_doc
-
-	for dt in sql("select name from tabDocType where module in ('Customer Support')"):
-		delete_doc('DocType', dt[0])
-
-	for dt in sql("select name from `tabSearch Criteria` where module in ('Customer Support')"):
-		delete_doc('Search Criteria', dt[0])
-
-	for dt in sql("select name from tabPage where module in ('Customer Support')"):
-		delete_doc('Page', dt[0])
-
-	# move a couple
-	webnotes.conn.sql("update `tab%s` set module=%s where name=%s" % ('DocType', '%s', '%s'), ('Application Internal', 'Patch Util'))
-	webnotes.conn.sql("update `tab%s` set module=%s where name=%s" % ('DocType', '%s', '%s'), ('Application Internal', 'DocType Property Setter'))
-
-	# remove utilities
-	webnotes.conn.sql('delete from `tabModule Def` where name in ("Customer Support", "Utilities")')
-
-elif patch_no == 45:
-	webnotes.conn.sql('delete from tabDocField where options="Ticket Response Detail"')
-
-elif patch_no == 46:
-	import webnotes
-	webnotes.conn.set_global("system_message", "<b>SYSTEM DOWNTIME:</b> Hello! As part of our commitment to keep improving the service, we are planning a scheduled maintenance on our servers for 4 hrs on 16-Jan-2011(Sunday), from 10AM to 2PM. Do keep sending your feedback at support@erpnext.com.")
-	webnotes.conn.set_global("system_message_id", "2")
-
-elif patch_no == 47:
-	import webnotes
-	webnotes.conn.set_global("system_message", "")
-	webnotes.conn.set_global("system_message_id", "3")
-
-elif patch_no == 48:
-	webnotes.conn.sql("update tabDocField set options = 'Print Heading' where fieldname = 'select_print_heading'")
-
-elif patch_no == 49:
-	webnotes.conn.sql("update tabDocType set autoname = '' where name = 'Search Criteria'")
-elif patch_no == 50:
-	sql("update tabDocField set in_filter = 1 where fieldname in ('cost_center', 'income_account', 'Item Group') and parent = 'Sales Invoice Item'")
-elif patch_no == 51:
-	sql("update tabDocField set options = 'link:Print Heading' where fieldtype = 'Select' and fieldname = 'select_print_heading' and parent = 'POS Setting'")
-elif patch_no == 52:
-	sql("update tabDocField set print_hide = 1 where fieldname = 'letter_head'")
-elif patch_no == 53:
-	sql("update tabDocType set search_fields = 'lead_name,lead_owner,status,contact_by,contact_date' where name = 'Lead'")
-elif patch_no == 54:
-	sql("delete from tabDocField where parent = 'Supplier' and label = 'Supplier Contacts' and fieldtype = 'Section Break'")
-elif patch_no == 55:
-	sql("commit")
-	try:
-		sql("alter table tabFeed add column `_user_tags` varchar(180)")
-	except Exception, e:
-		if e.args[0]!=1060:
-			raise e
-elif patch_no == 56:
-	sql("delete from `tabModule Def Item` where parent = 'CRM' and doc_type = 'Reports' and doc_name = 'Delivery Note' and display_name = 'Territory, Item Group wise GP'")
-elif patch_no == 57:
-	import_from_files(record_list=[['selling','doctype','sales_order_detail']])
-
-elif patch_no == 58:
-	# module def patches
-	sql("update `tabModule Def` set module_page = NULL where name not in ('Event Updates', 'Setup', 'My Company')")
-	sql("delete from `tabModule Def Item` where doc_type in ('Separator', 'Setup Forms', 'More Reports')")
-	sql("delete from `tabModule Def Item` where doc_name = 'Project Activity'")
-	sql("update `tabModule Def` set module_label = 'People', disabled='No', is_hidden='No' where name = 'My Company'")
-
-	# insert new module items
-	from webnotes.model.doc import make_autoname
-	if not sql("select name from `tabModule Def Item` where parent='Projects' and doc_name='Task'"):
-		sql("""insert into `tabModule Def Item`
-			(name, parent, parenttype, parentfield, docstatus, doc_type, doc_name, display_name, idx) values
-			(%s, 'Projects', 'Module Def', 'items', 0, 'Forms', 'Task', 'Task', 1)""", make_autoname('MDI.#####'))
-
-	if not sql("select name from `tabModule Def Item` where parent='Projects' and doc_name='Timesheet'"):
-		sql("""insert into `tabModule Def Item`
-			(name, parent, parenttype, parentfield, docstatus, doc_type, doc_name, display_name, idx) values
-			(%s, 'Projects', 'Module Def', 'items', 0, 'Forms', 'Timesheet', 'Timesheet', 2)""", make_autoname('MDI.#####'))
-
-	if not sql("select name from `tabModule Def Item` where parent='Projects' and doc_name='Projects'"):
-		sql("""insert into `tabModule Def Item`
-			(name, parent, parenttype, parentfield, docstatus, doc_type, doc_name, display_name, idx) values
-			(%s, 'Projects', 'Module Def', 'items', 0, 'Pages', 'Projects', 'Gantt Chart', 1)""", make_autoname('MDI.#####'))
-
-elif patch_no == 59:
-	webnotes.conn.set_value('Control Panel',None,'mail_footer','')
-	webnotes.conn.set_global('global_mail_footer','<div style="margin-top:8px; padding: 8px; font-size: 11px; text-align:right; border-top: 1px solid #AAA">Sent via <a href="https://www.erpnext.com">ERPNext</a></div>')
-elif patch_no == 60:
-	sql("delete from `tabModule Def Item` where display_name = 'Point of Sales'")
-elif patch_no == 61:
-	sql("delete from `tabTDS Category Account` where company not in (select name from tabCompany)")
-elif patch_no == 62:
-	# Import Supplier Quotation
-	import_from_files(record_list=[['srm','doctype','supplier_quotation']])
-
-	# Adding Status Filter
-	sql("update tabDocType set search_fields = concat('status,',search_fields) where name IN ('Delivery Note','Leave Transaction')")
-	# Import Sales Taxes and Charges Master
-
-	import_from_files(record_list=[['setup','doctype','other_charges']])
-elif patch_no == 63:
-	sql("update `tabDocField` set permlevel = 1 where fieldname in ('return_date', 'return_details') and parent = 'Sales and Purchase Return Tool'")
-	import_from_files(record_list = [['accounts', 'doctype', 'rv_detail'], ['material_management', 'doctype', 'sales_and_purchase_return_wizard'], ['material_management', 'doctype', 'stock_entry']])
-
-elif patch_no == 64:
-	sql("update tabDocField set `hidden` = 1, `print_hide` = 1, `report_hide` = 1 where options in ('RFQ','Supplier Quotation')")
-	sql("update tabDocType set `read_only` = 1, in_create = 1 where name in ('RFQ','Supplier Quotation')")
-	sql("update tabDocField set `report_hide` = 0 where fieldname in ('email_id','phone_1','fax_1') and parent = 'Customer'")
-elif patch_no == 65:
-	# Monthly Trend Analyzer <-> Trend Analyzer
-	sql("update `tabSearch Criteria` set criteria_name = 'Trend Analyzer' where criteria_name = 'Monthly Trend Analyzer' and name = 'SRCH/00159'")
-	sql("update `tabModule Def Item` set display_name = 'Trend Analyzer' where parent = 'Analysis' and display_name = 'Monthly Trend Analyzer'")
-elif patch_no == 66:
-	import webnotes
-	webnotes.conn.set_global("system_message", """<h3>UI Updates</h3>Based on user feedback, we have made a couple of changes in the UI:<ul><li>Sidebar menus are now collapsable</li><li>Forms are now scrollable (we removed the confusing tabs)</li><li>Feed is a lot more descriptive</li></ul>Do send us your feedback!""")
-	webnotes.conn.set_global("system_message_id", "4")
-
-	sql("update `tabModule Def Item` set doc_type = 'Setup Forms' where doc_name in ('TDS Payment', 'TDS Return Acknowledgement', 'Form 16A', 'Period Closing Voucher', 'IT Checklist')")
-	from webnotes.session_cache import clear_cache
-	clear_cache(webnotes.session['user'])
-elif patch_no == 67:
-	sql("update `tabDocField` set in_filter = 1 where fieldname = 'brand' and parent = 'Sales Invoice Item'")
-	sql("delete from `tabModule Def Item` where (display_name = 'Sales Invoice' and parent = 'CRM') or (display_name = 'Purchase Invoice' and parent = 'SRM')")
-elif patch_no == 68:
-	from webnotes.modules.import_module import import_from_files
-	import_from_files(record_list=[['hr','doctype','employee'],['roles','Role','Employee']])
-elif patch_no == 69:
-	# delete flds from employee master
-	p = get_obj('Patch Util')
-	emp_del_flds = ['month_of_birth']
-	for f in emp_del_flds:
-		p.delete_field('Employee', f)
-
-	sql("Update tabDocField set `default` = 'Active' where fieldname = 'status' and parent = 'Employee'")
-
-	# map parent flds
-	fld_map = ['cell_number', 'personal_email', 'person_to_be_contacted', 'relation', 'emergency_phone_number', 'pan_number', 'passport_number', 'date_of_issue', 'valid_upto', 'place_of_issue', 'marital_status', 'blood_group', 'permanent_accommodation_type']
-
-	emp_prof = sql("select t1.name, t1.employee, t1.permanent_address_line_1, t1.permanent_address_line_2, t1.city1, t1.state1, t1.country1, t1.pin_code1, t1.phn_no1, t1.present_address_line_1, t1.present_address_line_2, t1.city2, t1.state2, t1.country2, t1.pin_code2, t1.phn_no2, t1.fathers_name, t1.fathers_occupation, t1.mothers_name, t1.mothers_occupation, t1.spouses_name, t1.spouses_occupation, t1.height_cms, t1.weight_kgs, t1.allergies, t1.other_medical_concerns, t1.physical_handicap from `tabEmployee Profile` t1, `tabEmployee` t2 where t1.employee = t2.name")
-	for e in emp_prof:
-		prof_obj = get_obj('Employee Profile', e[0])
-		emp_obj = get_obj('Employee', e[1])
-		for d in fld_map:
-			emp_obj.doc.fields[d] = prof_obj.doc.fields[d]
-		emp_obj.doc.current_accommodation_type = prof_obj.doc.present_accommodation_type
-
-		# address
-		per_addr = cstr(e[2]) + '\n' + cstr(e[3]) + '\n' + cstr(e[4]) + '\n' + cstr(e[5]) + ', ' + cstr(e[6]) + '\n' + 'PIN - ' + cstr(e[7]) + '\n' + 'Ph. No' + cstr(e[8])
-		cur_addr = cstr(e[9]) + '\n' + cstr(e[10]) + '\n' + cstr(e[11]) + '\n' + cstr(e[12]) + ', ' + cstr(e[13]) + '\n' + 'PIN - ' + cstr(e[14]) + '\n' + 'Ph. No' + cstr(e[15])
-		emp_obj.doc.permanent_address = per_addr
-		emp_obj.doc.current_address = cur_addr
-		#family
-		fam = "Father's Name: " + cstr(e[16]) + '\n' + "Father's Occupation: " + cstr(e[17]) + '\n' + "Mother's Name: " + cstr(e[18]) + '\n' + "Mother's Occupation: " + cstr(e[19]) + '\n' + "Spouse's Name: " + cstr(e[20]) + '\n' + "Spouse's Occupation: " + cstr(e[21])
-		emp_obj.doc.family_background = fam
-		# health
-		health = 'Height(cms): ' + cstr(e[22]) + '\n' + 'Weight(kgs): ' + cstr(e[23]) + '\n' + 'Allergies: ' +cstr( e[24]) + '\n' + 'Other Medical Concern: ' + cstr(e[25]) + '\n' + 'Physically Handicapped(if any): ' + cstr(e[26])
-		emp_obj.doc.health_details = health
-		emp_obj.doc.save()
-
-
-	# map tables
-	tbl_list = ['Employee Internal Work History', 'Employee External Work History', 'Employee Education']
-	for t in tbl_list:
-		sql("update `tab%s` t1, `tabEmployee Profile` t2 set t1.parent = t2.employee, t1.parenttype = 'Employee' where t1.parent = t2.name" % t)
-
-
-	# overwrite idx?????????
-
-
-	# delete emp profile
-	webnotes.model.delete_doc('DocType', 'Employee Profile')
-	for e in emp_prof:
-		webnotes.model.delete_doc('Employee Profile', e[0])
-
-elif patch_no == 70:
-	# update search criteria module -> System
-	sql("update tabDocType set module='System' where name='Search Criteria'")
-
-	# Cleanups to Contact
-	sql("update tabDocField set fieldtype='Data' where options='Designation' and parent='Contact'")
-	sql("update tabDocField set fieldtype='Data' where options='Department' and parent='Contact'")
-	sql("update tabDocField set depends_on='eval:(cint(doc.is_customer) || cint(doc.is_supplier) || cint(doc.is_sales_partner))' where fieldname='is_primary_contact' and parent='Contact'")
-
-	# import Contact, Employee
-	from webnotes.modules.import_module import import_from_files
-	import_from_files(record_list=[['utilities','doctype','contact']])
-
-
-	# remove last_contact_date from Lead
-	sql("delete from tabDocField where fieldname='last_contact_date' and parent='Lead'")
-
-elif patch_no == 71:
-	# Make Stock Qty and Conversion Factor field editable. Also no need to mention Conversion factor in table can do it directly
-	sql("update `tabDocField` set `permlevel` = 0, `width` = '100px', `trigger` = 'Client' where parent IN ('Purchase Order Item','Purchase Receipt Item') and fieldname in ('stock_qty','conversion_factor')")
-	sql("update `tabDocField` set `width` = '100px' where parent IN ('Purchase Order Item','Purchase Receipt Item') and fieldname = 'stock_uom'")
-
-elif patch_no == 72:
-	# Core Patch
-	# ----------
-
-	from webnotes.modules.import_module import import_from_files
-
-	# import module def
-	import_from_files(record_list = [['core', 'Module Def', 'Core']])
-elif patch_no == 73:
-	# set module in DocTypes
-	sql("update tabDocType set module='Core' where name in ('DocType', 'DocField', 'DocPerm', 'Role', 'UserRole', 'Profile', 'Print Format', 'DocFormat', 'Control Panel', 'Event', 'Event Role', 'Event User', 'DefaultValue', 'Default Home Page', 'File', 'File Group', 'File Data', 'Letter Head', 'Module Def', 'Module Def Item', 'Module Def Role', 'Page', 'Page Role', 'Search Criteria', 'DocType Label', 'DocType Mapper', 'Field Mapper Detail', 'Table Mapper Detail')")
-
-	# set module in Page
-	sql("update tabPage set module='Core' where name='Login Page'")
-
-	# move file browser to Tools
-	sql("update tabPage set module='Tools' where name='File Browser'")
-	sql("update tabDocType set module='Tools' where name='File Browser Control'")
-	sql("update tabDocType set module='Application Internal' where name='Profile Control'")
-elif patch_no == 74:
-	p = get_obj('Patch Util')
-	# permission
-	p.delete_permission('Employee', 'Administrator', 0)
-	p.delete_permission('Employee', 'Administrator', 1)
-	p.add_permission('Employee', 'Employee', 0, read = 1, match = 'owner')
-	p.add_permission('Employee', 'Employee', 1, read = 1, match = 'owner')
-	sql("delete from `tabDocField` where parent = 'Employee' and label = 'Payroll Rule'")
-elif patch_no == 75:
-	#sal structure patch
-	# import
-	from webnotes.modules.import_module import import_from_files
-	import_from_files(record_list=[['hr','doctype','salary_structure'], ['hr','doctype','earning_detail'],['hr','doctype','deduction_detail']])
-elif patch_no == 76:
-	# property
-	p = get_obj('Patch Util')
-	p.set_field_property('Salary Structure', 'is_active', 'default', 'Yes')
-	p.set_field_property('Salary Structure', 'ctc', 'reqd', '1')
-	p.set_field_property('Salary Structure Earning', 'modified_value', 'width', '')
-	p.set_field_property('Salary Structure Earning', 'modified_value', 'trigger', 'Client')
-	p.set_field_property('Salary Structure Deduction', 'd_modified_amt', 'width', '')
-	p.set_field_property('Salary Structure Earning', 'd_modified_amt', 'trigger', 'Client')
-	sql("Update tabDocField set `description` = 'You can create more earning and deduction type from Setup --> HR' where label = 'Earning & Deduction' and parent = 'Salary Structure' and fieldtype = 'Section Break'")
-
-	# delete
-	sql("update `tabSalary Structure` set net_pay = total")
-	sql("delete from tabDocField where label in ('LWP Help', 'Calculate Total', 'Total') and parent = 'Salary Structure'")
-	sql("delete from tabDocPerm where parent in ('Salary Structure Earning', 'Salary Structure Deduction')")
-
-
-	# permission
-	p.delete_permission('Salary Structure', 'Administrator', 0)
-	p.delete_permission('Salary Structure', 'Administrator', 1)
-	p.add_permission('Salary Structure', 'Employee', 0, read = 1, match = 'owner')
-	p.add_permission('Salary Structure', 'Employee', 1, read = 1, match = 'owner')
-elif patch_no == 77:
-	# sal slip patch
-	# import
-	from webnotes.modules.import_module import import_from_files
-	import_from_files(record_list=[['hr','doctype','salary_slip'], ['hr','doctype','ss_earning_detail'],['hr','doctype','ss_deduction_detail'], ['mapper', 'DocType Mapper', 'Salary Structure-Salary Slip']])
-elif patch_no == 78:
-	p = get_obj('Patch Util')
-	# delete
-	sql("update `tabSalary Slip` set leave_encashment_amount = encashment_amount")
-	p.delete_field('Salary Slip', 'encashment_amount')
-	p.delete_field('Salary Slip', 'year')
-	p.delete_field('Salary Slip', 'flag')
-	sql("delete from tabDocField where label = 'Process Payroll' and parent = 'Salary Slip'")
-
-	# field property
-	p.set_field_property('Salary Slip', 'bank_name', 'permlevel', '1')
-	p.set_field_property('Salary Slip', 'leave_without_pay', 'permlevel', '0')
-	p.set_field_property('Salary Slip', 'leave_without_pay', 'trigger', 'Client')
-	p.set_field_property('Salary Slip Earning', 'e_type', 'permlevel', '0')
-	p.set_field_property('Salary Slip Earning', 'e_type', 'fieldtype', 'Link')
-	p.set_field_property('Salary Slip Earning', 'e_type', 'options', 'Earning Type')
-	p.set_field_property('Salary Slip Deduction', 'd_type', 'permlevel', '0')
-	p.set_field_property('Salary Slip Deduction', 'd_type', 'fieldtype', 'Link')
-	p.set_field_property('Salary Slip Deduction', 'd_type', 'options', 'Deduction Type')
-	sql("update `tabSalary Slip Earning` set e_modified_amount = e_amount")
-	sql("update `tabSalary Slip Deduction` set d_modified_amount = d_amount")
-
-	# permission
-	p.delete_permission('Salary Slip', 'Administrator', 0)
-	p.delete_permission('Salary Slip', 'Administrator', 1)
-	p.add_permission('Salary Slip', 'Employee', 0, read = 1, match = 'owner')
-	p.add_permission('Salary Slip', 'Employee', 1, read = 1, match = 'owner')
-elif patch_no == 79:
-	# Import Modules
-	import_from_files(record_list=[['hr','doctype','leave_application'],['hr','doctype','leave_allocation'],['hr','doctype','leave_control_panel'],['hr','doctype','holiday_list'],['hr','doctype','holiday_list_detail'],['hr','Module Def','HR']])
-elif patch_no == 80:
-	# Holiday List
-	sql("update `tabHoliday` set description = holiday_name")
-	sql("delete from tabDocField where parent = 'Holiday' and fieldname = 'holiday_name'")
-	sql("update tabDocField set fieldtype = 'Select', options = 'link:Fiscal Year' where parent = 'Holiday List' and fieldname = 'fiscal_year'")
-	sql("delete from tabDocPerm where role in ('Administrator','HR User') and parent = 'Holiday List'")
-
-	# Leave Control Panel
-	# --------------------
-	sql("delete from `tabDocField` where parent = 'Leave Control Panel' and label in ('Leave Control Panel','Allocation Details') and fieldtype = 'Section Break'")
-	sql("delete from tabDocField where parent = 'Leave Control Panel' and fieldname in ('col_brk3','allocation_type','col_brk2','from_date','to_date','leave_transaction_type','posting_date')")
-	sql("update tabDocField set fieldtype = 'Select', options = 'link:Fiscal Year' where parent = 'Leave Control Panel' and fieldname = 'fiscal_year'")
-	sql("update tabDocField set fieldtype = 'Select', options = 'link:Leave Type' where parent = 'Leave Control Panel' and fieldname = 'leave_type'")
-	sql("update tabDocField set reqd = 1 where parent = 'Leave Control Panel' and fieldname = 'no_of_days'")
-
-	# Leave Application
-	# ------------------
-	for d in sql("select * from `tabLeave Transaction` where leave_transaction_type = 'Deduction' and ifnull(deduction_type, '') = 'Leave'", as_dict = 1):
-		lp = Document('Leave Application')
-		lp.employee = d['employee']
-		lp.leave_type = d['leave_type']
-		lp.posting_date = d['date']
-		lp.fiscal_year = d['fiscal_year']
-		lp.leave_balance = d['pre_balance']
-		lp.half_day = d['half_day']
-		lp.from_date = d['from_date']
-		lp.to_date = d['to_date']
-		lp.total_leave_days = d['total_leave']
-		lp.description = d['reason']
-		lp.docstatus = cint(d['docstatus'])
-		lp.save(1)
-
-	# Leave Allocation
-	# -----------------
-	for d in sql("select * from `tabLeave Transaction` where leave_transaction_type = 'Allocation'", as_dict = 1):
-		la = Document('Leave Allocation')
-		la.employee = d['employee']
-		la.leave_type = d['leave_type']
-		la.posting_date = d['date']
-		la.fiscal_year = d['fiscal_year']
-		la.new_leaves_allocated = d['total_leave']
-		la.total_leaves_allocated = d['total_leave']
-		la.description = d['reason']
-		la.docstatus = cint(d['docstatus'])
-		la.save(1)
-
-	# Payroll Module Def
-	# -------------------
-	sql("delete from `tabModule Def Item` where doc_name = 'Leave Transaction' and display_name = 'Leave Transaction' and parent = 'Payroll' and doc_type = 'Forms'")
-
-elif patch_no == 81:
-	# Import Modules
-	import_from_files(record_list=[['hr','Module Def','HR']])
-elif patch_no == 82:
-	sql("update tabDocType set search_fields = 'employee,leave_type,total_leaves_allocated,fiscal_year' where name = 'Leave Allocation'")
-	sql("update tabDocType set search_fields = 'employee,leave_type,from_date,to_date,total_leave_days,fiscal_year' where name = 'Leave Application'")
-elif patch_no == 83:
-	# delete leave transaction
-	webnotes.conn.sql("set foreign_key_checks=0")
-	sql("delete from `tabLeave Transaction`")
-	import webnotes.model
-	webnotes.model.delete_doc('DocType','Badge Settings Detail')
-	webnotes.model.delete_doc('DocType','Leave Transaction')
-	webnotes.conn.sql("set foreign_key_checks=1")
-elif patch_no == 84:
-	p = get_obj('Patch Util')
-	p.set_field_property('Salary Slip Earning', 'e_amount', 'permlevel', '1')
-	p.set_field_property('Salary Slip Deduction', 'd_amount', 'permlevel', '1')
-elif patch_no == 85:
-	# permission
-	p = get_obj('Patch Util')
-	p.add_permission('Leave Application', 'Employee', 0, read = 1, write = 1, create = 1, submit = 1, cancel = 1, amend = 1, match = 'owner')
-	p.add_permission('Leave Application', 'Employee', 1, read = 1, match = 'owner')
-	p.add_permission('Leave Allocation', 'HR User', 0, read = 1, write = 1, create = 1, submit = 1, cancel = 1, amend = 1, match = 'owner')
-	p.add_permission('Leave Allocation', 'HR User', 1, read = 1)
-	sql("update tabDocPerm set `match` = '' where parent = 'Leave Application' and role = 'HR User'")
-elif patch_no == 86:
-	# Import Modules
-	import_from_files(record_list=[['hr','doctype','leave_type']])
-elif patch_no == 87:
-	sql("update `tabLeave Type` set is_lwp = 1 where name = 'Leave Without Pay'")
-elif patch_no == 88:
-	# Import Modules
-	import_from_files(record_list=[['hr','doctype','leave_allocation']])
-
-elif patch_no == 89:
-	sql("delete from `tabModule Def Item` where doc_type = 'Setup Forms' and doc_name in ('Payroll Rule', 'IT Checklist', 'Employee Profile') and parent = 'Payroll'")
-	sql("update `tabDocField` set `hidden` = 1, `print_hide` = 1, `report_hide` = 1 where parent = 'Leave Type' and fieldname = 'is_encash'")
-elif patch_no == 90:
-	sql("update `tabLeave Allocation` set docstatus = 1")
-elif patch_no == 91:
-	import webnotes
-	webnotes.conn.set_global("system_message", """<h3>System Updates</h3>Based on user feedback, we have cleaned up HR module (Partly):<ul><li>Employee and Employee Profile are merged into a single document</li><li>Salary Structure and Salary Slip are now more user friendly</li><li>Leave Transaction document is now divided into 2 documents Leave Application and Leave Allocation</li></ul>We will work on Reports, Attendance and other documents of Payroll module next week<br><br> Do send us your feedback!""")
-	webnotes.conn.set_global("system_message_id", "5")
-elif patch_no == 92:
-	sql("update tabDocField set label = 'Get Charges' where parent IN ('Sales Order','Delivery Note','Sales Invoice') and label = 'Get Other Charges' and fieldtype = 'Button'")
-	# Automated Other Charges Calculation basis
-	sql("update tabDocField set options = '', `trigger` = 'Client' where parent IN ('Quotation','Sales Order','Delivery Note','Sales Invoice') and label = 'Get Charges' and fieldtype = 'Button'")
-elif patch_no == 93:
-	sql("update `tabTable Mapper Detail` set validation_logic = 'qty > ifnull(billed_qty,0) and docstatus = 1' where parent = 'Sales Order-Sales Invoice' and from_table = 'Sales Order Item'")
-	sql("update `tabField Mapper Detail` set from_field = 'customer' where to_field = 'customer' and parent = 'Sales Order-Sales Invoice'")
-elif patch_no == 94:
-	import_from_files(record_list=[['selling','doctype','sms_center']])
-elif patch_no == 95:
-	import_from_files(record_list=[['mapper','DocType Mapper','Sales Order-Sales Invoice'], ['mapper','DocType Mapper','Delivery Note-Sales Invoice']])
-elif patch_no == 96:
-	sql("delete from `tabModule Def Item` where doc_type = 'Reports' and display_name = 'Cenvat Credit - Input or Capital Goods' and parent = 'Accounts'")
-elif patch_no == 97:
-	sql("update tabFeed set doc_label = 'Feed', doc_name = name where ifnull(doc_name,'') = '' and ifnull(doc_label,'') = ''")
-elif patch_no == 98:
-	import_from_files(record_list=[['accounts','doctype','payable_voucher']])
-elif patch_no == 99:
-	import_from_files(record_list=[['accounts','doctype','account']])
-elif patch_no == 100:
-	p = get_obj('Patch Util')
-	p.set_field_property('Account', 'level', 'hidden', '1')
-	p.set_field_property('Account', 'level', 'print_hide', '1')
-	p.set_field_property('Account', 'account_type', 'search_index', '0')
-	p.set_field_property('TDS Detail', 'tds_category', 'width', '150px')
-	p.set_field_property('TDS Detail', 'special_tds_rate_applicable', 'width', '150px')
-	p.set_field_property('TDS Detail', 'special_tds_rate', 'width', '150px')
-	p.set_field_property('TDS Detail', 'special_tds_limit', 'width', '150px')
-elif patch_no == 101:
-	# Leave Application Details and Leave Allocation Details
-	sql("update tabDocField set search_index = 1, in_filter = 1 where fieldname in ('employee','leave_type','fiscal_year') and parent in ('Leave Application','Leave Allocation')")
-	get_obj('DocType','Leave Application').doc.save()
-	get_obj('DocType','Leave Allocation').doc.save()
-elif patch_no == 102:
-	# make item description field editable in production order
-	sql("update tabDocField set permlevel = 0 where fieldname = 'description' and parent = 'Production Order'")
-elif patch_no == 103:
-	sql("update tabDocField set fieldname = '' where fieldtype = 'HTML'")
-elif patch_no == 104:
-	import_from_files(record_list=[['hr','search_criteria','stdsrch_00001'],['hr','search_criteria','stdsrch_00002'],['hr','search_criteria','stdsrch_00003'],['hr','Module Def','HR'],['hr','doctype','leave_application'],['hr','doctype','leave_allocation']])
-
-elif patch_no == 105:
-	# Employee Leave Balance
-	sql("delete from `tabModule Def Item` where parent = 'Payroll' and doc_type = 'Reports' and display_name IN ('Employeewise Leave Transaction Details','Employeewise Balance Leave Report')")
-	# Update Search Fields
-	sql("update tabDocType set search_fields = 'employee,employee_name,leave_type,from_date,to_date,total_leave_days,fiscal_year' where name = 'Leave Application'")
-	sql("update tabDocType set search_fields = 'employee,employee_name,leave_type,total_leaves_allocated,fiscal_year' where name = 'Leave Allocation'")
-elif patch_no == 106:
-	for d in sql("select name,employee,employee_name from `tabLeave Allocation`"):
-		if not cstr(d[2]):
-			sql("update `tabLeave Allocation` set employee_name = '%s' where name = '%s'" % (webnotes.conn.get_value('Employee',cstr(d[1]),'employee_name'), cstr(d[0])))
-	for d in sql("select name,employee,employee_name from `tabLeave Application`"):
-		if not cstr(d[2]):
-			sql("update `tabLeave Application` set employee_name = '%s' where name = '%s'" % (webnotes.conn.get_value('Employee',cstr(d[1]),'employee_name'), cstr(d[0])))
-elif patch_no == 107:
-	sql("delete from `tabDocField` where fieldname = 'fiscal_year' and parent = 'Employee'")
-elif patch_no == 108:
-	import_from_files(record_list=[['hr','search_criteria','srch_std_00013']])
-elif patch_no == 109:
-	import_from_files(record_list=[['hr','search_criteria','srch_std_00015']])
-elif patch_no == 110:
-	import_from_files(record_list=[['hr','doctype','salary_structure'], ['hr', 'doctype', 'salary_slip']])
-elif patch_no == 111:
-	sql("update tabDocType set search_fields = 'transfer_date, from_warehouse, to_warehouse, purpose, remarks' where name = 'Stock Entry'")
-elif patch_no == 112:
-	sql("delete from tabDocField where label = 'Get Other Charges' and fieldtype = 'Button' and parent = 'Sales Invoice'")
-elif patch_no == 113:
-	sql("update tabDocField set reqd = 1 where parent = 'Customer' and fieldname = 'phone_1'")
-elif patch_no == 114:
-	for d in sql("select name, master_name, credit_days, credit_limit from tabAccount where master_type = 'Customer'"):
-		if cstr(d[1]):
-			days, limit = cint(d[2]), flt(d[3])
-			cust_det = sql("select credit_days, credit_limit from tabCustomer where name = '%s'" % (cstr(d[1])))
-			if not days: days = cust_det and cint(cust_det[0][0]) or 0
-			if not limit: limit = cust_det and flt(cust_det[0][1]) or 0
-			sql("COMMIT")
-			sql("START TRANSACTION")
-			sql("update tabAccount set credit_days = '%s', credit_limit = '%s' where name = '%s'" % (days, limit, cstr(d[0])))
-			sql("COMMIT")
-
-elif patch_no == 115:
-	# patch for timesheet cleanup
-	from webnotes.model import delete_doc
-	delete_doc('DocType', 'Timesheet Detail')
-
-	from webnotes.modules.import_module import import_from_files
-	import_from_files(record_list = [['Projects', 'DocType', 'Timesheet'], ['Projects', 'DocType', 'Timesheet Detail'], ['Projects', 'DocType', 'Activity Type']])
-
-elif patch_no == 116:
-	# again!
-	from webnotes.model import delete_doc
-	delete_doc('DocType', 'Timesheet Detail')
-
-	from webnotes.modules.import_module import import_from_files
-	import_from_files(record_list = [['Projects', 'DocType', 'Timesheet Detail']])
-elif patch_no == 117:
-	op = '\n' + 'Walk In'
-	sql("update `tabDocField` set `options` = concat(options, %s) where parent = 'Opportunity' and fieldname = 'source' and options not like '%%Walk%%'", op)
-elif patch_no == 118:
-	from webnotes.utils import get_defaults
-	ss = sql("select name, net_pay from `tabSalary Slip`")
-	for d in ss:
-		if d[1]:
-			w = get_obj('Sales Common').get_total_in_words(get_defaults()['currency'], d[1])
-			sql("update `tabSalary Slip` set net_pay_in_words = '%s' where name = '%s'" % (w, d[0]))
-elif patch_no == 119:
-	sql("update tabDocType set in_create = 1 where name = 'Profile'")
-elif patch_no == 120:
-	sql("update tabDocField set permlevel = 0 where parent = 'Sales and Purchase Return Tool' and fieldname = 'return_date'")
-elif patch_no == 121:
-	import_from_files(record_list = [['CRM', 'DocType', 'Sales and Purchase Return Item'], ['Material Management', 'DocType', 'Sales and Purchase Return Tool']])
-elif patch_no == 122:
-	sql("delete from tabDocField where (fieldname = 'serial_no' or label = 'Warrany Status') and parent = 'Sales Order'")
-elif patch_no == 123:
-	import_from_files(record_list = [['CRM', 'Module Def', 'CRM'], ['CRM', 'Search Criteria', 'STDSRCH/00004']])
-elif patch_no == 124:
-	import webnotes
-	webnotes.conn.set_global("system_message", """<h3>Updates(New)</h3>We have added a new report in the Selling Module.<br><br><b>Sales Personwise Transaction Summary: </b>In this report you can see sales person's contribution in a particular order, delivery or invoice. You can select voucher type in "Based On" filter.<br><br> Do send us your feedback!""")
-	webnotes.conn.set_global("system_message_id", "5")
-elif patch_no == 125:
-	import_from_files(record_list = [['Material Management', 'DocType', 'Delivery Note']])
-elif patch_no == 126:
-	sql("delete from tabDocField where parent = 'Delivery Note' and label in ('Make Sales Invoice', 'Make Installation Note', 'Intro Note')")
-elif patch_no == 127:
-	sql("delete from tabDocPerm where role = 'All' and parent = 'Expense Claim' and (permlevel = 0 or permlevel = 2)")
-	p = get_obj('Patch Util')
-	p.add_permission('Expense Claim', 'Employee', 0, read = 1, write = 1, create = 1, submit = 1, cancel = 1, amend = 1, match = 'owner')
-	p.add_permission('Expense Claim', 'HR Manager', 0, read = 1, write = 1, create = 1, submit = 1, cancel = 1, amend = 1)
-	p.add_permission('Expense Claim', 'HR User', 0, read = 1, write = 1, create = 1, submit = 1, cancel = 1, amend = 1)
-elif patch_no == 128:
-	from webnotes.modules import import_module
-	import_module.import_from_files(record_list=[['selling','doctype','sales_order'], ['selling','doctype','sales_order_detail'],  ['stock','doctype','delivery_note'], ['stock','doctype','delivery_note_detail']])
-elif patch_no == 129:
-	sql("update `tabTable Mapper Detail` set validation_logic = '(qty > ifnull(billed_qty, 0) or amount > ifnull(billed_amt, 0)) and docstatus = 1' where parent = 'Sales Order-Sales Invoice' and from_table = 'Sales Order Item' and to_table = 'Sales Invoice Item'")
-	sql("update `tabTable Mapper Detail` set validation_logic = '(qty > ifnull(billed_qty, 0) or amount > ifnull(billed_amt, 0)) and docstatus = 1' where parent = 'Delivery Note-Sales Invoice' and from_table = 'Delivery Note Item' and to_table = 'Sales Invoice Item'")
-elif patch_no == 130:
-	# update from rv
-	from webnotes.model.code import get_obj
-	from webnotes.utils import cstr
-	for d in sql("select name, docstatus from `tabSales Invoice` where ifnull(docstatus,0) != 0"):
-		sql("COMMIT")
-		sql("START TRANSACTION")
-		try:
-			obj = get_obj('Sales Invoice', cstr(d[0]), with_children = 1)
-			is_submit = 1
-			if cint(d[1]) == 2: is_submit = 0
-			get_obj('Sales Common').update_prevdoc_detail(is_submit, obj)
-		except:
-			pass
-		sql("COMMIT")
-
-	# update from dn
-	from webnotes.model.code import get_obj
-	for d in sql("select name, docstatus from `tabDelivery Note` where ifnull(docstatus,0) != 0"):
-		sql("COMMIT")
-		sql("START TRANSACTION")
-		try:
-			obj = get_obj('Delivery Note', cstr(d[0]), with_children = 1)
-			is_submit = 1
-			if cint(d[1]) == 2: is_submit = 0
-			get_obj('Sales Common').update_prevdoc_detail(is_submit, obj)
-		except:
-			pass
-		sql("COMMIT")
-elif patch_no == 131:
-	sql("update `tabDocType` set allow_trash = 1 where name = 'Purchase Taxes and Charges Master'")
-	sql("update tabDocPerm set `cancel` = 1 where parent = 'Purchase Taxes and Charges Master' and permlevel = 0 and `read` = 1 and `write` = 1")
-elif patch_no == 132:
-	sql("update tabDocField set no_copy = 0 where parent = 'Sales Invoice' and fieldname = 'customer'")
-elif patch_no == 133:
-	from webnotes.modules import import_module
-	import_module.import_from_files(record_list=[['accounts','doctype','receivable_voucher']])
-elif patch_no == 134:
-	sql("update tabDocField set no_copy = 1 where parent = 'Sales Invoice' and fieldname = 'posting_time'")
-elif patch_no == 135:
-	sql("update tabDocField set `default` = 'Today' where parent = 'Sales Invoice' and fieldname = 'due_date'")
-elif patch_no == 136:
-	from webnotes.modules import import_module
-	import_module.import_from_files(record_list=[['accounts','doctype','rv_detail']])
-elif patch_no == 137:
-	from webnotes.modules import import_module
-	import_module.import_from_files(record_list=[['setup','doctype','price_list']])
-elif patch_no == 138:
-	sql("update `tabDocType` set allow_attach = 1 where name = 'Price List'")
-elif patch_no == 139:
-	from webnotes.modules import import_module
-	import_module.import_from_files(record_list=[['mapper','DocType Mapper','Sales Order-Sales Invoice'], ['mapper','DocType Mapper','Delivery Note-Sales Invoice']])
-elif patch_no == 140:
-	from webnotes.modules import import_module
-	import_module.import_from_files(record_list=[['accounts','doctype','rv_detail']])
-elif patch_no == 141:
-	sql("delete from tabDocField where (fieldname = 'letter_head' or label = 'Letter Head') and parent = 'Company'")
-elif patch_no == 142:
-	# fixes to letter head and personalize
-	from webnotes.model import delete_doc
-
-	delete_doc('DocType', 'Batch Settings')
-	delete_doc('DocType', 'Batch Settings Detail')
-	delete_doc('DocType', 'Social Badge')
-	delete_doc('Page', 'Personalize Page')
-	delete_doc('DocType', 'Personalize Page Control')
-
-	import_from_files(record_list=[['core','doctype','letter_head'], ['setup','doctype','personalize']])
-elif patch_no == 144:
-	webnotes.conn.sql("update tabDocField set fieldtype='Code' where parent='Letter Head' and fieldname='content'")
-elif patch_no == 145:
-	sql("update `tabDocField` set permlevel=1 where fieldname = 'group_or_ledger' and parent = 'Account'")
-elif patch_no == 146:
-	import_from_files(record_list=[['accounts','doctype','account']])
-elif patch_no == 147:
-	import_from_files(record_list=[['mapper', 'DocType Mapper', 'Purchase Order-Purchase Invoice'], ['mapper', 'DocType Mapper', 'Purchase Receipt-Purchase Invoice'], ['mapper', 'DocType Mapper', 'Purchase Order-Purchase Receipt']])
-elif patch_no == 148:
-	sql("delete from `tabDocField` where (fieldname = 'account_balances' or label = 'Balances') and parent = 'Account'")
-	sql("update tabDocType set istable = 0, section_style = 'Simple', search_fields = 'account, period, fiscal_year, balance' where name = 'Account Balance'")
-	sql("update tabDocField set permlevel = 0 where parent = 'Account Balance'")
-	p = get_obj('Patch Util')
-	p.add_permission('Account Balance', 'Accounts User', 0, read = 1)
-	p.add_permission('Account Balance', 'Accounts Manager', 0, read = 1)
-	import_from_files(record_list=[['accounts','doctype','account_balance']])
-elif patch_no == 149:
-	sql("update `tabAccount Balance` set account = parent")
-elif patch_no == 150:
-	sql("update tabDocField set in_filter = 1, search_index = 1 where parent = 'Account Balance' and fieldname in ('account', 'period', 'fiscal_year', 'start_date', 'end_date')")
-	ac_bal = Document("DocType", "Account Balance")
-	ac_bal.save()
-elif patch_no == 151:
-	sql("delete from tabDocField where label = 'Add / Manage Contacts' and fieldtype = 'Button' and parent = 'Customer'")
-	sql("delete from `tabField Mapper Detail` where parent = 'Sales Order-Delivery Note' and from_field = 'note' and to_field = 'note'")
-elif patch_no == 152:
-	import_from_files(record_list=[['selling','doctype','sales_order'], ['stock','doctype','delivery_note'], ['selling','doctype','customer'], ['selling','doctype','shipping_address'], ['mapper', 'DocType Mapper', 'Sales Order-Delivery Note']])
-elif patch_no == 153:
-	sql("delete from `tabDocField` where fieldname = 'sales_person' and parent = 'Customer'")
-elif patch_no == 154:
-	import_from_files(record_list=[['stock','doctype','serial_no'], ['support','doctype','customer_issue']])
-elif patch_no == 155:
-	for d in sql("select name, item_code from `tabSerial No`"):
-		sql("COMMIT")
-		sql("START TRANSACTION")
-		sql("update `tabSerial No` set item_name = '%s' where name = '%s'" % (webnotes.conn.get_value('Item',cstr(d[1]),'item_name'), cstr(d[0])))
-		sql("COMMIT")
-elif patch_no == 156:
-	sql("update tabDocField set fieldtype = 'Code' where fieldname = 'html' and parent = 'Print Format'")
-elif patch_no == 157:
-	import_from_files(record_list=[['accounts', 'doctype', 'journal_voucher'], ['accounts', 'Print Format', 'Payment Receipt Voucher'], ['accounts', 'Print Format', 'Cheque Printing Format']])
-elif patch_no == 158:
-	from webnotes.model.doc import addchild
-	sql("delete from tabDocField where parent = 'Customer Issue' and fieldname = 'customer_group'")
-elif patch_no == 159:
-	sql("update tabAccount set account_type = 'Chargeable' where account_name in ('Advertising and Publicity', 'Freight & Forwarding Charges', 'Miscellaneous Expenses', 'Sales Promotion Expenses')")
-elif patch_no == 160:
-	sql("update `tabDocType` set search_fields = 'posting_date, due_date, debit_to, fiscal_year, grand_total, outstanding_amount' where name = 'Sales Invoice'")
-	sql("update `tabDocType` set search_fields = 'posting_date, credit_to, fiscal_year, bill_no, grand_total, outstanding_amount' where name = 'Purchase Invoice'")
-elif patch_no == 161:
-	sql("update tabDocType set autoname = 'field:batch_id' where name = 'Batch'")
-	sql("update tabDocField set no_copy = 1 where parent = 'Batch' and fieldname = 'batch_id'")
-elif patch_no == 162:
-	import_from_files(record_list=[['selling', 'search_criteria', 'sales_order_pending_items1']])
-elif patch_no == 163:
-	sql("delete from `tabModule Def Item` where display_name = 'Sales Orderwise Pending Packing Item Summary' and parent = 'CRM'")
-	import_from_files(record_list=[['selling', 'search_criteria', 'sales_orderwise_pending_qty_to_deliver'], ['selling', 'search_criteria', 'sales_orderwise_pending_amount_to_bill'], ['selling', 'search_criteria', 'delivered_items_to_be_install']])
-elif patch_no == 164:
-	import_from_files(record_list=[['buying', 'search_criteria', 'pending_po_items_to_receive'], ['buying', 'search_criteria', 'pending_po_items_to_bill']])
-elif patch_no == 165:
-	pass
-elif patch_no == 166:
-	import_from_files(record_list=[['buying', 'doctype', 'purchase_order']])
-elif patch_no == 167:
-	if webnotes.conn.get_value('Control Panel', None, 'account_id') not in ['ax0000956', 'ax0001338']:
-		sql("delete from tabDocField where parent = 'Purchase Order' and fieldname in ('test_certificate_required', 'estimated_cost', 'transport', 'vendor_reference', 'transportation_required', 'mode_of_dispatch', 'octroi')")
-elif patch_no == 168:
-	sql("update tabDocField set fieldtype = 'Data', options = 'Suggest' where fieldname = 'bank_name' and parent = 'Employee'")
-elif patch_no == 169:
-	import_from_files(record_list=[['accounts', 'doctype', 'pv_detail'], ['accounts', 'doctype', 'rv_detail']])
-elif patch_no == 170:
-	import_from_files(record_list=[['mapper', 'DocType Mapper', 'Delivery Note-Sales Invoice']])
-elif patch_no == 171:
-	import_from_files(record_list=[['buying', 'doctype', 'supplier']])
-elif patch_no == 172:
-	import webnotes
-	webnotes.conn.set_global("system_message", """<b>Welcome to the new financial year 2011-2012 !!! </b><br><br> So obvious question in your mind is how to start Entries in the New Fiscal Year in ERPNext? What are the changes you have to make in the system? <br>We have made some guidelines regarding the basic steps you should follow. Please click on link <a href='http://erpnext.blogspot.com/2011/03/how-to-start-entries-in-new-fiscal-year.html'>How to start Entries in the New Fiscal Year in ERPNext?</a>""")
-	webnotes.conn.set_global("system_message_id", "6")
-elif patch_no == 173:
-	sql("delete from tabDocField where label = 'Get Other Charges' and parent = 'Delivery Note'")
-	sql("update tabDocField set reqd = 0 where fieldname = 'posting_time' and parent = 'Serial No'")
-elif patch_no == 174:
-	c = sql("select count(name) from `tabField Mapper Detail` where parent = 'Delivery Note-Sales Invoice' and from_field = 'description' and to_field = 'description' and match_id = 2")
-	if c and cint(c[0][0]) > 1:
-		sql("update `tabField Mapper Detail` set match_id = 1 where parent = 'Delivery Note-Sales Invoice' and from_field = 'description' and to_field = 'description' limit 1")
-elif patch_no == 175:
-	import webnotes
-	webnotes.conn.set_global("system_message", """If your financial year starts on 1st April then you have make some changes in the system to start entry in the new year.<br>We have made some guidelines regarding the basic steps you should follow. Please click on link <a href='http://erpnext.blogspot.com/2011/03/how-to-start-entries-in-new-fiscal-year.html'>How to start Entries in the New Fiscal Year in ERPNext?</a>""")
-	webnotes.conn.set_global("system_message_id", "6")
-elif patch_no == 176:
-	sql("update tabDocPerm set role='Guest', `write`=0, `create`=0 where role='Administrator' and parent='Notification Control' limit 1")
-elif patch_no == 177:
-	sql("delete from `tabDocField` where label = 'Next Steps' and parent = 'Purchase Order'")
-	sql("update tabDocField set options = 'Material Issue\nMaterial Receipt\nMaterial Transfer\nSales Return\nPurchase Return\nSubcontracting\nProduction Order' where parent = 'Stock Entry' and fieldname = 'purpose'")
-elif patch_no == 178:
-	import_from_files(record_list = [['hr', 'doctype', 'salary_slip']])
-elif patch_no == 179:
-	from webnotes.utils import get_defaults
-	sl = sql("select name, net_pay from `tabSalary Slip`")
-	for d in sl:
-		in_words = get_obj('Sales Common').get_total_in_words(get_defaults()['currency'], round(flt(d[1])))
-		sql("update `tabSalary Slip` set rounded_total = '%s', total_in_words = '%s' where name = '%s'" % (round(flt(d[1])), in_words, d[0]))
-elif patch_no == 180:
-	sql("delete from tabDocField where parent = 'Salary Slip' and fieldname = 'net_pay_in_words'")
-elif patch_no == 181:
-	import_from_files(record_list = [['accounts', 'doctype', 'journal_voucher']])
-elif patch_no == 182:
-	sql("update tabDocField set options = CONCAT(options, '\nWrite Off Voucher') where fieldname = 'voucher_type' and parent = 'Journal Voucher'")
-elif patch_no == 183:
-	sql("delete from tabDocField where label = 'SMS' and fieldtype = 'Section Break' and parent in  ('Opportunity', 'Lead', 'Sales Order', 'Delivery Note')")
-elif patch_no == 184:
-	from webnotes.model import delete_doc
-	delete_doc('DocType', 'Feed')
-	delete_doc('DocType', 'Feed List')
-	delete_doc('DocType', 'Feed Control')
-
-	# add trigger
-	from webnotes.model.triggers import add_trigger
-	add_trigger('*','*','*','event_updates.update_feed')
-
-	webnotes.conn.commit()
-
-	try:
-		sql("drop table tabFeed")
-		sql("drop table `tabFeed List`")
-	except: pass
-
-	# import
-	from webnotes.modules import reload_doc
-	reload_doc('event_updates','doctype','feed')
-elif patch_no==185:
-	sql("delete from tabDocTrigger where method = 'webnotes.widgets.follow.on_docsave'")
-elif patch_no==186:
-	from webnotes.modules import reload_doc
-	reload_doc('event_updates','doctype','feed')
-elif patch_no == 187:
-	sql("update tabDocType set autoname = '' where name = 'Quality Inspection'")
-elif patch_no == 188:
-	import_from_files(record_list = [['buying', 'doctype', 'qa_inspection_report']])
-elif patch_no == 189:
-	sql("update `tabDocField` set allow_on_submit = 1 where fieldname in ('entries', 'other_charges') and parent = 'Sales Invoice'")
-elif patch_no == 190:
-	sql("update tabDocField set permlevel=0 where fieldname = 'fiscal_year' and parent = 'Stock Entry'")
-elif patch_no == 191:
-	import_from_files(record_list = [['support', 'doctype', 'customer_issue']])
-elif patch_no == 192:
-	sql("delete from `tabModule Def Item` where parent = 'Material Management' and doc_name = 'Landed Cost Wizard' and display_name = 'Landed Cost Wizard'")
-	import_from_files(record_list = [['buying', 'Module Def', 'SRM']])
-elif patch_no == 193:
-	sql("update tabDocField set fieldtype='Button', `trigger`='Client' where parent='Letter Head' and fieldname='set_from_image'")
-elif patch_no == 194:
-	sql("delete from `tabModule Def Item` where parent = 'SRM' and doc_name = 'Landed Cost Wizard' and display_name = 'Landed Cost Wizard'")
-	import_from_files(record_list = [['stock', 'Module Def', 'Material Management']])
-elif patch_no == 195:
-	from webnotes.modules import reload_doc
-	reload_doc('setup','doctype','manage_account')
-elif patch_no == 196:
-	sql("update `tabModule Def` set module_page = null where name = 'Material Management'")
-elif patch_no == 197:
-	sql("update `tabDocField` set permlevel = 0, in_filter = 1 where fieldname = 'warranty_amc_status' and parent = 'Customer Issue'")
-	import_from_files(record_list = [['support', 'doctype', 'customer_issue']])
-elif patch_no == 198:
-	sql("delete from `tabDocField` where (label in ('SMS', 'Send SMS') or fieldname in ('message', 'customer_mobile_no')) and parent in ('Quoattion', 'Sales Order', 'Delivery Note', 'Sales Invoice')")
-	sql("delete from `tabDocField` where label in ('SMS', 'Send SMS') and parent = 'Purchase Order'")
-	sql("delete from `tabDocField` where (label in ('Send SMS', 'SMS Html') or fieldname in ('sms_message', 'lead_sms_detail', 'enquiry_sms_detail')) and parent in ('Lead', 'Opportunity')")
-	from webnotes.model import delete_doc
-	delete_doc('DocType', 'Lead SMS Detail')
-	delete_doc('DocType', 'Enquiry SMS Detail')
-elif patch_no == 199:
-	sql("update tabDocField set reqd = 0 where parent = 'Attendance' and fieldname = 'shifts'")
-elif patch_no == 200:
-	reload_doc('event_updates','page','profile_settings')
-elif patch_no == 201:
-	reload_doc('setup','doctype','price_list')
-elif patch_no == 202:
-	name1 = sql("select name from tabDocField where parent='Price List' and label='Clear Prices' limit 1,1")
-	name2 = sql("select name from tabDocField where parent='Price List' and label='Update Prices' limit 1,1")
-	if name1:
-		sql("delete from tabDocField where name=%s limit 1", name1[0][0])
-	if name2:
-		sql("delete from tabDocField where name=%s limit 1", name2[0][0])
-elif patch_no == 203:
-	sql("delete from tabDocField where parent = 'Company' and fieldname = 'default_salary_account' limit 1")
-elif patch_no == 204:
-	sql("delete from tabDocField where parent = 'Company' and fieldname = 'default_salary_acount' limit 1")
-elif patch_no == 205:
-	sql("update `tabDocField` set `default` = '' where fieldname = 'naming_series' and parent = 'Installation Note'")
-elif patch_no == 206:
-	reload_doc('selling','doctype','installation_note')
-elif patch_no == 207:
-	import_from_files(record_list = [['setup', 'doctype', 'company']])
-elif patch_no == 208:
-	sql("delete from `tabDocField` where (label in ('SMS', 'Send SMS') or fieldname in ('message', 'customer_mobile_no')) and parent ='Quotation'")
-	default_currency = get_obj('Global Defaults').doc.default_currency
-	sql("update tabCompany set default_currency = '%s'" % default_currency)
-elif patch_no == 209:
-	import_from_files(record_list = [['setup', 'doctype', 'company']])
-elif patch_no == 210:
-	sql("delete FROM `tabDocField` WHERE parent = 'Lead' AND label in ('CC:','Attachment Html','Create New File','Attachment')")
-elif patch_no == 212:
-	# reload company because of disturbed UI
-	import_from_files(record_list = [['setup', 'doctype', 'company']])
-elif patch_no == 213:
-	reload_doc('selling','doctype','lead')
-	reload_doc('setup','doctype','company')
-elif patch_no == 214:
-	reload_doc('selling','doctype','sales_order')
-elif patch_no == 215:
-	# patch for item and image in description
-	sql("update tabDocField set width = '300px' where fieldname='description'")
-	reload_doc('stock', 'doctype', 'item')
-	sql("delete from __DocTypeCache")
-elif patch_no == 216:
-	import_from_files(record_list = [['stock', 'doctype', 'serial_no'], ['stock', 'doctype', 'stock_ledger_entry']])
-elif patch_no == 217:
-	sql("update tabDocField set options = '\nIn Store\nDelivered\nNot in Use' where fieldname = 'status' and parent = 'Serial No'")
-	sql("update tabDocField set no_copy = 1 where fieldname = 'serial_no' and parent = 'Delivery Note Item'")
-	sql("update tabDocField set no_copy = 1 where fieldname = 'serial_no' and parent = 'Stock Entry Detail'")
-elif patch_no == 218:
-	for d in sql("select name from `tabSerial No`"):
-		sql("Commit")
-		sql("Start Transaction")
-		s = Document('Serial No', d[0])
-		if s.pr_no:
-			s.purchase_document_type = 'Purchase Receipt'
-			s.purchase_document_no = s.pr_no
-		if s.delivery_note_no:
-			s.delivery_document_type = 'Delivery Note'
-			s.delivery_document_no = s.delivery_note_no
-		if s.notes:
-			s.delivery_note_no = s.notes
-		s.company = webnotes.utils.get_defaults()['company']
-		s.fiscal_year = webnotes.utils.get_defaults()['fiscal_year']
-		s.save()
-elif patch_no == 219:
-	sql("delete from tabDocField where fieldname in ('pr_no', 'make', 'label', 'delivery_note_no', 'notes') and parent = 'Serial No'")
-elif patch_no == 220:
-	sql("update tabDocField set label = 'Incoming Rate' where fieldname = 'purchase_rate' and parent = 'Serial No'")
-	sql("update tabDocField set label = 'Incoming Time' where fieldname = 'purchase_time' and parent = 'Serial No'")
-elif patch_no == 221:
-	sql("update tabDocField set reqd = 1 where fieldname in ('purchase_rate', 'warehouse') and parent = 'Serial No'")
-elif patch_no == 222:
-	sql("update tabDocField set options = '\nDelivery Note\nSales Invoice\nStock Entry' where fieldname = 'delivery_document_type' and parent = 'Serial No'")
-elif patch_no == 223:
-	sql("update tabDocField set hidden = 0 where fieldname in ('pay_to_recd_from', 'total_amount', 'total_amount_in_words') and parent = 'Journal Voucher'")
-	sql("update tabDocField set permlevel = 0 where fieldname = 'pay_to_recd_from' and parent = 'Journal Voucher'")
-elif patch_no == 224:
-	import_from_files(record_list = [['stock', 'doctype', 'delivery_note_packing_detail'], ['accounts', 'Print Format', 'Payment Receipt Voucher']])
-elif patch_no == 225:
-	import_from_files(record_list = [['stock', 'doctype', 'delivery_note_packing_detail']])
-elif patch_no == 226:
-	import_from_files(record_list = [['stock', 'doctype', 'delivery_note_packing_detail']])
-elif patch_no == 227:
-	reload_doc('stock', 'doctype', 'item')
-	if webnotes.conn.get_value('Control Panel', None, 'account_id') != 'axjanak2011':
-		sql("delete from tabDocField where parent = 'Item' and fieldname='alternate_description' limit 1")
-elif patch_no == 228:
-	# knowledge base patch
-	reload_doc('knowledge_base', 'doctype', 'question')
-	reload_doc('knowledge_base', 'doctype', 'answer')
-	reload_doc('knowledge_base', 'page', 'questions')
-	reload_doc('knowledge_base', 'Module Def', 'Knowledge Base')
-	sql("update `tabModule Def` set disabled='No' where name='Knowledge Base'")
-elif patch_no == 229:
-	reload_doc('knowledge_base', 'page', 'question_view')
-elif patch_no == 230:
-	reload_doc('buying', 'doctype', 'indent')
-	reload_doc('buying', 'doctype', 'indent_detail')
-	reload_doc('Mapper', 'DocType Mapper', 'Sales Order-Purchase Request')
-elif patch_no == 231:
-	reload_doc('Mapper', 'DocType Mapper', 'Sales Order-Purchase Request')
-elif patch_no == 232:
-	sql("update `tabDocField` set options = 'Sales Order' where fieldname = 'sales_order_no' and parent = 'Purchase Request'")
-elif patch_no == 233:
-	reload_doc('Mapper', 'DocType Mapper', 'Sales Order-Sales Invoice')
-	reload_doc('Mapper', 'DocType Mapper', 'Delivery Note-Sales Invoice')
-elif patch_no == 234:
-	sql("update `tabTable Mapper Detail` set validation_logic = 'docstatus=1' where parent = 'Sales Order-Purchase Request' and from_table = 'Sales Order Item'")
-elif patch_no == 235:
-	for sc in sql("""select name from `tabSearch Criteria` where ifnull(name,'')
-		like 'srch%' or ifnull(name,'') like '%stdsrch'"""):
-		try:
-			get_obj('Search Criteria', sc[0]).rename()
-		except AttributeError, e:
-			pass
-	reload_doc('core', 'doctype', 'system_console')
-elif patch_no == 236:
-	# warehouse not mandatory for delivered serial nos
-	sql("update tabDocField set reqd=0 where parent='Serial No' and fieldname='warehouse'")
-elif patch_no == 237:
-	sql("update tabDocField set depends_on = 'eval:doc.is_pos==1' where fieldname = 'cash_bank_account' and parent = 'Sales Invoice'")
-elif patch_no == 238:
-	reload_doc('accounts', 'doctype', 'receivable_voucher')
-	reload_doc('accounts', 'GL Mapper', 'POS with write off')
-elif patch_no == 239:
-	reload_doc('core', 'doctype', 'docfield')
-	reload_doc('core', 'doctype', 'doctype')
-	from patches.old_patches.feed_patch import set_subjects_and_tagfields
-
-	set_subjects_and_tagfields()
-elif patch_no == 240:
-	# again for sales order (status)
-	from patches.old_patches.feed_patch import set_subjects_and_tagfields
-	set_subjects_and_tagfields()
-elif patch_no == 241:
-	sql("update `tabDocField` set fieldtype = 'Text', options = '', in_filter = '' where fieldname = 'serial_no' and parent = 'Stock Ledger Entry'")
-elif patch_no == 242:
-	if webnotes.conn.get_value('Control Panel', None, 'account_id') not in ['axjanak2011']:
-		sql("commit")
-		try:
-			sql("alter table `tabStock Ledger Entry` drop index serial_no")
-		except:
-			pass
-
-		sql("alter table `tabStock Ledger Entry` change serial_no serial_no text")
-elif patch_no == 243:
-	# moving custom script and custom fields to framework
-	webnotes.conn.set_value('DocType', 'Custom Script', 'module', 'Core')
-	webnotes.conn.set_value('DocType', 'Custom Field', 'module', 'Core')
-	reload_doc('setup', 'doctype', 'company')
-elif patch_no == 244:
-	reload_doc('stock', 'search_criteria', 'shortage_to_indent')
-elif patch_no == 245:
-	from patches.old_patches.doctype_permission_patch import set_doctype_permissions
-	set_doctype_permissions()
-
-	from patches.old_patches.feed_patch import set_subjects_and_tagfields
-	set_subjects_and_tagfields()
-elif patch_no == 246:
-	webnotes.conn.set_value('DocType','Stock Entry','tag_fields','purpose')
-	webnotes.conn.set_value('DocType','Stock Entry','subject','%(remarks)s')
-elif patch_no == 247:
-	webnotes.conn.set_value('DocType','Stock Entry','subject','%(remarks)s')
-elif patch_no == 248:
-	reload_doc('setup', 'doctype', 'manage_account')
-elif patch_no == 249:
-	sql("update `tabDocPerm` t1, `tabDocType` t2 set t1.role = 'System Manager' where t1.role = 'Administrator' and t1.parent = t2.name and t2.module != 'Core'")
-elif patch_no == 250:
-	from patches.old_patches.feed_patch  import support_patch
-	support_patch()
-elif patch_no == 251:
-	from webnotes.model import db_schema
-	db_schema.remove_all_foreign_keys()
-	from patches.old_patches.customer_address import run_patch
-	run_patch()
-elif patch_no == 252:
-	reload_doc('support','doctype','support_ticket')
-	reload_doc('support','doctype','support_ticket_response')
-elif patch_no == 253:
-	reload_doc('accounts','doctype','ledger_balance_export')
-	reload_doc('accounts','doctype','ledger_detail')
-	reload_doc('accounts', 'Module Def', 'Accounts')
-
-	from webnotes.model.db_schema import updatedb
-	updatedb('Multi Ledger Report')
-	updatedb('Multi Ledger Report Detail')
-elif patch_no == 254:
-	reload_doc('setup', 'doctype', 'sms_settings')
-	reload_doc('setup', 'doctype', 'static_parameter_detail')
-
-	from webnotes.model.db_schema import updatedb
-	updatedb('SMS Settings')
-	updatedb('SMS Parameter')
-elif patch_no == 255:
-	from patches.old_patches.customer_address import run_old_data_sync_patch
-	run_old_data_sync_patch()
-elif patch_no == 256:
-	sql("update `tabLetter Head` set content = replace(content, 'http://46.4.50.84/v170-test/', '')")
-	sql("update `tabSingles` set value = replace(value, 'http://46.4.50.84/v170-test/', '') where field in ('letter_head', 'client_name') and doctype = 'Control Panel'")
-	sql("update `tabItem` set description_html = replace(description_html, 'http://46.4.50.84/v170-test/', '')")
-elif patch_no == 257:
-	from patches.old_patches.customer_address import run_old_data_sync_patch
-	run_old_data_sync_patch()
-elif patch_no == 258:
-	sql("update tabDocField set `default`=NULL where fieldname = 'naming_series'")
-elif patch_no == 259:
-	sql("update `tabQuotation Item` set description = replace(description, 'http://46.4.50.84/v170-test/', '')")
-	sql("update `tabSales Order Item` set description = replace(description, 'http://46.4.50.84/v170-test/', '')")
-	sql("update `tabSales Invoice Item` set description = replace(description, 'http://46.4.50.84/v170-test/', '')")
-	sql("update `tabDelivery Note Item` set description = replace(description, 'http://46.4.50.84/v170-test/', '')")
-elif patch_no == 260:
-	sql("update `tabLetter Head` set content = replace(content, 'http://46.4.50.84/v170/', '')")
-	sql("update `tabSingles` set value = replace(value, 'http://46.4.50.84/v170/', '') where field in ('letter_head', 'client_name') and doctype = 'Control Panel'")
-	sql("update `tabItem` set description_html = replace(description_html, 'http://46.4.50.84/v170/', '')")
-	sql("update `tabQuotation Item` set description = replace(description, 'http://46.4.50.84/v170/', '')")
-	sql("update `tabSales Order Item` set description = replace(description, 'http://46.4.50.84/v170/', '')")
-	sql("update `tabSales Invoice Item` set description = replace(description, 'http://46.4.50.84/v170/', '')")
-	sql("update `tabDelivery Note Item` set description = replace(description, 'http://46.4.50.84/v170/', '')")
-elif patch_no == 261:
-	sql("update `tabPrint Format` set html = replace(html, 'customer_address', 'address_display')")
-elif patch_no == 262:
-	from patches.old_patches.customer_address import sync_lead_phone
-	sync_lead_phone()
-elif patch_no == 263:
-	ol = ['','Open','To Reply','Waiting for Customer','Hold','Closed']
-	sql("update tabDocField set options=%s where parent=%s and fieldname=%s", ('\n'.join(ol), 'Support Ticket', 'status'))
-elif patch_no == 264:
-	sql("delete from tabDocField where parent = 'Customer Issue' and (fieldname = 'issue_in' or fieldname = 'issue_category')")
-	sql("update tabDocField set options=NULL where parent='Support Ticket' and label = 'Send'")
-elif patch_no == 266:
-	reload_doc('setup','doctype','support_email_settings')
-elif patch_no == 267:
-	sql("update `tabPrint Format` set html = replace(html, 'supplier_address', 'address_display')")
-elif patch_no == 268:
-	sql("update `tabDocPerm` set permlevel = 0 where permlevel is null")
-elif patch_no == 269:
-	p = get_obj('Patch Util')
-	p.add_permission('GL Entry', 'Accounts User', 0, read = 1)
-elif patch_no == 270:
-	pages = ['Accounts Setup', 'Accounts', 'Accounting Reports','GeneralLedger','How do I - Accounts','Making Opening Entries',\
-	'Analysis','How do I - CRM','How do I - Inventory','Inventory Setup', 'Stock','HR','HR & Payroll Setup',\
-	'Payroll Setup','Production Setup','Production','Buying','SRM Setup','Contact Page','Forum','Messages','Test Toolbar',\
-	'Trend Analyzer']
-	from webnotes.model import delete_doc
-	sql("delete from `tabPage Visit`")
-	for p in pages:
-		try: delete_doc('Page', p)
-		except: pass
-elif patch_no == 271:
-	# tags patch
-	reload_doc('selling','doctype','sales_order')
-	reload_doc('stock','doctype','delivery_note')
-	sql("delete from tabDocField where fieldname='per_amt_billed' and parent in ('Sales Order', 'Delivery Note')")
-
-	sql("""update `tabSales Order` set delivery_status = if(ifnull(per_delivered,0) < 0.001, 'Not Delivered',
-			if(per_delivered >= 99.99, 'Fully Delivered', 'Partly Delivered'))""")
-	sql("""update `tabSales Order` set billing_status = if(ifnull(per_billed,0) < 0.001, 'Not Billed',
-			if(per_billed >= 99.99, 'Fully Billed', 'Partly Billed'))""")
-	sql("""update `tabDelivery Note` set billing_status = if(ifnull(per_billed,0) < 0.001, 'Not Billed',
-			if(per_billed >= 99.99, 'Fully Billed', 'Partly Billed'))""")
-elif patch_no == 272:
-	from webnotes.model import delete_doc
-	try:
-		delete_doc('Search Criteria', '_SRCH00003')
-	except:
-		pass
-	reload_doc('accounts', 'search_criteria', 'purchase_register')
-elif patch_no == 276:
-	from webnotes.model import delete_doc
-	sn = sql("select name from `tabSearch Criteria` where criteria_name = 'Sales Personwise Transaction Summary'")
-	for d in sn:
-		delete_doc('Search Criteria', d[0])
-	reload_doc('selling', 'search_criteria', 'sales_personwise_transaction_summary')
-elif patch_no == 277:
-	webnotes.model.delete_doc('DocType','HomePage Settings')
-	webnotes.model.delete_doc('DocType','Badge Settings')
-	sql("update tabDocType set module='Home' where module in ('Event Updates', 'My Company')")
-	sql("update tabPage set module='Home' where module in ('Event Updates', 'My Company')")
-	sql("update `tabSearch Criteria` set module='Home' where module in ('Event Updates', 'My Company')")
-
-
-	delete_pages = ('Chat User Gallery', 'Badge Info', 'Home', 'Website Setup', 'Test Page', 'Setup Masters', 'Service', 'Selling', 'Sales Reports', 'Organize','My Cart', 'My Activity', 'Manage Users', 'Maintenance', 'Getting Started', 'Gantt Test', 'Custom Reports - Stock', 'Custom Reports - Selling', 'Custom Reports - Production', 'Custom Reports - Payroll', 'Custom Reports - Maintenance', 'Custom Reports - Buying', 'Custom Reports - Accounts', 'CRM Setup', 'CRM Reports')
-	for p in delete_pages:
-	  webnotes.model.delete_doc('Page',p)
-elif patch_no == 278:
-	sql("update tabDocTrigger set method = 'home.update_feed' where method = 'event_updates.update_feed'")
-elif patch_no == 279:
-	dt = ['GL Entry', 'Stock Ledger Entry']
-	for t in dt:
-		rec = sql("select voucher_type, voucher_no, ifnull(is_cancelled, 'No') from `tab%s` where modified >= '2011-06-15 01:00:00' group by voucher_no" % t)
-		for d in rec:
-			sql("update `tab%s` set docstatus = %s where name = '%s'" % (d[0], d[2]=='No' and 1 or 2, d[1]))
-
-	other_dt = ['Opportunity', 'Quotation', 'Sales Order', 'Purchase Request', 'Purchase Order', 'Production Order', 'Customer Issue', 'Installation Note']
-	for dt in other_dt:
-		rec = sql("select name, status from `tab%s` where modified >= '2011-06-15 01:00:00'" % dt)
-		for r in rec:
-			sql("update `tab%s` set docstatus = %s where name = '%s'" % (dt, (r[1] in ['Submitted', 'Closed'] and 1 or r[1]=='Cancelled' and 2 or 0), r[0]))
-elif patch_no == 280:
-	reload_doc('accounts', 'doctype', 'form_16a')
-elif patch_no == 281:
-	dt_list = ['Delivery Note', 'Purchase Receipt']
-	for dt in dt_list:
-		sql("update `tab%s` set status = 'Submitted' where docstatus = 1 and modified >='2011-06-15 01:00:00'" % dt)
-		sql("update `tab%s` set status = 'Cancelled' where docstatus = 2 and modified >='2011-06-15 01:00:00'" % dt)
-elif patch_no == 282:
-	dt_list = ['Opportunity', 'Quotation', 'Sales Order', 'Purchase Request', 'Purchase Order', 'Production Order', 'Customer Issue', 'Installation Note', 'Sales Invoice', 'Purchase Invoice', 'Delivery Note', 'Purchase Receipt', 'Journal Voucher', 'Stock Entry']
-	for d in dt_list:
-		tbl = sql("select options from `tabDocField` where fieldtype = 'Table' and parent = '%s'" % d)
-		for t in tbl:
-			sql("update `tab%s` t1, `tab%s` t2 set t1.docstatus = t2.docstatus where t1.parent = t2.name" % (t[0], d))
-elif patch_no == 283:
-	rec = sql("select voucher_type, voucher_no, ifnull(is_cancelled, 'No') from `tabGL Entry` where modified >= '2011-06-15 01:00:00' order by name ASC")
-	for d in rec:
-		sql("update `tab%s` set docstatus = %s where name = '%s'" % (d[0], d[2]=='No' and 1 or 2, d[1]))
-elif patch_no == 284:
-	reload_doc('support', 'doctype', 'support_ticket')
-	sql("update `tabDocField` set in_filter = 1 where fieldname in ('raised_by', 'subject') and parent = 'Support Ticket'")
-elif patch_no == 286:
-	reload_doc('accounts', 'search_criteria', 'itemwise_sales_register')
-	reload_doc('accounts', 'search_criteria', 'itemwise_purchase_register')
-elif patch_no == 287:
-	sql("update `tabDocField` set no_copy = 1 where fieldname in ('per_received', 'per_billed', 'per_delivered') and parent in ('Purchase Order', 'Purchase Receipt', 'Sales Order', 'Delivery Note')")
-elif patch_no == 288:
-	reload_doc('accounts', 'doctype', 'payable_voucher')
-elif patch_no == 289:
-	sql("update `tabDocType` set subject = 'From %(supplier_name)s worth %(grand_total)s due on %(due_date)s | %(outstanding_amount)s outstanding' where name = 'Purchase Invoice'")
-	sql("update `tabDocType` set search_fields = 'status,transaction_date,customer,lead,order_type' where name = 'Quotation'")
-elif patch_no == 290:
-	count = sql("""SELECT * FROM  `tabModule Def`
-		   WHERE `module_name` LIKE 'Home'""")
-	if not count:
-		md = Document('Module Def')
-		md.module_name = 'Home'
-		md.module_label = 'Home'
-		md.save(1)
-elif patch_no == 291:
-	reload_doc('utilities','doctype','rename_tool')
-elif patch_no == 292:
-	reload_doc('accounts', 'search_criteria', 'trial_balance')
-elif patch_no == 293:
-	sql("delete from tabDocField where parent='Account' and fieldname='address'")
-	reload_doc('accounts', 'doctype', 'account')
-elif patch_no == 294:
-	# new account profile fix
-	ul = sql("select name from tabProfile where ifnull(name,'') not in ('Administrator', 'Guest', '')")
-	# if one user and one user has no roles
-	if len(ul)==1 and not sql("select parent from tabUserRole where role='System Manager' and parent=%s", ul[0][0]):
-		get_obj('Setup Control').add_roles(Document('Profile', ul[0][0]))
-elif patch_no == 295:
-	sql("update `tabDocField` set options = 'Delivered\nNot Delivered\nPartly Delivered\nClosed\nNot Applicable' where parent = 'Sales Order' and fieldname = 'delivery_status'")
-	sql("update `tabDocField` set options = 'Billed\nNot Billed\nPartly Billed\nClosed' where parent = 'Sales Order' and fieldname = 'billing_status'")
-elif patch_no == 296:
-	sql("delete from tabDocField where parent='Support Ticket' and fieldname='contact_no'")
-	reload_doc('support', 'doctype', 'support_ticket')
-elif patch_no == 297:
-	reload_doc('hr', 'doctype', 'employee')
-	reload_doc('hr', 'doctype', 'attendance')
-	reload_doc('hr', 'doctype', 'expense_voucher')
-	reload_doc('hr', 'doctype', 'appraisal')
-	reload_doc('hr', 'doctype', 'salary_structure')
-	reload_doc('hr', '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 Claim' 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:
-	sql("""DELETE FROM `tabSearch Criteria` WHERE name IN
-		   ('sales_register1', 'sales_register2', 'purchase_register1')""")
\ No newline at end of file
diff --git a/erpnext/patches/old_patches/rename_search_criteria.py b/erpnext/patches/old_patches/rename_search_criteria.py
deleted file mode 100644
index 0cd23ed..0000000
--- a/erpnext/patches/old_patches/rename_search_criteria.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-import webnotes
-from webnotes.model.code import get_obj
-def execute():
-	for sc in webnotes.conn.sql("""select name from `tabSearch Criteria` where ifnull(name,'')
-		like 'srch%' or ifnull(name,'') like '%stdsrch'"""):
-		get_obj('Search Criteria', sc[0]).rename()
diff --git a/erpnext/patches/old_patches/replacecode.py b/erpnext/patches/old_patches/replacecode.py
deleted file mode 100644
index 0043f9c..0000000
--- a/erpnext/patches/old_patches/replacecode.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-import os
-
-def replace_code(old, new):
-	txt = os.popen("""grep "%s" ./*/*/*/*.js""" % old).read().split()
-	txt = [t.split(':')[0] for t in txt]
-	txt = list(set(filter(lambda t: t.startswith('./'), txt)))
-	for t in txt:
-		if new:
-			code = open(t,'r').read().replace(old, new)
-			open(t, 'w').write(code)
-			print "Replaced for %s" % t
-		else:
-			print 'Found in %s' % t
-	
-if __name__=='__main__':
-	old = """cur_frm.cscript.get_tips(doc, cdt, cdn);"""
-	new = " "
-	replace_code(old, new)
-			
diff --git a/erpnext/patches/patch.py b/erpnext/patches/patch.py
deleted file mode 100644
index c1fd284..0000000
--- a/erpnext/patches/patch.py
+++ /dev/null
@@ -1,480 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# REMEMBER to update this
-# ========================
-
-last_patch = 388
-
-#-------------------------------------------
-
-def execute(patch_no):
-	return
-	import webnotes
-	from webnotes.modules import reload_doc
-
-	from webnotes.model.code import get_obj
-	sql = webnotes.conn.sql
-	from webnotes.utils import cint, cstr, flt
-	from webnotes.model.doc import Document
-	from webnotes.model import delete_doc
-
-	if patch_no == 301:
-		from patches.delivery_billing_status_patch import run_patch
-		run_patch()
-	elif patch_no == 302:
-		sql("update `tabDocField` set no_copy = 1 where fieldname = 'naming_series'")
-	elif patch_no == 303:
-		pass
-	elif patch_no == 304:
-		sql("delete from `tabDocField` where parent = 'company' and label = 'Trash Company' and fieldtype = 'button'")
-		reload_doc('setup', 'doctype', 'company')
-	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 = 'Purchase Request Item' and fieldname = 'sales_order_no'")
-		sql("update `tabDocField` set options = 'link:Company', fieldtype = 'Select' where parent = 'Stock Ledger Entry' and fieldname = 'company'")
-		reload_doc('utilities', '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:
-		sql("update `tabDocField` set reqd = 0 where fieldname = 'select_item' and parent = 'Property Setter'")
-	elif patch_no == 309:
-		sql("delete from `tabDocField` where fieldname = 'item_attachments_details' and parent = 'Item'")
-		sql("delete from `tabModule Def Item` where parent = 'Stock' and doc_name = 'Landed Cost Wizard'")
-	elif patch_no == 310:
-		from erpnext_structure_cleanup import run_patches
-		run_patches()
-	elif patch_no == 311:
-		sql("update `tabDocField` set reqd = 0 where fieldname = 'select_item' and parent = 'Property Setter'")
-		#reload_doc('core', 'doctype', 'property_setter')
-	elif patch_no == 312:
-		sql("delete from `tabSessions`")
-		sql("delete from `__SessionCache`")
-	elif patch_no == 313:
-		dt = ['GL Entry', 'Stock Ledger Entry']
-		for t in dt:
-			rec = sql("select voucher_type, voucher_no, ifnull(is_cancelled, 'No') from `tab%s` where modified >= '2011-07-06 10:00:00' group by voucher_no" % t)
-			for d in rec:
-				sql("update `tab%s` set docstatus = %s where name = '%s'" % (d[0], d[2]=='No' and 1 or 2, d[1]))
-
-		other_dt = ['Opportunity', 'Quotation', 'Sales Order', 'Purchase Request', 'Purchase Order', 'Production Order', 'Customer Issue', 'Installation Note']
-		for dt in other_dt:
-			rec = sql("select name, status from `tab%s` where modified >= '2011-07-06 10:00:00'" % dt)
-			for r in rec:
-				sql("update `tab%s` set docstatus = %s where name = '%s'" % (dt, (r[1] in ['Submitted', 'Closed'] and 1 or r[1]=='Cancelled' and 2 or 0), r[0]))
-
-
-		dt_list = ['Delivery Note', 'Purchase Receipt']
-		for dt in dt_list:
-			sql("update `tab%s` set status = 'Submitted' where docstatus = 1 and modified >='2011-07-06 10:00:00'" % dt)
-			sql("update `tab%s` set status = 'Cancelled' where docstatus = 2 and modified >='2011-07-06 10:00:00'" % dt)
-
-		dt_list = ['Opportunity', 'Quotation', 'Sales Order', 'Purchase Request', 'Purchase Order', 'Production Order', 'Customer Issue', 'Installation Note', 'Sales Invoice', 'Purchase Invoice', 'Delivery Note', 'Purchase Receipt', 'Journal Voucher', 'Stock Entry']
-		for d in dt_list:
-			tbl = sql("select options from `tabDocField` where fieldtype = 'Table' and parent = '%s'" % d)
-			for t in tbl:
-				sql("update `tab%s` t1, `tab%s` t2 set t1.docstatus = t2.docstatus where t1.parent = t2.name" % (t[0], d))
-
-	elif patch_no == 314:
-		# delete double feed
-		sql("delete from tabFeed where subject like 'New %'")
-	elif patch_no == 315:
-		# delete double feed
-		sql("delete from tabFeed where doc_name like 'New %'")
-		reload_doc('core', 'doctype', 'property_setter')
-
-		from webnotes.model.doc import Document
-		m = Document('Module Def Role')
-		m.role = 'All'
-		m.parent = 'Home'
-		m.parenttype = 'Module Def'
-		m.parentfield = 'roles'
-		m.save(1)
-	elif patch_no == 316:
-		pass
-	elif patch_no == 317:
-		sql("update `tabPage` set name = 'profile-settings' where page_name = 'Profile Settings'")
-	elif patch_no == 318:
-		reload_doc('utilities', 'doctype', 'bulk_rename_tool')
-	elif patch_no == 319:
-		sql("delete from tabFeed where doc_name like 'New %'")
-	elif patch_no == 320:
-		reload_doc('setup', 'doctype', 'series_detail')
-	elif patch_no == 321:
-		reload_doc('hr','doctype','leave_application')
-	elif patch_no == 322:
-		sql("delete from `tabDocField` where parent = 'Leave Application' and fieldname = 'latter_head'")
-	elif patch_no == 323:
-		reload_doc('stock', 'doctype', 'stock_entry')
-		sql("update `tabDocField` set options = 'get_stock_and_rate' where parent = 'Stock Entry' and label = 'Get Stock and Rate'")
-		sql("delete from `tabDocField` where label = 'Get Current Stock' and parent = 'Stock Entry'")
-	elif patch_no == 324:
-		sql("delete from `tabDocField` where fieldname = 'test_field' and parent = 'Customer'")
-	elif patch_no == 325:
-		sql("update `tabDocField` set fieldtype = 'Data' where parent = 'Salary Slip' and fieldname = 'total_days_in_month'")
-		reload_doc('hr', 'doctype', 'salary_slip')
-	elif patch_no == 326:
-		# load the new billing page
-		if cint(webnotes.conn.get_value('Control Panel',None,'sync_with_gateway')):
-			reload_doc('server_tools','page','billing')
-	elif patch_no == 327:
-		# patch for support email settings now moved to email settings
-		reload_doc('setup','doctype','email_settings')
-
-		# map fields from support to email settings
-		field_map = {
-			'support_email': 'email',
-			'support_host':'host',
-			'support_username': 'username',
-			'support_password': 'password',
-			'support_use_ssl': 'use_ssl',
-			'sync_support_mails': 'integrate_incoming',
-			'signature': 'support_signature'
-		}
-
-		for key in field_map:
-			webnotes.conn.set_value('Email Settings',None,key, \
-				webnotes.conn.get_value('Support Email Settings',None,field_map[key]))
-
-		# delete support email settings
-		delete_doc('DocType', 'Support Email Settings')
-
-		reload_doc('support','doctype','support_ticket')
-		sql("delete from tabDocField where fieldname='problem_description' and parent='Support Ticket'")
-	elif patch_no == 328:
-		if webnotes.conn.get_value('Control Panel', None, 'account_id') != 'axjanak2011':
-			sql("delete from `tabDocField` where fieldname = 'supplier_status' and parent = 'Supplier'")
-	elif patch_no == 329:
-		reload_doc('utilities', 'doctype', 'rename_tool')
-		reload_doc('utilities', 'doctype', 'bulk_rename_tool')
-	elif patch_no == 330:
-		reload_doc('accounts', 'doctype', 'lease_agreement')
-		reload_doc('accounts', 'doctype', 'lease_installment')
-
-		reload_doc('accounts', 'search_criteria', 'lease_agreement_list')
-		reload_doc('accounts', 'search_criteria', 'lease_monthly_future_installment_inflows')
-		reload_doc('accounts', 'search_criteria', 'lease_overdue_age_wise')
-		reload_doc('accounts', 'search_criteria', 'lease_over_due_list')
-		reload_doc('accounts', 'search_criteria', 'lease_receipts_client_wise')
-		reload_doc('accounts', 'search_criteria', 'lease_receipt_summary_year_to_date')
-		reload_doc('accounts', 'search_criteria', 'lease_yearly_future_installment_inflows')
-
-		reload_doc('accounts', 'Module Def', 'Accounts')
-	elif patch_no == 331:
-		p = get_obj('Patch Util')
-		# permission
-		p.add_permission('Lease Agreement', 'Accounts Manager', 0, read = 1, write=1,submit=1, cancel=1,amend=1)
-		p.add_permission('Lease Agreement', 'Accounts Manager', 1, read = 1)
-	elif patch_no == 332:
-		sql("update `tabDocField` set permlevel=1, hidden = 1 where parent = 'Bulk Rename Tool' and fieldname = 'file_list'")
-	elif patch_no == 333:
-		sql("update `tabDocPerm` set `create`  =1 where role = 'Accounts Manager' and parent = 'Lease Agreement'")
-
-		p = get_obj('Patch Util')
-		p.add_permission('DocType Mapper', 'System Manager', 0, read = 1, write=1, create=1)
-		p.add_permission('Role', 'System Manager', 0, read = 1, write=1, create=1)
-		p.add_permission('Print Format', 'System Manager', 0, read = 1, write=1, create=1)
-	elif patch_no == 334:
-		reload_doc('knowledge_base', 'doctype', 'answer')
-	elif patch_no == 335:
-		for dt in ['Account', 'Cost Center', 'Territory', 'Item Group', 'Customer Group']:
-			sql("update `tabDocField` set fieldtype = 'Link', options = %s where fieldname = 'old_parent' and parent = %s", (dt, dt))
-	elif patch_no == 336:
-		reload_doc('server_tools','page','billing')
-	elif patch_no == 337:
-		item_list = webnotes.conn.sql("""SELECT name, description_html
-									FROM tabItem""")
-		if item_list:
-			for item, html in item_list:
-				if html and "getfile" in html and "acx" in html:
-					ac_id = webnotes.conn.sql("""SELECT value FROM `tabSingles` WHERE doctype='Control Panel' AND field='account_id'""")
-					sp_acx = html.split("acx=")
-					l_acx = len(sp_acx)
-					if l_acx > 1:
-						for i in range(l_acx-1):
-							sp_quot = sp_acx[i+1].split('"')
-							if len(sp_quot) > 1: sp_quot[0] = str(ac_id[0][0])
-							sp_acx[i+1] = '"'.join(sp_quot)
-					html = "acx=".join(sp_acx)
-					webnotes.conn.sql("""UPDATE tabItem SET description_html=%s WHERE name=%s""", (html, item))
-	elif patch_no == 338:
-		# Patch for billing status based on amount
-		# reload so and dn
-		reload_doc('selling','doctype','sales_order')
-		reload_doc('stock','doctype','delivery_note')
-
-		# delete billed_qty field
-		sql("delete from `tabDocField` where fieldname = 'billed_qty' and parent in ('Sales Order Item', 'Delivery Note Item')")
-
-		# update billed amt in item table in so and dn
-		sql("""	update `tabSales Order Item` so
-				set billed_amt = (select sum(amount) from `tabSales Invoice Item` where `so_detail`= so.name and docstatus=1 and parent not like 'old%%'), modified = now()""")
-
-		sql(""" update `tabDelivery Note Item` dn
-				set billed_amt = (select sum(amount) from `tabSales Invoice Item` where `dn_detail`= dn.name and docstatus=1 and parent not like 'old%%'), modified = now()""")
-
-		# calculate % billed based on item table
-		sql("""	update `tabSales Order` so
-				set per_billed = (select sum(if(amount > ifnull(billed_amt, 0), billed_amt, amount))/sum(amount)*100 from `tabSales Order Item` where parent = so.name), modified = now()""")
-
-		sql("""	update `tabDelivery Note` dn
-				set per_billed = (select sum(if(amount > ifnull(billed_amt, 0), billed_amt, amount))/sum(amount)*100 from `tabDelivery Note Item` where parent = dn.name), modified = now()""")
-
-		# update billing status based on % billed
-		sql("""update `tabSales Order` set billing_status = if(ifnull(per_billed,0) < 0.001, 'Not Billed',
-				if(per_billed >= 99.99, 'Fully Billed', 'Partly Billed'))""")
-		sql("""update `tabDelivery Note` set billing_status = if(ifnull(per_billed,0) < 0.001, 'Not Billed',
-				if(per_billed >= 99.99, 'Fully Billed', 'Partly Billed'))""")
-
-		# update name of questions page
-		sql("update tabPage set name='questions' where name='Questions'")
-		sql("update tabPage set name='question-view' where name='Question View'")
-	elif patch_no == 339:
-		reload_doc('production','doctype','bill_of_materials')
-	elif patch_no == 340:
-		sql("update `tabDocField` set permlevel = 0 where (fieldname in ('process', 'production_order', 'fg_completed_qty') or label = 'Get Items') and parent = 'Stock Entry'")
-	elif patch_no == 341:
-		reload_doc('stock','doctype','delivery_note')
-		reload_doc('stock','doctype','item')
-		reload_doc('selling','doctype','quotation')
-		reload_doc('stock','Print Format','Delivery Note Packing List Wise')
-
-		if not sql("select format from `tabDocFormat` where name = 'Delivery Note Packing List Wise' and parent = 'Delivery Note'"):
-			from webnotes.model.doc import addchild
-			dt_obj = get_obj('DocType', 'Delivery Note', with_children = 1)
-			ch = addchild(dt_obj.doc, 'formats', 'DocFormat', 1)
-			ch.format = 'Delivery Note Packing List Wise'
-			ch.save(1)
-	elif patch_no == 342:
-		sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry Detail' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')")
-	elif patch_no == 343:
-		reload_doc('stock','doctype','item_customer_detail')
-	elif patch_no == 344:
-		sql("delete from `tabDocFormat` where ifnull(format, '') = '' and parent = 'Delivery Note'")
-		reload_doc('stock', 'doctype', 'delivery_note_detail')
-		reload_doc('stock', 'doctype', 'item_customer_detail')
-	elif patch_no == 345:
-		# rerun 343 (merge confict)
-		reload_doc('stock','doctype','item_customer_detail')
-		sql("delete from `tabModule Def Item` where display_name = 'Salary Slip Control Panel' and parent = 'HR'")
-		reload_doc('hr','Module Def','HR')
-	elif patch_no == 346:
-		pass
-	elif patch_no == 347:
-		sql("delete from `tabField Mapper Detail` where from_field = to_field and map = 'Yes' and ifnull(checking_operator, '') = ''")
-	elif patch_no == 348:
-		sql("update `tabStock Ledger Entry` set is_cancelled = 'No' where voucher_type = 'Serial No'")
-	elif patch_no == 349:
-		delete_doc('Custom Script', 'Update Series-Server')
-		delete_doc('Custom Script', 'Profile-Client')
-		delete_doc('Custom Script', 'Event-Client')
-		delete_doc('Custom Script', 'File-Server')
-
-		# reload profile with new fields for security
-		delete_doc('DocType', 'Profile')
-		reload_doc('core', 'doctype', 'profile')
-	elif patch_no == 350:
-		reload_doc('stock', 'doctype', 'delivery_note_detail')
-		reload_doc('stock', 'doctype', 'item_customer_detail')
-	elif patch_no == 351:
-		reload_doc('home', 'page', 'dashboard')
-	elif patch_no == 352:
-		reload_doc('stock','doctype','delivery_note')
-		reload_doc('stock','doctype','item')
-		reload_doc('selling','doctype','quotation')
-		reload_doc('stock','Print Format','Delivery Note Packing List Wise')
-
-		if not sql("select format from `tabDocFormat` where name = 'Delivery Note Packing List Wise' and parent = 'Delivery Note'"):
-			from webnotes.model.doc import addchild
-			dt_obj = get_obj('DocType', 'Delivery Note', with_children = 1)
-			ch = addchild(dt_obj.doc, 'formats', 'DocFormat', 1)
-			ch.format = 'Delivery Note Packing List Wise'
-			ch.save(1)
-	elif patch_no == 353:
-		reload_doc('core', 'doctype', 'doctype')
-		sql("update `tabDocType` set default_print_format = 'Standard' where name = 'Delivery Note'")
-	elif patch_no == 354:
-		reload_doc('stock', 'doctype', 'delivery_note')
-		reload_doc('stock', 'doctype', 'delivery_note_detail')
-	elif patch_no == 355:
-		sql("update `tabDocField` set print_hide =1 where fieldname in ('pack_no', 'pack_gross_wt', 'weight_uom', 'pack_nett_wt') and parent = 'Delivery Note Item'")
-	elif patch_no == 356:
-		sql("update `tabDocField` set print_hide =1 where fieldname = 'print_packing_slip' and parent = 'Delivery Note'")
-	elif patch_no == 357:
-		reload_doc('hr', 'doctype', 'salary_manager')
-	elif patch_no == 358:
-		reload_doc('setup', 'doctype','features_setup')
-		reload_doc('stock','doctype','item')
-		sql("update tabDocField set label='Produced Qty',description='Updated after finished goods are transferred to FG Warehouse through Stock Entry' where parent='Production Order' and fieldname='produced_qty'")
-		rs = sql("select fieldname from tabDocField where parent='Features Setup' and fieldname is not null")
-		from webnotes.model.doc import Document
-		m = Document('Features Setup')
-		for d in rs:
-			m.fields[d[0]] = 1
-		m.save()
-	elif patch_no == 359:
-		reload_doc('hr', 'doctype', 'salary_slip')
-		delete_doc('DocType', 'Salary Control Panel')
-	elif patch_no == 360:
-		sql("delete from `tabDocField` where (fieldname in ('client_string', 'server_code_error', 'server_code_compiled', 'server_code', 'server_code_core', 'client_script', 'client_script_core', 'dt_template', 'change_log') or label = 'Template') and parent = 'DocType'")
-	elif patch_no == 361:
-		sql("update `tabModule Def Item` set doc_name = 'GL Entry' where display_name in ('Lease Agreement List', 'Lease Monthly Future Installment Inflows', 'Lease Overdue Age Wise', 'Lease Overdue List', 'Lease Receipts Client Wise', 'Lease Receipt Summary Month Wise', 'Lease Yearly Future Installment Inflows') and parent = 'Accounts'")
-	elif patch_no == 362:
-		sql("update `tabDocField` set no_copy = 1 where fieldname in ('amended_from', 'amendment_date', 'file_list', 'naming_series', 'status')")
-	elif patch_no == 363:
-		reload_doc('accounts', 'search_criteria', 'voucher_wise_tax_details')
-		reload_doc('accounts', 'Module Def', 'Accounts')
-		mappers = sql("select name, module from `tabDocType Mapper`")
-		for d in mappers:
-			if d[0] and d[1]:
-				reload_doc(d[1].lower(), 'DocType Mapper', d[0])
-	elif patch_no == 364:
-		sql("""delete from `tabField Mapper Detail` 
-			where to_field in ('qty', 'amount', 'export_amount') 
-			and parent in ('Sales Order-Sales Invoice', 'Delivery Note-Sales Invoice')
-		""")
-		mappers = sql("select name, module from `tabDocType Mapper`")
-		for d in mappers:
-			if d[0] and d[1]:
-				reload_doc(d[1].lower(), 'DocType Mapper', d[0])
-	elif patch_no == 365:
-		from patches.delivery_billing_status_patch import run_patch
-		run_patch()
-	elif patch_no == 367:
-		bin = sql("select name from tabBin")
-		for b in bin:
-			bobj = get_obj('Bin',b[0])
-			bobj.update_entries_after(posting_date = '2011-09-01', posting_time = '01:00')
-	elif patch_no == 368:
-		from webnotes.utils import nestedset
-		t = [
-			['Account', 'parent_account'], ['Cost Center', 'parent_cost_center'], 
-			['Item Group', 'parent_item_group'], ['Territory', 'parent_territory'],
-			['Customer Group', 'parent_customer_group'], ['Sales Person', 'parent_sales_person']
-		]
-		for d in t:
-			nestedset.rebuild_tree(d[0], d[1])
-	elif patch_no == 369:
-		reload_doc('hr', 'doctype', 'appraisal')
-		reload_doc('hr', 'doctype', 'appraisal_detail')
-	elif patch_no == 370:
-		sql("update `tabDocField` set `hidden` = 0 where fieldname = 'group_or_ledger' and parent = 'Cost Center'")
-	elif patch_no == 371:
-		from webnotes.modules import reload_doc
-
-		reload_doc('setup', 'doctype','features_setup')
-		flds = ['page_break', 'projects', 'packing_details', 'discounts', 'brands', 'item_batch_nos', 'after_sales_installations', 'item_searial_nos', 'item_group_in_details', 'exports', 'imports', 'item_advanced', 'sales_extras', 'more_info', 'quality', 'manufacturing', 'pos', 'item_serial_nos']
-
-		for f in flds:
-			val = sql("select value from tabSingles where field = '%s' and doctype = 'Features Setup'" % f)
-			val = val and val[0][0] or 0
-			sql("update `tabSingles` set `value` = %s where `field` = '%s' and doctype = 'Features Setup'" % (val, '__'+f))
-
-		st = "'"+"', '".join(flds)+"'"
-		sql("delete from `tabDocField` where fieldname in (%s) and parent = 'Features Setup'" % st)
-		sql("delete from `tabDefaultValue` where defkey in (%s) and parent = 'Control Panel'" % st)
-
-		get_obj('Features Setup', 'Features Setup').doc.save()
-	elif patch_no == 372:
-		from webnotes.modules import reload_doc
-
-		reload_doc('setup', 'doctype','features_setup')
-		flds = ['page_break', 'projects', 'packing_details', 'discounts', 'brands', 'item_batch_nos', 'after_sales_installations', 'item_searial_nos', 'item_group_in_details', 'exports', 'imports', 'item_advanced', 'sales_extras', 'more_info', 'quality', 'manufacturing', 'pos', 'item_serial_nos']
-
-		for f in flds:
-			val = sql("select value from tabSingles where field = '%s' and doctype = 'Features Setup'" % f)
-			val = val and val[0][0] or 0
-			sql("update `tabSingles` set `value` = %s where `field` = '%s' and doctype = 'Features Setup'" % (val, 'fs_'+f))
-
-		st = "'__"+"', '__".join(flds)+"'"
-		
-		sql("delete from `tabDocField` where fieldname in (%s) and parent = 'Features Setup'" % st)
-		sql("delete from `tabDefaultValue` where defkey in (%s) and parent = 'Control Panel'" % st)
-
-		get_obj('Features Setup', 'Features Setup').doc.save()
-	elif patch_no == 373:
-		sql("delete from `tabDocField` where fieldname = 'item_searial_nos' and parent = 'Features Setup'")
-		sql("delete from `tabDefaultValue` where defkey = 'item_searial_nos' and parent = 'Control Panel'")
-	elif patch_no == 374:
-		rs = sql("select fieldname from tabDocField where parent='Features Setup' and fieldname is not null")
-		from webnotes.model.code import get_obj
-		m = get_obj('Features Setup')
-		for d in rs:
-			m.doc.fields[d[0]] = 1
-		m.doc.save()
-		m.validate()
-	elif patch_no == 375:
-		from webnotes.session_cache import clear_cache
-		clear_cache(webnotes.session['user'])
-	elif patch_no == 376:
-		reload_doc('stock', 'DocType Mapper', 'Purchase Order-Purchase Receipt')
-	elif patch_no == 377:
-		flds = ['page_break', 'projects', 'packing_details', 'discounts', 'brands', 'item_batch_nos', 'after_sales_installations', 'item_searial_nos', 'item_group_in_details', 'exports', 'imports', 'item_advanced', 'sales_extras', 'more_info', 'quality', 'manufacturing', 'pos', 'item_serial_nos']
-		
-		st = "'"+"', '".join(flds)+"'"
-		sql("delete from `tabDocField` where fieldname in (%s) and parent = 'Features Setup'" % st)
-		sql("delete from `tabDefaultValue` where defkey in (%s) and parent = 'Control Panel'" % st)
-		
-		from webnotes.session_cache import clear_cache
-		clear_cache(webnotes.session['user'])
-	elif patch_no == 378:
-		comp = sql("select name from tabCompany where docstatus!=2")
-		fy = sql("select name from `tabFiscal Year` order by year_start_date asc")
-		for c in comp:
-			prev_fy = ''
-			for f in fy:
-				fy_obj = get_obj('Fiscal Year', f[0])
-				fy_obj.doc.past_year = prev_fy
-				fy_obj.doc.company = c[0]
-				fy_obj.doc.save()
-				fy_obj.repost()
-				prev_fy = f[0]
-				sql("commit")
-				sql("start transaction")
-	elif patch_no == 379:
-		sql("update tabDocPerm set amend = 0 where parent = 'Salary Structure'")
-		sql("update tabDocPerm set cancel = 1 where parent = 'Company' and role = 'System Manager'")
-	elif patch_no == 380:
-		if sql("select count(name) from `tabDocField` where label = 'View Ledger Entry' and parent = 'Journal Voucher' and fieldtype = 'Button'")[0][0] > 1:
-			sql("delete from `tabDocField` where label = 'View Ledger Entry' and parent = 'Journal Voucher' and fieldtype = 'Button' limit 1")
-		if sql("select count(name) from `tabDocField` where label = 'Get Balance' and parent = 'Journal Voucher' and fieldtype = 'Button'")[0][0] > 1:
-			sql("delete from `tabDocField` where label = 'Get Balance' and parent = 'Journal Voucher' and fieldtype = 'Button' limit 1")
-	elif patch_no == 381:
-		reload_doc('accounts', 'doctype', 'internal_reconciliation')
-		reload_doc('accounts', 'doctype', 'ir_payment_detail')
-		reload_doc('accounts', 'Module Def', 'Accounts')
-	elif patch_no == 382:
-		if sql("select count(name) from `tabDocField` where label = 'Get Specification Details' and parent = 'Quality Inspection' and fieldtype = 'Button'")[0][0] > 1:
-			sql("delete from `tabDocField` where label = 'Get Specification Details' and parent = 'Quality Inspection' and fieldtype = 'Button' limit 1")
-	elif patch_no == 383:
-		reload_doc('accounts', 'doctype', 'cost_center')
-	elif patch_no == 384:
-		reload_doc('stock', 'Module Def', 'Stock')
-		sql("delete from `tabModule Def Item` where display_name = 'Serial No' and parent = 'Support'")
-		sql("update `tabDocType` set subject = 'Item Code: %(item_code)s, Warehouse: %(warehouse)s' where name = 'Serial No'")
-	elif patch_no == 385:
-		# Patch for adding packing related columns (packed by, checked by, shipping mark etc)
-		reload_doc('stock','doctype','delivery_note')
-	elif patch_no == 386:
-		sql("update `tabDocField` set allow_on_submit = 1 where fieldname = 'page_break'")
-	elif patch_no == 387:
-		sql("update `tabDocField` set allow_on_submit = 1 where fieldname in ('indent_details', 'po_details', 'purchase_receipt_details', 'entries', 'sales_order_details', 'delivery_note_details', 'quotation_details') and fieldtype = 'Table'")
-	elif patch_no == 388:
-		pass
diff --git a/erpnext/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt b/erpnext/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt
deleted file mode 100644
index 9dff4da..0000000
--- a/erpnext/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-# DocType Mapper, Production Forecast-Production Plan
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2010-08-08 17:09:35',
-		'docstatus': 0,
-		'modified': '2011-09-15 15:04:42',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
-	},
-
-	# These values are common for all Table Mapper Detail
-	{
-		'doctype': 'Table Mapper Detail',
-		'name': '__common__',
-		'parent': 'Production Forecast-Production Plan',
-		'parentfield': 'table_mapper_details',
-		'parenttype': 'DocType Mapper'
-	},
-
-	# These values are common for all Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'map': 'Yes',
-		'match_id': 1,
-		'name': '__common__',
-		'parent': 'Production Forecast-Production Plan',
-		'parentfield': 'field_mapper_details',
-		'parenttype': 'DocType Mapper'
-	},
-
-	# These values are common for all DocType Mapper
-	{
-		'doctype': 'DocType Mapper',
-		'from_doctype': 'Production Forecast',
-		'module': 'Production',
-		'name': '__common__',
-		'to_doctype': 'Production Plan'
-	},
-
-	# DocType Mapper, Production Forecast-Production Plan
-	{
-		'doctype': 'DocType Mapper',
-		'name': 'Production Forecast-Production Plan'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'eval:flt(obj.qty)-flt(obj.planned_qty)',
-		'to_field': 'prevdoc_reqd_qty'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'parenttype',
-		'to_field': 'against_document'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'parent',
-		'to_field': 'document_no'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'start_date',
-		'to_field': 'document_date'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'end_date',
-		'to_field': 'confirmation_date'
-	},
-
-	# Table Mapper Detail
-	{
-		'doctype': 'Table Mapper Detail',
-		'from_table': 'Production Forecast',
-		'match_id': 0,
-		'to_table': 'Production Plan',
-		'validation_logic': 'docstatus =1'
-	},
-
-	# Table Mapper Detail
-	{
-		'doctype': 'Table Mapper Detail',
-		'from_field': 'pf_details',
-		'from_table': 'PF Detail',
-		'match_id': 1,
-		'to_field': 'pp_details',
-		'to_table': 'Production Plan Item',
-		'validation_logic': 'docstatus =1 and qty > planned_qty '
-	}
-]
\ No newline at end of file
diff --git a/erpnext/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt b/erpnext/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt
deleted file mode 100644
index 289fe67..0000000
--- a/erpnext/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-# DocType Mapper, Production Forecast-Production Planning Tool
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2010-08-08 17:09:35',
-		'docstatus': 0,
-		'modified': '2011-09-15 15:04:43',
-		'modified_by': 'Administrator',
-		'owner': 'jai@webnotestech.com'
-	},
-
-	# These values are common for all Table Mapper Detail
-	{
-		'doctype': 'Table Mapper Detail',
-		'name': '__common__',
-		'parent': 'Production Forecast-Production Planning Tool',
-		'parentfield': 'table_mapper_details',
-		'parenttype': 'DocType Mapper'
-	},
-
-	# These values are common for all Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'map': 'Yes',
-		'match_id': 1,
-		'name': '__common__',
-		'parent': 'Production Forecast-Production Planning Tool',
-		'parentfield': 'field_mapper_details',
-		'parenttype': 'DocType Mapper'
-	},
-
-	# These values are common for all DocType Mapper
-	{
-		'doctype': 'DocType Mapper',
-		'from_doctype': 'Production Forecast',
-		'module': 'Production',
-		'name': '__common__',
-		'to_doctype': 'Production Planning Tool'
-	},
-
-	# DocType Mapper, Production Forecast-Production Planning Tool
-	{
-		'doctype': 'DocType Mapper',
-		'name': 'Production Forecast-Production Planning Tool'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'eval:flt(obj.qty)-flt(obj.planned_qty)',
-		'to_field': 'prevdoc_reqd_qty'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'parenttype',
-		'to_field': 'source_doctype'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'parent',
-		'to_field': 'source_docname'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'end_date',
-		'to_field': 'confirmation_date'
-	},
-
-	# Table Mapper Detail
-	{
-		'doctype': 'Table Mapper Detail',
-		'from_table': 'Production Forecast',
-		'match_id': 0,
-		'to_table': 'Production Planning Tool',
-		'validation_logic': 'docstatus =1'
-	},
-
-	# Table Mapper Detail
-	{
-		'doctype': 'Table Mapper Detail',
-		'from_field': 'pf_details',
-		'from_table': 'PF Detail',
-		'match_id': 1,
-		'to_field': 'pp_details',
-		'to_table': 'Production Plan Item',
-		'validation_logic': 'docstatus =1 and qty > planned_qty '
-	}
-]
\ No newline at end of file
diff --git a/erpnext/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt b/erpnext/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt
deleted file mode 100644
index 95890dd..0000000
--- a/erpnext/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt
+++ /dev/null
@@ -1,103 +0,0 @@
-# DocType Mapper, Sales Order-Production Plan
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2010-08-08 17:09:36',
-		'docstatus': 0,
-		'modified': '2011-09-15 15:04:45',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
-	},
-
-	# These values are common for all Table Mapper Detail
-	{
-		'doctype': 'Table Mapper Detail',
-		'name': '__common__',
-		'parent': 'Sales Order-Production Plan',
-		'parentfield': 'table_mapper_details',
-		'parenttype': 'DocType Mapper'
-	},
-
-	# These values are common for all Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'map': 'Yes',
-		'match_id': 1,
-		'name': '__common__',
-		'parent': 'Sales Order-Production Plan',
-		'parentfield': 'field_mapper_details',
-		'parenttype': 'DocType Mapper'
-	},
-
-	# These values are common for all DocType Mapper
-	{
-		'doctype': 'DocType Mapper',
-		'from_doctype': 'Sales Order',
-		'module': 'Production',
-		'name': '__common__',
-		'ref_doc_submitted': 1,
-		'to_doctype': 'Production Plan'
-	},
-
-	# DocType Mapper, Sales Order-Production Plan
-	{
-		'doctype': 'DocType Mapper',
-		'name': 'Sales Order-Production Plan'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'parenttype',
-		'to_field': 'against_document'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'parent',
-		'to_field': 'document_no'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'uom',
-		'to_field': 'stock_uom'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'eval:flt(obj.qty)-flt(obj.planned_qty)',
-		'to_field': 'prevdoc_total_qty'
-	},
-
-	# Field Mapper Detail
-	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'transaction_date',
-		'to_field': 'document_date'
-	},
-
-	# Table Mapper Detail
-	{
-		'doctype': 'Table Mapper Detail',
-		'from_table': 'Sales Order',
-		'match_id': 0,
-		'to_table': 'Production Plan',
-		'validation_logic': 'docstatus =1'
-	},
-
-	# Table Mapper Detail
-	{
-		'doctype': 'Table Mapper Detail',
-		'from_field': 'packing_details',
-		'from_table': 'Delivery Note Packing Item',
-		'match_id': 1,
-		'to_field': 'pp_details',
-		'to_table': 'Production Plan Item',
-		'validation_logic': 'docstatus =1 and qty > planned_qty'
-	}
-]
\ No newline at end of file
diff --git a/erpnext/production/doctype/production_planning_tool/production_planning_tool.py b/erpnext/production/doctype/production_planning_tool/production_planning_tool.py
index 2b45bb3..b247ba8 100644
--- a/erpnext/production/doctype/production_planning_tool/production_planning_tool.py
+++ b/erpnext/production/doctype/production_planning_tool/production_planning_tool.py
@@ -246,7 +246,7 @@
 
 
 	def get_csv(self):
-		item_list = [['Item Code', 'Description', 'Stock UOM', 'Required Qty', 'Indented Qty', 'Ordered Qty', 'Actual Qty']]
+		item_list = [['Item Code', 'Description', 'Stock UOM', 'Required Qty', 'Quantity Requested for Purchase', 'Ordered Qty', 'Actual Qty']]
 		for d in self.item_dict:
 			item_qty= sql("select sum(indented_qty), sum(ordered_qty), sum(actual_qty) from `tabBin` where item_code = %s", d)
 			item_list.append([d, self.item_dict[d][1], self.item_dict[d][2], self.item_dict[d][0], flt(item_qty[0][0]), flt(item_qty[0][1]), flt(item_qty[0][2])])
diff --git a/erpnext/production/search_criteria/consumption_against_production/consumption_against_production.txt b/erpnext/production/search_criteria/consumption_against_production/consumption_against_production.txt
index a0da069..d4db609 100644
--- a/erpnext/production/search_criteria/consumption_against_production/consumption_against_production.txt
+++ b/erpnext/production/search_criteria/consumption_against_production/consumption_against_production.txt
@@ -3,35 +3,35 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:32',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-06-11 16:32:48',
-		'modified_by': 'Administrator',
-		'owner': 'jai@webnotestech.com'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'jai@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': '`tabProduction Order`.consider_sa_items',
-		'add_cond': '`tabProduction Order`.name = `tabStock Entry`.production_order',
-		'add_tab': '`tabProduction Order`',
-		'columns': 'Stock Entry\x01ID,Stock Entry\x01Production Order,Stock Entry\x01Process,Stock Entry\x01Posting Date,Stock Entry\x01Company,Stock Entry Detail\x01Source Warehouse,Stock Entry Detail\x01Target Warehouse,Stock Entry Detail\x01FG Item,Stock Entry Detail\x01Item Code,Stock Entry Detail\x01Description,Stock Entry Detail\x01Reqd Qty,Stock Entry Detail\x01Transfer Quantity',
-		'criteria_name': 'Consumption Against Production',
-		'doc_type': 'Stock Entry Detail',
+		'add_col': u'`tabProduction Order`.consider_sa_items',
+		'add_cond': u'`tabProduction Order`.name = `tabStock Entry`.production_order',
+		'add_tab': u'`tabProduction Order`',
+		'columns': u'Stock Entry\x01ID,Stock Entry\x01Production Order,Stock Entry\x01Process,Stock Entry\x01Posting Date,Stock Entry\x01Company,Stock Entry Detail\x01Source Warehouse,Stock Entry Detail\x01Target Warehouse,Stock Entry Detail\x01FG Item,Stock Entry Detail\x01Item Code,Stock Entry Detail\x01Description,Stock Entry Detail\x01Reqd Qty,Stock Entry Detail\x01Transfer Quantity',
+		'criteria_name': u'Consumption Against Production',
+		'doc_type': u'Stock Entry Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Stock Entry\x01Submitted':1,'Stock Entry\x01Purpose':'Production Order','Stock Entry\x01Process':''}",
-		'module': 'Production',
+		'filters': u"{'Stock Entry\x01Submitted':1,'Stock Entry\x01Purpose':'Production Order','Stock Entry\x01Process':''}",
+		'module': u'Production',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Stock Entry',
-		'sort_by': '`tabStock Entry`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Stock Entry',
+		'sort_by': u'`tabStock Entry`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, consumption_against_production
 	{
 		'doctype': 'Search Criteria',
-		'name': 'consumption_against_production'
+		'name': u'consumption_against_production'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/production/search_criteria/delivery_plan/delivery_plan.txt b/erpnext/production/search_criteria/delivery_plan/delivery_plan.txt
index 1210b27..6f3d30f 100644
--- a/erpnext/production/search_criteria/delivery_plan/delivery_plan.txt
+++ b/erpnext/production/search_criteria/delivery_plan/delivery_plan.txt
@@ -3,35 +3,35 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-08-30 14:06:22',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': "SUM(`tabSales Order Item`.`pending_qty` * `tabSales Order Item`.`basic_rate` ) AS 'Amount'",
-		'add_cond': "`tabSales Order Item`.pending_qty > 0 and (`tabSales Order Item`.confirmation_date is not null or `tabSales Order Item`.confirmation_date!='' or `tabSales Order Item`.confirmation_date != '00-00-0000')",
-		'columns': 'Sales Order\x01ID,Sales Order\x01Customer,Sales Order\x01Customer Name',
-		'criteria_name': 'Delivery Plan',
-		'doc_type': 'Sales Order Item',
+		'add_col': u"SUM(`tabSales Order Item`.`pending_qty` * `tabSales Order Item`.`basic_rate` ) AS 'Amount'",
+		'add_cond': u"`tabSales Order Item`.pending_qty > 0 and (`tabSales Order Item`.confirmation_date is not null or `tabSales Order Item`.confirmation_date!='' or `tabSales Order Item`.confirmation_date != '00-00-0000')",
+		'columns': u'Sales Order\x01ID,Sales Order\x01Customer,Sales Order\x01Customer Name',
+		'criteria_name': u'Delivery Plan',
+		'doc_type': u'Sales Order Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Status':'','Sales Order\x01Fiscal Year':''}",
-		'group_by': '`tabSales Order Item`.`confirmation_date`, `tabSales Order`.`name`',
-		'module': 'Production',
+		'filters': u"{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Status':'','Sales Order\x01Fiscal Year':''}",
+		'group_by': u'`tabSales Order Item`.`confirmation_date`, `tabSales Order`.`name`',
+		'module': u'Production',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Sales Order',
-		'sort_by': '`tabSales Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Sales Order',
+		'sort_by': u'`tabSales Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, delivery_plan
 	{
 		'doctype': 'Search Criteria',
-		'name': 'delivery_plan'
+		'name': u'delivery_plan'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/production/search_criteria/itemwise_production_report/itemwise_production_report.txt b/erpnext/production/search_criteria/itemwise_production_report/itemwise_production_report.txt
index b861d17..c5c726e 100644
--- a/erpnext/production/search_criteria/itemwise_production_report/itemwise_production_report.txt
+++ b/erpnext/production/search_criteria/itemwise_production_report/itemwise_production_report.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:32',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-06-14 15:50:44',
-		'modified_by': 'Administrator',
-		'owner': 'jai@webnotestech.com'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'jai@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Stock Entry\x01ID,Stock Entry\x01Posting Date,Stock Entry\x01Production Order,Stock Entry\x01Process,Stock Entry\x01Company,Stock Entry Detail\x01Target Warehouse,Stock Entry Detail\x01Item Code,Stock Entry Detail\x01Description,Stock Entry Detail\x01Stock UOM,Stock Entry Detail\x01Transfer Quantity',
-		'criteria_name': 'Itemwise Production Report',
-		'doc_type': 'Stock Entry Detail',
+		'columns': u'Stock Entry\x01ID,Stock Entry\x01Posting Date,Stock Entry\x01Production Order,Stock Entry\x01Process,Stock Entry\x01Company,Stock Entry Detail\x01Target Warehouse,Stock Entry Detail\x01Item Code,Stock Entry Detail\x01Description,Stock Entry Detail\x01Stock UOM,Stock Entry Detail\x01Transfer Quantity',
+		'criteria_name': u'Itemwise Production Report',
+		'doc_type': u'Stock Entry Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Stock Entry\x01Saved':1,'Stock Entry\x01Submitted':1,'Stock Entry\x01Purpose':'Production Order','Stock Entry\x01Process':'Backflush','Stock Entry Detail\x01FG Item':1}",
-		'module': 'Production',
+		'filters': u"{'Stock Entry\x01Saved':1,'Stock Entry\x01Submitted':1,'Stock Entry\x01Purpose':'Production Order','Stock Entry\x01Process':'Backflush','Stock Entry Detail\x01FG Item':1}",
+		'module': u'Production',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Stock Entry',
-		'sort_by': '`tabStock Entry`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Stock Entry',
+		'sort_by': u'`tabStock Entry`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, itemwise_production_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'itemwise_production_report'
+		'name': u'itemwise_production_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/production/search_criteria/production_orders_in_process/production_orders_in_process.txt b/erpnext/production/search_criteria/production_orders_in_process/production_orders_in_process.txt
index a5fd27d..e831d00 100644
--- a/erpnext/production/search_criteria/production_orders_in_process/production_orders_in_process.txt
+++ b/erpnext/production/search_criteria/production_orders_in_process/production_orders_in_process.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:32',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-06-15 10:01:15',
-		'modified_by': 'Administrator',
-		'owner': 'jai@webnotestech.com'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'jai@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': '`tabProduction Order`.qty > `tabProduction Order`.produced_qty',
-		'columns': 'Production Order\x01ID,Production Order\x01Origin,Production Order\x01Status,Production Order\x01Posting Date,Production Order\x01Production Item,Production Order\x01BOM No,Production Order\x01Description,Production Order\x01Stock UOM,Production Order\x01Qty,Production Order\x01Produced Qty,Production Order\x01FG Warehouse,Production Order\x01WIP Warehouse,Production Order\x01Consider SA Items,Production Order\x01Fiscal Year,Production Order\x01Company',
-		'criteria_name': 'Production Orders In Process',
-		'doc_type': 'Production Order',
+		'add_cond': u'`tabProduction Order`.qty > `tabProduction Order`.produced_qty',
+		'columns': u'Production Order\x01ID,Production Order\x01Origin,Production Order\x01Status,Production Order\x01Posting Date,Production Order\x01Production Item,Production Order\x01BOM No,Production Order\x01Description,Production Order\x01Stock UOM,Production Order\x01Qty,Production Order\x01Produced Qty,Production Order\x01FG Warehouse,Production Order\x01WIP Warehouse,Production Order\x01Consider SA Items,Production Order\x01Fiscal Year,Production Order\x01Company',
+		'criteria_name': u'Production Orders In Process',
+		'doc_type': u'Production Order',
 		'doctype': 'Search Criteria',
-		'filters': "{'Production Order\x01Submitted':1,'Production Order\x01Origin':'','Production Order\x01Status':'','Production Order\x01Consider SA Items':'','Production Order\x01Fiscal Year':''}",
-		'module': 'Production',
+		'filters': u"{'Production Order\x01Submitted':1,'Production Order\x01Origin':'','Production Order\x01Status':'','Production Order\x01Consider SA Items':'','Production Order\x01Fiscal Year':''}",
+		'module': u'Production',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabProduction Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabProduction Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, production_orders_in_process
 	{
 		'doctype': 'Search Criteria',
-		'name': 'production_orders_in_process'
+		'name': u'production_orders_in_process'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/projects/doctype/task/task.txt b/erpnext/projects/doctype/task/task.txt
index 4ff337d..8110719 100644
--- a/erpnext/projects/doctype/task/task.txt
+++ b/erpnext/projects/doctype/task/task.txt
@@ -337,19 +337,7 @@
 		'oldfieldtype': u'Data',
 		'permlevel': 0
 	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'category',
-		'fieldtype': u'Link',
-		'label': u'Category',
-		'oldfieldname': u'category',
-		'oldfieldtype': u'Link',
-		'options': u'Task Category',
-		'permlevel': 0
-	},
-
+	
 	# DocField
 	{
 		'doctype': u'DocField',
@@ -570,4 +558,4 @@
 		'oldfieldtype': u'Currency',
 		'permlevel': 0
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/projects/search_criteria/dispatch_report/dispatch_report.txt b/erpnext/projects/search_criteria/dispatch_report/dispatch_report.txt
index c8e69fa..0d52fab 100644
--- a/erpnext/projects/search_criteria/dispatch_report/dispatch_report.txt
+++ b/erpnext/projects/search_criteria/dispatch_report/dispatch_report.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:31',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-11-05 20:34:19',
-		'modified_by': 'Administrator',
-		'owner': 'ashwini@webnotestech.com'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'ashwini@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Delivery Note\x01ID,Delivery Note\x01Project Name,Delivery Note\x01Customer,Delivery Note\x01Customer Name,Delivery Note\x01Posting Date,Delivery Note Item\x01Item Code,Delivery Note Item\x01Item Name,Delivery Note Item\x01Quantity,Delivery Note Item\x01Amount*',
-		'criteria_name': 'Dispatch Report',
-		'doc_type': 'Delivery Note Item',
+		'columns': u'Delivery Note\x01ID,Delivery Note\x01Project Name,Delivery Note\x01Customer,Delivery Note\x01Customer Name,Delivery Note\x01Posting Date,Delivery Note Item\x01Item Code,Delivery Note Item\x01Item Name,Delivery Note Item\x01Quantity,Delivery Note Item\x01Amount*',
+		'criteria_name': u'Dispatch Report',
+		'doc_type': u'Delivery Note Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Delivery Note\x01Saved':1,'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'Submitted','Delivery Note\x01Fiscal Year':''}",
-		'module': 'Projects',
+		'filters': u"{'Delivery Note\x01Saved':1,'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'Submitted','Delivery Note\x01Fiscal Year':''}",
+		'module': u'Projects',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Delivery Note',
-		'sort_by': '`tabDelivery Note`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Delivery Note',
+		'sort_by': u'`tabDelivery Note`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, dispatch_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'dispatch_report'
+		'name': u'dispatch_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.txt b/erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.txt
index aa31288..d45bd10 100644
--- a/erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.txt
+++ b/erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.txt
@@ -3,33 +3,33 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-08-30 11:54:36',
-		'modified_by': 'Administrator',
-		'owner': 'harshada@webnotestech.com'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'harshada@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': 'IFNULL(`tabDelivery Note`.`project_name`,"")!=""',
-		'columns': 'Delivery Note\x01ID,Delivery Note\x01Project Name,Delivery Note\x01Customer,Delivery Note\x01Customer Name,Delivery Note Item\x01Item Code,Delivery Note Item\x01Item Name,Delivery Note Item\x01Quantity,Delivery Note\x01Posting Date,Delivery Note\x01% Billed,Delivery Note Item\x01Amount*',
-		'criteria_name': 'Projectwise Delivered Qty and Costs',
-		'doc_type': 'Delivery Note Item',
+		'add_cond': u'IFNULL(`tabDelivery Note`.`project_name`,"")!=""',
+		'columns': u'Delivery Note\x01ID,Delivery Note\x01Project Name,Delivery Note\x01Customer,Delivery Note\x01Customer Name,Delivery Note Item\x01Item Code,Delivery Note Item\x01Item Name,Delivery Note Item\x01Quantity,Delivery Note\x01Posting Date,Delivery Note\x01% Billed,Delivery Note Item\x01Amount*',
+		'criteria_name': u'Projectwise Delivered Qty and Costs',
+		'doc_type': u'Delivery Note Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'Submitted','Delivery Note\x01Fiscal Year':''}",
-		'module': 'Projects',
+		'filters': u"{'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'Submitted','Delivery Note\x01Fiscal Year':''}",
+		'module': u'Projects',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Delivery Note',
-		'sort_by': '`tabDelivery Note`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Delivery Note',
+		'sort_by': u'`tabDelivery Note`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, projectwise_delivered_qty_and_costs
 	{
 		'doctype': 'Search Criteria',
-		'name': 'projectwise_delivered_qty_and_costs'
+		'name': u'projectwise_delivered_qty_and_costs'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.txt b/erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.txt
index 5a54ded..05807a3 100644
--- a/erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.txt
+++ b/erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.txt
@@ -3,34 +3,34 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-08-30 14:21:20',
-		'modified_by': 'Administrator',
-		'owner': 'ashwini@webnotestech.com'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'ashwini@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': "SUM(`tabSales Order Item`.`qty` - `tabSales Order Item`.`delivered_qty`) AS 'Pending Qty'\nSUM((`tabSales Order Item`.`qty` - `tabSales Order Item`.`delivered_qty`)* `tabSales Order Item`.basic_rate) AS 'Pending Amount'",
-		'add_cond': '`tabSales Order Item`.`qty` > `tabSales Order Item`.`delivered_qty`\nIFNULL(`tabSales Order`.`project_name`,"")!=""\n`tabSales Order`.order_type = \'Sales\'',
-		'columns': 'Sales Order\x01ID,Sales Order\x01Project Name,Sales Order\x01Customer,Sales Order\x01Customer Name,Sales Order Item\x01Item Code,Sales Order Item\x01Item Name,Sales Order\x01%  Delivered,Sales Order\x01% Billed,Sales Order\x01Sales Order Date,Sales Order\x01Expected Delivery Date',
-		'criteria_name': 'Projectwise Pending Qty and Costs',
-		'doc_type': 'Sales Order Item',
+		'add_col': u"SUM(`tabSales Order Item`.`qty` - `tabSales Order Item`.`delivered_qty`) AS 'Pending Qty'\nSUM((`tabSales Order Item`.`qty` - `tabSales Order Item`.`delivered_qty`)* `tabSales Order Item`.basic_rate) AS 'Pending Amount'",
+		'add_cond': u'`tabSales Order Item`.`qty` > `tabSales Order Item`.`delivered_qty`\nIFNULL(`tabSales Order`.`project_name`,"")!=""\n`tabSales Order`.order_type = \'Sales\'',
+		'columns': u'Sales Order\x01ID,Sales Order\x01Project Name,Sales Order\x01Customer,Sales Order\x01Customer Name,Sales Order Item\x01Item Code,Sales Order Item\x01Item Name,Sales Order\x01%  Delivered,Sales Order\x01% Billed,Sales Order\x01Sales Order Date,Sales Order\x01Expected Delivery Date',
+		'criteria_name': u'Projectwise Pending Qty and Costs',
+		'doc_type': u'Sales Order Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Submitted':1,'Sales Order\x01Status':'Submitted','Sales Order\x01Fiscal Year':''}",
-		'module': 'Projects',
+		'filters': u"{'Sales Order\x01Submitted':1,'Sales Order\x01Status':'Submitted','Sales Order\x01Fiscal Year':''}",
+		'module': u'Projects',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Sales Order',
-		'sort_by': '`tabSales Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Sales Order',
+		'sort_by': u'`tabSales Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, projectwise_pending_qty_and_costs
 	{
 		'doctype': 'Search Criteria',
-		'name': 'projectwise_pending_qty_and_costs'
+		'name': u'projectwise_pending_qty_and_costs'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.txt b/erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.txt
index 286ec98..c09a9e9 100644
--- a/erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.txt
+++ b/erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.txt
@@ -3,29 +3,29 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:31',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-11-12 09:23:17',
-		'modified_by': 'Administrator',
-		'owner': 'ashwini@webnotestech.com'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'ashwini@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'criteria_name': 'Projectwise Purchase Details',
-		'doc_type': 'Purchase Order',
+		'criteria_name': u'Projectwise Purchase Details',
+		'doc_type': u'Purchase Order',
 		'doctype': 'Search Criteria',
-		'filters': "{'Purchase Order\x01Status':'','Purchase Order\x01Fiscal Year':''}",
-		'module': 'Projects',
+		'filters': u"{'Purchase Order\x01Status':'','Purchase Order\x01Fiscal Year':''}",
+		'module': u'Projects',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, projectwise_purchase_details
 	{
 		'doctype': 'Search Criteria',
-		'name': 'projectwise_purchase_details'
+		'name': u'projectwise_purchase_details'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.txt b/erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.txt
index bb51f25..c884739 100644
--- a/erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.txt
+++ b/erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.txt
@@ -3,29 +3,29 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:31',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-11-12 09:21:11',
-		'modified_by': 'Administrator',
-		'owner': 'harshada@webnotestech.com'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'harshada@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'criteria_name': 'Projectwise Sales Details',
-		'doc_type': 'Sales Order',
+		'criteria_name': u'Projectwise Sales Details',
+		'doc_type': u'Sales Order',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Status':''}",
-		'module': 'Projects',
+		'filters': u"{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Status':''}",
+		'module': u'Projects',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, projectwise_sales_details
 	{
 		'doctype': 'Search Criteria',
-		'name': 'projectwise_sales_details'
+		'name': u'projectwise_sales_details'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/projects/search_criteria/projectwise_sales_orders/projectwise_sales_orders.txt b/erpnext/projects/search_criteria/projectwise_sales_orders/projectwise_sales_orders.txt
index 9d172b6..c009cdd 100644
--- a/erpnext/projects/search_criteria/projectwise_sales_orders/projectwise_sales_orders.txt
+++ b/erpnext/projects/search_criteria/projectwise_sales_orders/projectwise_sales_orders.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-08-30 14:21:59',
-		'modified_by': 'Administrator',
-		'owner': 'harshada@webnotestech.com'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'harshada@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': "ifnull(`tabSales Order`.project_name ,'') != ''",
-		'columns': 'Sales Order\x01ID,Sales Order\x01Status,Sales Order\x01Project Name,Sales Order\x01Customer,Sales Order\x01Sales Order Date,Sales Order\x01Expected Delivery Date,Sales Order\x01Quotation No,Sales Order\x01%  Delivered,Sales Order\x01% Billed,Sales Order\x01Grand Total*',
-		'criteria_name': 'Projectwise Sales Orders',
-		'doc_type': 'Sales Order',
+		'add_cond': u"ifnull(`tabSales Order`.project_name ,'') != ''",
+		'columns': u'Sales Order\x01ID,Sales Order\x01Status,Sales Order\x01Project Name,Sales Order\x01Customer,Sales Order\x01Sales Order Date,Sales Order\x01Expected Delivery Date,Sales Order\x01Quotation No,Sales Order\x01%  Delivered,Sales Order\x01% Billed,Sales Order\x01Grand Total*',
+		'criteria_name': u'Projectwise Sales Orders',
+		'doc_type': u'Sales Order',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Status':'','Sales Order\x01Fiscal Year':''}",
-		'module': 'Projects',
+		'filters': u"{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Status':'','Sales Order\x01Fiscal Year':''}",
+		'module': u'Projects',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSales Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSales Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, projectwise_sales_orders
 	{
 		'doctype': 'Search Criteria',
-		'name': 'projectwise_sales_orders'
+		'name': u'projectwise_sales_orders'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/projects/search_criteria/timesheet_report/timesheet_report.txt b/erpnext/projects/search_criteria/timesheet_report/timesheet_report.txt
index 77f9d33..b7580eb 100644
--- a/erpnext/projects/search_criteria/timesheet_report/timesheet_report.txt
+++ b/erpnext/projects/search_criteria/timesheet_report/timesheet_report.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:31',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-11-05 20:44:03',
-		'modified_by': 'Administrator',
-		'owner': 'ashwini@webnotestech.com'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'ashwini@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Timesheet\x01ID,Timesheet\x01Timesheet Date,Timesheet\x01Timesheet by,Timesheet Detail\x01Project Name,Timesheet Detail\x01Task Id,Timesheet Detail\x01Task Name,Timesheet Detail\x01Actual Start Time,Timesheet Detail\x01Actual End Time,Timesheet Detail\x01Total Hours (Actual)',
-		'criteria_name': 'Timesheet Report',
-		'doc_type': 'Timesheet Detail',
+		'columns': u'Timesheet\x01ID,Timesheet\x01Timesheet Date,Timesheet\x01Timesheet by,Timesheet Detail\x01Project Name,Timesheet Detail\x01Task Id,Timesheet Detail\x01Task Name,Timesheet Detail\x01Actual Start Time,Timesheet Detail\x01Actual End Time,Timesheet Detail\x01Total Hours (Actual)',
+		'criteria_name': u'Timesheet Report',
+		'doc_type': u'Timesheet Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Timesheet\x01Saved':1,'Timesheet\x01Submitted':1}",
-		'module': 'Projects',
+		'filters': u"{'Timesheet\x01Saved':1,'Timesheet\x01Submitted':1}",
+		'module': u'Projects',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Timesheet',
-		'sort_by': '`tabTimesheet`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Timesheet',
+		'sort_by': u'`tabTimesheet`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, timesheet_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'timesheet_report'
+		'name': u'timesheet_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/DocType Mapper/Lead-Opportunity/Lead-Opportunity.txt b/erpnext/selling/DocType Mapper/Lead-Opportunity/Lead-Opportunity.txt
index 9e02342..dbedbf7 100644
--- a/erpnext/selling/DocType Mapper/Lead-Opportunity/Lead-Opportunity.txt
+++ b/erpnext/selling/DocType Mapper/Lead-Opportunity/Lead-Opportunity.txt
@@ -3,85 +3,85 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:34',
+		'creation': '2010-09-20 12:33:34',
 		'docstatus': 0,
-		'modified': '2011-09-14 12:36:24',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_table': 'Lead',
+		'doctype': u'Table Mapper Detail',
+		'from_table': u'Lead',
 		'match_id': 0,
 		'name': '__common__',
-		'parent': 'Lead-Opportunity',
-		'parentfield': 'table_mapper_details',
-		'parenttype': 'DocType Mapper',
-		'to_table': 'Opportunity',
-		'validation_logic': 'name is not null'
+		'parent': u'Lead-Opportunity',
+		'parentfield': u'table_mapper_details',
+		'parenttype': u'DocType Mapper',
+		'to_table': u'Opportunity',
+		'validation_logic': u'name is not null'
 	},
 
 	# These values are common for all Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
+		'doctype': u'Field Mapper Detail',
 		'match_id': 0,
 		'name': '__common__',
-		'parent': 'Lead-Opportunity',
-		'parentfield': 'field_mapper_details',
-		'parenttype': 'DocType Mapper'
+		'parent': u'Lead-Opportunity',
+		'parentfield': u'field_mapper_details',
+		'parenttype': u'DocType Mapper'
 	},
 
 	# These values are common for all DocType Mapper
 	{
 		'doctype': u'DocType Mapper',
-		'from_doctype': 'Lead',
-		'module': 'Selling',
+		'from_doctype': u'Lead',
+		'module': u'Selling',
 		'name': '__common__',
-		'to_doctype': 'Opportunity'
+		'to_doctype': u'Opportunity'
 	},
 
 	# DocType Mapper, Lead-Opportunity
 	{
 		'doctype': u'DocType Mapper',
-		'name': 'Lead-Opportunity'
+		'name': u'Lead-Opportunity'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'campaign_name',
-		'map': 'Yes',
-		'to_field': 'campaign'
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'campaign_name',
+		'map': u'Yes',
+		'to_field': u'campaign'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'doctype',
-		'map': 'Yes',
-		'to_field': 'enquiry_from'
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'doctype',
+		'map': u'Yes',
+		'to_field': u'enquiry_from'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'name',
-		'map': 'Yes',
-		'to_field': 'lead'
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'name',
+		'map': u'Yes',
+		'to_field': u'lead'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'status',
-		'map': 'No',
-		'to_field': 'status'
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'status',
+		'map': u'No',
+		'to_field': u'status'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail'
+		'doctype': u'Table Mapper Detail'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/DocType Mapper/Opportunity-Quotation/Opportunity-Quotation.txt b/erpnext/selling/DocType Mapper/Opportunity-Quotation/Opportunity-Quotation.txt
index 18b6431..726b1a1 100644
--- a/erpnext/selling/DocType Mapper/Opportunity-Quotation/Opportunity-Quotation.txt
+++ b/erpnext/selling/DocType Mapper/Opportunity-Quotation/Opportunity-Quotation.txt
@@ -3,144 +3,144 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:34',
+		'creation': '2010-09-20 12:33:34',
 		'docstatus': 0,
-		'modified': '2011-09-14 12:36:24',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
+		'doctype': u'Table Mapper Detail',
 		'name': '__common__',
-		'parent': 'Opportunity-Quotation',
-		'parentfield': 'table_mapper_details',
-		'parenttype': 'DocType Mapper',
-		'validation_logic': 'docstatus=1'
+		'parent': u'Opportunity-Quotation',
+		'parentfield': u'table_mapper_details',
+		'parenttype': u'DocType Mapper',
+		'validation_logic': u'docstatus=1'
 	},
 
 	# These values are common for all Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
+		'doctype': u'Field Mapper Detail',
 		'name': '__common__',
-		'parent': 'Opportunity-Quotation',
-		'parentfield': 'field_mapper_details',
-		'parenttype': 'DocType Mapper'
+		'parent': u'Opportunity-Quotation',
+		'parentfield': u'field_mapper_details',
+		'parenttype': u'DocType Mapper'
 	},
 
 	# These values are common for all DocType Mapper
 	{
 		'doctype': u'DocType Mapper',
-		'from_doctype': 'Opportunity',
-		'module': 'Selling',
+		'from_doctype': u'Opportunity',
+		'module': u'Selling',
 		'name': '__common__',
 		'ref_doc_submitted': 1,
-		'to_doctype': 'Quotation'
+		'to_doctype': u'Quotation'
 	},
 
 	# DocType Mapper, Opportunity-Quotation
 	{
 		'doctype': u'DocType Mapper',
-		'name': 'Opportunity-Quotation'
+		'name': u'Opportunity-Quotation'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'uom',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'uom',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'stock_uom'
+		'to_field': u'stock_uom'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'name',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'name',
+		'map': u'Yes',
 		'match_id': 0,
-		'to_field': 'enq_no'
+		'to_field': u'enq_no'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'parent',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'parent',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'prevdoc_docname'
+		'to_field': u'prevdoc_docname'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'parenttype',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'parenttype',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'prevdoc_doctype'
+		'to_field': u'prevdoc_doctype'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'enquiry_from',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'enquiry_from',
+		'map': u'Yes',
 		'match_id': 0,
-		'to_field': 'quotation_to'
+		'to_field': u'quotation_to'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'enquiry_type',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'enquiry_type',
+		'map': u'Yes',
 		'match_id': 0,
-		'to_field': 'order_type'
+		'to_field': u'order_type'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'transaction_date',
-		'map': 'No',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'transaction_date',
+		'map': u'No',
 		'match_id': 0,
-		'to_field': 'transaction_date'
+		'to_field': u'transaction_date'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'status',
-		'map': 'No',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'status',
+		'map': u'No',
 		'match_id': 0,
-		'to_field': 'status'
+		'to_field': u'status'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'naming_series',
-		'map': 'No',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'naming_series',
+		'map': u'No',
 		'match_id': 0,
-		'to_field': 'naming_series'
+		'to_field': u'naming_series'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_table': 'Opportunity',
+		'doctype': u'Table Mapper Detail',
+		'from_table': u'Opportunity',
 		'match_id': 0,
-		'to_table': 'Quotation'
+		'to_table': u'Quotation'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_field': 'enq_details',
-		'from_table': 'Opportunity Item',
+		'doctype': u'Table Mapper Detail',
+		'from_field': u'enq_details',
+		'from_table': u'Opportunity Item',
 		'match_id': 1,
-		'to_field': 'quotation_details',
-		'to_table': 'Quotation Item'
+		'to_field': u'quotation_details',
+		'to_table': u'Quotation Item'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/doctype/communication_log/communication_log.txt b/erpnext/selling/doctype/communication_log/communication_log.txt
index c33724a..f5ea6be 100644
--- a/erpnext/selling/doctype/communication_log/communication_log.txt
+++ b/erpnext/selling/doctype/communication_log/communication_log.txt
@@ -70,7 +70,7 @@
 		'fieldname': u'follow_up_type',
 		'fieldtype': u'Select',
 		'in_filter': 1,
-		'label': u'Follow up type',
+		'label': u'Communication type',
 		'oldfieldname': u'follow_up_type',
 		'oldfieldtype': u'Select',
 		'options': u'\nPhone\nEmail\nSMS\nVisit\nOther'
@@ -82,7 +82,7 @@
 		'fieldname': u'follow_up_by',
 		'fieldtype': u'Link',
 		'in_filter': 1,
-		'label': u'Follow up by',
+		'label': u'Communication by',
 		'oldfieldname': u'follow_up_by',
 		'oldfieldtype': u'Link',
 		'options': u'Sales Person'
diff --git a/erpnext/selling/doctype/opportunity/opportunity.txt b/erpnext/selling/doctype/opportunity/opportunity.txt
index b9e176a..5886113 100644
--- a/erpnext/selling/doctype/opportunity/opportunity.txt
+++ b/erpnext/selling/doctype/opportunity/opportunity.txt
@@ -426,7 +426,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'enquiry_details',
 		'fieldtype': u'Table',
-		'label': u'Opportunity Details',
+		'label': u'Opportunity Items',
 		'oldfieldname': u'enquiry_details',
 		'oldfieldtype': u'Table',
 		'options': u'Opportunity Item',
@@ -621,4 +621,4 @@
 		'options': u'Communication Log',
 		'permlevel': 0
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/selling/doctype/quotation/quotation.txt b/erpnext/selling/doctype/quotation/quotation.txt
index 2635975..2c9bd9f 100644
--- a/erpnext/selling/doctype/quotation/quotation.txt
+++ b/erpnext/selling/doctype/quotation/quotation.txt
@@ -715,7 +715,7 @@
 		'fieldname': u'charge',
 		'fieldtype': u'Link',
 		'hidden': 0,
-		'label': u'Select Charges Master',
+		'label': u'Sales Taxes and Charges',
 		'oldfieldname': u'charge',
 		'oldfieldtype': u'Link',
 		'options': u'Sales Taxes and Charges Master',
@@ -730,7 +730,7 @@
 		'fieldname': u'get_charges',
 		'fieldtype': u'Button',
 		'hidden': 0,
-		'label': u'Get Charges',
+		'label': u'Get Taxes and Charges',
 		'oldfieldtype': u'Button',
 		'permlevel': 0,
 		'print_hide': 1,
@@ -742,7 +742,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges',
 		'fieldtype': u'Table',
-		'label': u'Sales Taxes and Charges Master',
+		'label': u'Sales Taxes and Charges',
 		'oldfieldname': u'other_charges',
 		'oldfieldtype': u'Table',
 		'options': u'Sales Taxes and Charges',
@@ -755,7 +755,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'calculate_charges',
 		'fieldtype': u'Button',
-		'label': u'Calculate Charges',
+		'label': u'Calculate Taxes and Charges',
 		'oldfieldtype': u'Button',
 		'permlevel': 0,
 		'print_hide': 1,
@@ -767,7 +767,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_total',
 		'fieldtype': u'Currency',
-		'label': u'Charges Total*',
+		'label': u'Taxes and Charges Total*',
 		'oldfieldname': u'other_charges_total',
 		'oldfieldtype': u'Currency',
 		'permlevel': 1,
@@ -779,7 +779,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_calculation',
 		'fieldtype': u'HTML',
-		'label': u'Other Charges Calculation',
+		'label': u'Taxes and Charges Calculation',
 		'oldfieldtype': u'HTML',
 		'permlevel': 0,
 		'print_hide': 1
@@ -902,11 +902,11 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'description': u'Add Terms and Conditions for the Quotation like Payment Terms, Validity of Offer etc. You can also prepare a master Term Sheet and use the Template',
+		'description': u'Add Terms and Conditions for the Quotation like Payment Terms, Validity of Offer etc. You can also prepare a Terms and Conditions Master and use the Template',
 		'doctype': u'DocField',
 		'fieldname': u'terms_section_break',
 		'fieldtype': u'Section Break',
-		'label': u'Terms',
+		'label': u'Terms and Conditions',
 		'oldfieldtype': u'Section Break',
 		'permlevel': 0,
 		'print_hide': 0
@@ -917,7 +917,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'tc_name',
 		'fieldtype': u'Link',
-		'label': u'Select Terms',
+		'label': u'Select Terms and Conditions',
 		'oldfieldname': u'tc_name',
 		'oldfieldtype': u'Link',
 		'options': u'Terms and Conditions',
@@ -931,7 +931,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'get_terms',
 		'fieldtype': u'Button',
-		'label': u'Get Terms',
+		'label': u'Get Terms and Conditions',
 		'oldfieldtype': u'Button',
 		'options': u'get_tc_details',
 		'permlevel': 0
@@ -942,7 +942,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms_html',
 		'fieldtype': u'HTML',
-		'label': u'Terms HTML',
+		'label': u'Terms and Conditions HTML',
 		'oldfieldtype': u'HTML',
 		'options': u'You can add Terms and Notes that will be printed in the Transaction',
 		'permlevel': 0,
diff --git a/erpnext/selling/doctype/sales_common/sales_common.js b/erpnext/selling/doctype/sales_common/sales_common.js
index 06cb424..4cd5d51 100644
--- a/erpnext/selling/doctype/sales_common/sales_common.js
+++ b/erpnext/selling/doctype/sales_common/sales_common.js
@@ -96,7 +96,7 @@
 
 var set_dynamic_label_par = function(doc, cdt, cdn, base_curr) {
 	//parent flds
-	par_cols_base = {'net_total': 'Net Total', 'other_charges_total': 'Other Charges Total', 
+	par_cols_base = {'net_total': 'Net Total', 'other_charges_total': 'Taxes and Charges Total', 
 		'grand_total':	'Grand Total', 'rounded_total': 'Rounded Total', 'in_words': 'In Words'}
 	par_cols_export = {'grand_total_export': 'Grand Total', 'rounded_total_export':	'Rounded Total', 'in_words_export':	'In Words'};
 
@@ -363,8 +363,8 @@
 }
 
 // ********************* Get Charges ****************************
-cur_frm.cscript['Get Charges'] = function(doc, cdt, cdn) {
-	$c_obj(make_doclist(doc.doctype,doc.name),'get_other_charges','', function(r, rt) { cur_frm.cscript['Calculate Charges'](doc, cdt, cdn);});
+cur_frm.cscript['Get Taxes and Charges'] = function(doc, cdt, cdn) {
+	$c_obj(make_doclist(doc.doctype,doc.name),'get_other_charges','', function(r, rt) { cur_frm.cscript['Calculate Taxes and Charges'](doc, cdt, cdn);});
 }
 
 
@@ -459,14 +459,14 @@
 	doc = locals[doc.doctype][doc.name];
 
 	// Make Display Area
-	cur_frm.fields_dict['Other Charges Calculation'].disp_area.innerHTML =
-		'<b style="padding: 8px 0px;">Calculation Details for Other Charges:</b>';
+	cur_frm.fields_dict['Taxes and Charges Calculation'].disp_area.innerHTML =
+		'<b style="padding: 8px 0px;">Calculation Details for Taxes and Charges:</b>';
 
 	var cl = getchildren(tname, doc.name, fname);
 	var tax = getchildren('Sales Taxes and Charges', doc.name, other_fname,doc.doctype);
 	
 	// Make display table
-	var otc = make_table(cur_frm.fields_dict['Other Charges Calculation'].disp_area,
+	var otc = make_table(cur_frm.fields_dict['Taxes and Charges Calculation'].disp_area,
 		cl.length + 1, tax.length + 1, '90%', [], { border:'1px solid #AAA', padding:'2px' });
 	$y(otc,{marginTop:'8px'});
 
@@ -740,10 +740,10 @@
 // **************** RE-CALCULATE VALUES ***************************
 
 cur_frm.cscript['Re-Calculate Values'] = function(doc, cdt, cdn) {	
-	cur_frm.cscript['Calculate Charges'](doc,cdt,cdn);
+	cur_frm.cscript['Calculate Taxes and Charges'](doc,cdt,cdn);
 }
 
-cur_frm.cscript['Calculate Charges'] = function(doc, cdt, cdn) {
+cur_frm.cscript['Calculate Taxes and Charges'] = function(doc, cdt, cdn) {
 	var other_fname	= cur_frm.cscript.other_fname;
 
 	var cl = getchildren('Sales Taxes and Charges', doc.name, other_fname, doc.doctype);
@@ -824,11 +824,11 @@
 	var cl = getchildren('Sales Taxes and Charges Master', doc.name, 'other_charges');
 	for(var i =0;i<cl.length;i++) {
 		if(!cl[i].amount) {
-			alert("Please Enter Amount in Row no. "+cl[i].idx+" in Other Charges table");
+			alert("Please Enter Amount in Row no. "+cl[i].idx+" in Taxes and Charges table");
 			validated = false;
 		}
 	}
-	cur_frm.cscript['Calculate Charges'] (doc, cdt, cdn);
+	cur_frm.cscript['Calculate Taxes and Charges'] (doc, cdt, cdn);
 
 	if (cur_frm.cscript.calc_adjustment_amount) cur_frm.cscript.calc_adjustment_amount(doc);
 }
diff --git a/erpnext/selling/doctype/sales_order/sales_order.txt b/erpnext/selling/doctype/sales_order/sales_order.txt
index 11a2dc5..eb17cff 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.txt
+++ b/erpnext/selling/doctype/sales_order/sales_order.txt
@@ -794,7 +794,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'charge',
 		'fieldtype': u'Link',
-		'label': u'Select Charges Master',
+		'label': u'Sales Taxes and Charges',
 		'oldfieldname': u'charge',
 		'oldfieldtype': u'Link',
 		'options': u'Sales Taxes and Charges Master',
@@ -807,7 +807,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'get_charges',
 		'fieldtype': u'Button',
-		'label': u'Get Charges',
+		'label': u'Get Taxes and Charges',
 		'oldfieldtype': u'Button',
 		'permlevel': 0,
 		'trigger': u'Client'
@@ -818,7 +818,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges',
 		'fieldtype': u'Table',
-		'label': u'Sales Taxes and Charges Master',
+		'label': u'Sales Taxes and Charges',
 		'oldfieldname': u'other_charges',
 		'oldfieldtype': u'Table',
 		'options': u'Sales Taxes and Charges',
@@ -830,7 +830,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'calculate_charges',
 		'fieldtype': u'Button',
-		'label': u'Calculate Charges',
+		'label': u'Calculate Taxes and Charges',
 		'oldfieldtype': u'Button',
 		'permlevel': 0,
 		'print_hide': 0,
@@ -842,7 +842,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_total',
 		'fieldtype': u'Currency',
-		'label': u'Charges Total*',
+		'label': u'Taxes and Charges Total*',
 		'oldfieldname': u'other_charges_total',
 		'oldfieldtype': u'Currency',
 		'permlevel': 1,
@@ -855,7 +855,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_calculation',
 		'fieldtype': u'HTML',
-		'label': u'Other Charges Calculation',
+		'label': u'Taxes and Charges Calculation',
 		'oldfieldtype': u'HTML',
 		'permlevel': 0,
 		'print_hide': 0
@@ -973,7 +973,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms_section_break',
 		'fieldtype': u'Section Break',
-		'label': u'Terms',
+		'label': u'Terms and Conditions',
 		'oldfieldtype': u'Section Break',
 		'permlevel': 0,
 		'print_hide': 0
@@ -984,7 +984,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'tc_name',
 		'fieldtype': u'Link',
-		'label': u'Select Terms',
+		'label': u'Select Terms and Conditions',
 		'oldfieldname': u'tc_name',
 		'oldfieldtype': u'Link',
 		'options': u'Terms and Conditions',
@@ -998,7 +998,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'get_terms',
 		'fieldtype': u'Button',
-		'label': u'Get Terms',
+		'label': u'Get Terms and Conditions',
 		'oldfieldtype': u'Button',
 		'options': u'get_tc_details',
 		'permlevel': 0,
@@ -1010,7 +1010,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms_html',
 		'fieldtype': u'HTML',
-		'label': u'Terms HTML',
+		'label': u'Terms and Conditions HTML',
 		'oldfieldtype': u'HTML',
 		'options': u'You can add Terms and Notes that will be printed in the Transaction',
 		'permlevel': 0,
diff --git a/erpnext/selling/search_criteria/customer_address_contact/customer_address_contact.txt b/erpnext/selling/search_criteria/customer_address_contact/customer_address_contact.txt
index f63b2cc..ecba9f2 100644
--- a/erpnext/selling/search_criteria/customer_address_contact/customer_address_contact.txt
+++ b/erpnext/selling/search_criteria/customer_address_contact/customer_address_contact.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2012-02-23 14:18:56',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2012-02-23 14:18:56',
+		'modified': '2012-03-30 13:33:31',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
diff --git a/erpnext/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.txt b/erpnext/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.txt
index d458ad0..2142617 100644
--- a/erpnext/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.txt
+++ b/erpnext/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.txt
@@ -3,35 +3,35 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-03-30 11:03:20',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2011-03-29 14:08:46',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': "(`tabDelivery Note Item`.`qty`- ifnull(`tabDelivery Note Item`.`installed_qty`, 0)) AS 'Pending to Install'",
-		'add_cond': '`tabDelivery Note Item`.`qty` > ifnull(`tabDelivery Note Item`.`installed_qty`, 0)',
-		'columns': 'Delivery Note\x01ID,Delivery Note\x01Status,Delivery Note\x01Customer,Delivery Note\x01Customer Name,Delivery Note\x01Contact Person,Delivery Note\x01Voucher Date,Delivery Note Item\x01Item Code,Delivery Note Item\x01Item Name,Delivery Note Item\x01Quantity,Delivery Note Item\x01Installed Qty,Delivery Note\x01% Installed',
-		'criteria_name': 'Delivered Items to be Install',
-		'description': 'Delivered Items to be Install',
-		'doc_type': 'Delivery Note Item',
+		'add_col': u"(`tabDelivery Note Item`.`qty`- ifnull(`tabDelivery Note Item`.`installed_qty`, 0)) AS 'Pending to Install'",
+		'add_cond': u'`tabDelivery Note Item`.`qty` > ifnull(`tabDelivery Note Item`.`installed_qty`, 0)',
+		'columns': u'Delivery Note\x01ID,Delivery Note\x01Status,Delivery Note\x01Customer,Delivery Note\x01Customer Name,Delivery Note\x01Contact Person,Delivery Note\x01Voucher Date,Delivery Note Item\x01Item Code,Delivery Note Item\x01Item Name,Delivery Note Item\x01Quantity,Delivery Note Item\x01Installed Qty,Delivery Note\x01% Installed',
+		'criteria_name': u'Delivered Items to be Install',
+		'description': u'Delivered Items to be Install',
+		'doc_type': u'Delivery Note Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Delivery Note\x01Saved':1,'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'','Delivery Note\x01Fiscal Year':''}",
-		'module': 'Selling',
+		'filters': u"{'Delivery Note\x01Saved':1,'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'','Delivery Note\x01Fiscal Year':''}",
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Delivery Note',
-		'sort_by': '`tabDelivery Note`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Delivery Note',
+		'sort_by': u'`tabDelivery Note`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, delivered_items_to_be_install
 	{
 		'doctype': 'Search Criteria',
-		'name': 'delivered_items_to_be_install'
+		'name': u'delivered_items_to_be_install'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/delivery_note_itemwise_pending_to_bill/delivery_note_itemwise_pending_to_bill.txt b/erpnext/selling/search_criteria/delivery_note_itemwise_pending_to_bill/delivery_note_itemwise_pending_to_bill.txt
index ff8e77a..72973ad 100644
--- a/erpnext/selling/search_criteria/delivery_note_itemwise_pending_to_bill/delivery_note_itemwise_pending_to_bill.txt
+++ b/erpnext/selling/search_criteria/delivery_note_itemwise_pending_to_bill/delivery_note_itemwise_pending_to_bill.txt
@@ -3,35 +3,35 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-04-06 17:22:13',
-		'modified_by': 'Administrator',
-		'owner': 'jai@webnotestech.com'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'jai@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': "SUM(`tabDelivery Note Item`.`qty` - `tabDelivery Note Item`.`billed_qty`) AS 'Pending Qty'\nSUM((`tabDelivery Note Item`.`qty` - `tabDelivery Note Item`.`billed_qty`) * `tabDelivery Note Item`.`basic_rate`) AS 'Pending Amount'",
-		'add_cond': "`tabDelivery Note`.status != 'Stopped'\nCASE WHEN `tabDelivery Note`.`per_billed` IS NULL OR `tabDelivery Note`.per_billed = '' THEN 0 < 100 ELSE `tabDelivery Note`.per_billed <100 END",
-		'columns': 'Delivery Note\x01ID,Delivery Note\x01Owner,Delivery Note\x01Status,Delivery Note\x01Customer Name,Delivery Note\x01Voucher Date,Delivery Note\x01% Billed,Delivery Note\x01Posting Date,Delivery Note\x01Company Name,Delivery Note\x01Fiscal Year,Delivery Note Item\x01Item Code,Delivery Note Item\x01Against Document No,Delivery Note Item\x01Document Type,Delivery Note Item\x01Against Document Detail No',
-		'criteria_name': 'Delivery Note Itemwise Pending To Bill',
-		'doc_type': 'Delivery Note Item',
+		'add_col': u"SUM(`tabDelivery Note Item`.`qty` - `tabDelivery Note Item`.`billed_qty`) AS 'Pending Qty'\nSUM((`tabDelivery Note Item`.`qty` - `tabDelivery Note Item`.`billed_qty`) * `tabDelivery Note Item`.`basic_rate`) AS 'Pending Amount'",
+		'add_cond': u"`tabDelivery Note`.status != 'Stopped'\nCASE WHEN `tabDelivery Note`.`per_billed` IS NULL OR `tabDelivery Note`.per_billed = '' THEN 0 < 100 ELSE `tabDelivery Note`.per_billed <100 END",
+		'columns': u'Delivery Note\x01ID,Delivery Note\x01Owner,Delivery Note\x01Status,Delivery Note\x01Customer Name,Delivery Note\x01Voucher Date,Delivery Note\x01% Billed,Delivery Note\x01Posting Date,Delivery Note\x01Company Name,Delivery Note\x01Fiscal Year,Delivery Note Item\x01Item Code,Delivery Note Item\x01Against Document No,Delivery Note Item\x01Document Type,Delivery Note Item\x01Against Document Detail No',
+		'criteria_name': u'Delivery Note Itemwise Pending To Bill',
+		'doc_type': u'Delivery Note Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Delivery Note\x01Saved':1,'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'','Delivery Note\x01Company Name':'','Delivery Note\x01Fiscal Year':''}",
-		'group_by': '`tabDelivery Note Item`.item_code, `tabDelivery Note`.`name`',
-		'module': 'Selling',
+		'filters': u"{'Delivery Note\x01Saved':1,'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'','Delivery Note\x01Company Name':'','Delivery Note\x01Fiscal Year':''}",
+		'group_by': u'`tabDelivery Note Item`.item_code, `tabDelivery Note`.`name`',
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Delivery Note',
-		'sort_by': '`tabDelivery Note`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Delivery Note',
+		'sort_by': u'`tabDelivery Note`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, delivery_note_itemwise_pending_to_bill
 	{
 		'doctype': 'Search Criteria',
-		'name': 'delivery_note_itemwise_pending_to_bill'
+		'name': u'delivery_note_itemwise_pending_to_bill'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/follow_up_report/follow_up_report.js b/erpnext/selling/search_criteria/follow_up_report/follow_up_report.js
index e0e2215..2126d0b 100644
--- a/erpnext/selling/search_criteria/follow_up_report/follow_up_report.js
+++ b/erpnext/selling/search_criteria/follow_up_report/follow_up_report.js
@@ -19,14 +19,14 @@
   this.mytabs.items['More Filters'].hide()
   
   this.hide_all_filters();
-  this.add_filter({fieldname:'follow_up_on', label:'Follow up on', fieldtype:'Select', options:''+NEWLINE+'Lead'+NEWLINE+'Opportunity'+NEWLINE+'Quotation',ignore : 1,parent:'Follow up', in_first_page : 1, single_select :1});
+  this.add_filter({fieldname:'follow_up_on', label:'Communication on', fieldtype:'Select', options:''+NEWLINE+'Lead'+NEWLINE+'Opportunity'+NEWLINE+'Quotation',ignore : 1,parent:'Communication Log', in_first_page : 1, single_select :1});
   this.add_filter({fieldname:'lead_name', label:'Lead', fieldtype:'Link', options:'Lead', report_default:'', ignore : 1, parent:'Communication Log', in_first_page : 1});
   this.add_filter({fieldname:'enq_name', label:'Opportunity', fieldtype:'Link', options:'Opportunity', report_default:'', ignore : 1, parent:'Communication Log', in_first_page : 1});
   this.add_filter({fieldname:'qtn_name', label:'Quotation', fieldtype:'Link', options:'Quotation', report_default:'', ignore : 1, parent:'Communication Log', in_first_page : 1});
   
-  this.get_filter('Follow up', 'Follow up type').set_as_single();
-  this.set_filter_properties('Follow up', 'Follow up by', {filter_hide:0, in_first_page : 1});
-  this.set_filter_properties('Follow up', 'Follow up type', {filter_hide:0, in_first_page : 1});
+  this.get_filter('Communication Log', 'Communication type').set_as_single();
+  this.set_filter_properties('Communication Log', 'Communication by', {filter_hide:0, in_first_page : 1});
+  this.set_filter_properties('Communication Log', 'Communication type', {filter_hide:0, in_first_page : 1});
   this.set_filter_properties('Communication Log', 'From Date', {filter_hide:0, in_first_page : 1});
   this.set_filter_properties('Communication Log', 'To Date', {filter_hide:0, in_first_page : 1});
 
@@ -39,10 +39,10 @@
   var enq_id = this.filter_fields_dict['Communication Log'+FILTER_SEP+'Opportunity'].get_value();
   var quo_id = this.filter_fields_dict['Communication Log'+FILTER_SEP+'Quotation'].get_value();
 
-  var follow_up_on = this.filter_fields_dict['Follow up'+FILTER_SEP+'Follow up on'].get_value();
-  var follow_up_by = this.filter_fields_dict['Follow up'+FILTER_SEP+'Follow up by'].get_value();
+  var follow_up_on = this.filter_fields_dict['Communication Log'+FILTER_SEP+'Communication on'].get_value();
+  var follow_up_by = this.filter_fields_dict['Communication Log'+FILTER_SEP+'Communication by'].get_value();
 
-  var on_type = this.filter_fields_dict['Follow up'+FILTER_SEP+'Follow up type'].get_value();
+  var on_type = this.filter_fields_dict['Communication Log'+FILTER_SEP+'Communication type'].get_value();
   var from_date = this.filter_fields_dict['Communication Log'+FILTER_SEP+'From Date'].get_value();
   var to_date = this.filter_fields_dict['Communication Log'+FILTER_SEP+'To Date'].get_value();
   
diff --git a/erpnext/selling/search_criteria/follow_up_report/follow_up_report.txt b/erpnext/selling/search_criteria/follow_up_report/follow_up_report.txt
index e4dec13..d4ab9bf 100644
--- a/erpnext/selling/search_criteria/follow_up_report/follow_up_report.txt
+++ b/erpnext/selling/search_criteria/follow_up_report/follow_up_report.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-08-12 16:33:19',
-		'modified_by': 'Administrator',
-		'owner': 'ashwini@webnotestech.com'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'ashwini@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Lead\x01ID,Communication Log\x01Date,Communication Log\x01Notes,Communication Log\x01Communication Log type',
-		'criteria_name': 'Follow-up Report',
-		'doc_type': 'Communication Log',
+		'columns': u'Lead\x01ID,Communication Log\x01Date,Communication Log\x01Notes,Communication Log\x01Communication Log type',
+		'criteria_name': u'Follow-up Report',
+		'doc_type': u'Communication Log',
 		'doctype': 'Search Criteria',
-		'filters': "{'Lead\x01Status':'','Lead\x01Source':'','Lead\x01Lead Type':'','Lead\x01Rating':'','Lead\x01Market Segment':'','Lead\x01Fiscal Year':''}",
-		'module': 'Selling',
+		'filters': u"{'Lead\x01Status':'','Lead\x01Source':'','Lead\x01Lead Type':'','Lead\x01Rating':'','Lead\x01Market Segment':'','Lead\x01Fiscal Year':''}",
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Lead',
-		'sort_by': '`tabLead`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Lead',
+		'sort_by': u'`tabLead`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, follow-up_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'follow-up_report'
+		'name': u'follow-up_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/gross_profit/gross_profit.txt b/erpnext/selling/search_criteria/gross_profit/gross_profit.txt
index f1209a8..7e6b71f 100644
--- a/erpnext/selling/search_criteria/gross_profit/gross_profit.txt
+++ b/erpnext/selling/search_criteria/gross_profit/gross_profit.txt
@@ -3,33 +3,33 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:21',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-11-10 12:39:03',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Delivery Note\x01ID,Delivery Note\x01Posting Date,Delivery Note\x01Posting Time,Delivery Note Item\x01Item Code,Delivery Note Item\x01Item Name,Delivery Note Item\x01Description,Delivery Note\x01Project Name,Delivery Note Item\x01Quantity,Delivery Note Item\x01Rate*,Delivery Note Item\x01Amount*',
-		'criteria_name': 'Gross Profit',
-		'description': 'Invoice wise',
-		'doc_type': 'Delivery Note Item',
+		'columns': u'Delivery Note\x01ID,Delivery Note\x01Posting Date,Delivery Note\x01Posting Time,Delivery Note Item\x01Item Code,Delivery Note Item\x01Item Name,Delivery Note Item\x01Description,Delivery Note\x01Project Name,Delivery Note Item\x01Quantity,Delivery Note Item\x01Rate*,Delivery Note Item\x01Amount*',
+		'criteria_name': u'Gross Profit',
+		'description': u'Invoice wise',
+		'doc_type': u'Delivery Note Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'','Delivery Note\x01Fiscal Year':''}",
-		'module': 'Selling',
+		'filters': u"{'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'','Delivery Note\x01Fiscal Year':''}",
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Delivery Note',
-		'sort_by': '`tabDelivery Note`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Delivery Note',
+		'sort_by': u'`tabDelivery Note`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, gross_profit
 	{
 		'doctype': 'Search Criteria',
-		'name': 'gross_profit'
+		'name': u'gross_profit'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.txt b/erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.txt
index 9af1678..8c63609 100644
--- a/erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.txt
+++ b/erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-11-10 15:04:43',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-10-26 09:10:53',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Delivery Note\x01ID,Delivery Note Item\x01Item Code,Delivery Note Item\x01Item Name,Delivery Note Item\x01Quantity,Delivery Note Item\x01Rate*,Delivery Note Item\x01Amount*,Delivery Note Item\x01Billed Qty,Delivery Note\x01Company',
-		'criteria_name': 'Itemwise Delivery Details',
-		'doc_type': 'Delivery Note Item',
+		'columns': u'Delivery Note\x01ID,Delivery Note Item\x01Item Code,Delivery Note Item\x01Item Name,Delivery Note Item\x01Quantity,Delivery Note Item\x01Rate*,Delivery Note Item\x01Amount*,Delivery Note Item\x01Billed Qty,Delivery Note\x01Company',
+		'criteria_name': u'Itemwise Delivery Details',
+		'doc_type': u'Delivery Note Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'','Delivery Note\x01From Voucher Date\x01lower':'','Delivery Note\x01To Voucher Date\x01upper':'','Delivery Note\x01Fiscal Year':''}",
-		'module': 'Selling',
+		'filters': u"{'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'','Delivery Note\x01From Voucher Date\x01lower':'','Delivery Note\x01To Voucher Date\x01upper':'','Delivery Note\x01Fiscal Year':''}",
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Delivery Note',
-		'sort_by': '`tabDelivery Note`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Delivery Note',
+		'sort_by': u'`tabDelivery Note`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, itemwise_delivery_details
 	{
 		'doctype': 'Search Criteria',
-		'name': 'itemwise_delivery_details'
+		'name': u'itemwise_delivery_details'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.txt b/erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.txt
index 8d586e7..42ef2a7 100644
--- a/erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.txt
+++ b/erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-08-30 12:22:47',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Sales Order\x01ID,Sales Order\x01Customer,Sales Order Item\x01Item Code,Sales Order Item\x01Item Name,Sales Order Item\x01Quantity,Sales Order Item\x01Basic Rate*,Sales Order Item\x01Amount*,Sales Order Item\x01Delivered Qty,Sales Order Item\x01Billed Qty,Sales Order\x01Company',
-		'criteria_name': 'Itemwise Sales Details',
-		'doc_type': 'Sales Order Item',
+		'columns': u'Sales Order\x01ID,Sales Order\x01Customer,Sales Order Item\x01Item Code,Sales Order Item\x01Item Name,Sales Order Item\x01Quantity,Sales Order Item\x01Basic Rate*,Sales Order Item\x01Amount*,Sales Order Item\x01Delivered Qty,Sales Order Item\x01Billed Qty,Sales Order\x01Company',
+		'criteria_name': u'Itemwise Sales Details',
+		'doc_type': u'Sales Order Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Submitted':1,'Sales Order\x01Status':'','Sales Order\x01Fiscal Year':''}",
-		'module': 'Selling',
+		'filters': u"{'Sales Order\x01Submitted':1,'Sales Order\x01Status':'','Sales Order\x01Fiscal Year':''}",
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Sales Order',
-		'sort_by': '`tabSales Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Sales Order',
+		'sort_by': u'`tabSales Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, itemwise_sales_details
 	{
 		'doctype': 'Search Criteria',
-		'name': 'itemwise_sales_details'
+		'name': u'itemwise_sales_details'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.txt b/erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.txt
index 51733dc..5fb0a53 100644
--- a/erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.txt
+++ b/erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.txt
@@ -3,36 +3,36 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-06-07 15:19:13',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': "month(`tabDelivery Note`.posting_date) AS 'Sales Month'\nsum(`tabDelivery Note`.net_total) AS 'Total Despatched'",
-		'add_cond': '`tabDelivery Note`.net_total > 10',
-		'criteria_name': 'Monthly Despatched Trend',
-		'description': 'Monthly Despatched Trend',
-		'doc_type': 'Delivery Note',
+		'add_col': u"month(`tabDelivery Note`.posting_date) AS 'Sales Month'\nsum(`tabDelivery Note`.net_total) AS 'Total Despatched'",
+		'add_cond': u'`tabDelivery Note`.net_total > 10',
+		'criteria_name': u'Monthly Despatched Trend',
+		'description': u'Monthly Despatched Trend',
+		'doc_type': u'Delivery Note',
 		'doctype': 'Search Criteria',
-		'filters': "{'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'','Delivery Note\x01Chargeable':'Yes','Delivery Note\x01Department':'','Delivery Note\x01Type':'','Delivery Note\x01Company Name':'Janak Healthcare Pvt Ltd','Delivery Note\x01Fiscal Year':'2009-2010'}",
-		'graph_series': 'Despatched Month',
-		'graph_values': 'Total Despatched',
-		'group_by': 'month(`tabDelivery Note`.Posting_date)',
-		'module': 'Selling',
+		'filters': u"{'Delivery Note\x01Submitted':1,'Delivery Note\x01Status':'','Delivery Note\x01Chargeable':'Yes','Delivery Note\x01Department':'','Delivery Note\x01Type':'','Delivery Note\x01Company Name':'Janak Healthcare Pvt Ltd','Delivery Note\x01Fiscal Year':'2009-2010'}",
+		'graph_series': u'Despatched Month',
+		'graph_values': u'Total Despatched',
+		'group_by': u'month(`tabDelivery Note`.Posting_date)',
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`Sales Month`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`Sales Month`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, monthly_despatched_trend
 	{
 		'doctype': 'Search Criteria',
-		'name': 'monthly_despatched_trend'
+		'name': u'monthly_despatched_trend'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/sales_orderwise_booking_&_delivery_summary.txt b/erpnext/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/sales_orderwise_booking_&_delivery_summary.txt
index 6ffb249..669bb63 100644
--- a/erpnext/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/sales_orderwise_booking_&_delivery_summary.txt
+++ b/erpnext/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/sales_orderwise_booking_&_delivery_summary.txt
@@ -3,35 +3,35 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-08-30 12:48:21',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': "SUM(CASE WHEN `tabSales Order`.`status` = 'Stopped' THEN (`tabSales Order Item`.`delivered_qty` * `tabSales Order Item`.`basic_rate`) ELSE (`tabSales Order Item`.`qty` * `tabSales Order Item`.`basic_rate`) END) AS 'Booking Total'\nSUM(`tabSales Order Item`.`delivered_qty` * `tabSales Order Item`.`basic_rate`) AS 'Delivered Amount'",
-		'columns': 'Sales Order\x01ID,Sales Order\x01Status,Sales Order\x01% Billed,Sales Order\x01Sales Order Date,Sales Order\x01Customer,Sales Order\x01Customer Name,Sales Order\x01Territory',
-		'criteria_name': 'Sales Orderwise Booking & Delivery Summary',
-		'description': 'Sales Orderwise Booking & Delivery Summary',
-		'doc_type': 'Sales Order Item',
+		'add_col': u"SUM(CASE WHEN `tabSales Order`.`status` = 'Stopped' THEN (`tabSales Order Item`.`delivered_qty` * `tabSales Order Item`.`basic_rate`) ELSE (`tabSales Order Item`.`qty` * `tabSales Order Item`.`basic_rate`) END) AS 'Booking Total'\nSUM(`tabSales Order Item`.`delivered_qty` * `tabSales Order Item`.`basic_rate`) AS 'Delivered Amount'",
+		'columns': u'Sales Order\x01ID,Sales Order\x01Status,Sales Order\x01% Billed,Sales Order\x01Sales Order Date,Sales Order\x01Customer,Sales Order\x01Customer Name,Sales Order\x01Territory',
+		'criteria_name': u'Sales Orderwise Booking & Delivery Summary',
+		'description': u'Sales Orderwise Booking & Delivery Summary',
+		'doc_type': u'Sales Order Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Submitted':1,'Sales Order\x01Status':'','Sales Order\x01Fiscal Year':''}",
-		'group_by': '`tabSales Order`.`name`',
-		'module': 'Selling',
+		'filters': u"{'Sales Order\x01Submitted':1,'Sales Order\x01Status':'','Sales Order\x01Fiscal Year':''}",
+		'group_by': u'`tabSales Order`.`name`',
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Sales Order',
-		'sort_by': '`tabSales Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Sales Order',
+		'sort_by': u'`tabSales Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, sales_orderwise_booking_&_delivery_summary
 	{
 		'doctype': 'Search Criteria',
-		'name': 'sales_orderwise_booking_&_delivery_summary'
+		'name': u'sales_orderwise_booking_&_delivery_summary'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.txt b/erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.txt
index e66c082..936309a 100644
--- a/erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.txt
+++ b/erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.txt
@@ -3,36 +3,36 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-03-30 11:03:20',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2011-03-29 14:06:13',
-		'modified_by': 'Administrator',
-		'owner': 'dhanalekshmi@webnotestech.com'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'dhanalekshmi@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': 'SUM((`tabSales Order Item`.`qty` - ifnull(`tabSales Order Item`.`billed_qty`, 0)) * `tabSales Order Item`.`basic_rate`) AS "Pending Amount"',
-		'add_cond': '`tabSales Order`.status != "Stopped"\n`tabSales Order`.order_type!="Maintenance"',
-		'columns': 'Sales Order\x01ID,Sales Order\x01Customer,Sales Order\x01Customer Address,Sales Order\x01Status,Sales Order\x01%  Delivered,Sales Order\x01% Billed,Sales Order\x01Company Name,Sales Order\x01Sales Order Date,Sales Order\x01Net Total,Sales Order\x01Zone,Sales Order\x01Territory,Sales Order\x01Email Id',
-		'criteria_name': 'Sales Orderwise Pending Amount To Bill',
-		'description': 'Sales Orderwise Pending Amount To Bill',
-		'doc_type': 'Sales Order Item',
+		'add_col': u'SUM((`tabSales Order Item`.`qty` - ifnull(`tabSales Order Item`.`billed_qty`, 0)) * `tabSales Order Item`.`basic_rate`) AS "Pending Amount"',
+		'add_cond': u'`tabSales Order`.status != "Stopped"\n`tabSales Order`.order_type!="Maintenance"',
+		'columns': u'Sales Order\x01ID,Sales Order\x01Customer,Sales Order\x01Customer Address,Sales Order\x01Status,Sales Order\x01%  Delivered,Sales Order\x01% Billed,Sales Order\x01Company Name,Sales Order\x01Sales Order Date,Sales Order\x01Net Total,Sales Order\x01Zone,Sales Order\x01Territory,Sales Order\x01Email Id',
+		'criteria_name': u'Sales Orderwise Pending Amount To Bill',
+		'description': u'Sales Orderwise Pending Amount To Bill',
+		'doc_type': u'Sales Order Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Company Name':'','Sales Order\x01Fiscal Year':''}",
-		'group_by': '`tabSales Order`.`name`',
-		'module': 'Selling',
+		'filters': u"{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Company Name':'','Sales Order\x01Fiscal Year':''}",
+		'group_by': u'`tabSales Order`.`name`',
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Sales Order',
-		'sort_by': '`tabSales Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Sales Order',
+		'sort_by': u'`tabSales Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, sales_orderwise_pending_amount_to_bill
 	{
 		'doctype': 'Search Criteria',
-		'name': 'sales_orderwise_pending_amount_to_bill'
+		'name': u'sales_orderwise_pending_amount_to_bill'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/sales_orderwise_pending_qty_to_deliver.txt b/erpnext/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/sales_orderwise_pending_qty_to_deliver.txt
index b089c64..ad37ce6 100644
--- a/erpnext/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/sales_orderwise_pending_qty_to_deliver.txt
+++ b/erpnext/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/sales_orderwise_pending_qty_to_deliver.txt
@@ -3,36 +3,36 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-03-30 11:03:20',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2011-03-29 14:02:58',
-		'modified_by': 'Administrator',
-		'owner': 'dhanalekshmi@webnotestech.com'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'dhanalekshmi@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': 'SUM(`tabSales Order Item`.`qty` - ifnull(`tabSales Order Item`.`delivered_qty`, 0)) AS "Pending Qty"',
-		'add_cond': '`tabSales Order`.status != "Stopped"\n`tabSales Order Item`.`qty` > ifnull(`tabSales Order Item`.`delivered_qty`, 0)',
-		'columns': 'Sales Order\x01ID,Sales Order\x01Customer,Sales Order\x01Customer Name,Sales Order\x01Customer Address,Sales Order\x01Status,Sales Order\x01%  Delivered,Sales Order\x01% Billed,Sales Order\x01Sales Order Date,Sales Order\x01Territory,Sales Order\x01Email Id',
-		'criteria_name': 'Sales Orderwise Pending Qty To Deliver',
-		'description': 'Sales Orderwise Pending Qty To Deliver',
-		'doc_type': 'Sales Order Item',
+		'add_col': u'SUM(`tabSales Order Item`.`qty` - ifnull(`tabSales Order Item`.`delivered_qty`, 0)) AS "Pending Qty"',
+		'add_cond': u'`tabSales Order`.status != "Stopped"\n`tabSales Order Item`.`qty` > ifnull(`tabSales Order Item`.`delivered_qty`, 0)',
+		'columns': u'Sales Order\x01ID,Sales Order\x01Customer,Sales Order\x01Customer Name,Sales Order\x01Customer Address,Sales Order\x01Status,Sales Order\x01%  Delivered,Sales Order\x01% Billed,Sales Order\x01Sales Order Date,Sales Order\x01Territory,Sales Order\x01Email Id',
+		'criteria_name': u'Sales Orderwise Pending Qty To Deliver',
+		'description': u'Sales Orderwise Pending Qty To Deliver',
+		'doc_type': u'Sales Order Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Status':'','Sales Order\x01Fiscal Year':''}",
-		'group_by': '`tabSales Order`.`name`',
-		'module': 'Selling',
+		'filters': u"{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Status':'','Sales Order\x01Fiscal Year':''}",
+		'group_by': u'`tabSales Order`.`name`',
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Sales Order',
-		'sort_by': '`tabSales Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Sales Order',
+		'sort_by': u'`tabSales Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, sales_orderwise_pending_qty_to_deliver
 	{
 		'doctype': 'Search Criteria',
-		'name': 'sales_orderwise_pending_qty_to_deliver'
+		'name': u'sales_orderwise_pending_qty_to_deliver'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.txt b/erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.txt
index ec2b338..a98260a 100644
--- a/erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.txt
+++ b/erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-10-12 15:19:31',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-09-25 17:22:58',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'criteria_name': 'Sales Persons Target Variance (Item Group wise)',
-		'doc_type': 'Target Detail',
+		'criteria_name': u'Sales Persons Target Variance (Item Group wise)',
+		'doc_type': u'Target Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Person\x01Country':'','Sales Person\x01State':'','Target Detail\x01Fiscal Year':''}",
-		'module': 'Selling',
+		'filters': u"{'Sales Person\x01Country':'','Sales Person\x01State':'','Target Detail\x01Fiscal Year':''}",
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Sales Person',
-		'sort_by': '`tabTarget Detail`.`target_amount`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Sales Person',
+		'sort_by': u'`tabTarget Detail`.`target_amount`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, sales_persons_target_variance_item_group_wise
 	{
 		'doctype': 'Search Criteria',
-		'name': 'sales_persons_target_variance_item_group_wise'
+		'name': u'sales_persons_target_variance_item_group_wise'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.txt b/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.txt
index 2e53d6f..815adc4 100755
--- a/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.txt
+++ b/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-06-08 11:00:34',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2011-02-24 17:35:32',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Sales Person\x01ID',
-		'criteria_name': 'Sales Personwise Transaction Summary',
-		'doc_type': 'Sales Person',
+		'columns': u'Sales Person\x01ID',
+		'criteria_name': u'Sales Personwise Transaction Summary',
+		'doc_type': u'Sales Person',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Person\x01Saved':1,'Sales Person\x01Submitted':1,'Sales Person\x01Country':'','Sales Person\x01State':''}",
-		'module': 'Selling',
+		'filters': u"{'Sales Person\x01Saved':1,'Sales Person\x01Submitted':1,'Sales Person\x01Country':'','Sales Person\x01State':''}",
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSales Person`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSales Person`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, sales_personwise_transaction_summary
 	{
 		'doctype': 'Search Criteria',
-		'name': 'sales_personwise_transaction_summary'
+		'name': u'sales_personwise_transaction_summary'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/target_variance_report/target_variance_report.txt b/erpnext/selling/search_criteria/target_variance_report/target_variance_report.txt
index 7ffe1f3..84ea8eb 100644
--- a/erpnext/selling/search_criteria/target_variance_report/target_variance_report.txt
+++ b/erpnext/selling/search_criteria/target_variance_report/target_variance_report.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:32',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-06-23 12:27:37',
-		'modified_by': 'Administrator',
-		'owner': 'harshada@webnotestech.com'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'harshada@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Sales Person\x01ID,Sales Person\x01Owner,Sales Person\x01Sales Person,Sales Person\x01Country,Sales Person\x01State,Target Detail\x01Item Group,Target Detail\x01Fiscal Year,Target Detail\x01Target  Amount',
-		'criteria_name': 'Target Variance Report',
+		'columns': u'Sales Person\x01ID,Sales Person\x01Owner,Sales Person\x01Sales Person,Sales Person\x01Country,Sales Person\x01State,Target Detail\x01Item Group,Target Detail\x01Fiscal Year,Target Detail\x01Target  Amount',
+		'criteria_name': u'Target Variance Report',
 		'disabled': 0,
-		'doc_type': 'Target Detail',
+		'doc_type': u'Target Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Person\x01Saved':1,'Sales Person\x01Submitted':1,'Sales Person\x01Country':'','Sales Person\x01State':'','Target Detail\x01Fiscal Year':''}",
-		'module': 'Selling',
+		'filters': u"{'Sales Person\x01Saved':1,'Sales Person\x01Submitted':1,'Sales Person\x01Country':'','Sales Person\x01State':'','Target Detail\x01Fiscal Year':''}",
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Sales Person',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Sales Person',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, target_variance_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'target_variance_report'
+		'name': u'target_variance_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.txt b/erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.txt
index 827230a..f98b780 100644
--- a/erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.txt
+++ b/erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:21',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-11-25 13:18:22',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'criteria_name': 'Territories Target Variance (Item Group wise)',
-		'doc_type': 'Target Detail',
+		'criteria_name': u'Territories Target Variance (Item Group wise)',
+		'doc_type': u'Target Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Person\x01Country':'','Sales Person\x01State':'','Target Detail\x01Fiscal Year':''}",
-		'module': 'Selling',
+		'filters': u"{'Sales Person\x01Country':'','Sales Person\x01State':'','Target Detail\x01Fiscal Year':''}",
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Sales Person',
-		'sort_by': '`tabTarget Detail`.`target_amount`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Sales Person',
+		'sort_by': u'`tabTarget Detail`.`target_amount`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, territories_target_variance_item_group_wise
 	{
 		'doctype': 'Search Criteria',
-		'name': 'territories_target_variance_item_group_wise'
+		'name': u'territories_target_variance_item_group_wise'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.txt b/erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.txt
index 9344df2..2272795 100644
--- a/erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.txt
+++ b/erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-03-30 16:48:42',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Territory\x01ID',
-		'criteria_name': 'Territory Sales - Variance Report',
-		'doc_type': 'Territory',
+		'columns': u'Territory\x01ID',
+		'criteria_name': u'Territory Sales - Variance Report',
+		'doc_type': u'Territory',
 		'doctype': 'Search Criteria',
-		'filters': "{'Territory\x01State':'','Territory\x01Based On':'Sales Order','Territory\x01Fiscal Year':'2009-2010','Territory\x01Company':'Alpha Company','Territory\x01Period':'Quarterly'}",
-		'module': 'Selling',
+		'filters': u"{'Territory\x01State':'','Territory\x01Based On':'Sales Order','Territory\x01Fiscal Year':'2009-2010','Territory\x01Company':'Alpha Company','Territory\x01Period':'Quarterly'}",
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': 'ID',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'ID',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, territory_sales_-_variance_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'territory_sales_-_variance_report'
+		'name': u'territory_sales_-_variance_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.txt b/erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.txt
index 6d679c3..8783e1f 100644
--- a/erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.txt
+++ b/erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:21',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-11-30 15:15:34',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Sales Person\x01ID,Sales Person\x01Owner,Sales Person\x01Sales Person,Sales Person\x01Country,Sales Person\x01State,Sales Person\x01lft,Sales Person\x01rgt,Target Detail\x01Item Group,Target Detail\x01Fiscal Year,Target Detail\x01Target  Amount',
-		'criteria_name': 'Total Target Variance Report',
-		'doc_type': 'Target Detail',
+		'columns': u'Sales Person\x01ID,Sales Person\x01Owner,Sales Person\x01Sales Person,Sales Person\x01Country,Sales Person\x01State,Sales Person\x01lft,Sales Person\x01rgt,Target Detail\x01Item Group,Target Detail\x01Fiscal Year,Target Detail\x01Target  Amount',
+		'criteria_name': u'Total Target Variance Report',
+		'doc_type': u'Target Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Person\x01Saved':1,'Sales Person\x01Submitted':1,'Sales Person\x01Country':'','Sales Person\x01State':'','Target Detail\x01Fiscal Year':''}",
-		'module': 'Selling',
+		'filters': u"{'Sales Person\x01Saved':1,'Sales Person\x01Submitted':1,'Sales Person\x01Country':'','Sales Person\x01State':'','Target Detail\x01Fiscal Year':''}",
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Sales Person',
-		'sort_by': '`tabSales Person`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Sales Person',
+		'sort_by': u'`tabSales Person`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, total_target_variance_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'total_target_variance_report'
+		'name': u'total_target_variance_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/variance_report/variance_report.txt b/erpnext/selling/search_criteria/variance_report/variance_report.txt
index 9e3cbb3..fc044c0 100644
--- a/erpnext/selling/search_criteria/variance_report/variance_report.txt
+++ b/erpnext/selling/search_criteria/variance_report/variance_report.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:31',
+		'creation': '2012-03-30 14:50:45',
 		'docstatus': 0,
-		'modified': '2010-05-05 11:13:12',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:45',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'criteria_name': 'Variance Report',
-		'doc_type': 'Target Detail',
+		'criteria_name': u'Variance Report',
+		'doc_type': u'Target Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Territory\x01State':'','Target Detail\x01Fiscal Year':'2009-2010','Target Detail\x01Based On':'Territory','Target Detail\x01Company':'Alpha Company','Target Detail\x01Period':'Quarterly','Target Detail\x01Under':'Sales Order'}",
-		'module': 'Selling',
+		'filters': u"{'Territory\x01State':'','Target Detail\x01Fiscal Year':'2009-2010','Target Detail\x01Based On':'Territory','Target Detail\x01Company':'Alpha Company','Target Detail\x01Period':'Quarterly','Target Detail\x01Under':'Sales Order'}",
+		'module': u'Selling',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Territory',
-		'sort_by': 'ID',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Territory',
+		'sort_by': u'ID',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, variance_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'variance_report'
+		'name': u'variance_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.txt b/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.txt
index 57b8364..09d71f4 100644
--- a/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.txt
+++ b/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.txt
@@ -157,7 +157,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms',
 		'fieldtype': u'Text Editor',
-		'label': u'Terms',
+		'label': u'Terms and Conditions',
 		'oldfieldname': u'terms',
 		'oldfieldtype': u'Text Editor',
 		'permlevel': 0
diff --git a/erpnext/setup/page/webforms/webforms.js b/erpnext/setup/page/webforms/webforms.js
index b95b32a..85caadf 100644
--- a/erpnext/setup/page/webforms/webforms.js
+++ b/erpnext/setup/page/webforms/webforms.js
@@ -36,7 +36,7 @@
       lead_dv.innerHTML = '&lt;iframe src ="'+url+'?ac_name='+acc_id+'&embed=Lead" width ="400" height="800" frameborder="0"&gt;&lt;/iframe&gt;';
       cust_issue_dv.innerHTML = '&lt;iframe src ="'+url+'?ac_name='+acc_id+'&embed=Customer Issue" width ="400" height="500" frameborder="0"&gt;&lt;/iframe&gt;';
       job_dv.innerHTML = '&lt;iframe src ="'+url+'?ac_name='+acc_id+'&embed=Job Application"  width ="400" height="800" frameborder="0""&gt;&lt;/iframe&gt;';
-      ticket_dv.innerHTML = '&lt;iframe src ="'+url+'?ac_name='+acc_id+'&embed=Support Task"  width ="400" height="800" frameborder="0""&gt;&lt;/iframe&gt;';
+      ticket_dv.innerHTML = '&lt;iframe src ="'+url+'?ac_name='+acc_id+'&embed=Support Ticket"  width ="400" height="800" frameborder="0""&gt;&lt;/iframe&gt;';
     }
   }); 
 }
diff --git a/erpnext/stock/DocType Mapper/Sales Invoice-Delivery Note/Sales Invoice-Delivery Note.txt b/erpnext/stock/DocType Mapper/Sales Invoice-Delivery Note/Sales Invoice-Delivery Note.txt
index 4f9e97a..a09e0cf 100755
--- a/erpnext/stock/DocType Mapper/Sales Invoice-Delivery Note/Sales Invoice-Delivery Note.txt
+++ b/erpnext/stock/DocType Mapper/Sales Invoice-Delivery Note/Sales Invoice-Delivery Note.txt
@@ -3,167 +3,167 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 17:56:41',
+		'creation': '2010-12-15 08:40:46',
 		'docstatus': 0,
-		'modified': '2011-09-15 15:04:44',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
+		'doctype': u'Table Mapper Detail',
 		'name': '__common__',
-		'parent': 'Sales Invoice-Delivery Note',
-		'parentfield': 'table_mapper_details',
-		'parenttype': 'DocType Mapper'
+		'parent': u'Sales Invoice-Delivery Note',
+		'parentfield': u'table_mapper_details',
+		'parenttype': u'DocType Mapper'
 	},
 
 	# These values are common for all Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
+		'doctype': u'Field Mapper Detail',
 		'name': '__common__',
-		'parent': 'Sales Invoice-Delivery Note',
-		'parentfield': 'field_mapper_details',
-		'parenttype': 'DocType Mapper'
+		'parent': u'Sales Invoice-Delivery Note',
+		'parentfield': u'field_mapper_details',
+		'parenttype': u'DocType Mapper'
 	},
 
 	# These values are common for all DocType Mapper
 	{
 		'doctype': u'DocType Mapper',
-		'from_doctype': 'Sales Invoice',
-		'module': 'Stock',
+		'from_doctype': u'Sales Invoice',
+		'module': u'Stock',
 		'name': '__common__',
 		'ref_doc_submitted': 1,
-		'to_doctype': 'Delivery Note'
+		'to_doctype': u'Delivery Note'
 	},
 
 	# DocType Mapper, Sales Invoice-Delivery Note
 	{
 		'doctype': u'DocType Mapper',
-		'name': 'Sales Invoice-Delivery Note'
+		'name': u'Sales Invoice-Delivery Note'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'eval: flt(obj.qty) - flt(obj.delivered_qty)',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'eval: flt(obj.qty) - flt(obj.delivered_qty)',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'qty'
+		'to_field': u'qty'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'parent',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'parent',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'prevdoc_docname'
+		'to_field': u'prevdoc_docname'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'parenttype',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'parenttype',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'prevdoc_doctype'
+		'to_field': u'prevdoc_doctype'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'name',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'name',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'prevdoc_detail_docname'
+		'to_field': u'prevdoc_detail_docname'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'eval: (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.basic_rate)',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'eval: (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.basic_rate)',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'amount'
+		'to_field': u'amount'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'eval: (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.export_rate)',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'eval: (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.export_rate)',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'export_amount'
+		'to_field': u'export_amount'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'naming_series',
-		'map': 'No',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'naming_series',
+		'map': u'No',
 		'match_id': 0,
-		'to_field': 'naming_series'
+		'to_field': u'naming_series'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'customer_address',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'customer_address',
+		'map': u'Yes',
 		'match_id': 0,
-		'to_field': 'delivery_address'
+		'to_field': u'delivery_address'
 	},
 
 	# Field Mapper Detail
 	{
-		'doctype': 'Field Mapper Detail',
-		'from_field': 'serial_no',
-		'map': 'Yes',
+		'doctype': u'Field Mapper Detail',
+		'from_field': u'serial_no',
+		'map': u'Yes',
 		'match_id': 1,
-		'to_field': 'serial_no'
+		'to_field': u'serial_no'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_table': 'Sales Invoice',
+		'doctype': u'Table Mapper Detail',
+		'from_table': u'Sales Invoice',
 		'match_id': 0,
-		'to_table': 'Delivery Note',
-		'validation_logic': 'docstatus=1'
+		'to_table': u'Delivery Note',
+		'validation_logic': u'docstatus=1'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_field': 'entries',
-		'from_table': 'Sales Invoice Item',
+		'doctype': u'Table Mapper Detail',
+		'from_field': u'entries',
+		'from_table': u'Sales Invoice Item',
 		'match_id': 1,
-		'to_field': 'delivery_note_details',
-		'to_table': 'Delivery Note Item',
-		'validation_logic': 'docstatus = 1'
+		'to_field': u'delivery_note_details',
+		'to_table': u'Delivery Note Item',
+		'validation_logic': u'docstatus = 1'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_field': 'other_charges',
-		'from_table': 'Sales Taxes and Charges',
+		'doctype': u'Table Mapper Detail',
+		'from_field': u'other_charges',
+		'from_table': u'Sales Taxes and Charges',
 		'match_id': 2,
-		'to_field': 'other_charges',
-		'to_table': 'Sales Taxes and Charges',
-		'validation_logic': 'name is not null'
+		'to_field': u'other_charges',
+		'to_table': u'Sales Taxes and Charges',
+		'validation_logic': u'name is not null'
 	},
 
 	# Table Mapper Detail
 	{
-		'doctype': 'Table Mapper Detail',
-		'from_field': 'sales_team',
-		'from_table': 'Sales Team',
+		'doctype': u'Table Mapper Detail',
+		'from_field': u'sales_team',
+		'from_table': u'Sales Team',
 		'match_id': 3,
-		'to_field': 'sales_team',
-		'to_table': 'Sales Team',
-		'validation_logic': 'name is not null'
+		'to_field': u'sales_team',
+		'to_table': u'Sales Team',
+		'validation_logic': u'name is not null'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/stock/doctype/bin/bin.py b/erpnext/stock/doctype/bin/bin.py
index c804626..2499f91 100644
--- a/erpnext/stock/doctype/bin/bin.py
+++ b/erpnext/stock/doctype/bin/bin.py
@@ -378,7 +378,7 @@
 		""" Notify user about auto creation of indent"""
 
 		email_list=[d for d in sql("select parent from tabUserRole where role in ('Purchase Manager','Material Manager') ")]
-		msg1='An Purchase Request has been raised for item %s: %s on %s '%(doc_type, doc_name, nowdate())
+		msg1='A Purchase Request has been raised for item %s: %s on %s '%(doc_type, doc_name, nowdate())
 		sendmail(email_list, sender='automail@webnotestech.com', \
 		subject='Auto Purchase Request Generation Notification', parts=[['text/plain',msg1]])	
 
diff --git a/erpnext/stock/doctype/bin/bin.txt b/erpnext/stock/doctype/bin/bin.txt
index 14cd963..7956e67 100644
--- a/erpnext/stock/doctype/bin/bin.txt
+++ b/erpnext/stock/doctype/bin/bin.txt
@@ -189,7 +189,7 @@
 		'fieldname': u'indented_qty',
 		'fieldtype': u'Currency',
 		'in_filter': 0,
-		'label': u'Indented Quantity',
+		'label': u'Quantity Requested for Purchase',
 		'oldfieldname': u'indented_qty',
 		'oldfieldtype': u'Currency',
 		'search_index': 0
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.txt b/erpnext/stock/doctype/delivery_note/delivery_note.txt
index eabc429..9c536cc 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.txt
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.txt
@@ -709,11 +709,11 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'description': u'If you have created a standard template in Other Charges master, select one and click on the button below.',
+		'description': u'If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below.',
 		'doctype': u'DocField',
 		'fieldname': u'charge',
 		'fieldtype': u'Link',
-		'label': u'Charge',
+		'label': u'Taxes and Charges',
 		'oldfieldname': u'charge',
 		'oldfieldtype': u'Link',
 		'options': u'Sales Taxes and Charges Master',
@@ -726,7 +726,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'get_charges',
 		'fieldtype': u'Button',
-		'label': u'Get Charges',
+		'label': u'Get Taxes and Charges',
 		'oldfieldtype': u'Button',
 		'permlevel': 0,
 		'print_hide': 1,
@@ -738,7 +738,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges',
 		'fieldtype': u'Table',
-		'label': u'Sales Taxes and Charges Master',
+		'label': u'Sales Taxes and Charges',
 		'no_copy': 0,
 		'oldfieldname': u'other_charges',
 		'oldfieldtype': u'Table',
@@ -751,7 +751,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_total',
 		'fieldtype': u'Currency',
-		'label': u'Charges Total',
+		'label': u'Taxes and Charges Total',
 		'oldfieldname': u'other_charges_total',
 		'oldfieldtype': u'Currency',
 		'permlevel': 1,
@@ -776,7 +776,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_calculation',
 		'fieldtype': u'HTML',
-		'label': u'Other Charges Calculation',
+		'label': u'Taxes and Charges Calculation',
 		'oldfieldtype': u'HTML',
 		'permlevel': 0
 	},
@@ -897,7 +897,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms_section_break',
 		'fieldtype': u'Section Break',
-		'label': u'Terms',
+		'label': u'Terms and Conditions',
 		'oldfieldtype': u'Section Break',
 		'permlevel': 0
 	},
@@ -907,7 +907,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'tc_name',
 		'fieldtype': u'Link',
-		'label': u'Select Terms',
+		'label': u'Select Terms and Conditions',
 		'oldfieldname': u'tc_name',
 		'oldfieldtype': u'Link',
 		'options': u'Terms and Conditions',
@@ -921,7 +921,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'get_terms',
 		'fieldtype': u'Button',
-		'label': u'Get Terms',
+		'label': u'Get Terms and Conditions',
 		'oldfieldtype': u'Button',
 		'options': u'get_tc_details',
 		'permlevel': 0,
@@ -935,7 +935,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms_html',
 		'fieldtype': u'HTML',
-		'label': u'Terms HTML',
+		'label': u'Terms and Conditions HTML',
 		'oldfieldtype': u'HTML',
 		'options': u'You can add Terms and Notes that will be printed in the Transaction',
 		'permlevel': 0,
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt
index b447462..0ec091e 100755
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt
@@ -605,7 +605,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'description': u'Add / Edit taxes and other charges',
+		'description': u'Add / Edit Taxes and Charges',
 		'doctype': u'DocField',
 		'fieldname': u'taxes',
 		'fieldtype': u'Section Break',
@@ -617,11 +617,11 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'description': u'If you have created a standard template in Other Charges master, select one and click on the button below.',
+		'description': u'If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.',
 		'doctype': u'DocField',
 		'fieldname': u'purchase_other_charges',
 		'fieldtype': u'Link',
-		'label': u'Purchase Other Charges',
+		'label': u'Purchase Taxes and Charges',
 		'oldfieldname': u'purchase_other_charges',
 		'oldfieldtype': u'Link',
 		'options': u'Purchase Taxes and Charges Master',
@@ -744,7 +744,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_added',
 		'fieldtype': u'Currency',
-		'label': u'Other Charges Added',
+		'label': u'Taxes and Charges Added',
 		'oldfieldname': u'other_charges_added',
 		'oldfieldtype': u'Currency',
 		'permlevel': 1,
@@ -756,7 +756,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_deducted',
 		'fieldtype': u'Currency',
-		'label': u'Other Charges Deducted',
+		'label': u'Taxes and Charges Deducted',
 		'oldfieldname': u'other_charges_deducted',
 		'oldfieldtype': u'Currency',
 		'permlevel': 1,
@@ -814,7 +814,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_added_import',
 		'fieldtype': u'Currency',
-		'label': u'Other Charges Added (Import)',
+		'label': u'Taxes and Charges Added (Import)',
 		'oldfieldname': u'other_charges_added_import',
 		'oldfieldtype': u'Currency',
 		'permlevel': 1,
@@ -826,7 +826,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'other_charges_deducted_import',
 		'fieldtype': u'Currency',
-		'label': u'Other Charges Deducted (Import)',
+		'label': u'Taxes and Charges Deducted (Import)',
 		'oldfieldname': u'other_charges_deducted_import',
 		'oldfieldtype': u'Currency',
 		'permlevel': 1,
@@ -836,11 +836,11 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'description': u'Add Terms and Conditions for the Purchase Receipt. You can also prepare a master Term Sheet and use the Template.',
+		'description': u'Add Terms and Conditions for the Purchase Receipt. You can also prepare a Terms and Conditions Master and use the Template.',
 		'doctype': u'DocField',
 		'fieldname': u'terms_section_break',
 		'fieldtype': u'Section Break',
-		'label': u'Terms',
+		'label': u'Terms and Conditions',
 		'oldfieldtype': u'Section Break',
 		'permlevel': 0
 	},
@@ -850,7 +850,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'tc_name',
 		'fieldtype': u'Link',
-		'label': u'Select Terms',
+		'label': u'Select Terms and Conditions',
 		'oldfieldname': u'tc_name',
 		'oldfieldtype': u'Link',
 		'options': u'Terms and Conditions',
@@ -863,7 +863,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'get_terms',
 		'fieldtype': u'Button',
-		'label': u'Get Terms',
+		'label': u'Get Terms and Conditions',
 		'oldfieldtype': u'Button',
 		'options': u'get_tc_details',
 		'permlevel': 0
@@ -874,7 +874,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms_html',
 		'fieldtype': u'HTML',
-		'label': u'Terms HTML',
+		'label': u'Terms and Conditions HTML',
 		'oldfieldtype': u'HTML',
 		'options': u'You can add Terms and Notes that will be printed in the Transaction',
 		'permlevel': 0,
@@ -886,7 +886,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'terms',
 		'fieldtype': u'Text Editor',
-		'label': u'Terms1',
+		'label': u'Terms and Conditions1',
 		'oldfieldname': u'terms',
 		'oldfieldtype': u'Text Editor',
 		'permlevel': 0
@@ -1169,4 +1169,4 @@
 		'permlevel': 0,
 		'print_hide': 1
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.txt b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.txt
index 22c14c1..1a2c383 100755
--- a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.txt
+++ b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.txt
@@ -553,7 +553,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'description': u'Tax detail table fetched from item master as a string and stored in this field.\nUsed for Purchase Other Charges',
+		'description': u'Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges',
 		'doctype': u'DocField',
 		'fieldname': u'item_tax_rate',
 		'fieldtype': u'Small Text',
@@ -579,4 +579,4 @@
 		'permlevel': 0,
 		'print_hide': 1
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/stock/search_criteria/itemwise_price_list/itemwise_price_list.txt b/erpnext/stock/search_criteria/itemwise_price_list/itemwise_price_list.txt
index 3cb03e0..1fa4441 100644
--- a/erpnext/stock/search_criteria/itemwise_price_list/itemwise_price_list.txt
+++ b/erpnext/stock/search_criteria/itemwise_price_list/itemwise_price_list.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-20 12:20:56',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-08-20 12:15:17',
-		'modified_by': 'Administrator',
-		'owner': 'harshada@webnotestech.com'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'harshada@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Item\x01Item Name,Item\x01Item Group,Item Price\x01Price List Name,Item Price\x01Ref Rate,Item Price\x01Currency',
-		'criteria_name': 'Itemwise Price List',
-		'doc_type': 'Item Price',
+		'columns': u'Item\x01Item Name,Item\x01Item Group,Item Price\x01Price List Name,Item Price\x01Ref Rate,Item Price\x01Currency',
+		'criteria_name': u'Itemwise Price List',
+		'doc_type': u'Item Price',
 		'doctype': 'Search Criteria',
-		'filters': "{'Item\x01Saved':1,'Item Price\x01Price List Name':'','Item Price\x01Currency':''}",
-		'module': 'Stock',
+		'filters': u"{'Item\x01Saved':1,'Item Price\x01Price List Name':'','Item Price\x01Currency':''}",
+		'module': u'Stock',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Item',
-		'sort_by': '`tabItem`.`item_name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Item',
+		'sort_by': u'`tabItem`.`item_name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, itemwise_price_list
 	{
 		'doctype': 'Search Criteria',
-		'name': 'itemwise_price_list'
+		'name': u'itemwise_price_list'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.js b/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.js
deleted file mode 100644
index d9cf4d4..0000000
--- a/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.js
+++ /dev/null
@@ -1,27 +0,0 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-report.customize_filters = function() {
-
-  this.add_filter({fieldname:'posting_date', label:'Posting Date', fieldtype:'Date', ignore : 1, parent:'Item'});
-  //this.add_filter({fieldname:'weekly_working_days', label:'Weekly Working Days', fieldtype:'Select', options:NEWLINE+1+NEWLINE+2+NEWLINE+3+NEWLINE+4+NEWLINE+5+NEWLINE+6+NEWLINE+7, ignore : 1, parent:'Item'});
-
-  this.filter_fields_dict['Item'+FILTER_SEP +'From Posting Date'].df.in_first_page = 1;
-  this.filter_fields_dict['Item'+FILTER_SEP +'To Posting Date'].df.in_first_page = 1;
-  //this.filter_fields_dict['Item'+FILTER_SEP +'Weekly Working Days'].df.in_first_page = 1;
-
-
-}
\ No newline at end of file
diff --git a/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.py b/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.py
deleted file mode 100644
index 01e8418..0000000
--- a/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.py
+++ /dev/null
@@ -1,148 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-mon_list = []
-data = {'start_date':0, 'end_date':1, 'working_days': 2}
-
-def make_month_list(start_date, end_date, mon_list, colnames, coltypes, colwidths, coloptions, col_idx):
-
-  # get period between from date and to date
-
-  period_diff = sql("select PERIOD_DIFF('%s','%s')"% (('').join( end_date.split('-')[i] for i in range(len(end_date.split('-')) - 1)),('').join(start_date.split('-')[i] for i in range(len(start_date.split('-')) - 1))))
-  period_diff = period_diff and int(period_diff[0][0])
-
-  for pd in range(int(period_diff) + 1):
-    # get last date
-    last_date = str(sql("select LAST_DAY('%s')" % start_date)[0][0])
-      
-    # get no of days in the month            
-    if not int(sql("select DATEDIFF('%s','%s')" % (end_date, last_date))[0][0]) >0:
-      last_date = end_date
-    diff = int(sql("select DATEDIFF('%s','%s')" % (last_date, start_date))[0][0]) + 1
-      
-    # make mon_list
-    mon_list.append([start_date, last_date, (diff > 26) and 26 or diff])
-           
-    # add months as Column names
-    month_name = sql("select MONTHNAME('%s')" % start_date)[0][0]
-  
-    colnames.append(str(str(month_name)[:3])+ '-'+ str(start_date[:4]))
-    coltypes.append('Currency')
-    colwidths.append('150px')
-    coloptions.append('')
-    col_idx[str(str(month_name)[:3])+ '-'+ str(start_date[:4])] = len(colnames) - 1
-
-    # get start date
-    start_date = str(sql("select DATE_ADD('%s',INTERVAL 1 DAY)" % last_date)[0][0])
-
-# Validation for 'ID' and 'Lead Time Days' Column Name
-if 'ID' not in colnames or 'Lead Time Days' not in colnames:
-  msgprint("Please select Id and Lead Time Days in 'Select Columns' tab Else Report will not be generated")
-  raise Exception
-
-# Validation for Posting Date Filters
-if not filter_values.get('posting_date') or not filter_values.get('posting_date1'):
-  msgprint("Please select From Posting Date and To Posting Date")
-  raise Exception
-else:
-  from_date = str(filter_values.get('posting_date'))
-  to_date = str(filter_values.get('posting_date1'))
-
-
-# Call Make Month List Function
-make_month_list(from_date, to_date, mon_list, colnames, coltypes, colwidths, coloptions, col_idx)
-
-
-# Add Column names 
-col = [['Total Daily Consumption','Currency','150px','']
-      ,['MIL(Min Inv. Level)','Currency','150px','']
-      ,['ROL(Re-Order Level)','Currency','150px','']
-      ,['Actual Quantity','Currency','150px','']
-      ,['Indented Quantity','Currency','150px','']
-      ,['Ordered Quantity','Currency','150px','']
-      ,['Shortage To Purchase Request','Currency','150px','']
-      ,['MAR','Currency','100px','']
-      ,['LPR','Currency','100px','']]
-
-for c in col:
-  colnames.append(c[0])
-  coltypes.append(c[1])
-  colwidths.append(c[2])
-  coloptions.append(c[3])
-  col_idx[c[0]] = len(colnames) - 1
-
-for r in res:
-
-  # calculate Total Daily Consumption Monthly
-  count, tot_consumption, tot_days = 0, 0, 1
-  #for idx in range(col_idx['Stock Unit of Measurement'] + 1 , col_idx['Total Daily Consumption'] ):
-  for idx in range(col_idx['Lead Time Days'] + 1 , col_idx['Total Daily Consumption'] ):
-  
-    # As Consumption Means:= Adding Qty Transfered to WIP Warehouse ++ Qty Issued directly warehouse whose waraehouse_type != WIP Warehouse and Subtracting Qty Issued from WIP Warehouse
-    #Capture item qty coming to WIP Warehouse for production purpose which means consuming that items
-    add_con = sql("select ifnull(sum(t1.actual_qty),0)  from `tabStock Ledger Entry` t1 where t1.item_code = '%s' and t1.is_cancelled = 'No'  and t1.posting_date >= '%s' and t1.posting_date <= '%s' and t1.warehouse_type = 'WIP Warehouse' and t1.actual_qty > 0 " % (r[col_idx['ID']],mon_list[count][data['start_date']],mon_list[count][data['end_date']]))
-    
-    # This is Stock Entry which is of Type Material Issue also to mention that Source Warehouse should not be WIP WArehouse
-    #Transfering items to Internal Other Warehouse but not to WIP Warehouse
-    dir_con = sql("select ifnull(sum(t1.actual_qty),0) from `tabStock Ledger Entry` t1, `tabStock Entry Detail` t2 where t1.item_code = '%s' and t1.is_cancelled = 'No' and t1.posting_date >= '%s' and t1.posting_date <= '%s' and t1.warehouse_type != 'WIP Warehouse' and t1.actual_qty < 0 and t1.voucher_type = 'Stock Entry' and t1.voucher_detail_no = t2.name and ifnull(t2.t_warehouse, '') = ''"%(r[col_idx['ID']],mon_list[count][data['start_date']],mon_list[count][data['end_date']]))
-    
-    # This is Stock Entry which is of Type MAterial TRansfer also to mention that Source Warehouse should be WIP WArhouse
-    #like, transfering items from internal warehouse to customer
-    red_con = sql("select ifnull(sum(t1.actual_qty),0) from `tabStock Ledger Entry` t1, `tabStock Entry Detail` t2 where t1.item_code = '%s' and t1.is_cancelled = 'No'  and t1.posting_date >= '%s' and t1.posting_date <= '%s' and t1.warehouse_type = 'WIP Warehouse' and t1.actual_qty < 0 and t1.voucher_type = 'Stock Entry' and t1.voucher_detail_no = t2.name and ifnull(t2.t_warehouse, '') != ''"%(r[col_idx['ID']],mon_list[count][data['start_date']],mon_list[count][data['end_date']]))
-    #msgprint(str(add_con[0][0]) + "~~~" + str(dir_con[0][0]) + "~~~" + str(red_con[0][0]))
-
-    add_con = add_con and add_con[0][0] or 0.00
-    dir_con = dir_con and ((-1) * dir_con[0][0]) or 0.00
-    red_con = red_con and red_con[0][0] or 0.00
-    tot_con = flt(add_con) + flt(dir_con) + flt(red_con)
-    #tot_con = add_con and add_con[0][0] or 0 + dir_con and (-1) * dir_con[0][0] or 0 +  red_con and red_con[0][0] or 0
-    tot_con = flt(r[col_idx['Lead Time Days']] and tot_con  or 0)
-
-
-    # monthly avg consumption
-    r.append(flt(tot_con / mon_list[count][data['working_days']]))
-
-    # calculate tot_consumption and tot_days   
-    tot_consumption = flt(tot_consumption) + flt(tot_con)
-    tot_days = (tot_days == 1) and flt(mon_list[count][data['working_days']]) or (flt(tot_days) + flt(mon_list[count][data['working_days']]))
-    count = count + 1  
-
-  # Calculate Daily Consumption
-  r.append(tot_consumption and flt(tot_consumption /tot_days) or 0)
-
-  # Calculate Minimum Inventory Level
-  r.append(flt(r[col_idx['Total Daily Consumption']]) * flt(r[col_idx['Lead Time Days']]))
- 
-  # Calculate Re-Order Level
-  r.append(flt(r[col_idx['MIL(Min Inv. Level)']] * 2))
-
-  # get stock level
-  stock_level = sql("select sum(t1.actual_qty), sum(t1.indented_qty), sum(t1.ordered_qty) from `tabBin` t1, `tabWarehouse` t2 where t1.warehouse = t2.name and t2.warehouse_type != 'WIP Warehouse' and t1.item_code = '%s'"%(r[col_idx['ID']]))
- 
-  r.append(stock_level and flt(stock_level[0][0]) or 0) # Actual Qty
-  r.append(stock_level and flt(stock_level[0][1]) or 0) # Indented Qty
-  r.append(stock_level and flt(stock_level[0][2]) or 0) # Ordered Qty
-  
-  # calculate shortage
-  r.append((r[col_idx['ROL(Re-Order Level)']] > 0) and flt(flt(r[col_idx['ROL(Re-Order Level)']]) - flt(r[col_idx['Actual Quantity']]) - flt(r[col_idx['Indented Quantity']]) - flt(r[col_idx['Ordered Quantity']])) or 0)
-
-  # get moving average rate
-  m_a_r = sql("select ifnull(sum(t1.ma_rate), 0)/ ifnull(count(t1.name),1) from `tabBin` t1, `tabWarehouse` t2 where t1.item_code = '%s' and ifnull(t1.ma_rate, 0) > 0 and t1.warehouse = t2.name and t2.warehouse_type != 'WIP Warehouse'" % r[col_idx['ID']])
-  r.append(m_a_r and flt(m_a_r[0][0]) or 0)
-    
-  # get recent last purchase rate 
-  lpr_rate = flt(sql("select last_purchase_rate from `tabItem` where name = '%s'" %r[col_idx['ID']])[0][0]) or 0.00
-  r.append(lpr_rate)
diff --git a/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.txt b/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.txt
deleted file mode 100644
index c0b6acf..0000000
--- a/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-# Search Criteria, shortage_to_indent
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2011-05-18 11:48:54',
-		'docstatus': 0,
-		'modified': '2011-05-18 11:52:59',
-		'modified_by': 'Administrator',
-		'owner': 'wasim@webnotestech.com'
-	},
-
-	# These values are common for all Search Criteria
-	{
-		'columns': 'Item\x01ID,Item\x01Item Name,Item\x01Description,Item\x01Lead Time Days',
-		'criteria_name': 'Shortage To Purchase Request',
-		'doc_type': 'Item',
-		'doctype': 'Search Criteria',
-		'filters': "{'Item\x01Saved':1}",
-		'module': 'Stock',
-		'name': '__common__',
-		'page_len': 50,
-		'sort_by': '`tabItem`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
-	},
-
-	# Search Criteria, shortage_to_indent
-	{
-		'doctype': 'Search Criteria',
-		'name': 'shortage_to_indent'
-	}
-]
\ No newline at end of file
diff --git a/erpnext/stock/search_criteria/shortage_to_indent/__init__.py b/erpnext/stock/search_criteria/shortage_to_purchase_request/__init__.py
similarity index 100%
rename from erpnext/stock/search_criteria/shortage_to_indent/__init__.py
rename to erpnext/stock/search_criteria/shortage_to_purchase_request/__init__.py
diff --git a/erpnext/stock/search_criteria/shortage_to_purchase_request/shortage_to_purchase_request.txt b/erpnext/stock/search_criteria/shortage_to_purchase_request/shortage_to_purchase_request.txt
new file mode 100644
index 0000000..91700ac
--- /dev/null
+++ b/erpnext/stock/search_criteria/shortage_to_purchase_request/shortage_to_purchase_request.txt
@@ -0,0 +1,33 @@
+# Search Criteria, shortage_to_purchase_request
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-03-30 14:50:44',
+		'docstatus': 0,
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'wasim@webnotestech.com'
+	},
+
+	# These values are common for all Search Criteria
+	{
+		'columns': u'Item\x01ID,Item\x01Item Name,Item\x01Description,Item\x01Lead Time Days',
+		'criteria_name': u'Shortage To Purchase Request',
+		'doc_type': u'Item',
+		'doctype': 'Search Criteria',
+		'filters': u"{'Item\x01Saved':1}",
+		'module': u'Stock',
+		'name': '__common__',
+		'page_len': 50,
+		'sort_by': u'`tabItem`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
+	},
+
+	# Search Criteria, shortage_to_purchase_request
+	{
+		'doctype': 'Search Criteria',
+		'name': u'shortage_to_purchase_request'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.txt b/erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.txt
index bbc8b5c..5a1ef1d 100644
--- a/erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.txt
+++ b/erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-08-16 13:42:24',
-		'modified_by': 'Administrator',
-		'owner': 'ashwini@webnotestech.com'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'ashwini@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': "`tabSerial No`.status = 'In Store'",
-		'columns': 'Serial No\x01ID,Serial No\x01Item Code,Serial No\x01Description,Serial No\x01Item Group,Serial No\x01Purchase Date',
-		'criteria_name': 'Stock Aging Report',
-		'doc_type': 'Serial No',
+		'add_cond': u"`tabSerial No`.status = 'In Store'",
+		'columns': u'Serial No\x01ID,Serial No\x01Item Code,Serial No\x01Description,Serial No\x01Item Group,Serial No\x01Purchase Date',
+		'criteria_name': u'Stock Aging Report',
+		'doc_type': u'Serial No',
 		'doctype': 'Search Criteria',
-		'filters': "{'Serial No\x01Saved':1,'Serial No\x01Submitted':1,'Serial No\x01Status':'In Store','Serial No\x01Maintenance Status':''}",
-		'module': 'Stock',
+		'filters': u"{'Serial No\x01Saved':1,'Serial No\x01Submitted':1,'Serial No\x01Status':'In Store','Serial No\x01Maintenance Status':''}",
+		'module': u'Stock',
 		'name': '__common__',
 		'page_len': 1000,
-		'sort_by': '`tabSerial No`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSerial No`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, stock_aging_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'stock_aging_report'
+		'name': u'stock_aging_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/stock/search_criteria/stock_ledger/stock_ledger.txt b/erpnext/stock/search_criteria/stock_ledger/stock_ledger.txt
index 34dd521..c28f592 100644
--- a/erpnext/stock/search_criteria/stock_ledger/stock_ledger.txt
+++ b/erpnext/stock/search_criteria/stock_ledger/stock_ledger.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-10-14 08:43:05',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-10-14 08:31:40',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': '`tabItem`.`item_name`\n`tabItem`.`description`',
-		'add_cond': '`tabItem`.`name` = `tabStock Ledger Entry`.`item_code`',
-		'add_tab': '`tabItem`',
-		'columns': 'Stock Ledger Entry\x01Item Code,Stock Ledger Entry\x01Warehouse,Stock Ledger Entry\x01Posting Date,Stock Ledger Entry\x01Voucher Detail No,Stock Ledger Entry\x01Actual Quantity,Stock Ledger Entry\x01Bin Actual Qty After Transaction',
-		'criteria_name': 'Stock Ledger',
-		'doc_type': 'Stock Ledger Entry',
+		'add_col': u'`tabItem`.`item_name`\n`tabItem`.`description`',
+		'add_cond': u'`tabItem`.`name` = `tabStock Ledger Entry`.`item_code`',
+		'add_tab': u'`tabItem`',
+		'columns': u'Stock Ledger Entry\x01Item Code,Stock Ledger Entry\x01Warehouse,Stock Ledger Entry\x01Posting Date,Stock Ledger Entry\x01Voucher Detail No,Stock Ledger Entry\x01Actual Quantity,Stock Ledger Entry\x01Bin Actual Qty After Transaction',
+		'criteria_name': u'Stock Ledger',
+		'doc_type': u'Stock Ledger Entry',
 		'doctype': 'Search Criteria',
-		'filters': "{'Stock Ledger Entry\x01Is Cancelled':'','Stock Ledger Entry\x01Is Stock Entry':''}",
-		'module': 'Stock',
+		'filters': u"{'Stock Ledger Entry\x01Is Cancelled':'','Stock Ledger Entry\x01Is Stock Entry':''}",
+		'module': u'Stock',
 		'name': '__common__',
-		'standard': 'Yes'
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, stock_ledger
 	{
 		'doctype': 'Search Criteria',
-		'name': 'stock_ledger'
+		'name': u'stock_ledger'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/stock/search_criteria/stock_level/stock_level.txt b/erpnext/stock/search_criteria/stock_level/stock_level.txt
index 252cdff..1783ba4 100644
--- a/erpnext/stock/search_criteria/stock_level/stock_level.txt
+++ b/erpnext/stock/search_criteria/stock_level/stock_level.txt
@@ -3,34 +3,34 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:23',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-10-20 16:51:11',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': '`tabItem`.`item_name`\n`tabItem`.`description`',
-		'add_cond': '`tabItem`.name = `tabBin`.item_code',
-		'add_tab': '`tabItem`',
-		'columns': 'Bin\x01Warehouse,Bin\x01Item Code,Bin\x01UOM,Bin\x01Reserved Quantity,Bin\x01Actual Quantity,Bin\x01Ordered Quantity,Bin\x01Planned Qty,Bin\x01Projected Qty,Bin\x01Indented Quantity,Bin\x01Valuation Rate,Bin\x01Stock Value',
-		'criteria_name': 'Stock Level',
-		'doc_type': 'Bin',
+		'add_col': u'`tabItem`.`item_name`\n`tabItem`.`description`',
+		'add_cond': u'`tabItem`.name = `tabBin`.item_code',
+		'add_tab': u'`tabItem`',
+		'columns': u'Bin\x01Warehouse,Bin\x01Item Code,Bin\x01UOM,Bin\x01Reserved Quantity,Bin\x01Actual Quantity,Bin\x01Ordered Quantity,Bin\x01Planned Qty,Bin\x01Projected Qty,Bin\x01Quantity Requested for Purchase,Bin\x01Valuation Rate,Bin\x01Stock Value',
+		'criteria_name': u'Stock Level',
+		'doc_type': u'Bin',
 		'doctype': 'Search Criteria',
-		'filters': '{}',
-		'module': 'Stock',
+		'filters': u'{}',
+		'module': u'Stock',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabBin`.`warehouse`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabBin`.`warehouse`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, stock_level
 	{
 		'doctype': 'Search Criteria',
-		'name': 'stock_level'
+		'name': u'stock_level'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/stock/search_criteria/stock_report/stock_report.txt b/erpnext/stock/search_criteria/stock_report/stock_report.txt
index df73fba..d6858fe 100644
--- a/erpnext/stock/search_criteria/stock_report/stock_report.txt
+++ b/erpnext/stock/search_criteria/stock_report/stock_report.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-11-02 15:37:37',
+		'creation': '2012-03-30 14:50:44',
 		'docstatus': 0,
-		'modified': '2010-11-02 15:35:12',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:44',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Stock Ledger Entry\x01ID',
-		'criteria_name': 'Stock Report',
-		'doc_type': 'Stock Ledger Entry',
+		'columns': u'Stock Ledger Entry\x01ID',
+		'criteria_name': u'Stock Report',
+		'doc_type': u'Stock Ledger Entry',
 		'doctype': 'Search Criteria',
-		'filters': "{'Stock Ledger Entry\x01Is Cancelled':'','Stock Ledger Entry\x01Is Stock Entry':''}",
-		'module': 'Stock',
+		'filters': u"{'Stock Ledger Entry\x01Is Cancelled':'','Stock Ledger Entry\x01Is Stock Entry':''}",
+		'module': u'Stock',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabStock Ledger Entry`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabStock Ledger Entry`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, stock_report
 	{
 		'doctype': 'Search Criteria',
-		'name': 'stock_report'
+		'name': u'stock_report'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/support/search_criteria/amc_summary/amc_summary.txt b/erpnext/support/search_criteria/amc_summary/amc_summary.txt
index 008efb4..9a0743b 100644
--- a/erpnext/support/search_criteria/amc_summary/amc_summary.txt
+++ b/erpnext/support/search_criteria/amc_summary/amc_summary.txt
@@ -3,33 +3,33 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:32',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-07-15 16:00:11',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_cond': "`tabSerial No`.`territory` is not null\n`tabSerial No`.`territory` != ''\n`tabSerial No`.`status` not in ('In Store', 'Scrapped')",
-		'columns': 'Serial No\x01Territory',
-		'criteria_name': 'AMC Summary',
-		'doc_type': 'Serial No',
+		'add_cond': u"`tabSerial No`.`territory` is not null\n`tabSerial No`.`territory` != ''\n`tabSerial No`.`status` not in ('In Store', 'Scrapped')",
+		'columns': u'Serial No\x01Territory',
+		'criteria_name': u'AMC Summary',
+		'doc_type': u'Serial No',
 		'doctype': 'Search Criteria',
-		'filters': "{'Serial No\x01Saved':1,'Serial No\x01Status':''}",
-		'group_by': '`tabSerial No`.`cost_center`',
-		'module': 'Support',
+		'filters': u"{'Serial No\x01Saved':1,'Serial No\x01Status':''}",
+		'group_by': u'`tabSerial No`.`cost_center`',
+		'module': u'Support',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSerial No`.`cost_center`',
-		'sort_order': 'ASC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSerial No`.`cost_center`',
+		'sort_order': u'ASC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, amc_summary
 	{
 		'doctype': 'Search Criteria',
-		'name': 'amc_summary'
+		'name': u'amc_summary'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/support/search_criteria/customer_issues/customer_issues.txt b/erpnext/support/search_criteria/customer_issues/customer_issues.txt
index 652d1fb..25d5cec 100644
--- a/erpnext/support/search_criteria/customer_issues/customer_issues.txt
+++ b/erpnext/support/search_criteria/customer_issues/customer_issues.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 13:33:31',
 		'docstatus': 0,
-		'modified': '2010-08-30 13:21:32',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:31',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Customer Issue\x01ID,Customer Issue\x01Status,Customer Issue\x01Complaint Date,Customer Issue\x01Complaint,Customer Issue\x01Item Code,Customer Issue\x01Item Name,Customer Issue\x01Allocated To,Customer Issue\x01Allocated On,Customer Issue\x01Resolved By,Customer Issue\x01Resolution Date,Customer Issue\x01Customer Name,Customer Issue\x01Fiscal Year',
-		'criteria_name': 'Customer Issues',
-		'doc_type': 'Customer Issue',
+		'columns': u'Customer Issue\x01ID,Customer Issue\x01Status,Customer Issue\x01Complaint Date,Customer Issue\x01Complaint,Customer Issue\x01Item Code,Customer Issue\x01Item Name,Customer Issue\x01Allocated To,Customer Issue\x01Allocated On,Customer Issue\x01Resolved By,Customer Issue\x01Resolution Date,Customer Issue\x01Customer Name,Customer Issue\x01Fiscal Year',
+		'criteria_name': u'Customer Issues',
+		'doc_type': u'Customer Issue',
 		'doctype': 'Search Criteria',
-		'filters': "{'Customer Issue\x01Saved':1,'Customer Issue\x01Submitted':1,'Customer Issue\x01Status':'','Customer Issue\x01Fiscal Year':''}",
-		'module': 'Support',
+		'filters': u"{'Customer Issue\x01Saved':1,'Customer Issue\x01Submitted':1,'Customer Issue\x01Status':'','Customer Issue\x01Fiscal Year':''}",
+		'module': u'Support',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabCustomer Issue`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabCustomer Issue`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, customer_issues
 	{
 		'doctype': 'Search Criteria',
-		'name': 'customer_issues'
+		'name': u'customer_issues'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.txt b/erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.txt
index 4687446..8f74845 100644
--- a/erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.txt
+++ b/erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.txt
@@ -3,34 +3,34 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-08-30 13:40:44',
-		'modified_by': 'Administrator',
-		'owner': 'ashwini@webnotestech.com'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'ashwini@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'add_col': "SUM((`tabSales Order Item`.`qty` - `tabSales Order Item`.`billed_qty`) * `tabSales Order Item`.`basic_rate`) AS 'Pending Amount'",
-		'add_cond': "`tabSales Order`.status != 'Stopped'\n`tabSales Order`.order_type='Maintenance'",
-		'columns': 'Sales Order\x01ID,Sales Order\x01Customer,Sales Order\x01Customer Name,Sales Order\x01Customer Address,Sales Order\x01Status,Sales Order\x01% Billed,Sales Order\x01Sales Order Date',
-		'criteria_name': 'Maintenance Orderwise Pending Amount To Bill',
-		'doc_type': 'Sales Order Item',
+		'add_col': u"SUM((`tabSales Order Item`.`qty` - `tabSales Order Item`.`billed_qty`) * `tabSales Order Item`.`basic_rate`) AS 'Pending Amount'",
+		'add_cond': u"`tabSales Order`.status != 'Stopped'\n`tabSales Order`.order_type='Maintenance'",
+		'columns': u'Sales Order\x01ID,Sales Order\x01Customer,Sales Order\x01Customer Name,Sales Order\x01Customer Address,Sales Order\x01Status,Sales Order\x01% Billed,Sales Order\x01Sales Order Date',
+		'criteria_name': u'Maintenance Orderwise Pending Amount To Bill',
+		'doc_type': u'Sales Order Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Status':'','Sales Order\x01Fiscal Year':''}",
-		'module': 'Support',
+		'filters': u"{'Sales Order\x01Saved':1,'Sales Order\x01Submitted':1,'Sales Order\x01Status':'','Sales Order\x01Fiscal Year':''}",
+		'module': u'Support',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Sales Order',
-		'sort_by': '`tabSales Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Sales Order',
+		'sort_by': u'`tabSales Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, maintenance_orderwise_pending_amount_to_bill
 	{
 		'doctype': 'Search Criteria',
-		'name': 'maintenance_orderwise_pending_amount_to_bill'
+		'name': u'maintenance_orderwise_pending_amount_to_bill'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.txt b/erpnext/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.txt
index b1ae15f..d0030a7 100644
--- a/erpnext/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.txt
+++ b/erpnext/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.txt
@@ -3,32 +3,32 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 14:50:43',
 		'docstatus': 0,
-		'modified': '2010-08-30 13:18:23',
-		'modified_by': 'Administrator',
-		'owner': 'nabin@webnotestech.com'
+		'modified': '2012-03-30 14:50:43',
+		'modified_by': u'Administrator',
+		'owner': u'nabin@webnotestech.com'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Maintenance Schedule Detail\x01Item Code,Maintenance Schedule Detail\x01Item Name,Maintenance Schedule Detail\x01Serial No,Maintenance Schedule Detail\x01Incharge Name,Maintenance Schedule Detail\x01Scheduled Date,Maintenance Schedule\x01Customer Name,Maintenance Schedule\x01Address,Maintenance Schedule\x01Sales Order No',
-		'criteria_name': 'Maintenance Schedule Details',
-		'doc_type': 'Maintenance Schedule Detail',
+		'columns': u'Maintenance Schedule Detail\x01Item Code,Maintenance Schedule Detail\x01Item Name,Maintenance Schedule Detail\x01Serial No,Maintenance Schedule Detail\x01Incharge Name,Maintenance Schedule Detail\x01Scheduled Date,Maintenance Schedule\x01Customer Name,Maintenance Schedule\x01Address,Maintenance Schedule\x01Sales Order No',
+		'criteria_name': u'Maintenance Schedule Details',
+		'doc_type': u'Maintenance Schedule Detail',
 		'doctype': 'Search Criteria',
-		'filters': "{'Maintenance Schedule\x01Submitted':1,'Maintenance Schedule\x01Status':''}",
-		'module': 'Support',
+		'filters': u"{'Maintenance Schedule\x01Submitted':1,'Maintenance Schedule\x01Status':''}",
+		'module': u'Support',
 		'name': '__common__',
 		'page_len': 50,
-		'parent_doc_type': 'Maintenance Schedule',
-		'sort_by': '`tabMaintenance Schedule Detail`.`item_code`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Maintenance Schedule',
+		'sort_by': u'`tabMaintenance Schedule Detail`.`item_code`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, maintenance_schedule_details
 	{
 		'doctype': 'Search Criteria',
-		'name': 'maintenance_schedule_details'
+		'name': u'maintenance_schedule_details'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.txt b/erpnext/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.txt
index 89b5797..442a7bdf 100644
--- a/erpnext/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.txt
+++ b/erpnext/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.txt
@@ -3,31 +3,31 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:09',
+		'creation': '2012-03-30 14:50:45',
 		'docstatus': 0,
-		'modified': '2010-08-30 13:32:21',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 14:50:45',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'columns': 'Serial No\x01ID,Serial No\x01Item Code,Serial No\x01Description,Serial No\x01Status,Serial No\x01Item Group,Serial No\x01Purchase Receipt No,Serial No\x01Delivery Note No,Serial No\x01Customer,Serial No\x01Customer Name,Serial No\x01AMC Expiry Date,Serial No\x01Warranty Expiry Date',
-		'criteria_name': 'Warranty/AMC Expiry Details',
-		'doc_type': 'Serial No',
+		'columns': u'Serial No\x01ID,Serial No\x01Item Code,Serial No\x01Description,Serial No\x01Status,Serial No\x01Item Group,Serial No\x01Purchase Receipt No,Serial No\x01Delivery Note No,Serial No\x01Customer,Serial No\x01Customer Name,Serial No\x01AMC Expiry Date,Serial No\x01Warranty Expiry Date',
+		'criteria_name': u'Warranty/AMC Expiry Details',
+		'doc_type': u'Serial No',
 		'doctype': 'Search Criteria',
-		'filters': "{'Serial No\x01Saved':1,'Serial No\x01Status':'','Serial No\x01Maintenance Status':''}",
-		'module': 'Support',
+		'filters': u"{'Serial No\x01Saved':1,'Serial No\x01Status':'','Serial No\x01Maintenance Status':''}",
+		'module': u'Support',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': '`tabSerial No`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'`tabSerial No`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, warranty-amc_expiry_details
 	{
 		'doctype': 'Search Criteria',
-		'name': 'warranty-amc_expiry_details'
+		'name': u'warranty-amc_expiry_details'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.txt b/erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.txt
index 02aa84c..52e69df 100644
--- a/erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.txt
+++ b/erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.txt
@@ -3,30 +3,30 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-10-12 15:19:31',
+		'creation': '2012-03-30 13:33:32',
 		'docstatus': 0,
-		'modified': '2010-09-25 12:14:49',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-30 13:33:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all Search Criteria
 	{
-		'criteria_name': 'Warranty/AMC Summary',
-		'doc_type': 'Serial No',
+		'criteria_name': u'Warranty/AMC Summary',
+		'doc_type': u'Serial No',
 		'doctype': 'Search Criteria',
-		'filters': "{'Serial No\x01Saved':1,'Serial No\x01Status':''}",
-		'module': 'Support',
+		'filters': u"{'Serial No\x01Saved':1,'Serial No\x01Status':''}",
+		'module': u'Support',
 		'name': '__common__',
 		'page_len': 50,
-		'sort_by': 'name',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'sort_by': u'name',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
 	},
 
 	# Search Criteria, warranty-amc_summary
 	{
 		'doctype': 'Search Criteria',
-		'name': 'warranty-amc_summary'
+		'name': u'warranty-amc_summary'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/website/doctype/web_page/web_page.txt b/erpnext/website/doctype/web_page/web_page.txt
index d4303a1..5adbccc 100644
--- a/erpnext/website/doctype/web_page/web_page.txt
+++ b/erpnext/website/doctype/web_page/web_page.txt
@@ -15,7 +15,7 @@
 		'_last_update': u'1328093379',
 		'allow_attach': 1,
 		'colour': u'White:FFF',
-		'description': u'A custom page is a simple page with the layout - headline, main section, side section\n\nEditing:\n\n- Editing is in [markdown format](http://daringfireball.net/projects/markdown/syntax)\n- You can also add images and embed html code\n\nAccessing the page:\n\n- The page can be accessed as #![page-name] after the main url\n\nIdeal for pages like FAQ, Terms, Help etc.\n\n',
+		'description': u'A custom page is a simple page with the layout - headline, main section, side section\n\nEditing:\n\n- Editing is in [markdown format](http://daringfireball.net/projects/markdown/syntax)\n- You can also add images and embed html code\n\nAccessing the page:\n\n- The page can be accessed as #![page-name] after the main url\n\nIdeal for pages like FAQ, Terms and Conditions, Help etc.\n\n',
 		'doctype': 'DocType',
 		'max_attachments': 5,
 		'module': u'Website',
