Skip to content

Fix CT pension subtraction 2024 phase-out leaking into 2019-2023 (#9008)#9015

Open
PavelMakarchuk wants to merge 1 commit into
mainfrom
ct-pension-subtraction-cliff-9008
Open

Fix CT pension subtraction 2024 phase-out leaking into 2019-2023 (#9008)#9015
PavelMakarchuk wants to merge 1 commit into
mainfrom
ct-pension-subtraction-cliff-9008

Conversation

@PavelMakarchuk

Copy link
Copy Markdown
Collaborator

Fixes #9008.

Problem

For TY 2019–2023, the CT pension/annuity subtraction (CT-1040 Schedule 1, Line 48b) was a cliff: a fixed fraction of pension/annuity income if federal AGI was below $100,000 (MFJ) / $75,000 (other), and $0 otherwise. The $100k–$150k phase-down was added by PA 23-204 effective TY 2024.

In joint.yaml and non_joint.yaml, the TY2024 phase-out brackets were defined only from 2024-01-01. At earlier instants those thresholds/amounts resolved back to their 2024 values, so a 2021 joint filer above the cliff incorrectly received a subtraction (e.g. rate 0.70 at $107k, 0.55 at $112.8k).

On the originating taxsim record (2021 MFJ, federal AGI $112,804), PolicyEngine returned ct_pension_annuity_subtraction = $51,449.92 and ct_income_tax = $812, versus $0 / $4,671 from both TaxAct and TAXSIM-35.

Fix

Added explicit 2019-01-01: 0 amounts to each 2024-only bracket in both YAML files, so the subtraction is $0 above the cliff for 2019–2023 while preserving the 2024+ phase-out.

Tests

  • Unit: added 2021 above-cliff cases (joint $112,804 and single $85,000 → $0) and a below-cliff case (joint $99,000 → 42% subtraction).
  • Integration: added the taxsim Add TAXSIM validation infrastructure and test #1077 case, reproducing ct_agi $100,559 and ct_income_tax $4,671 (matches TaxAct and TAXSIM-35).

🤖 Generated with Claude Code

The TY2024 phase-out brackets in the CT pension/annuity subtraction were
defined only from 2024-01-01, so at earlier instants they resolved to
their 2024 values, granting a nonzero subtraction above the pre-2024
$100k (joint) / $75k (other) AGI cliff. Added explicit 2019-01-01: 0
amounts to each 2024-only bracket in joint.yaml and non_joint.yaml.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.

CT pension and annuity subtraction: 2024 phase-out brackets leak into 2019–2023, granting a subtraction above the statutory AGI cliff

1 participant