Skip to content

Pin New York itemized deductions to pre-TCJA rules#7250

Merged
DTrim99 merged 2 commits intoPolicyEngine:mainfrom
DTrim99:ny-pre-tcja-deductions
Jan 26, 2026
Merged

Pin New York itemized deductions to pre-TCJA rules#7250
DTrim99 merged 2 commits intoPolicyEngine:mainfrom
DTrim99:ny-pre-tcja-deductions

Conversation

@DTrim99
Copy link
Copy Markdown
Collaborator

@DTrim99 DTrim99 commented Jan 26, 2026

Summary

Implements New York's requirement to use pre-TCJA (Tax Cuts and Jobs Act) itemized deduction rules for state tax purposes.

Per NY Tax Law Section 615, New York itemized deductions must be calculated using federal deduction rules "as such deductions existed immediately prior to the enactment of Public Law 115-97" (TCJA).

Closes #6202

Status

  • Documentation collected
  • Parameters created
  • Variables implemented
  • Tests written
  • CI passing

References


This is a draft PR. Implementation work is in progress.

DTrim99 and others added 2 commits January 25, 2026 22:34
Starting implementation to pin New York itemized deductions to pre-TCJA rules
as required by NY Tax Law Section 615.

Closes PolicyEngine#6202

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
NY Tax Law § 615 requires itemized deductions to be computed using
federal rules as they existed immediately prior to TCJA (Public Law 115-97).

This commit:
- Creates NY-specific SALT deduction (uncapped, excludes income tax)
- Creates NY-specific misc deduction (still allowed with 2% AGI floor)
- Creates NY-specific casualty loss deduction (not limited to federal disasters)
- Updates ny_itemized_deductions_max to use pre-TCJA components
- Adds comprehensive test cases

Fixes PolicyEngine#6202

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@DTrim99
Copy link
Copy Markdown
Collaborator Author

DTrim99 commented Jan 26, 2026

Implementation Complete

This PR implements NY pre-TCJA itemized deduction conformity per Tax Law § 615.

Changes Made

New NY-specific variables (in pre_tcja/ folder):

  1. ny_salt_deduction - Uncapped SALT deduction that:

    • Includes state and local sales taxes
    • Includes real estate taxes
    • Excludes state/local income taxes (per § 615(c) add-back requirement)
    • No $10,000 cap
  2. ny_misc_deduction - Miscellaneous deduction that:

    • Still applies with 2% AGI floor (not suspended like federal post-2017)
    • Includes unreimbursed employee expenses and tax prep fees
  3. ny_casualty_loss_deduction - Casualty loss deduction that:

    • Still applies with 10% AGI floor
    • Not limited to federally declared disasters (unlike federal post-2017)

Updated ny_itemized_deductions_max:

  • Now uses NY-specific pre-TCJA components instead of federal itemized_deductions_less_salt
  • Adds comprehensive documentation explaining the pre-TCJA conformity

Test Coverage

Added 6 test cases verifying:

  • NY SALT excludes income tax, uses sales tax instead
  • NY SALT is uncapped (no $10,000 limit)
  • NY misc deduction still applies with 2% floor
  • NY misc deduction is zero when below floor
  • NY casualty loss deduction still applies
  • NY itemized deductions max includes all pre-TCJA components

What's NOT Included (per user request)

  • Union dues deduction (no input variable in the model)
  • Mortgage interest cap changes (input variable is already uncapped)

References

@codecov
Copy link
Copy Markdown

codecov Bot commented Jan 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (062c131) to head (210ad99).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #7250   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           10         4    -6     
  Lines          137        55   -82     
=========================================
- Hits           137        55   -82     
Flag Coverage Δ
unittests 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@DTrim99 DTrim99 merged commit 210ad99 into PolicyEngine:main Jan 26, 2026
9 checks passed
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.

Pin New York deductions to pre-TCJA

1 participant