Purpose ======= Currently the payroll doens't manage the multi company Specification ============= 1/ Add ir.rules on hr.contract and hr.payslip to prevent users to access a record in another company. 2/ Add ir.rules on hr.payroll.structure to prevent users to access a record for another country. 3/ Remove company_id fields on models that doesn't require it, as hr.salary.rule.category. 4/ Make the accounting fields on the salary rules company dependent. 5/ Specify the country on the salary structures on the l10n_**_hr_payroll modules. 6/ Add demo data and modify the salary package tour. 7/ Make the car_atn and company_car_total_depreciated_costs fields compute_sudo=True, as one car can be assigned on several contract, for different companies Closes #26866 Closes #25231 Closes #24683 Closes #23814
121 lines
4.5 KiB
XML
121 lines
4.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<data noupdate="0">
|
|
|
|
<record id="resource.resource_calendar_std" model="resource.calendar">
|
|
<field name="full_time_required_hours">40</field>
|
|
</record>
|
|
|
|
<record id="resource.resource_calendar_std_35h" model="resource.calendar">
|
|
<field name="full_time_required_hours">35</field>
|
|
</record>
|
|
|
|
<record id="resource.resource_calendar_std_38h" model="resource.calendar">
|
|
<field name="full_time_required_hours">38</field>
|
|
</record>
|
|
|
|
<record id="contrib_register_employees" model="hr.contribution.register">
|
|
<field name="name">Employees</field>
|
|
<field name="partner_id" eval="False"/>
|
|
</record>
|
|
|
|
<record id="BASIC" model="hr.salary.rule.category">
|
|
<field name="name">Basic</field>
|
|
<field name="code">BASIC</field>
|
|
</record>
|
|
|
|
<record id="ALW" model="hr.salary.rule.category">
|
|
<field name="name">Allowance</field>
|
|
<field name="code">ALW</field>
|
|
</record>
|
|
|
|
<record id="GROSS" model="hr.salary.rule.category">
|
|
<field name="name">Gross</field>
|
|
<field name="code">GROSS</field>
|
|
</record>
|
|
|
|
<record id="DED" model="hr.salary.rule.category">
|
|
<field name="name">Deduction</field>
|
|
<field name="code">DED</field>
|
|
</record>
|
|
|
|
<record id="NET" model="hr.salary.rule.category">
|
|
<field name="name">Net</field>
|
|
<field name="code">NET</field>
|
|
</record>
|
|
|
|
<record id="COMP" model="hr.salary.rule.category">
|
|
<field name="name">Company Contribution</field>
|
|
<field name="code">COMP</field>
|
|
</record>
|
|
|
|
<record id="hr_rule_basic" model="hr.salary.rule">
|
|
<field name="name">Basic Salary</field>
|
|
<field name="sequence" eval="1"/>
|
|
<field name="code">BASIC</field>
|
|
<field name="category_id" ref="hr_payroll.BASIC"/>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">result = contract.wage</field>
|
|
</record>
|
|
|
|
<record id="hr_rule_taxable" model="hr.salary.rule">
|
|
<field name="name">Gross</field>
|
|
<field name="sequence" eval="100"/>
|
|
<field name="code">GROSS</field>
|
|
<field name="category_id" ref="hr_payroll.GROSS"/>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">result = categories.BASIC + categories.ALW</field>
|
|
</record>
|
|
|
|
<record id="hr_rule_net" model="hr.salary.rule">
|
|
<field name="name">Net Salary</field>
|
|
<field name="sequence" eval="200"/>
|
|
<field name="code">NET</field>
|
|
<field name="category_id" ref="hr_payroll.NET"/>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">result = categories.BASIC + categories.ALW + categories.DED</field>
|
|
<field name="register_id" ref="contrib_register_employees"/>
|
|
</record>
|
|
|
|
|
|
<!-- Salary Structure -->
|
|
|
|
<record id="structure_base" model="hr.payroll.structure">
|
|
<field name="code">BASE</field>
|
|
<field name="name">Base for new structures</field>
|
|
<field eval="[(6, 0, [ref('hr_rule_basic'), ref('hr_rule_taxable'),ref('hr_rule_net')])]" name="rule_ids"/>
|
|
</record>
|
|
|
|
<!-- Decimal Precision -->
|
|
|
|
<record forcecreate="True" id="decimal_payroll" model="decimal.precision">
|
|
<field name="name">Payroll</field>
|
|
<field name="digits">2</field>
|
|
</record>
|
|
|
|
<record forcecreate="True" id="decimal_payroll_rate" model="decimal.precision">
|
|
<field name="name">Payroll Rate</field>
|
|
<field name="digits">4</field>
|
|
</record>
|
|
|
|
<!-- Benefits Type -->
|
|
|
|
<record id="benefit_type_attendance" model="hr.benefit.type">
|
|
<field name="name">Attendance</field>
|
|
<field name="color">0</field>
|
|
<field name="code">WORK100</field>
|
|
</record>
|
|
|
|
<record id="benefit_type_leave" model="hr.benefit.type">
|
|
<field name="name">Generic Time Off</field>
|
|
<field name="code">LEAVE100</field>
|
|
<field name="color">3</field>
|
|
<field name="is_leave">True</field>
|
|
</record>
|
|
|
|
</data>
|
|
</odoo>
|