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
1 change: 1 addition & 0 deletions changelog.d/amt-child-pre-2018.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Correct pre-2018 AMT for child filers by applying the limited exemption to AMT income and excluding joint returns from the child exemption cap.
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@
employment_income: 0
filing_status: JOINT
output:
amt_kiddie_tax_applies: true
amt_kiddie_tax_applies: false
# 2025 Form 6251 Exemption Worksheet line 1: 137,000 for joint filers.
amt_exemption: 137_000

Expand Down Expand Up @@ -176,7 +176,7 @@
employment_income: 0
filing_status: JOINT
output:
amt_kiddie_tax_applies: true
amt_kiddie_tax_applies: false
amt_exemption: 140_200

- name: 2026 single 18-year-old in the phase-out range
Expand All @@ -191,3 +191,124 @@
# exemption_phase_out = 0.5 * 100,000 = 50,000
# amt_exemption = max(0, 90,100 - 50,000) = 40,100
amt_exemption: 40_100

# IRC 1(g)(2)(C), 59(j); 2017 Form 6251 lines 28-35, instructions p. 11:
# https://www.irs.gov/pub/irs-prior/i6251--2017.pdf#page=11
# The model backdates some 2018 parameters into 2017. Supply the historical
# upstream return amounts to isolate the AMT formulas; wages still compute
# adjusted_earnings and the erroneous child cap, rather than supplying the cap.
# 2017 regular rates: https://www.irs.gov/pub/irs-drop/rp-16-55.pdf#page=7
# Standard deduction: https://www.irs.gov/pub/irs-drop/rp-16-55.pdf#page=15
# Personal exemptions: https://www.irs.gov/pub/irs-drop/rp-16-55.pdf#page=18
- name: A joint return by young spouses receives the ordinary 2017 AMT exemption
absolute_error_margin: 0.01
period: 2017
input:
people:
head:
age: 18
is_tax_unit_head: true
is_tax_unit_spouse: false
is_tax_unit_dependent: false
employment_income: 12_000
taxable_interest_income: 121_000
spouse:
age: 17
is_tax_unit_head: false
is_tax_unit_spouse: true
is_tax_unit_dependent: false
employment_income: 17_000
tax_units:
unit:
members: [head, spouse]
filing_status: JOINT
tax_unit_itemizes: false
adjusted_gross_income: 150_000
standard_deduction: 12_700
taxable_income_deductions: 12_700
exemptions: 8_100
regular_tax_before_credits: 23_777.50
households:
household:
members: [head, spouse]
state_code: TX
output:
# AGI = 12,000 + 17,000 + 121,000 = 150,000.
# Regular taxable income = 150,000 - 12,700 - 2 * 4,050 = 129,200.
# AMTI = 150,000; below joint phase-out threshold 160,900.
# IRC 1(g)(2)(C) excludes joint returns, so the 59(j) cap cannot apply.
# AMT base = 150,000 - 84,500 = 65,500; tentative tax = 17,030.
# Regular tax = 1,865 + 8,587.50 + 13,325 = 23,777.50; AMT = 0.
taxable_income: 129_200
amt_income: 150_000
amt_exemption: 84_500
amt_income_less_exemptions: 65_500
amt_base_tax: 17_030
alternative_minimum_tax: 0
amt_kiddie_tax_applies: false

# Post-2017 confirmation controls: the SECURE Act override makes the
# historical predicate defect irrelevant to the federal exemption.
- name: Young joint filers receive the full exemption in 2021
absolute_error_margin: 0.01
period: 2021
input:
people:
head:
age: 18
is_tax_unit_head: true
is_tax_unit_dependent: false
employment_income: 12_000
spouse:
age: 17
is_tax_unit_spouse: true
is_tax_unit_dependent: false
employment_income: 17_000
tax_units:
unit:
members: [head, spouse]
filing_status: JOINT
tax_unit_itemizes: false
households:
household:
members: [head, spouse]
state_code: TX
output:
adjusted_gross_income: 29_000
taxable_income: 3_900
amt_income: 29_000
amt_exemption: 114_600
amt_income_less_exemptions: 0
alternative_minimum_tax: 0

- name: Young joint filers receive the full exemption in 2022
absolute_error_margin: 0.01
period: 2022
input:
people:
head:
age: 18
is_tax_unit_head: true
is_tax_unit_dependent: false
employment_income: 12_000
spouse:
age: 17
is_tax_unit_spouse: true
is_tax_unit_dependent: false
employment_income: 17_000
tax_units:
unit:
members: [head, spouse]
filing_status: JOINT
tax_unit_itemizes: false
households:
household:
members: [head, spouse]
state_code: TX
output:
adjusted_gross_income: 29_000
taxable_income: 3_100
amt_income: 29_000
amt_exemption: 118_100
amt_income_less_exemptions: 0
alternative_minimum_tax: 0
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
output:
amt_income_less_exemptions: 1_000_000

- name: Kiddie tax filer before 2018 uses regular taxable income and the child limitation
- name: Kiddie tax filer before 2018 uses AMTI and the child limitation
period: 2017
input:
amt_income: 200_000
Expand All @@ -55,8 +55,8 @@
output:
# amt_exemption = min(54,300 - 0.25 * (200,000 - 120,700), 10,000 + 7,500)
# = min(34,475, 17,500) = 17,500
# 190,000 - 17,500 = 172,500
amt_income_less_exemptions: 172_500
# 200,000 - 17,500 = 182,500
amt_income_less_exemptions: 182_500

- name: 2025 single 18-year-old with no earnings uses AMTI and the full exemption
period: 2025
Expand All @@ -70,7 +70,7 @@
amt_kiddie_tax_applies: true
amt_exemption: 88_100
# 2025 Form 6251 line 6 = line 4 - line 5 = 200,000 - 88,100.
# The pre-2018 child treatment would give 190,000 - 9,550 = 180,450.
# Applying a child cap would give 200,000 - 9,550 = 190,450.
amt_income_less_exemptions: 111_900

- name: 2026 single 18-year-old with no earnings uses AMTI and the full exemption
Expand All @@ -95,6 +95,80 @@
employment_income: 0
filing_status: JOINT
output:
amt_kiddie_tax_applies: true
amt_kiddie_tax_applies: false
# 100,000 is below the 137,000 joint exemption.
amt_income_less_exemptions: 0

# IRC 55(b), 56(b)(1)(D), 59(j); 2017 Form 6251 lines 28-31:
# https://www.irs.gov/pub/irs-prior/f6251--2017.pdf#page=1
# Supply sourced 2017 upstream deductions because the model backdates its
# 2018 standard-deduction parameter. The filer is not claimable elsewhere.
# Standard deduction: https://www.irs.gov/pub/irs-drop/rp-16-55.pdf#page=15
# Personal exemption: https://www.irs.gov/pub/irs-drop/rp-16-55.pdf#page=18
- name: A child filer uses AMTI rather than regular taxable income before 2018
absolute_error_margin: 0.01
period: 2017
input:
people:
head:
age: 17
is_tax_unit_head: true
is_tax_unit_spouse: false
is_tax_unit_dependent: false
taxable_interest_income: 50_000
tax_units:
unit:
members: [head]
filing_status: SINGLE
tax_unit_itemizes: false
adjusted_gross_income: 50_000
standard_deduction: 6_350
taxable_income_deductions: 6_350
exemptions: 4_050
households:
household:
members: [head]
state_code: TX
output:
# Assume at least one living parent, as required by IRC 1(g)(2)(B).
# Earned income = 0; ordinary single exemption = 54,300.
# Section 59(j) limits ONLY the exemption: min(54,300, 0 + 7,500).
# No AMT deductions: AMTI = 50,000; base = 50,000 - 7,500 = 42,500.
# 26% * 42,500 = 11,050, irrespective of regular-tax deductions.
taxable_income: 39_600
amt_income: 50_000
amt_exemption: 7_500
amt_income_less_exemptions: 42_500
amt_base_tax: 11_050

# Positive-base control distinguishes AMTI from regular taxable income;
# a below-exemption child alone would not detect the wrong base.
- name: A 2025 child filer uses AMTI with the full ordinary exemption
absolute_error_margin: 0.01
period: 2025
input:
people:
head:
age: 17
is_tax_unit_head: true
is_tax_unit_spouse: false
is_tax_unit_dependent: false
taxable_interest_income: 200_000
tax_units:
unit:
members: [head]
filing_status: SINGLE
tax_unit_itemizes: false
households:
household:
members: [head]
state_code: TX
output:
# 2025 single exemption 88,100; no child cap under IRC 55(d)(4)(A)(iii).
# AMTI 200,000 - 88,100 = 111,900; 26% * 111,900 = 29,094.
# Using regular taxable income would wrongly give 184,250 - 88,100.
taxable_income: 184_250
amt_income: 200_000
amt_exemption: 88_100
amt_income_less_exemptions: 111_900
amt_base_tax: 29_094
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
period: 2022
input:
age_head: 18
filing_status: SINGLE
output:
amt_kiddie_tax_applies: true

Expand All @@ -14,13 +15,14 @@
output:
amt_kiddie_tax_applies: false

- name: Kiddie tax applies when both head and spouse under 19
- name: Kiddie tax does not apply to a joint return when both spouses are under 19
period: 2022
input:
age_head: 18
age_spouse: 18
filing_status: JOINT
output:
amt_kiddie_tax_applies: true
amt_kiddie_tax_applies: false

- name: Kiddie tax does not apply when head is 19+ (non-student)
period: 2022
Expand Down Expand Up @@ -104,3 +106,30 @@
members: [person1, person2]
output:
amt_kiddie_tax_applies: false

- name: A young separate filer remains subject to the child limitation before 2018
period: 2017
input:
age_head: 18
filing_status: SEPARATE
output:
amt_kiddie_tax_applies: true

- name: Young full-time students filing jointly are excluded before 2018
period: 2017
input:
people:
head:
age: 22
is_full_time_college_student: true
is_tax_unit_head: true
spouse:
age: 23
is_full_time_college_student: true
is_tax_unit_spouse: true
tax_units:
unit:
members: [head, spouse]
filing_status: JOINT
output:
amt_kiddie_tax_applies: false
Loading
Loading