Skip to content

Conversation

@vahid-ahmadi
Copy link
Contributor

@vahid-ahmadi vahid-ahmadi commented Nov 12, 2025

Fixes #528

Overview

This PR implements missing provincial tax credit and benefit programs identified in issue #528 as part of
the SPSD/M parity effort. The implementation adds 3 new provincial programs with comprehensive test
coverage.

Summary:

Detailed Implementation

  1. BC Sales Tax Credit

Purpose: Offsets sales tax impact for low-income BC residents

Implementation:

  • Location: policyengine_canada/variables/gov/provinces/bc/tax/income/credits/bc_sales_tax_credit/
  • Variables:
    • bc_sales_tax_credit.py - Main credit calculation
    • bc_sales_tax_credit_base.py - $75 per eligible adult
    • bc_sales_tax_credit_reduction.py - 2% reduction on income over threshold
  • Parameters:
    • Base amount: $75 per person
    • Thresholds: $15,000 (single), $18,000 (couple)
    • Reduction rate: 2%
  • Tests: 8 test cases covering eligibility, income thresholds, and reductions
  1. Alberta Seniors Benefit

Purpose: Provides financial assistance to low-income Alberta seniors

Implementation:

  • Location: policyengine_canada/variables/gov/provinces/ab/benefits/ab_seniors_benefit/
  • Variables:
    • ab_seniors_benefit.py - Main benefit
    • ab_seniors_benefit_eligible.py - Age 65+ and receiving OAS
    • ab_seniors_benefit_base.py - Maximum amounts by marital status
    • ab_seniors_benefit_reduction.py - 15.61% income reduction
  • Parameters:
    • Max benefit: $5,756 (2025), $3,792 (2024)
    • Thresholds: $33,410 (single), $54,640 (couple) for 2025
    • Reduction rate: 15.61%
  • Tests: 10 test cases covering eligibility, income levels, and year-specific amounts
  1. Quebec Solidarity Tax Credit

Purpose: Helps offset housing costs and QST for low/middle-income Quebec households

Implementation:

  • Location: policyengine_canada/variables/gov/provinces/qc/tax/income/credits/solidarity/
  • Variables:
    • qc_solidarity_tax_credit.py - Main credit aggregator
    • qc_solidarity_housing_component.py - Housing cost offset
    • qc_solidarity_qst_component.py - QST (sales tax) offset
  • Parameters:
    • Housing: $814 (single), $1,222 (couple/single parent)
    • QST: $306 per person
    • Separate thresholds and reduction rates for each component
  • Tests: 8 test cases covering family compositions and income levels

Files Changed

Variables: 10 new files
Parameters: 19 new files
Tests: 3 new files
Total: 32 new files

Programs Not Implemented

Manitoba Education Property Tax Credit

Reason: Requires is_homeowner variable that doesn't exist in the current system. Implementation would
require:

  1. Adding is_homeowner variable to household/person entity
  2. Defining how homeownership status is determined
  3. Integration with existing tax/benefit calculations

This should be addressed in a separate PR focused on property-related variables.

Nova Scotia Affordable Living Tax Credit

Reason: Already implemented in the codebase at:
policyengine_canada/variables/gov/provinces/ns/tax/income/credits/nsaltc/ns_affordable_living_tax_credit.py

References

@vahid-ahmadi vahid-ahmadi self-assigned this Nov 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement provincial tax credit programs

2 participants