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
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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

Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -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
Loading