EE: AFP ee_afp { # non-mixta, mixta_monthly, mixta_annually, iss, ley, maximum (iss wage base) 'habitat': (1.47, 0.38, 1.25, 1.35, 10.0, 9707.03), 'integra': (1.55, 0.00, 1.82, 1.35, 10.0, 9707.03), 'prima': (1.60, 0.18, 1.25, 1.35, 10.0, 9707.03), 'profuturo': (1.69, 0.67, 1.20, 1.35, 10.0, 9707.03), } EE: PE AFP Pensions EE_PE_AFP_PENSIONES python result = categories.GROSS and contract.pe_payroll_config_value('retirement_type') == 'afp' code result, result_rate = categories.GROSS, -payslip.rule_parameter('ee_afp')[contract.pe_payroll_config_value('afp_type')][4] EE: PE AFP Insurance EE_PE_AFP_SEGURO python result = categories.GROSS and contract.pe_payroll_config_value('retirement_type') == 'afp' code wage = categories.GROSS # wage_max is monthly wage_max = payslip.rule_parameter('ee_afp')[contract.pe_payroll_config_value('afp_type')][5] # normalize wage_max to pay period pay_periods_in_year = payslip.pay_periods_in_year wage_max = (wage_max * 12.0) / pay_periods_in_year eligible_wage = min(wage, wage_max) rate = -payslip.rule_parameter('ee_afp')[contract.pe_payroll_config_value('afp_type')][3] result, result_rate = eligible_wage, rate EE: PE AFP Mixed Commission EE_PE_AFP_COMISION_MIXTA python result = categories.GROSS and contract.pe_payroll_config_value('retirement_type') == 'afp' and contract.pe_payroll_config_value('afp_comision_type') == 'mixta' code result, result_rate = categories.GROSS, -payslip.rule_parameter('ee_afp')[contract.pe_payroll_config_value('afp_type')][1] EE: PE AFP Comission (Non-Mixed) EE_PE_AFP_COMISION_NON_MIXTA python result = categories.GROSS and contract.pe_payroll_config_value('retirement_type') == 'afp' and contract.pe_payroll_config_value('afp_comision_type') == 'non_mixta' code result, result_rate = categories.GROSS, -payslip.rule_parameter('ee_afp')[contract.pe_payroll_config_value('afp_type')][0]