Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/hr/doctype/salary_slip/salary_slip.txt b/hr/doctype/salary_slip/salary_slip.txt
new file mode 100644
index 0000000..423b6c0
--- /dev/null
+++ b/hr/doctype/salary_slip/salary_slip.txt
@@ -0,0 +1,602 @@
+# DocType, Salary Slip
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2010-08-08 17:09:20',
+		'docstatus': 0,
+		'modified': '2011-07-27 13:10:28',
+		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all DocType
+	{
+		'_last_update': '1310019491',
+		'colour': 'White:FFF',
+		'doctype': 'DocType',
+		'module': 'HR',
+		'name': '__common__',
+		'section_style': 'Simple',
+		'server_code_error': ' ',
+		'show_in_menu': 0,
+		'subject': 'For %(employee_name)s, %(designation)s',
+		'version': 393
+	},
+
+	# These values are common for all DocField
+	{
+		'doctype': 'DocField',
+		'name': '__common__',
+		'parent': 'Salary Slip',
+		'parentfield': 'fields',
+		'parenttype': 'DocType'
+	},
+
+	# These values are common for all DocPerm
+	{
+		'doctype': 'DocPerm',
+		'name': '__common__',
+		'parent': 'Salary Slip',
+		'parentfield': 'permissions',
+		'parenttype': 'DocType',
+		'read': 1
+	},
+
+	# DocType, Salary Slip
+	{
+		'doctype': 'DocType',
+		'name': 'Salary Slip'
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
+		'doctype': 'DocPerm',
+		'idx': 1,
+		'match': 'owner',
+		'permlevel': 0,
+		'role': 'Employee',
+		'submit': 0,
+		'write': 0
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'create': 1,
+		'doctype': 'DocPerm',
+		'idx': 2,
+		'permlevel': 0,
+		'role': 'HR User',
+		'submit': 1,
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'amend': 1,
+		'cancel': 1,
+		'create': 1,
+		'doctype': 'DocPerm',
+		'idx': 3,
+		'permlevel': 0,
+		'role': 'HR Manager',
+		'submit': 1,
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'doctype': 'DocPerm',
+		'idx': 4,
+		'permlevel': 1,
+		'role': 'HR User'
+	},
+
+	# DocPerm
+	{
+		'doctype': 'DocPerm',
+		'idx': 5,
+		'permlevel': 1,
+		'role': 'HR Manager'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'Section Break',
+		'idx': 1,
+		'label': 'Basic Info',
+		'oldfieldtype': 'Section Break',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'Column Break',
+		'idx': 2,
+		'oldfieldtype': 'Column Break',
+		'permlevel': 0,
+		'width': '50%'
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldname': 'employee',
+		'fieldtype': 'Link',
+		'idx': 3,
+		'in_filter': 1,
+		'label': 'Employee',
+		'oldfieldname': 'employee',
+		'oldfieldtype': 'Link',
+		'options': 'Employee',
+		'permlevel': 0,
+		'reqd': 1,
+		'search_index': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'employee_name',
+		'fieldtype': 'Data',
+		'idx': 4,
+		'in_filter': 1,
+		'label': 'Employee Name',
+		'oldfieldname': 'employee_name',
+		'oldfieldtype': 'Data',
+		'permlevel': 1,
+		'reqd': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'department',
+		'fieldtype': 'Link',
+		'idx': 5,
+		'in_filter': 1,
+		'label': 'Department',
+		'oldfieldname': 'department',
+		'oldfieldtype': 'Link',
+		'options': 'Department',
+		'permlevel': 1,
+		'reqd': 0,
+		'search_index': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'designation',
+		'fieldtype': 'Link',
+		'idx': 6,
+		'in_filter': 1,
+		'label': 'Designation',
+		'oldfieldname': 'designation',
+		'oldfieldtype': 'Link',
+		'options': 'Designation',
+		'permlevel': 1,
+		'search_index': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'branch',
+		'fieldtype': 'Link',
+		'idx': 7,
+		'in_filter': 1,
+		'label': 'Branch',
+		'oldfieldname': 'branch',
+		'oldfieldtype': 'Link',
+		'options': 'Branch',
+		'permlevel': 1,
+		'search_index': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'grade',
+		'fieldtype': 'Link',
+		'idx': 8,
+		'in_filter': 1,
+		'label': 'Grade',
+		'oldfieldname': 'grade',
+		'oldfieldtype': 'Link',
+		'options': 'Grade',
+		'permlevel': 1,
+		'search_index': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'pf_no',
+		'fieldtype': 'Data',
+		'idx': 9,
+		'label': 'PF No.',
+		'oldfieldname': 'pf_no',
+		'oldfieldtype': 'Data',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'esic_no',
+		'fieldtype': 'Data',
+		'idx': 10,
+		'label': 'ESIC No.',
+		'oldfieldname': 'esic_no',
+		'oldfieldtype': 'Data',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'letter_head',
+		'fieldtype': 'Link',
+		'idx': 11,
+		'label': 'Letter Head',
+		'options': 'Letter Head',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'Column Break',
+		'idx': 12,
+		'oldfieldtype': 'Column Break',
+		'permlevel': 0,
+		'width': '50%'
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldname': 'fiscal_year',
+		'fieldtype': 'Link',
+		'idx': 13,
+		'in_filter': 1,
+		'label': 'Fiscal Year',
+		'oldfieldname': 'fiscal_year',
+		'oldfieldtype': 'Data',
+		'options': 'Fiscal Year',
+		'permlevel': 0,
+		'reqd': 1,
+		'search_index': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'company',
+		'fieldtype': 'Select',
+		'idx': 14,
+		'in_filter': 1,
+		'label': 'Company',
+		'options': 'link:Company',
+		'permlevel': 0,
+		'reqd': 1
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldname': 'month',
+		'fieldtype': 'Select',
+		'idx': 15,
+		'in_filter': 1,
+		'label': 'Month',
+		'oldfieldname': 'month',
+		'oldfieldtype': 'Select',
+		'options': '\n01\n02\n03\n04\n05\n06\n07\n08\n09\n10\n11\n12',
+		'permlevel': 0,
+		'reqd': 1,
+		'search_index': 1,
+		'trigger': 'Client',
+		'width': '37%'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'total_days_in_month',
+		'fieldtype': 'Data',
+		'idx': 16,
+		'label': 'Total days in month',
+		'oldfieldname': 'total_days_in_month',
+		'oldfieldtype': 'Int',
+		'permlevel': 1,
+		'reqd': 1
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldname': 'leave_without_pay',
+		'fieldtype': 'Currency',
+		'idx': 17,
+		'label': 'Leave Without Pay',
+		'oldfieldname': 'leave_without_pay',
+		'oldfieldtype': 'Currency',
+		'permlevel': 0,
+		'trigger': 'Client'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'payment_days',
+		'fieldtype': 'Float',
+		'idx': 18,
+		'label': 'Payment days',
+		'oldfieldname': 'payment_days',
+		'oldfieldtype': 'Float',
+		'permlevel': 1,
+		'reqd': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'bank_name',
+		'fieldtype': 'Data',
+		'idx': 19,
+		'label': 'Bank Name',
+		'oldfieldname': 'bank_name',
+		'oldfieldtype': 'Data',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'bank_account_no',
+		'fieldtype': 'Data',
+		'idx': 20,
+		'label': 'Bank Account No.',
+		'oldfieldname': 'bank_account_no',
+		'oldfieldtype': 'Data',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldname': 'email_check',
+		'fieldtype': 'Check',
+		'idx': 21,
+		'label': 'Email',
+		'no_copy': 1,
+		'oldfieldname': 'email_check',
+		'oldfieldtype': 'Check',
+		'permlevel': 0,
+		'print_hide': 1,
+		'report_hide': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'amended_from',
+		'fieldtype': 'Data',
+		'hidden': 0,
+		'idx': 22,
+		'label': 'Amended From',
+		'no_copy': 1,
+		'oldfieldname': 'amended_from',
+		'oldfieldtype': 'Data',
+		'permlevel': 0,
+		'print_hide': 1,
+		'report_hide': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'amendment_date',
+		'fieldtype': 'Date',
+		'hidden': 0,
+		'idx': 23,
+		'label': 'Amendment Date',
+		'no_copy': 1,
+		'oldfieldname': 'amendment_date',
+		'oldfieldtype': 'Date',
+		'permlevel': 0,
+		'print_hide': 1,
+		'report_hide': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'Section Break',
+		'idx': 24,
+		'label': 'Earning & Deduction',
+		'oldfieldtype': 'Section Break',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldtype': 'Column Break',
+		'idx': 25,
+		'label': 'Earning',
+		'oldfieldtype': 'Column Break',
+		'permlevel': 0,
+		'reqd': 0,
+		'width': '50%'
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldname': 'earning_details',
+		'fieldtype': 'Table',
+		'idx': 26,
+		'label': 'Earning Details',
+		'oldfieldname': 'earning_details',
+		'oldfieldtype': 'Table',
+		'options': 'SS Earning Detail',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldtype': 'Column Break',
+		'idx': 27,
+		'label': 'Deduction',
+		'oldfieldtype': 'Column Break',
+		'permlevel': 0,
+		'width': '50%'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'deduction_details',
+		'fieldtype': 'Table',
+		'idx': 28,
+		'label': 'Deduction Details',
+		'oldfieldname': 'deduction_details',
+		'oldfieldtype': 'Table',
+		'options': 'SS Deduction Detail',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'Section Break',
+		'idx': 29,
+		'label': 'Totals',
+		'oldfieldtype': 'Section Break',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'Column Break',
+		'idx': 30,
+		'oldfieldtype': 'Column Break',
+		'permlevel': 0,
+		'width': '50%'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'arrear_amount',
+		'fieldtype': 'Currency',
+		'idx': 31,
+		'label': 'Arrear Amount',
+		'oldfieldname': 'arrear_amount',
+		'oldfieldtype': 'Currency',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldname': 'leave_encashment_amount',
+		'fieldtype': 'Currency',
+		'idx': 32,
+		'label': 'Leave Encashment Amount',
+		'oldfieldname': 'encashment_amount',
+		'oldfieldtype': 'Currency',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'gross_pay',
+		'fieldtype': 'Currency',
+		'idx': 33,
+		'label': 'Gross Pay',
+		'oldfieldname': 'gross_pay',
+		'oldfieldtype': 'Currency',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'total_deduction',
+		'fieldtype': 'Currency',
+		'idx': 34,
+		'label': 'Total Deduction',
+		'oldfieldname': 'total_deduction',
+		'oldfieldtype': 'Currency',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'Column Break',
+		'idx': 35,
+		'oldfieldtype': 'Column Break',
+		'permlevel': 0,
+		'width': '50%'
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'description': 'Gross Pay + Arrear Amount +Encashment Amount - Total Deduction',
+		'doctype': 'DocField',
+		'fieldname': 'net_pay',
+		'fieldtype': 'Currency',
+		'idx': 36,
+		'label': 'Net Pay',
+		'oldfieldname': 'net_pay',
+		'oldfieldtype': 'Currency',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'rounded_total',
+		'fieldtype': 'Currency',
+		'idx': 37,
+		'label': 'Rounded Total',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'description': 'Net Pay (in words) will be visible once you save the Salary Slip.',
+		'doctype': 'DocField',
+		'fieldname': 'total_in_words',
+		'fieldtype': 'Data',
+		'idx': 38,
+		'label': 'Total in words',
+		'oldfieldname': 'net_pay_in_words',
+		'oldfieldtype': 'Data',
+		'permlevel': 1
+	}
+]
\ No newline at end of file
diff --git a/patches/erpnext_structure_cleanup.py b/patches/erpnext_structure_cleanup.py
index 8b765de..e78a82e 100644
--- a/patches/erpnext_structure_cleanup.py
+++ b/patches/erpnext_structure_cleanup.py
@@ -195,6 +195,6 @@
 	sync_mapper()
 	delete_unwanted_modules()
 	# landed cost wizard link in stock
-	reload_doc('stock', 'Module Def', 'stock')
+	reload_doc('stock', 'Module Def', 'Stock')
 	
 	sql("commit")