feat: Added all 3 standard slab for UAE
This commit is contained in:
		
							parent
							
								
									47f3a3a5bd
								
							
						
					
					
						commit
						0761301c2e
					
				| @ -13,6 +13,8 @@ def setup(company=None, patch=True): | ||||
| 	add_print_formats() | ||||
| 	add_custom_roles_for_reports() | ||||
| 	add_permissions() | ||||
| 	create_standard_documents() | ||||
| 
 | ||||
| 	if company: | ||||
| 		create_sales_tax(company) | ||||
| 
 | ||||
| @ -153,3 +155,104 @@ def add_permissions(): | ||||
| 			add_permission(doctype, role, 0) | ||||
| 			update_permission_property(doctype, role, 0, 'write', 1) | ||||
| 			update_permission_property(doctype, role, 0, 'create', 1) | ||||
| def create_standard_documents(): | ||||
| 
 | ||||
| 	# Standard Gratuity Rules for UAE | ||||
| 
 | ||||
| 	# Rule Under Limited Contract | ||||
| 	rule_1 = frappe.new_doc("Gratuity Rule") | ||||
| 	rule_1.name = "Rule Under Limited Contract" | ||||
| 	rule_1.calculate_gratuity_amount_based_on = "Sum of all previous slabs" | ||||
| 	rule_1.work_experience_calculation_method = "Take Exact Completed Years" | ||||
| 	rule_1.minimum_year_for_gratuity = 1 | ||||
| 
 | ||||
| 	rule_1.append("gratuity_rule_slabs", { | ||||
| 		"from_year": 0, | ||||
| 		"to_year":1, | ||||
| 		"fraction_of_applicable_earnings": 0 | ||||
| 	}) | ||||
| 
 | ||||
| 	rule_1.append("gratuity_rule_slabs", { | ||||
| 		"from_year": 1, | ||||
| 		"to_year":5, | ||||
| 		"fraction_of_applicable_earnings": 21/30 | ||||
| 	}) | ||||
| 
 | ||||
| 	rule_1.append("gratuity_rule_slabs", { | ||||
| 		"from_year": 5, | ||||
| 		"to_year":0, | ||||
| 		"fraction_of_applicable_earnings": 1 | ||||
| 	}) | ||||
| 
 | ||||
| 	# Rule Under Unlimited Contract on termination | ||||
| 	rule_2 = frappe.new_doc("Gratuity Rule") | ||||
| 	rule_2.name = "Rule Under Unlimited Contract on termination" | ||||
| 	rule_2.calculate_gratuity_amount_based_on = "Current Slab" | ||||
| 	rule_2.work_experience_calculation_method = "Take Exact Completed Years" | ||||
| 	rule_2.minimum_year_for_gratuity = 1 | ||||
| 
 | ||||
| 	rule_2.append("gratuity_rule_slabs", { | ||||
| 		"from_year": 0, | ||||
| 		"to_year":1, | ||||
| 		"fraction_of_applicable_earnings": 0 | ||||
| 	}) | ||||
| 
 | ||||
| 	rule_2.append("gratuity_rule_slabs", { | ||||
| 		"from_year": 1, | ||||
| 		"to_year":5, | ||||
| 		"fraction_of_applicable_earnings": 21/30 | ||||
| 	}) | ||||
| 
 | ||||
| 	rule_2.append("gratuity_rule_slabs", { | ||||
| 		"from_year": 5, | ||||
| 		"to_year":0, | ||||
| 		"fraction_of_applicable_earnings": 1 | ||||
| 	}) | ||||
| 
 | ||||
| 	# Rule Under Unlimited Contract | ||||
| 	rule_3 = frappe.new_doc("Gratuity Rule") | ||||
| 	rule_3.name = "Rule Under Unlimited Contract on resignation" | ||||
| 	rule_3.calculate_gratuity_amount_based_on = "Current Slab" | ||||
| 	rule_3.work_experience_calculation_method = "Take Exact Completed Years" | ||||
| 	rule_3.minimum_year_for_gratuity = 1 | ||||
| 
 | ||||
| 	rule_3.append("gratuity_rule_slabs", { | ||||
| 		"from_year": 0, | ||||
| 		"to_year":1, | ||||
| 		"fraction_of_applicable_earnings": 0 | ||||
| 	}) | ||||
| 
 | ||||
| 	fraction_of_applicable_earnings = 1/3 * 21/30 | ||||
| 	rule_3.append("gratuity_rule_slabs", { | ||||
| 		"from_year": 1, | ||||
| 		"to_year":3, | ||||
| 		"fraction_of_applicable_earnings": fraction_of_applicable_earnings | ||||
| 	}) | ||||
| 
 | ||||
| 	fraction_of_applicable_earnings = 2/3 * 21/30 | ||||
| 	rule_3.append("gratuity_rule_slabs", { | ||||
| 		"from_year": 3, | ||||
| 		"to_year":5, | ||||
| 		"fraction_of_applicable_earnings": fraction_of_applicable_earnings | ||||
| 	}) | ||||
| 
 | ||||
| 	fraction_of_applicable_earnings = 21/30 | ||||
| 	rule_3.append("gratuity_rule_slabs", { | ||||
| 		"from_year": 5, | ||||
| 		"to_year":0, | ||||
| 		"fraction_of_applicable_earnings": fraction_of_applicable_earnings | ||||
| 	}) | ||||
| 
 | ||||
| 
 | ||||
| 	#for applicable salary component user need to set this by its own | ||||
| 	rule_1.flags.ignore_mandatory = True | ||||
| 	rule_2.flags.ignore_mandatory = True | ||||
| 	rule_3.flags.ignore_mandatory = True | ||||
| 
 | ||||
| 	rule_1.save() | ||||
| 	rule_2.save() | ||||
| 	rule_3.save() | ||||
| 
 | ||||
| 	return rule_1, rule_2, rule_3 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user