mirror of
https://gitlab.com/hibou-io/hibou-odoo/suite.git
synced 2025-01-20 12:37:31 +02:00
Merge branch '15.0' into 15.0-test
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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'])
|
||||
|
||||
Reference in New Issue
Block a user