mirror of
https://gitlab.com/hibou-io/hibou-odoo/suite.git
synced 2025-01-20 12:37:31 +02:00
[IMP] l10n_pe_payroll: ir_5ta_cat exempt, partners for SUNAT, AFP
This commit is contained in:
@@ -31,6 +31,7 @@
|
|||||||
<field name="amount_select">code</field>
|
<field name="amount_select">code</field>
|
||||||
<field name="amount_python_compute">result, result_rate = categories.GROSS, -payslip.rule_parameter('ee_afp')[contract.pe_payroll_config_value('afp_type')][4]</field>
|
<field name="amount_python_compute">result, result_rate = categories.GROSS, -payslip.rule_parameter('ee_afp')[contract.pe_payroll_config_value('afp_type')][4]</field>
|
||||||
<field name="appears_on_payslip" eval="True"/>
|
<field name="appears_on_payslip" eval="True"/>
|
||||||
|
<field name="partner_id" ref="partner_afp"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="hr_payroll_rule_ee_afp_seguro" model="hr.salary.rule">
|
<record id="hr_payroll_rule_ee_afp_seguro" model="hr.salary.rule">
|
||||||
@@ -54,6 +55,7 @@ rate = -payslip.rule_parameter('ee_afp')[contract.pe_payroll_config_value('afp_t
|
|||||||
result, result_rate = eligible_wage, rate
|
result, result_rate = eligible_wage, rate
|
||||||
</field>
|
</field>
|
||||||
<field name="appears_on_payslip" eval="True"/>
|
<field name="appears_on_payslip" eval="True"/>
|
||||||
|
<field name="partner_id" ref="partner_afp"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="hr_payroll_rule_ee_afp_comision_mixta" model="hr.salary.rule">
|
<record id="hr_payroll_rule_ee_afp_comision_mixta" model="hr.salary.rule">
|
||||||
@@ -67,6 +69,7 @@ result, result_rate = eligible_wage, rate
|
|||||||
<field name="amount_select">code</field>
|
<field name="amount_select">code</field>
|
||||||
<field name="amount_python_compute">result, result_rate = categories.GROSS, -payslip.rule_parameter('ee_afp')[contract.pe_payroll_config_value('afp_type')][1]</field>
|
<field name="amount_python_compute">result, result_rate = categories.GROSS, -payslip.rule_parameter('ee_afp')[contract.pe_payroll_config_value('afp_type')][1]</field>
|
||||||
<field name="appears_on_payslip" eval="True"/>
|
<field name="appears_on_payslip" eval="True"/>
|
||||||
|
<field name="partner_id" ref="partner_afp"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="hr_payroll_rule_ee_afp_comision_non_mixta" model="hr.salary.rule">
|
<record id="hr_payroll_rule_ee_afp_comision_non_mixta" model="hr.salary.rule">
|
||||||
@@ -80,6 +83,7 @@ result, result_rate = eligible_wage, rate
|
|||||||
<field name="amount_select">code</field>
|
<field name="amount_select">code</field>
|
||||||
<field name="amount_python_compute">result, result_rate = categories.GROSS, -payslip.rule_parameter('ee_afp')[contract.pe_payroll_config_value('afp_type')][0]</field>
|
<field name="amount_python_compute">result, result_rate = categories.GROSS, -payslip.rule_parameter('ee_afp')[contract.pe_payroll_config_value('afp_type')][0]</field>
|
||||||
<field name="appears_on_payslip" eval="True"/>
|
<field name="appears_on_payslip" eval="True"/>
|
||||||
|
<field name="partner_id" ref="partner_afp"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -1,6 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
|
|
||||||
|
<record id="partner_sunat" model="res.partner">
|
||||||
|
<field name="name">SUNAT</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="partner_afp" model="res.partner">
|
||||||
|
<field name="name">AFP</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
<record id="structure_type_employee" model="hr.payroll.structure.type">
|
<record id="structure_type_employee" model="hr.payroll.structure.type">
|
||||||
<field name="name">Peru Employee (5ta Cat.)</field>
|
<field name="name">Peru Employee (5ta Cat.)</field>
|
||||||
<field name="default_resource_calendar_id" ref="resource.resource_calendar_std"/>
|
<field name="default_resource_calendar_id" ref="resource.resource_calendar_std"/>
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
<field name="amount_select">code</field>
|
<field name="amount_select">code</field>
|
||||||
<field name="amount_python_compute">result, result_rate = categories.BASIC, -payslip.rule_parameter('er_essalud')</field>
|
<field name="amount_python_compute">result, result_rate = categories.BASIC, -payslip.rule_parameter('er_essalud')</field>
|
||||||
<field name="appears_on_payslip" eval="True"/>
|
<field name="appears_on_payslip" eval="True"/>
|
||||||
|
<field name="partner_id" ref="partner_sunat"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
<field name="amount_select">code</field>
|
<field name="amount_select">code</field>
|
||||||
<field name="amount_python_compute">result, result_rate = ir_4ta_cat(payslip, categories, worked_days, inputs)</field>
|
<field name="amount_python_compute">result, result_rate = ir_4ta_cat(payslip, categories, worked_days, inputs)</field>
|
||||||
<field name="appears_on_payslip" eval="True"/>
|
<field name="appears_on_payslip" eval="True"/>
|
||||||
|
<field name="partner_id" ref="partner_sunat"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -55,6 +55,7 @@
|
|||||||
<field name="amount_select">code</field>
|
<field name="amount_select">code</field>
|
||||||
<field name="amount_python_compute">result, result_rate = ir_5ta_cat(payslip, categories, worked_days, inputs, BASIC)</field>
|
<field name="amount_python_compute">result, result_rate = ir_5ta_cat(payslip, categories, worked_days, inputs, BASIC)</field>
|
||||||
<field name="appears_on_payslip" eval="True"/>
|
<field name="appears_on_payslip" eval="True"/>
|
||||||
|
<field name="partner_id" ref="partner_sunat"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
<field name="amount_select">code</field>
|
<field name="amount_select">code</field>
|
||||||
<field name="amount_python_compute">result, result_rate = categories.GROSS, -payslip.rule_parameter('ee_onp')</field>
|
<field name="amount_python_compute">result, result_rate = categories.GROSS, -payslip.rule_parameter('ee_onp')</field>
|
||||||
<field name="appears_on_payslip" eval="True"/>
|
<field name="appears_on_payslip" eval="True"/>
|
||||||
|
<field name="partner_id" ref="partner_sunat"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -206,6 +206,11 @@ msgstr "Essalud"
|
|||||||
msgid "Exempt from 4th Cat. withholding."
|
msgid "Exempt from 4th Cat. withholding."
|
||||||
msgstr "Exento de Retención de la 4ta Cat."
|
msgstr "Exento de Retención de la 4ta Cat."
|
||||||
|
|
||||||
|
#. module: l10n_pe_hr_payroll
|
||||||
|
#: model:ir.model.fields,field_description:l10n_pe_hr_payroll.field_hr_contract_pe_payroll_config__ee_5ta_cat_exempt
|
||||||
|
msgid "Exempt from 5th Cat. withholding."
|
||||||
|
msgstr "Exento de Retención de la 5ta Cat."
|
||||||
|
|
||||||
#. module: l10n_pe_hr_payroll
|
#. module: l10n_pe_hr_payroll
|
||||||
#: model:ir.model.fields,help:l10n_pe_hr_payroll.field_hr_contract_pe_payroll_config__date_hired
|
#: model:ir.model.fields,help:l10n_pe_hr_payroll.field_hr_contract_pe_payroll_config__date_hired
|
||||||
msgid "For calculations like IR 5TH CAT."
|
msgid "For calculations like IR 5TH CAT."
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ class HRContractPEPayrollConfig(models.Model):
|
|||||||
date_hired = fields.Date(string='Date Hired', required=True, default=fields.Date.today,
|
date_hired = fields.Date(string='Date Hired', required=True, default=fields.Date.today,
|
||||||
help='For calculations like IR 5TH CAT.')
|
help='For calculations like IR 5TH CAT.')
|
||||||
|
|
||||||
|
ee_5ta_cat_exempt = fields.Boolean(string='Exempt from 5th Cat. withholding.')
|
||||||
|
|
||||||
retirement_type = fields.Selection([
|
retirement_type = fields.Selection([
|
||||||
('afp', 'AFP'),
|
('afp', 'AFP'),
|
||||||
('onp', 'ONP'),
|
('onp', 'ONP'),
|
||||||
|
|||||||
@@ -3,6 +3,9 @@
|
|||||||
from datetime import date
|
from datetime import date
|
||||||
|
|
||||||
def ir_5ta_cat(payslip, categories, worked_days, inputs, basic_wage):
|
def ir_5ta_cat(payslip, categories, worked_days, inputs, basic_wage):
|
||||||
|
if payslip.dict.contract_id.pe_payroll_config_value('ee_5ta_cat_exempt'):
|
||||||
|
return 0.0, 0.0
|
||||||
|
|
||||||
pay_periods_in_year = payslip.pay_periods_in_year
|
pay_periods_in_year = payslip.pay_periods_in_year
|
||||||
uit = payslip.rule_parameter('pe_uit')
|
uit = payslip.rule_parameter('pe_uit')
|
||||||
payslip_date_end = payslip.dict.date_to
|
payslip_date_end = payslip.dict.date_to
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<group name="employee" string="Employee">
|
<group name="employee" string="Employee">
|
||||||
|
<field name="ee_5ta_cat_exempt"/>
|
||||||
<field name="retirement_type"/>
|
<field name="retirement_type"/>
|
||||||
<field name="afp_type" attrs="{'invisible': [('retirement_type', '!=', 'afp')]}"/>
|
<field name="afp_type" attrs="{'invisible': [('retirement_type', '!=', 'afp')]}"/>
|
||||||
<field name="afp_comision_type" attrs="{'invisible': [('retirement_type', '!=', 'afp')]}"/>
|
<field name="afp_comision_type" attrs="{'invisible': [('retirement_type', '!=', 'afp')]}"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user