Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add provincial tax credit programs#538

Open
vahid-ahmadi wants to merge 4 commits into
master from
provincial-tax-programs
Open

Add provincial tax credit programs #538
vahid-ahmadi wants to merge 4 commits into
master from
provincial-tax-programs

Conversation

@vahid-ahmadi

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

Copy link
Copy Markdown
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@PavelMakarchuk PavelMakarchuk Awaiting requested review from PavelMakarchuk

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Implement provincial tax credit programs

1 participant

AltStyle によって変換されたページ (->オリジナル) /