Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Expose annual employee CPP/QPP/EI/QPIP contribution variables

Open
#556 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
python
Domain
backend

Research direction

Start by reading the existing implementations referenced in issues #152, #403, and #527, then compare their parameters and outputs with the linked CRA payroll formulas. Done means stable person-level annual CPP, QPP, EI, and QPIP outputs, covered by the listed edge-case and Quebec/non-Quebec tests, with parameter metadata citing the source.

Written by the indexing model from the issue text.

Description

enhancement

Problem

PolicyEngine Canada does not expose standalone annual employee-liability
variables for:

  • Canada Pension Plan contributions
  • Quebec Pension Plan contributions
  • Employment Insurance premiums
  • Quebec Parental Insurance Plan premiums

These outputs are needed both by downstream disposable-income calculations and
by source-level comparison against CRA payroll formulas. Related work exists in
#152 (CPP), #403 (EI), and #527 (QPP), but QPIP and the common output contract
are not covered.

Scope

  • Add person-level annual employee contribution/premium variables for CPP, QPP,
    EI, and QPIP.
  • Apply province-residence routing between CPP/QPP and EI/QPIP.
  • Parameterize the basic exemption, YMPE, YAMPE, rates, and annual maxima by
    effective year.
  • Represent base and additional CPP/QPP contributions explicitly where needed,
    while also exposing total employee liability.

Acceptance criteria

  • Each program has a stable person-level annual output variable.
  • Tests cover zero earnings, the basic exemption, YMPE, YAMPE, and annual caps.
  • Quebec and non-Quebec cases exercise the correct mutually exclusive pension
    plan and applicable insurance premiums.
  • Parameter metadata cites the current CRA payroll formulas.

Official source:
https://www.canada.ca/en/revenue-agency/services/forms-publications/payroll/t4127-payroll-deductions-formulas/t4127-jan/t4127-jan-payroll-deductions-formulas-computer-programs.html

Dominant language
Python
Stars
17
Forks
35
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PolicyEngine/policyengine-canada

All issues in PolicyEngine/policyengine-canada

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.