Skip to content
Draft
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/state-sseb-worksheets.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Count tier 1 railroad retirement benefits as Social Security benefits in Minnesota's Social Security subtraction and homestead credit refund income, as Minn. Stat. 290.0132 subd. 26 and 290A.03 define them, without subtracting them twice. Add half of the taxable benefits, not half of all benefits, to provisional income for Minnesota's alternate Social Security subtraction, as subd. 26(i) provides, in the baseline and in the HF1938 repeal reform. Count the part of a railroad annuity recovered tax free in Minnesota's homestead credit refund income, as 290A.03 subd. 3(a)(2)(v) counts annuities the claimant did not fund alone. Leave dependents' own Social Security benefits out of Minnesota's elderly and disabled subtraction, which reads the head's and spouse's benefits, as section 22(c)(3) does. Count tier 1 benefits in lines A and B of Connecticut's Social Security benefit adjustment worksheet, as Conn. Gen. Stat. 12-701(a)(20)(B)(x) does through IRC 86(d)(1), and take line D from the taxable title II benefits first. On Iowa's 2021 and 2022 reportable Social Security worksheet, add half of the head's and spouse's Social Security and tier 1 benefits to line 7, keep the student loan interest deduction out of line 8 and leave dependents' benefits out of line 1. Reduce the pension caps in Maine, Maryland and Idaho by railroad retirement benefits, and Michigan's seven retirement and standard deduction limits by taxable railroad retirement benefits, as their statutes and forms do. Count railroad retirement benefits in Montana's elderly homeowner or renter credit, New York's real property tax credit (Form IT-214 line 13), Oklahoma's sales tax and property tax credits, Massachusetts' senior circuit breaker credit, North Dakota's renter's refund, Missouri's and Rhode Island's property tax credits, Maine's fairness credits, Wisconsin's homestead credit, Washington's senior property tax exemption and New Mexico's modified gross income. Count excluded tier 1 railroad benefits as excluded Social Security benefits in Vermont's renter credit, Colorado's sales tax refund and West Virginia's homestead excess property tax credit. Take taxable and total benefits from both title II and tier 1 in the District of Columbia's disability exclusion, Massachusetts' 2021 unemployment compensation deduction and Wisconsin's unemployment compensation subtraction.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ values:
1999-01-01:
- adjusted_gross_income
- tax_exempt_social_security
# C.R.S. 39-22-2003 adds back "social security benefits excluded from
# federal adjusted gross income", and 39-22-103(11) gives terms their
# federal meaning. IRC 86(d)(1)(B) makes tier 1 railroad benefits social
# security benefits.
- tax_exempt_railroad_social_security_equivalent_benefits
# - non_taxable_interest_income_from_state_and_local_bonds
metadata:
period: year
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ description: Income sources re-added to total income for the Massachusetts Senio
values:
2001-01-01:
- social_security
# "[T]he total amount of income and receipts from social security,
# retirement, pension, or annuities" reaches every railroad tier.
- railroad_social_security_equivalent_benefits
- taxable_railroad_pension_benefits
- tax_exempt_railroad_pension_benefits
- tax_exempt_unemployment_compensation
- tax_exempt_pension_income
- taxable_public_pension_income
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ values:
2021-01-01:
- irs_gross_income
- tax_exempt_social_security
# 36 M.R.S. 5213-A(1)(B) and 5219-KK(1)(D): "railroad retirement benefits
# to the extent not included in federal adjusted gross income".
- tax_exempt_railroad_social_security_equivalent_benefits
- tax_exempt_railroad_pension_benefits
- tax_exempt_interest_income
metadata:
unit: list
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
description: Minnesota allows subtraction from federal adjusted gross income of the lesser of US-taxable social security and an alternative amount with the complex calculation of the alternative subtraction amount including this fraction which is applied to total social security benefits.
description: Minnesota counts this fraction of taxable social security benefits, title II and tier 1 railroad retirement benefits together (Form 1040 line 6b), in provisional income for the alternate social security subtraction.
values:
2021-01-01: 0.5

metadata:
period: year
unit: /1
label: Minnesota social security subtraction total benefit fraction
label: Minnesota social security subtraction taxable benefit fraction
reference:
- title: Minnesota Statutes 290.0132 Subd. 26.Social Security benefits. (i)
href: https://www.revisor.mn.gov/statutes/cite/290.0132#stat.290.0132.26
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ values:
2025-01-01:
- market_income
- social_security
# "[S]ocial security, or other retirement benefits". IRC 86 is the federal
# exclusion that the statute's social security exception lifts, and IRC
# 86(d)(1)(B) treats tier 1 benefits as social security benefits. The
# exempt part of the rest of the annuity stays out as an amount excluded
# from income by federal law.
- railroad_social_security_equivalent_benefits
- taxable_railroad_pension_benefits
- total_unemployment_compensation
- general_assistance
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ description: New Mexico includes these income sources in its modified gross inco
values:
2021-01-01:
- tax_unit_social_security
# NMSA 1978 7-2-2(L) counts "(9) annuities", "(11) pensions" and "(16)
# social security benefits", taxable or not, so every railroad tier counts.
- railroad_social_security_equivalent_benefits
- taxable_railroad_pension_benefits
- tax_exempt_railroad_pension_benefits
- capital_gains
- tanf
- ssi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@ values:
- total_unemployment_compensation
- workers_compensation
- social_security
# Forms 538-S and 538-H, line 5: Railroad Retirement benefits, every tier,
# whether or not federal AGI includes them.
- railroad_social_security_equivalent_benefits
- taxable_railroad_pension_benefits
- tax_exempt_railroad_pension_benefits
- alimony_income
- child_support_received
- illicit_income
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ values:
- tax_exempt_pension_income
- tax_exempt_interest_income
- tax_exempt_social_security
# R.I. Gen. Laws 44-33-3: "the gross amount of any pension or annuity
# (including Railroad Retirement Act benefits ...)". Adjusted gross income
# holds the taxable part, so only the rest belongs here.
- tax_exempt_railroad_social_security_equivalent_benefits
- tax_exempt_railroad_pension_benefits
- tax_exempt_unemployment_compensation
- alimony_income
- tanf
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ values:
# and don't track the included subcomponents separately.
# RCW 84.36.383(7)(g) — Social Security and Railroad Retirement not in AGI
- tax_exempt_social_security
- tax_exempt_railroad_social_security_equivalent_benefits
- tax_exempt_railroad_pension_benefits
# RCW 84.36.383(7)(i) — state/municipal bond interest not in AGI
- tax_exempt_interest_income
# RCW 84.36.383(7)(a) — capital gains add-back. AGI already includes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ values:
# additional homestead income sources:
- tax_exempt_interest_income
- tax_exempt_social_security
# Wis. Stat. 71.52(6): "the gross amount of any pension or annuity
# (including railroad retirement benefits ...)". Adjusted gross income
# holds the taxable part, so only the rest belongs here.
- tax_exempt_railroad_social_security_equivalent_benefits
- tax_exempt_railroad_pension_benefits
- tax_exempt_pension_income
- tax_exempt_unemployment_compensation
# cash transfer income sources:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,7 @@ values:
- tax_exempt_interest_income
- workers_compensation
- tax_exempt_social_security
# W. Va. Code 11-21-23(d)(1)(D) counts "nontaxable Social Security
# benefits", and 11-21-9(a) gives terms their federal meaning. IRC
# 86(d)(1)(B) makes tier 1 railroad benefits social security benefits.
- tax_exempt_railroad_social_security_equivalent_benefits
20 changes: 16 additions & 4 deletions policyengine_us/reforms/states/mn/walz/mn_walz_hf1938.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,21 @@ def formula(tax_unit, period, parameters):
net_income_fraction = p.net_income_fraction
alt_amount = p.alternative_amount[filing_status]
# calculate subtraction amount (following "Worksheet for line 12")
# ... US-taxable social security benefits
# ... US-taxable social security benefits: Form 1040 line 6b holds
# the taxable title II and tier 1 railroad retirement benefits,
# which subd. 26(e) (2022), now (i), defines through IRC 86(d)(1)
us_taxable_oasdi = add(tax_unit, period, ["taxable_social_security"])
us_taxable_tier_1 = add(
tax_unit,
period,
["taxable_railroad_social_security_equivalent_benefits"],
)
us_taxable_benefits = us_taxable_oasdi + us_taxable_tier_1
# ... alternative benefit subtraction amount
us_gross_income = add(tax_unit, period, ["irs_gross_income"])
adj_income = us_gross_income - us_taxable_oasdi
total_oasdi = add(tax_unit, period, ["social_security"])
oasdi_amount = total_oasdi * total_benefit_fraction
adj_income = us_gross_income - us_taxable_benefits
# Provisional income adds one-half of the taxable benefits.
oasdi_amount = us_taxable_benefits * total_benefit_fraction
tax_exempt_int = add(tax_unit, period, ["tax_exempt_interest_income"])
sum_income = adj_income + oasdi_amount + tax_exempt_int
us_ald = tax_unit("above_the_line_deductions", period)
Expand All @@ -59,6 +67,10 @@ def formula(tax_unit, period, parameters):
income = max_(0, sum_income - mn_ald)
net_income = max_(0, income - income_amount)
alt_sub_amt = max_(0, alt_amount - (net_income * net_income_fraction))
# Line 17 subtracts the taxable tier 1 benefits with the rest of
# the railroad annuity (taxable_railroad_benefits), so line 12
# takes the taxable title II benefits, as in the 2022 worksheet's
# steps 17-20.
return min_(us_taxable_oasdi, alt_sub_amt)

class mn_standard_deduction(Variable):
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
- name: Tier 1 railroad benefits excluded from AGI count as social security benefits.
absolute_error_margin: 0.01
period: 2024
input:
age: 70
state_code: CO
employment_income: 30_000
railroad_social_security_equivalent_benefits: 10_000
taxable_railroad_pension_benefits: 3_000
tax_exempt_railroad_pension_benefits: 2_000
output:
# AGI: 30,000 + 7,900 taxable of the 10,000 + 3,000 = 40,900.
# Add the 2,100 of tier 1 outside AGI. C.R.S. 39-22-2003 does not name
# the exempt part of a pension.
co_modified_agi: 43_000
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
tax_unit_taxable_social_security: 12_000
adjusted_gross_income: 74_999
tax_unit_ss_combined_income_excess: 5_000
tax_unit_social_security: 20_000
tax_unit_section_86_benefits: 20_000
filing_status: SINGLE
output:
ct_social_security_benefit_adjustment: 12_000
Expand All @@ -17,7 +17,7 @@
tax_unit_taxable_social_security: 12_000
adjusted_gross_income: 99_999
tax_unit_ss_combined_income_excess: 5_000
tax_unit_social_security: 20_000
tax_unit_section_86_benefits: 20_000
filing_status: JOINT
output:
ct_social_security_benefit_adjustment: 12_000
Expand All @@ -29,7 +29,7 @@
tax_unit_taxable_social_security: 12_000
adjusted_gross_income: 100_000
tax_unit_ss_combined_income_excess: 5_000
tax_unit_social_security: 15_000
tax_unit_section_86_benefits: 15_000
filing_status: JOINT
output:
# Part C: min(15000, 5000) = 5000
Expand Down Expand Up @@ -87,3 +87,103 @@
ct_social_security_benefit_adjustment: 38_802
ct_agi: 43_544
ct_income_tax: 332

# Tier 1 railroad retirement benefits. Under IRC 86(d)(1) the federal Social
# Security Benefits Worksheet, and so worksheet lines A, B and E, count title
# II and tier 1 benefits together. Conn. Gen. Stat. 12-701(a)(20)(B)(iv)
# subtracts the taxable tier 1 benefits that clause (x) does not, and the
# model subtracts them with the rest of the railroad annuity
# (taxable_railroad_benefits), so line F keeps the title II share and takes
# line D from it first.
- name: CT social security adjustment 2025 below the threshold keeps the taxable title II benefits
period: 2025
input:
state_code: CT
filing_status: SINGLE
adjusted_gross_income: 70_000
# 20,000 of title II benefits and 10,000 of tier 1 benefits.
tax_unit_section_86_benefits: 30_000
tax_unit_ss_combined_income_excess: 20_000
# The title II share of the 12,000 of taxable benefits.
tax_unit_taxable_social_security: 8_000
output:
# Clause (x)(III): all taxable benefits come off, the 8,000 of title II
# benefits here and the 4,000 of tier 1 benefits through clause (iv).
ct_social_security_benefit_adjustment: 8_000

- name: CT social security adjustment 2025 line A counts tier 1 benefits
period: 2025
input:
state_code: CT
filing_status: JOINT
adjusted_gross_income: 150_000
# 30,000 of title II benefits and 20,000 of tier 1 benefits.
tax_unit_section_86_benefits: 50_000
tax_unit_ss_combined_income_excess: 60_000
# 85% of 50,000 is 42,500 of taxable benefits; title II's 60% share.
tax_unit_taxable_social_security: 25_500
output:
# C: min(50,000, 60,000) = 50,000. D: 12,500. F: 25,500 - 12,500.
# With clause (iv)'s 17,000, Connecticut subtracts 30,000, line E less
# line D.
ct_social_security_benefit_adjustment: 13_000

- name: CT social security adjustment 2025 line D larger than the taxable title II benefits
period: 2025
input:
state_code: CT
filing_status: JOINT
adjusted_gross_income: 150_000
# 4,000 of title II benefits and 36,000 of tier 1 benefits.
tax_unit_section_86_benefits: 40_000
tax_unit_ss_combined_income_excess: 60_000
# 85% of 40,000 is 34,000 of taxable benefits; title II's 10% share.
tax_unit_taxable_social_security: 3_400
output:
# C: 40,000. D: 10,000, more than the 3,400 of taxable title II
# benefits, so line F is 0. Clause (iv) still subtracts all 30,600 of
# taxable tier 1 benefits, and Connecticut taxes the 3,400 of title II
# benefits.
ct_social_security_benefit_adjustment: 0

- name: CT social security adjustment 2025 integration with tier 1 benefits and a dependent's benefits
period: 2025
absolute_error_margin: 0.01
input:
people:
head:
is_tax_unit_head: true
age: 70
social_security_retirement: 30_000
railroad_social_security_equivalent_benefits: 20_000
taxable_private_pension_income: 90_000
spouse:
is_tax_unit_spouse: true
age: 70
child:
is_tax_unit_dependent: true
age: 10
social_security_survivors: 6_000
tax_units:
tax_unit:
members: [head, spouse, child]
filing_status: JOINT
households:
household:
members: [head, spouse, child]
state_code: CT
output:
# Federal worksheet line 1 holds the head's 30,000 of title II and
# 20,000 of tier 1 benefits; the child's benefits go on the child's own
# worksheet.
tax_unit_section_86_benefits: 50_000
# Line 9: 90,000 + 50% x 50,000 - 32,000.
tax_unit_ss_combined_income_excess: 83_000
# Line 18: min(85% x 50,000, 85% x (115,000 - 44,000) + 6,000) = 42,500,
# 25,500 of it title II (60%) and 17,000 tier 1 (40%).
tax_unit_taxable_social_security: 25_500
taxable_railroad_benefits: [17_000, 0, 0]
adjusted_gross_income: 132_500
# AGI is at least 100,000. C: min(50,000, 83,000). D: 12,500.
# F: 25,500 - 12,500.
ct_social_security_benefit_adjustment: 13_000
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,25 @@
state_code: DC
output:
dc_disability_exclusion: 7_000

- name: taxable tier 1 railroad benefits leave the income that limits the exclusion
period: 2025
input:
people:
person1:
is_tax_unit_head: true
total_disability_payments: 5_200
tax_units:
tax_unit:
members: [person1]
adjusted_gross_income: 25_000
tax_unit_taxable_social_security: 2_000
tax_unit_taxable_railroad_social_security_equivalent_benefits: 4_000
households:
household:
members: [person1]
state_code: DC
output:
# Form D-2440: line 6 takes Form D-40 line 10, $2,000 + $4,000. Line 7 is
# $19,000, line 9 is $4,000 and line 10 is $5,200 - $4,000.
dc_disability_exclusion: 1_200
Loading