Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 3 additions & 0 deletions changelog.d/ctc-2021-refundable-split.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Correct the 2021 child tax credit split after both phaseouts so the credit for other dependents remains nonrefundable, including its effect on solar-credit ordering and Oklahoma conformity.

Correct the ordinary CTC phaseout threshold for surviving spouses to $200,000 from 2018 onward, while retaining their separate $150,000 ARPA threshold.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ HEAD_OF_HOUSEHOLD:
2018-01-01: 200_000
SURVIVING_SPOUSE:
2013-01-01: 75_000
2018-01-01: 400_000
2018-01-01: 200_000
metadata:
propagate_metadata_to_children: true
unit: currency-USD
Expand All @@ -27,6 +27,8 @@ metadata:
# TCJA:
- title: U.S.C 26 U.S. Code § 24(h)(3)
href: https://www.law.cornell.edu/uscode/text/26/24#h_3
- title: 2021 Schedule 8812, line 9
href: https://www.irs.gov/pub/irs-prior/f1040s8--2021.pdf#page=1
- title: H.R.1 - One Big Beautiful Bill Act
href: https://www.congress.gov/bill/119th-congress/house-bill/1/text
# OBBB extends TCJA CTC phaseout thresholds.
28 changes: 28 additions & 0 deletions policyengine_us/tests/policy/baseline/gov/irs/credits/ctc/ctc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,31 @@
ctc_phase_out: 1
output:
ctc: 2

- name: A surviving spouse phases out the 2021 child credit above 200000.
period: 2021
input:
people:
parent:
age: 40
is_tax_unit_head: true
employment_income: 200_001
child:
age: 5
is_tax_unit_dependent: true
tax_units:
tax_unit:
members: [parent, child]
filing_status: SURVIVING_SPOUSE
households:
household:
members: [parent, child]
state_code: TX
output:
ctc_arpa_phase_out_threshold: 150_000
ctc_arpa_phase_out: 1_600
ctc_phase_out_threshold: 200_000
ctc_phase_out: 50
ctc: 1_950
refundable_ctc: 1_950
non_refundable_ctc: 0
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,21 @@
ctc_arpa_max_addition: 15_000 # e.g. 15 kids * $1,000 extra.
output:
ctc_arpa_phase_out_cap: 12_500 # 400k - 150k = 250k * 0.05 = 12.5k

- name: The first ARPA reduction cannot exceed the child credit enhancement.
period: 2021
input:
filing_status: JOINT
ctc_arpa_max_addition: 1_600
output:
ctc_arpa_phase_out_cap: 1_600

- name: Surviving spouses use the 2500 threshold-difference cap in the Line 5 Worksheet.
period: 2021
input:
filing_status: SURVIVING_SPOUSE
ctc_arpa_max_addition: 5_000
output:
ctc_arpa_phase_out_threshold: 150_000
ctc_phase_out_threshold: 200_000
ctc_arpa_phase_out_cap: 2_500
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,40 @@
output:
ctc_phase_out_threshold: 200_000

- name: CTC phases out at $400,000 for singles while TCJA is active.
- name: CTC phases out at $400,000 for joint filers while TCJA is active.
period: 2022
input:
filing_status: JOINT
output:
ctc_phase_out_threshold: 400_000

# Section 24(h)(3) reserves $400,000 for joint returns. A surviving spouse
# shares joint tax rates under section 1(a), but does not file a joint return.
- name: Before TCJA surviving spouses retain the nonjoint threshold.
period: 2017
input:
filing_status: [SURVIVING_SPOUSE, JOINT]
output:
ctc_phase_out_threshold: [75_000, 110_000]

- name: TCJA gives surviving spouses the ordinary nonjoint threshold.
period: 2018
input:
filing_status: [SURVIVING_SPOUSE, JOINT]
output:
ctc_phase_out_threshold: [200_000, 400_000]

- name: ARPA does not make surviving spouses joint filers for ordinary phaseout.
period: 2021
input:
filing_status: [SURVIVING_SPOUSE, JOINT]
output:
ctc_phase_out_threshold: [200_000, 400_000]
ctc_arpa_phase_out_threshold: [150_000, 150_000]

- name: OBBB retains the nonjoint ordinary threshold for surviving spouses.
period: 2026
input:
filing_status: [SURVIVING_SPOUSE, JOINT]
output:
ctc_phase_out_threshold: [200_000, 400_000]
Original file line number Diff line number Diff line change
Expand Up @@ -206,3 +206,118 @@
section_911_excluded_income: 0
# Without the section 911 bar, the same phase-in gives a $3,400 refund.
refundable_ctc: 0

# Proposed additions to:
# policyengine_us/tests/policy/baseline/gov/irs/credits/ctc/refundable/refundable_ctc.yaml
# Sources: 2021 IRC 24(i)(1)(B), 24(i)(4)(C)-(D), and Schedule 8812
# https://www.govinfo.gov/content/pkg/USCODE-2021-title26/pdf/USCODE-2021-title26-subtitleA.pdf#page=57
# https://www.govinfo.gov/content/pkg/USCODE-2021-title26/pdf/USCODE-2021-title26-subtitleA.pdf#page=58
# https://www.irs.gov/pub/irs-prior/f1040s8--2021.pdf#page=1
- name: ARPA phaseout cannot make other-dependent credit refundable in 2021
period: 2021
absolute_error_margin: 0.01
input:
people:
parent:
age: 40
is_tax_unit_head: true
employment_income: 170_000
child:
age: 5
is_tax_unit_dependent: true
other_dependent:
age: 19
is_tax_unit_dependent: true
tax_units:
tax_unit:
members: [parent, child, other_dependent]
filing_status: HEAD_OF_HOUSEHOLD
households:
household:
members: [parent, child, other_dependent]
state_code: TX
output:
adjusted_gross_income: 170_000
# min(50 * ceil((170,000 - 112,500) / 1,000), 1,600, 4,375).
ctc_arpa_phase_out: 1_600
ctc_phase_out: 0
# Schedule 8812 lines 5 + 7 = (3,600 - 1,600) + 500.
ctc: 2_500
# Lines 14a = 500; 14b = 2,500 - 500 = 2,000.
refundable_ctc: 2_000
# Before the section 26(a) tax limit (not binding in this household).
non_refundable_ctc: 500
ctc_value: 2_500

- name: Other-dependent credit remains nonrefundable after the child portion phases out in 2021
period: 2021
absolute_error_margin: 0.01
input:
people:
parent:
age: 40
is_tax_unit_head: true
employment_income: 240_001
child:
age: 5
is_tax_unit_dependent: true
other_dependent:
age: 19
is_tax_unit_dependent: true
tax_units:
tax_unit:
members: [parent, child, other_dependent]
filing_status: HEAD_OF_HOUSEHOLD
households:
household:
members: [parent, child, other_dependent]
state_code: TX
output:
ctc_arpa_phase_out: 1_600
# 50 * ceil((240,001 - 200,000) / 1,000) = 2,050.
ctc_phase_out: 2_050
ctc: 450
# max(3,600 - 1,600 - 2,050, 0) = 0.
refundable_ctc: 0
non_refundable_ctc: 450
ctc_value: 450

# This interaction proves the split affects total federal tax, not only labels.
# 2021 IRC 25D(c), Form 5695 lines 6b/14/15 and its Credit Limit Worksheet:
# https://www.govinfo.gov/content/pkg/USCODE-2021-title26/pdf/USCODE-2021-title26-subtitleA.pdf#page=81
# https://www.irs.gov/pub/irs-prior/f5695--2021.pdf#page=1
# https://www.irs.gov/pub/irs-prior/i5695--2021.pdf#page=4
- name: Nonrefundable ODC reduces solar credit capacity before the 2021 child refund
period: 2021
absolute_error_margin: 0.01
input:
people:
parent:
age: 40
is_tax_unit_head: true
employment_income: 170_000
child:
age: 5
is_tax_unit_dependent: true
other_dependent:
age: 19
is_tax_unit_dependent: true
tax_units:
tax_unit:
members: [parent, child, other_dependent]
filing_status: HEAD_OF_HOUSEHOLD
solar_electric_property_expenditures: 150_000
households:
household:
members: [parent, child, other_dependent]
state_code: TX
output:
income_tax_before_credits: 28_857
residential_clean_energy_credit_potential: 39_000
# 28,857 - 500 ODC; refundable child credit is in a different subpart.
residential_clean_energy_credit_credit_limit: 28_357
residential_clean_energy_credit: 28_357
refundable_ctc: 2_000
non_refundable_ctc: 500
ctc_value: 2_500
income_tax: -2_000
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,11 @@
output: # expected ia_income_tax from patched TAXSIM35 2023-05-05 version
# federal income tax results used by Iowa income tax:
filing_status: JOINT
# federal CTC was fully refundable in 2021, but composition is flawed
non_refundable_ctc: 0 # a negative credit is nonsensical
refundable_ctc: 8_000 # the correct amount in this case is $8000
# The child-only CTC remaining after both 2021 reductions is refundable.
non_refundable_ctc: 0
refundable_ctc: 8_000
income_tax_before_refundable_credits: 42_502.80 #
# formula for ia_fedtax_deduction works around the above federal CTC flaw
# Iowa retains its addback of nonrefundable CTC in fully refundable years.
additional_medicare_tax: 18.18 # neither this nor SECA tax part of fedtax
# Iowa income tax results:
ia_net_income: [104_010, 148_010, 0, 0, 0, 0]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,42 @@
income_tax_capped_non_refundable_credits: 1_000
ok_federal_ctc: 500

- name: In 2021 Oklahoma counts the child refund and only usable ODC after ARPA phaseout.
period: 2021
absolute_error_margin: 0.01
input:
people:
parent:
age: 40
is_tax_unit_head: true
employment_income: 90_000
child:
age: 5
is_tax_unit_dependent: true
other_dependent:
age: 19
is_tax_unit_dependent: true
tax_units:
tax_unit:
members: [parent, child, other_dependent]
filing_status: SINGLE
# Isolate a binding federal tax limit while deriving the CTC split.
income_tax_before_credits: 300
households:
household:
members: [parent, child, other_dependent]
state_code: OK
output:
ctc_arpa_phase_out: 750
ctc_phase_out: 0
ctc: 3_350
refundable_ctc: 2_850
non_refundable_ctc: 500
income_tax_capped_non_refundable_credits: 300
ctc_value: 3_150
# Refundable child credit plus 300 of the 500 nonrefundable ODC.
ok_federal_ctc: 3_150

- name: A credit on Credit Limit Worksheet A, line 2, is applied before the CTC when credits exceed tax.
period: 2025
input:
Expand Down
Loading
Loading