feat: Added all 3 standard slab for UAE

This commit is contained in:
Anurag Mishra 2020-08-17 14:50:35 +05:30
parent 47f3a3a5bd
commit 0761301c2e

View File

@ -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