Merge branch '15.0' into 15.0-test

This commit is contained in:
Jared Kipe
2022-06-30 16:39:38 +00:00
8 changed files with 41 additions and 14 deletions

View File

@@ -3,7 +3,7 @@
{
'name': 'Peru - Payroll',
'author': 'Hibou Corp. <hello@hibou.io>',
'version': '15.0.2022.0.0',
'version': '15.0.2022.1.0',
'category': 'Payroll Localization',
'depends': [
'hr_payroll_hibou',

View File

@@ -99,6 +99,28 @@
<field name="parent_id" ref="hr_payroll.COMP"/>
</record>
<!-- Extra input & rule -->
<record id="input_type_extra" model="hr.payslip.input.type">
<field name="name">Extraordinary Wage</field>
<field name="code">EXTRA</field>
<field name="country_id" ref="base.pe" />
<field name="struct_ids" eval="[
(4, ref('l10n_pe_hr_payroll.hr_payroll_structure')),
]" />
</record>
<record id="hr_salary_rule_extra" model="hr.salary.rule">
<field name="condition_select">python</field>
<field name="condition_python">result = inputs.EXTRA.amount > 0.0 if inputs.EXTRA else False</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = inputs.EXTRA.amount if inputs.EXTRA else 0</field>
<field name="code">ALW_EXTRA</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="name">Extraordinary Wage</field>
<field name="sequence" eval="24"/>
<field name="struct_id" ref="l10n_pe_hr_payroll.hr_payroll_structure"/>
</record>
<!-- Bonus input & rule -->
<record id="input_type_bono" model="hr.payslip.input.type">
<field name="name">Bonus</field>
@@ -114,8 +136,8 @@
<field name="condition_python">result = inputs.BONO.amount > 0.0 if inputs.BONO else False</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = inputs.BONO.amount if inputs.BONO else 0</field>
<field name="code">BASIC_BONO</field>
<field name="category_id" ref="hr_payroll.BASIC"/>
<field name="code">ALW_BONO</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="name">Bonus</field>
<field name="sequence" eval="25"/>
<field name="struct_id" ref="l10n_pe_hr_payroll.hr_payroll_structure"/>

View File

@@ -21,9 +21,9 @@
<field name="name">ER: PE Essalud</field>
<field name="code">ER_PE_ESSALUD</field>
<field name="condition_select">python</field>
<field name="condition_python">result = categories.BASIC</field>
<field name="condition_python">result = categories.GROSS</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.GROSS, -payslip.rule_parameter('er_essalud')</field>
<field name="appears_on_payslip" eval="True"/>
<field name="partner_id" ref="partner_sunat"/>
</record>

View File

@@ -6,7 +6,7 @@
<field name="condition_python">result = inputs.COMMISSION.amount > 0.0 if inputs.COMMISSION else False</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = inputs.COMMISSION.amount if inputs.COMMISSION else 0</field>
<field name="code">BASIC_COM</field>
<field name="code">ALW_COM</field>
<field name="category_id" ref="hr_payroll.BASIC"/>
<field name="name">Commissions</field>
<field name="sequence" eval="20"/>
@@ -19,7 +19,7 @@
<field name="condition_python">result = inputs.BADGES.amount > 0.0 if inputs.BADGES else False</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = inputs.BADGES.amount if inputs.BADGES else 0</field>
<field name="code">BASIC_BADGES</field>
<field name="code">ALW_BADGES</field>
<field name="category_id" ref="hr_payroll.BASIC"/>
<field name="name">Badges</field>
<field name="sequence" eval="20"/>

View File

@@ -51,9 +51,9 @@
<field name="name">EE: PE IR 5th Cat.</field>
<field name="code">EE_PE_IR_5TA_CAT</field>
<field name="condition_select">python</field>
<field name="condition_python">result, _ = ir_5ta_cat(payslip, categories, worked_days, inputs, BASIC)</field>
<field name="condition_python">result, _ = ir_5ta_cat(payslip, categories, worked_days, inputs)</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)</field>
<field name="appears_on_payslip" eval="True"/>
<field name="partner_id" ref="partner_sunat"/>
</record>

View File

@@ -2,7 +2,8 @@
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 = categories.BASIC
if payslip.dict.contract_id.pe_payroll_config_value('ee_5ta_cat_exempt'):
return 0.0, 0.0

View File

@@ -3,7 +3,7 @@
{
'name': 'Peru - Payroll with Accounting',
'author': 'Hibou Corp. <hello@hibou.io>',
'version': '15.0.2022.0.0',
'version': '15.0.2022.1.0',
'category': 'Human Resources',
'depends': [
'l10n_pe_hr_payroll',

View File

@@ -3,6 +3,7 @@
from odoo import models
EXP_SALARY = '6211000'
EXP_EXTRA = '621100'
EXP_COM = '6212000'
EXP_BONO = '6213000'
EXP_ESSALUD = '6271000'
@@ -34,6 +35,7 @@ class AccountChartTemplate(models.Model):
pay_ir_5ta_cat=PAY_IR_5TA_CAT,
pay_essalud=PAY_ESSALUD,
exp_salary=EXP_SALARY,
exp_extra=EXP_EXTRA,
exp_com=EXP_COM,
exp_bono=EXP_BONO,
exp_essalud=EXP_ESSALUD,
@@ -46,6 +48,7 @@ class AccountChartTemplate(models.Model):
pay_ir_5ta_cat,
pay_essalud,
exp_salary,
exp_extra,
exp_com,
exp_bono,
exp_essalud,
@@ -122,11 +125,12 @@ class AccountChartTemplate(models.Model):
# BASIC* -> SALARY_EXPENSE debit account
set_rule_accounts('BASIC%', accounts[exp_salary], accounts['none'])
set_rule_accounts('BASIC_COM%', accounts[exp_com], accounts['none'])
set_rule_accounts('BASIC_BONO%', accounts[exp_bono], accounts['none'])
set_rule_accounts('BASIC_BADGES%', accounts[exp_bono], accounts['none'])
set_rule_accounts('BASIC_EXTRA%', accounts[exp_extra], accounts['none'])
# ALW* -> SALARY_EXPENSE debit account
set_rule_accounts('ALW%', accounts[exp_salary], accounts['none'])
set_rule_accounts('ALW_COM%', accounts[exp_com], accounts['none'])
set_rule_accounts('ALW_BONO%', accounts[exp_bono], accounts['none'])
set_rule_accounts('ALW_BADGES%', accounts[exp_bono], accounts['none'])
# EE_* -> AP debit
set_rule_accounts('EE_%', accounts[pay_ee], accounts['none']) # initialize
set_rule_accounts('EE_PE_AFP%', accounts[pay_afp], accounts['none'])