# Fusion Payroll - Canada ## Reverse Engineered from: pragmatic_odoo_canada_payroll **Extraction Date**: 2024-12-31 **Target Base**: Odoo Enterprise hr_payroll **Original Module**: pragmatic_odoo_canada_payroll (90 external identifiers) --- ## Module Summary ### What Was Extracted | Component | Count | Status | |-----------|-------|--------| | New Models | 2 | ✅ Complete | | Extended Models | 2 | ✅ Complete | | Views | 4 | ✅ Complete | | Salary Structure | 1 | ✅ Complete | | Salary Rule Category | 1 | ✅ Complete | | Salary Rules | 14 | ✅ Complete | | Tax Data Records | 14 | ✅ Complete | | Security Rules | 2 | ✅ Complete | --- ## Models ### New Models Created #### 1. tax.yearly.rates Configuration for yearly tax rates (Federal, Provincial, CPP, EI) | Field | Type | Description | |-------|------|-------------| | fiscal_year | Many2one | Link to account.fiscal.year | | tax_type | Selection | federal / provincial | | ded_type | Selection | cpp / ei | | tax_yearly_rate_ids | One2many | Tax bracket lines | | fed_tax_credit | Float | Federal tax credit | | provincial_tax_credit | Float | Provincial tax credit | | canada_emp_amount | Float | Canada Employment Amount | | exemption | Float | CPP exemption amount | | max_cpp | Float | Maximum CPP contribution | | emp_contribution_rate | Float | Employee CPP rate | | employer_contribution_rate | Float | Employer CPP rate | | ei_date | Date | EI effective date | | ei_rate | Float | EI rate | | ei_earnings | Float | Maximum EI earnings | | emp_ei_amount | Float | Employee EI amount | | employer_ei_amount | Float | Employer EI amount | #### 2. tax.yearly.rate.line Tax bracket lines for federal/provincial taxes | Field | Type | Description | |-------|------|-------------| | tax_id | Many2one | Parent tax.yearly.rates | | tax_bracket | Float | Income threshold | | tax_rate | Float | Tax rate percentage | | tax_constant | Float | Tax constant | ### Extended Models #### 1. hr.contract Added fields for employee tax credits: - `fed_tax_credit` - Federal Tax Credit - `provincial_tax_credit` - Provincial Tax Credit #### 2. hr.salary.rule.category Added fields to link Canadian payroll configuration: - `cpp_deduction_id` - Link to CPP yearly rates - `ei_deduction_id` - Link to EI yearly rates - `fed_tax_id` - Link to Federal tax rates - `provincial_tax_id` - Link to Provincial tax rates - Related fields for CPP/EI values --- ## Salary Structure **Name**: Canada salary structure **Code**: Canada **Parent**: Base for new structures ### Salary Rules in Structure | Sequence | Name | Code | Category | Type | |----------|------|------|----------|------| | 1 | Basic Salary | BASIC | Basic | Base | | 5 | House Rent Allowance | HRA | Allowance | Base | | 6 | Dearness Allowance | DA | Allowance | Base | | 7 | Travel Allowance | Travel | Allowance | Base | | 8 | Meal Allowance | Meal | Allowance | Base | | 9 | Medical Allowance | Medical | Allowance | Base | | 100 | Gross | GROSS | Gross | Computed | | 103 | CPP_Employee | CPP_EMPLOYEE | Deduction | Python | | 104 | CPP_Employer | CPP_EMPLOYER | Company Contribution | Python | | 105 | EI_Employee | EI_EMPLOYEE | Deduction | Python | | 106 | EI_Employer | EI_EMPLOYER | Company Contribution | Python | | 107 | Federal Income Tax | FED | Deduction | Python | | 108 | Province Income Tax | PR | Deduction | Python | | 200 | Net Salary | NET | Net | Computed | --- ## Tax Data (2025) ### Federal Tax Brackets (Canada) | Bracket | Rate | Constant | |---------|------|----------| | $55,867 | 15.00% | $0 | | $111,733 | 20.50% | $0 | | $173,205 | 26.00% | $0 | | $246,752 | 29.00% | $0 | | $246,752+ | 33.00% | $0 | **Canada Employment Amount**: $1,433.00 ### Provincial Tax Brackets (Ontario) | Bracket | Rate | Constant | |---------|------|----------| | $52,886 | 5.05% | $0 | | $105,775 | 9.15% | $0 | | $150,000 | 11.16% | $0 | | $220,000 | 12.16% | $0 | | $220,000+ | 13.16% | $0 | ### CPP (Canada Pension Plan) - Employee Contribution Rate: 5.95% - Employer Contribution Rate: 5.95% - Exemption Amount: $134.61 (per pay period) - Maximum CPP: $4,034.10 ### EI (Employment Insurance) - EI Rate: 1.64% - Maximum EI Earnings: $65,700.00 - Employee EI Amount: $1,077.48 - Employer EI Amount: $1,508.47 --- ## Calculation Logic ### Pay Period The module assumes **semi-monthly** pay periods (24 per year). All annual amounts are divided by 24. ### CPP Calculation ``` CPP = (GROSS - Exemption/24) * Rate / 100 ``` Capped at annual maximum with year-to-date tracking. ### EI Calculation ``` EI = GROSS * Rate / 100 ``` Capped at annual maximum with year-to-date tracking. Employer pays 1.4x employee portion. ### Tax Calculation Uses progressive tax brackets: 1. Determine bracket based on semi-monthly wage 2. Apply rate and constant 3. Subtract tax credits (personal credits, CPP, EI, Canada Employment) --- ## Installation 1. Copy module to Odoo addons directory 2. Update Apps List 3. Install "Fusion Payroll - Canada" 4. Configure: - Create Fiscal Year if needed - Go to Payroll → Configuration → Yearly Rates - Link CPP, EI, Federal, Provincial records to Salary Rule Category - Assign Canada structure to employee contracts --- ## Notes - Year-to-date calculations use hardcoded date ranges (update for each year) - Tax brackets should be updated annually per CRA guidelines - Employer EI is 1.4x employee portion - Module designed for Ontario - add other provinces as needed