This commit is contained in:
gsinghpal
2026-04-07 20:49:21 -04:00
parent 3cc93b8783
commit 4fde4c7bd1
25 changed files with 1253 additions and 900 deletions

View File

@@ -2,133 +2,55 @@
<odoo>
<data noupdate="1">
<!-- ============================================================ -->
<!-- CANADA SALARY STRUCTURE -->
<!-- ============================================================ -->
<!-- Salary Structure Type (if needed) -->
<!-- Structure Type -->
<record id="structure_type_canada" model="hr.payroll.structure.type">
<field name="name">Canada</field>
<field name="name">Canadian Employee</field>
<field name="country_id" ref="base.ca"/>
</record>
<!-- Canada Salary Structure -->
<!-- Salary Structure -->
<record id="hr_payroll_structure_canada" model="hr.payroll.structure">
<field name="name">Canada salary structure</field>
<field name="name">Canadian Employee Salary</field>
<field name="code">Canada</field>
<field name="type_id" ref="structure_type_canada"/>
<field name="country_id" ref="base.ca"/>
</record>
<!-- ============================================================ -->
<!-- SALARY RULE CATEGORY - CANADA (Deduction) -->
<!-- This category links to CPP, EI, Federal and Provincial Tax -->
<!-- ============================================================ -->
<record id="hr_payroll_category_canada" model="hr.salary.rule.category">
<field name="name">Deduction</field>
<field name="code">CANADA</field>
<field name="parent_id" ref="hr_payroll.DED"/>
<!-- These links are set via the UI after tax rates are created -->
<!-- cpp_deduction_id, ei_deduction_id, fed_tax_id, provincial_tax_id -->
<!-- Salary Rule Categories -->
<record id="hr_salary_rule_category_ca_cpp" model="hr.salary.rule.category">
<field name="name">CPP</field>
<field name="code">CPP</field>
</record>
<!-- ============================================================ -->
<!-- LINK SALARY RULES TO CANADA STRUCTURE -->
<!-- ============================================================ -->
<!-- Basic Salary -->
<record id="hr_rule_basic" model="hr.salary.rule">
<field name="name">Basic Salary</field>
<field name="code">BASIC</field>
<field name="sequence">1</field>
<field name="category_id" ref="hr_payroll.BASIC"/>
<field name="struct_id" ref="hr_payroll_structure_canada"/>
<field name="condition_select">none</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = payslip.paid_amount</field>
<record id="hr_salary_rule_category_ca_ei" model="hr.salary.rule.category">
<field name="name">EI</field>
<field name="code">EI</field>
</record>
<!-- House Rent Allowance -->
<record id="hr_rule_hra" model="hr.salary.rule">
<field name="name">House Rent Allowance</field>
<field name="code">HRA</field>
<field name="sequence">5</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="struct_id" ref="hr_payroll_structure_canada"/>
<field name="condition_select">none</field>
<field name="amount_select">fix</field>
<field name="amount_fix">0.0</field>
<record id="hr_salary_rule_category_ca_fed_tax" model="hr.salary.rule.category">
<field name="name">Federal Tax</field>
<field name="code">FED_TAX</field>
</record>
<!-- Dearness Allowance -->
<record id="hr_rule_da" model="hr.salary.rule">
<field name="name">Dearness Allowance</field>
<field name="code">DA</field>
<field name="sequence">6</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="struct_id" ref="hr_payroll_structure_canada"/>
<field name="condition_select">none</field>
<field name="amount_select">fix</field>
<field name="amount_fix">0.0</field>
<record id="hr_salary_rule_category_ca_prov_tax" model="hr.salary.rule.category">
<field name="name">Provincial Tax</field>
<field name="code">PROV_TAX</field>
</record>
<!-- Travel Allowance -->
<record id="hr_rule_travel" model="hr.salary.rule">
<field name="name">Travel Allowance</field>
<field name="code">Travel</field>
<field name="sequence">7</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="struct_id" ref="hr_payroll_structure_canada"/>
<field name="condition_select">none</field>
<field name="amount_select">fix</field>
<field name="amount_fix">0.0</field>
<record id="hr_salary_rule_category_ca_ohp" model="hr.salary.rule.category">
<field name="name">Ontario Health Premium</field>
<field name="code">OHP</field>
</record>
<!-- Meal Allowance -->
<record id="hr_rule_meal" model="hr.salary.rule">
<field name="name">Meal Allowance</field>
<field name="code">Meal</field>
<field name="sequence">8</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="struct_id" ref="hr_payroll_structure_canada"/>
<field name="condition_select">none</field>
<field name="amount_select">fix</field>
<field name="amount_fix">0.0</field>
<record id="hr_salary_rule_category_ca_employer" model="hr.salary.rule.category">
<field name="name">Employer Contributions</field>
<field name="code">EMPLOYER</field>
</record>
<!-- Medical Allowance -->
<record id="hr_rule_medical" model="hr.salary.rule">
<field name="name">Medical Allowance</field>
<field name="code">Medical</field>
<field name="sequence">9</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="struct_id" ref="hr_payroll_structure_canada"/>
<field name="condition_select">none</field>
<field name="amount_select">fix</field>
<field name="amount_fix">0.0</field>
</record>
<!-- Gross Salary -->
<record id="hr_rule_gross" model="hr.salary.rule">
<field name="name">Gross</field>
<field name="code">GROSS</field>
<field name="sequence">100</field>
<field name="category_id" ref="hr_payroll.GROSS"/>
<field name="struct_id" ref="hr_payroll_structure_canada"/>
<field name="condition_select">none</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = categories.BASIC + categories.ALW</field>
</record>
<!-- Net Salary -->
<record id="hr_rule_net" model="hr.salary.rule">
<field name="name">Net Salary</field>
<field name="code">NET</field>
<field name="sequence">200</field>
<field name="category_id" ref="hr_payroll.NET"/>
<field name="struct_id" ref="hr_payroll_structure_canada"/>
<field name="condition_select">none</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = categories.GROSS + categories.DED</field>
<record id="hr_salary_rule_category_ca_earnings" model="hr.salary.rule.category">
<field name="name">Earnings</field>
<field name="code">EARN</field>
<field name="country_id" ref="base.ca"/>
</record>
</data>