Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
edf7cf1
Add North Carolina's claim of right repayment itemized deduction
MaxGhenis Oct 9, 2026
3b57231
From 2026 limit North Carolina's claim of right deduction to income N…
MaxGhenis Oct 9, 2026
a6a96cd
Model the section 1341 claim of right deduction and credit; wire Nort…
MaxGhenis Oct 9, 2026
4526aed
Keep the federal claim of right deduction and credit out of state rul…
MaxGhenis Oct 10, 2026
09ee710
Document the unmodeled pre-2018 small repayment deduction; changelog …
MaxGhenis Oct 10, 2026
0343962
Fix the federal method in the North Carolina worksheet property test …
MaxGhenis Oct 10, 2026
8f268ca
Remove a stray empty log file
MaxGhenis Oct 10, 2026
6c2a76e
Address review: isolate the method branches, compare to the cent, ret…
MaxGhenis Oct 10, 2026
c2b9602
Keep the simulation's claim of right method in the itemizing branches
MaxGhenis Oct 10, 2026
81528e0
Merge main into North Carolina claim of right deduction
MaxGhenis Oct 11, 2026
1500215
Merge PR 10028's branch (with main) into the section 1341 branch
MaxGhenis Oct 11, 2026
9c98f0d
Restore conservative branch invalidation; fix the method in itemizing…
MaxGhenis Oct 11, 2026
de58d20
Merge main into the section 1341 branch
MaxGhenis Oct 11, 2026
dc10cc5
Test both NC contrib credits stacked on the claim of right payment wi…
MaxGhenis Oct 11, 2026
e1ac4f7
Derive the states with their own claim of right rules in the cross-st…
MaxGhenis Oct 13, 2026
11c1f31
Offset New Jersey claim of right repayments within their income category
MaxGhenis Oct 13, 2026
a7da3e3
List the states whose own claim of right relief applies under the fed…
MaxGhenis Oct 13, 2026
ffd689c
Carry New Jersey's claim of right offset into the pension exclusion a…
MaxGhenis Oct 13, 2026
b3376ba
Address review r2 of #10198: repayer-first attribution, exempt interest
MaxGhenis Oct 13, 2026
ff55ec8
Test a New Jersey interest repayment that offsets taxable interest
MaxGhenis Oct 13, 2026
2d36a76
Merge main into the section 1341 branch
MaxGhenis Oct 13, 2026
afb4bad
Merge #10038's merge of main into the nj-claim-of-right branch
MaxGhenis Oct 13, 2026
32b0c13
Carry the claim of right deduction into Montana itemized deductions f…
MaxGhenis Oct 13, 2026
8fba889
Merge #10038's Montana 2024 list change into the nj-claim-of-right br…
MaxGhenis Oct 13, 2026
6f34ccd
Merge main into the section 1341 branch
MaxGhenis Oct 14, 2026
eebd7b0
Merge #10038's merge of main (6f34ccde23) into the nj-claim-of-right …
MaxGhenis Oct 14, 2026
d1c695b
Give every itemizing branch the simulation's claim of right method
MaxGhenis Oct 14, 2026
89da576
Merge #10038's d1c695b2f7 (itemizing branches inherit the claim of ri…
MaxGhenis Oct 14, 2026
17cad4b
Drop #10028's merged changelog fragment; date period_branch's set_inp…
MaxGhenis Oct 14, 2026
2e246c3
Merge #10038's 17cad4b53b (drops the compiled NC changelog fragment) …
MaxGhenis Oct 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/federal-claim-of-right-1341.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add the federal claim of right repayment deduction and section 1341 credit (26 U.S.C. 1341), North Carolina's bar on its claim of right deduction when federal tax is computed under section 1341(a)(5), and North Carolina's tax payment for restored income (G.S. 105-266.2).
1 change: 1 addition & 0 deletions changelog.d/nj-claim-of-right.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Offset New Jersey claim of right repayments against income of the same category in the year of repayment (N.J.S.A. 54A:5-2, TAM 2011-7), including in the pension exclusion's base and Worksheet D's earnings test.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ values:
- mo_refundable_credits # Missouri.
- ms_refundable_credits # Mississippi.
- mt_refundable_credits # Montana.
# Skip NC which has no refundable credits.
- nc_refundable_credits # North Carolina.
- nd_refundable_credits # North Dakota.
- ne_refundable_credits # Nebraska.
- nh_refundable_credits # New Hampshire.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ values:
- mo_refundable_credits # Missouri.
- ms_refundable_credits # Mississippi.
- mt_refundable_credits # Montana.
# Skip NC which has no refundable credits.
- nc_refundable_credits # North Carolina.
- nd_refundable_credits # North Dakota.
- ne_refundable_credits # Nebraska.
- nh_refundable_credits # New Hampshire.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ values:
- mo_income_tax_before_refundable_credits
- ms_income_tax_before_credits_unit
- mt_income_tax_before_refundable_credits_unit
- nc_income_tax # NC has no refundable credits.
- nc_income_tax_before_refundable_credits
- nd_income_tax_before_refundable_credits
- ne_income_tax_before_refundable_credits
- nh_income_tax_before_refundable_credits
Expand Down
3 changes: 3 additions & 0 deletions policyengine_us/parameters/gov/irs/credits/refundable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ values:
- refundable_ctc
- recovery_rebate_credit
- refundable_payroll_tax_credit
- claim_of_right_credit
# Currently, the premium tax credit is not included in the refundable tax credits.
# Add CDCC in 2021.
2021-01-01:
Expand All @@ -14,6 +15,7 @@ values:
- refundable_ctc
- recovery_rebate_credit
- refundable_payroll_tax_credit
- claim_of_right_credit
# Currently, the premium tax credit is not included in the refundable tax credits.
- cdcc
# Remove CDCC in 2022.
Expand All @@ -23,6 +25,7 @@ values:
- refundable_ctc
- recovery_rebate_credit
- refundable_payroll_tax_credit
- claim_of_right_credit
# Currently, the premium tax credit is not included in the refundable tax credits.
metadata:
unit: list
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
description: The IRS computes tax for the year of repayment as the lesser of the tax with a deduction for the repayment and the tax without it less the resulting decrease in prior-year tax, when the repayment of income held under a claim of right exceeds this amount.
values:
1954-01-01: 3_000
metadata:
unit: currency-USD
period: year
label: Claim of right repayment threshold
reference:
- title: 26 U.S. Code § 1341(a)(3)
href: https://www.govinfo.gov/content/pkg/USCODE-2024-title26/html/USCODE-2024-title26-subtitleA-chap1-subchapQ-partV-sec1341.htm
- title: 26 U.S. Code § 67(b)(9)
href: https://www.law.cornell.edu/uscode/text/26/67#b_9
- title: 26 CFR 1.1341-1(a)(3)
href: https://www.ecfr.gov/current/title-26/chapter-I/subchapter-A/part-1/subject-group-ECFR4c74bc8cf7c11fb/section-1.1341-1
- title: "Publication 525 (2025), Repayments #page 36-37"
href: https://www.irs.gov/pub/irs-prior/p525--2025.pdf#page=36
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ values:
- medical_expense_deduction
- casualty_loss_deduction
- misc_deduction
- claim_of_right_deduction
2020-01-01:
- charitable_deduction
- charitable_deduction_for_non_itemizers
Expand All @@ -15,13 +16,15 @@ values:
- medical_expense_deduction
- casualty_loss_deduction
- misc_deduction
- claim_of_right_deduction
2022-01-01:
- charitable_deduction
- interest_deduction
- salt_deduction
- medical_expense_deduction
- casualty_loss_deduction
- misc_deduction
- claim_of_right_deduction
metadata:
unit: list
label: itemized deductions
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ values:
- mo_income_tax_before_refundable_credits
- ms_income_tax_before_credits_unit
- mt_income_tax_before_refundable_credits_unit
- nc_income_tax
- nc_income_tax_before_refundable_credits
- nd_income_tax_before_refundable_credits
- ne_income_tax_before_refundable_credits
- nh_income_tax_before_refundable_credits
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ values:
- mo_refundable_credits # Missouri.
- ms_refundable_credits # Mississippi.
- mt_refundable_credits # Montana.
# Skip NC which has no refundable credits.
- nc_refundable_credits # North Carolina.
- nd_refundable_credits # North Dakota.
- ne_refundable_credits # Nebraska.
- nh_refundable_credits # New Hampshire.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,27 @@ description: Missouri ignores the following credits in federal income tax deduct
# Part I Line 3, and the net premium tax credit (Schedule 3 Line 9). Credits
# claimed on Line 28 (refundable CTC) and Line 30 (recovery rebate), and the
# 2021 refundable CDCC (Schedule 3 Line 13g), never reduce Line 22, so they
# are added back here. The EIC is not added back: the Line 9 instructions say
# are added back here. So is the section 1341 credit for repaid claim of right
# income (Schedule 3 Line 13b). The EIC is not added back: the Line 9 instructions say
# "If you have an earned income credit, you must subtract the credit from the
# tax on your federal return."
values:
2018-01-01:
- recovery_rebate_credit
- refundable_ctc
- claim_of_right_credit
# The CDCC is a refundable credit only in 2021 (ARPA); in other years it
# already reduces income tax before refundable credits, so adding it back
# would overstate the base.
2021-01-01:
- recovery_rebate_credit
- refundable_ctc
- claim_of_right_credit
- cdcc
2022-01-01:
- recovery_rebate_credit
- refundable_ctc
- claim_of_right_credit
metadata:
unit: list
label: Missouri ignored credits in federal income tax deduction
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,22 @@ description: Montana counts these sources as miscellaneous deductions.
values:
2021-01-01:
- casualty_loss_deduction
2024-01-01: []

# Form 2 itemized deductions line 18 follows federal Schedule A line 16.
- mt_claim_of_right_deduction
# From 2024 Form 2 line 2 takes the federal itemized deductions (Worksheet A
# line 1: Form 1040 line 12), which include Schedule A line 16.
2024-01-01:
- mt_claim_of_right_deduction

metadata:
unit: list
label: Montana miscellaneous deductions
label: Montana miscellaneous deductions
period: year
reference:
- title: 2023 Montana Form 2 instructions, itemized deductions line 18
href: https://revenue.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2023_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=39
- title: 2024 Montana Form 2 instructions, line 2 and Worksheet A
href: https://revenue.mt.gov/files/forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2024_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=15
- title: Montana Individual Income Tax Return (Form 2) 2024
href: https://revenuefiles.mt.gov/files/Forms/Montana-Individual-Income-Tax-Return-Form-2-Instructions/2024_Montana_Individual_Income_Tax_Return_Form_2_Instructions.pdf#page=8
- title: Montana Individual Income Tax Return (Form 2) 2022
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
description: North Carolina provides these refundable income tax credits and payments.
values:
1995-01-01:
- nc_claim_of_right_payment
metadata:
unit: list
period: year
label: North Carolina refundable income tax credits
reference:
- title: N.C. Gen. Stat. § 105-266.2
href: https://www.ncleg.gov/EnactedLegislation/Statutes/HTML/BySection/Chapter_105/GS_105-266.2.html
- title: S.L. 1997-213, Section 2 (effective for taxable years beginning on or after January 1, 1995)
href: https://www.ncleg.gov/EnactedLegislation/SessionLaws/HTML/1997-1998/SL1997-213.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
description: New Jersey leaves these amounts out of the interest a claim of right repayment of interest can offset, because New Jersey does not tax them; it subtracts them from gross income separately.
values:
2021-01-01:
- us_govt_interest_person # Interest on U.S. obligations, exempt in New Jersey
metadata:
unit: list
period: year
label: New Jersey claim of right repayment offset, category (e) exempt interest
reference:
- title: N.J.S.A. 54A:5-1(e)
href: https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/
- title: N.J.S.A. 54A:5-2
href: https://lis.njleg.state.nj.us/nxt/gateway.dll/statutes/1/53569/53634
- title: 2025 NJ-1040 instructions, income New Jersey does not tax (direct federal obligations)
href: https://www.nj.gov/treasury/taxation/pdf/current/1040i.pdf#page=10
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
description: New Jersey offsets a claim of right repayment of category (n) income against these sources of the same category in the year of repayment.
values:
2021-01-01:
- alimony_income # Line 25
metadata:
unit: list
period: year
label: New Jersey claim of right repayment offset, category (n) sources
reference:
- title: N.J.S.A. 54A:5-1(n)
href: https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/
- title: N.J.S.A. 54A:5-2
href: https://lis.njleg.state.nj.us/nxt/gateway.dll/statutes/1/53569/53634
- title: New Jersey Division of Taxation, TAM 2011-7, Claim of Right Repayment Refunds (IRC 1341)
href: https://www.nj.gov/treasury/taxation/pdf/pubs/tams/tam7.pdf
- title: 2025 NJ-1040, Line 25
href: https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
description: New Jersey offsets a claim of right repayment of category (f) income against these sources of the same category in the year of repayment.
values:
2021-01-01:
- dividend_income # Line 17
metadata:
unit: list
period: year
label: New Jersey claim of right repayment offset, category (f) sources
reference:
- title: N.J.S.A. 54A:5-1(f)
href: https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/
- title: N.J.S.A. 54A:5-2
href: https://lis.njleg.state.nj.us/nxt/gateway.dll/statutes/1/53569/53634
- title: New Jersey Division of Taxation, TAM 2011-7, Claim of Right Repayment Refunds (IRC 1341)
href: https://www.nj.gov/treasury/taxation/pdf/pubs/tams/tam7.pdf
- title: 2025 NJ-1040, Line 17
href: https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
description: New Jersey offsets a claim of right repayment of category (g) income against these sources of the same category in the year of repayment.
values:
2021-01-01:
- gambling_winnings # Line 24
metadata:
unit: list
period: year
label: New Jersey claim of right repayment offset, category (g) sources
reference:
- title: N.J.S.A. 54A:5-1(g)
href: https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/
- title: N.J.S.A. 54A:5-2
href: https://lis.njleg.state.nj.us/nxt/gateway.dll/statutes/1/53569/53634
- title: New Jersey Division of Taxation, TAM 2011-7, Claim of Right Repayment Refunds (IRC 1341)
href: https://www.nj.gov/treasury/taxation/pdf/pubs/tams/tam7.pdf
- title: 2025 NJ-1040, Line 24
href: https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
description: New Jersey offsets a claim of right repayment of category (e) income against these sources of the same category in the year of repayment.
values:
2021-01-01:
- taxable_interest_income # Line 16a
metadata:
unit: list
period: year
label: New Jersey claim of right repayment offset, category (e) sources
reference:
- title: N.J.S.A. 54A:5-1(e)
href: https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/
- title: N.J.S.A. 54A:5-2
href: https://lis.njleg.state.nj.us/nxt/gateway.dll/statutes/1/53569/53634
- title: New Jersey Division of Taxation, TAM 2011-7, Claim of Right Repayment Refunds (IRC 1341)
href: https://www.nj.gov/treasury/taxation/pdf/pubs/tams/tam7.pdf
- title: 2025 NJ-1040, Line 16a
href: https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
description: New Jersey offsets a claim of right repayment of category (j) income against these sources of the same category in the year of repayment.
values:
2021-01-01:
- taxable_pension_income # Line 20a
- taxable_ira_distributions
- taxable_roth_conversions
- taxable_401k_distributions
- taxable_403b_distributions
- taxable_sep_distributions
- keogh_distributions
metadata:
unit: list
period: year
label: New Jersey claim of right repayment offset, category (j) sources
reference:
- title: N.J.S.A. 54A:5-1(j)
href: https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/
- title: N.J.S.A. 54A:5-2
href: https://lis.njleg.state.nj.us/nxt/gateway.dll/statutes/1/53569/53634
- title: New Jersey Division of Taxation, TAM 2011-7, Claim of Right Repayment Refunds (IRC 1341)
href: https://www.nj.gov/treasury/taxation/pdf/pubs/tams/tam7.pdf
- title: 2025 NJ-1040, Line 20a
href: https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
description: New Jersey offsets a claim of right repayment of category (a) income against these sources of the same category in the year of repayment.
values:
2021-01-01:
- employment_income # Line 15
metadata:
unit: list
period: year
label: New Jersey claim of right repayment offset, category (a) sources
reference:
- title: N.J.S.A. 54A:5-1(a)
href: https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/
- title: N.J.S.A. 54A:5-2
href: https://lis.njleg.state.nj.us/nxt/gateway.dll/statutes/1/53569/53634
- title: New Jersey Division of Taxation, TAM 2011-7, Claim of Right Repayment Refunds (IRC 1341)
href: https://www.nj.gov/treasury/taxation/pdf/pubs/tams/tam7.pdf
- title: 2025 NJ-1040, Line 15
href: https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,15 @@ values:
- real_estate_taxes
- casualty_loss_deduction
- va_capped_state_and_local_sales_or_income_tax
# Schedule A line 16b, other itemized deductions.
- claim_of_right_deduction
metadata:
unit: list
period: year
label: Virginia itemized deductions reduction applicable deduction sources
reference:
- title: "2025 Virginia Schedule A Itemized Deductions, line 16b and Limited Itemized Deduction Worksheet line 1 #page 1-2"
href: https://www.tax.virginia.gov/sites/default/files/taxforms/individual-income-tax/2025/schedule-2025.pdf#page=1
- title: 2024 Virginia Schedule A Itemized Deductions
href: https://www.tax.virginia.gov/sites/default/files/taxforms/individual-income-tax/2024/schedule-2024.pdf#page=2
- title: 2023 Virginia Schedule A Itemized Deductions
Expand Down
36 changes: 15 additions & 21 deletions policyengine_us/reforms/states/nc/cdcc/nc_cdcc_reform.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,41 +23,35 @@ class nc_refundable_credits(Variable):
unit = USD
definition_period = YEAR
defined_for = StateCode.NC
# Baseline computes this via `adds`; replacing it with a
# formula requires clearing the inherited computation mode
# (the core engine rejects `formula` + `adds`/`subtracts`).
adds = None
subtracts = None

def formula(tax_unit, period, parameters):
# Preserve the baseline refundable credits and ADD the new
# CDCC (see #8775). Baseline nc_income_tax subtracts
# nc_refundable_credits and excludes nc_use_tax, which
# state_use_tax already counts, so no override of it is needed.
baseline_credits = parameters(
period
).gov.states.nc.tax.income.credits.refundable
total = add(tax_unit, period, list(baseline_credits)) + tax_unit(
"nc_cdcc", period
)
# Stack with nc_eitc when the NC EITC contrib reform is also
# active, so enabling both NC contrib credits sums rather than
# overwrites.
total = tax_unit("nc_cdcc", period)
variables = tax_unit.simulation.tax_benefit_system.variables
if "nc_eitc" in variables:
total = total + tax_unit("nc_eitc", period)
return total

class nc_income_tax(Variable):
value_type = float
entity = TaxUnit
label = "North Carolina income tax"
unit = USD
definition_period = YEAR
defined_for = StateCode.NC

def formula(tax_unit, period, parameters):
tax_before_credits = add(
tax_unit, period, ["nc_income_tax_before_credits", "nc_use_tax"]
)
non_refundable_credits = tax_unit("nc_non_refundable_credits", period)
tax_before_refundable = max_(0, tax_before_credits - non_refundable_credits)

refundable_credits = tax_unit("nc_refundable_credits", period)

return tax_before_refundable - refundable_credits

class reform(Reform):
def apply(self):
self.update_variable(nc_cdcc)
self.update_variable(nc_refundable_credits)
self.update_variable(nc_income_tax)

return reform

Expand Down
Loading
Loading