diff --git a/policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/limit/401k.yaml b/policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/limit/401k.yaml index ced5eddcded..000c686dab2 100644 --- a/policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/limit/401k.yaml +++ b/policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/limit/401k.yaml @@ -7,6 +7,7 @@ values: 2023-01-01: 22_500 2024-01-01: 23_000 2025-01-01: 23_500 + 2026-01-01: 24_500 metadata: unit: currency-USD period: year @@ -22,4 +23,3 @@ metadata: # Inflation adjusted amounts - title: Cost-of-Living Adjustments for Retirement Items href: https://www.irs.gov/pub/irs-tege/cola-table.pdf#page=1 - diff --git a/policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/limit/annual_additions.yaml b/policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/limit/annual_additions.yaml new file mode 100644 index 00000000000..d2a9512c9d1 --- /dev/null +++ b/policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/limit/annual_additions.yaml @@ -0,0 +1,25 @@ +description: The US limits annual additions to a defined contribution plan to this amount. +values: + 2018-01-01: 55_000 + 2019-01-01: 56_000 + 2020-01-01: 57_000 + 2021-01-01: 58_000 + 2022-01-01: 61_000 + 2023-01-01: 66_000 + 2024-01-01: 69_000 + 2025-01-01: 70_000 + 2026-01-01: 72_000 +metadata: + unit: currency-USD + period: year + label: defined contribution annual additions limit + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 1000 + references: + - title: 26 U.S. Code ยง 415 - Limitations on benefits and contributions under qualified plans + href: https://www.law.cornell.edu/uscode/text/26/415 + - title: Cost-of-Living Adjustments for Retirement Items + href: https://www.irs.gov/pub/irs-tege/cola-table.pdf#page=1 diff --git a/policyengine_us/tests/policy/baseline/parameters/test_uprating_extensions.py b/policyengine_us/tests/policy/baseline/parameters/test_uprating_extensions.py index 7a821e9b03d..cc9e8eed1a0 100644 --- a/policyengine_us/tests/policy/baseline/parameters/test_uprating_extensions.py +++ b/policyengine_us/tests/policy/baseline/parameters/test_uprating_extensions.py @@ -104,3 +104,25 @@ def test_cpi_relationships(): # Just verify both exist and are positive assert cpi_u > 0, f"CPI-U should be positive in {year}" assert c_cpi_u > 0, f"Chained CPI-U should be positive in {year}" + + +def test_retirement_contribution_limits_include_latest_explicit_irs_values(): + """Retirement contribution parameters should reflect the latest published IRS anchors.""" + from policyengine_us import Microsimulation + + sim = Microsimulation() + + p2025 = sim.tax_benefit_system.parameters("2025-01-01") + p2026 = sim.tax_benefit_system.parameters("2026-01-01") + p2027 = sim.tax_benefit_system.parameters("2027-01-01") + + limits2025 = p2025.gov.irs.gross_income.retirement_contributions.limit + limits2026 = p2026.gov.irs.gross_income.retirement_contributions.limit + limits2027 = p2027.gov.irs.gross_income.retirement_contributions.limit + + assert limits2025["401k"] == 23_500 + assert limits2026["401k"] == 24_500 + assert limits2026.annual_additions == 72_000 + + assert limits2027["401k"] >= limits2026["401k"] + assert limits2027.annual_additions >= limits2026.annual_additions