Skip to content
Closed
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/fixed/9009.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Restored the Oklahoma $10,000 retirement exclusion for IRC section 401 employer pensions in 2021; the 2021 Schedule 511-A line 6 instructions list section 401 plans as a qualifying source (reverts #8911).

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -347,3 +347,30 @@
ok_standard_deduction: 12_700
# Sales tax credit: 4 exemptions * $40 = $160 (has dependents, under $50k)
ok_stc: 160
- name: OK 2021 joint couple with private (IRC 401) employer pensions each claim the 10k other-retirement exclusion (taxsim 1083)
period: 2021
absolute_error_margin: 2
input:
people:
head:
age: 65
taxable_private_pension_income: 19_228.76
taxable_interest_income: 21_716.92
social_security_retirement: 12_472.44
spouse:
age: 68
taxable_private_pension_income: 19_228.76
taxable_interest_income: 21_716.92
social_security_retirement: 12_472.44
tax_units:
tax_unit:
members: [head, spouse]
households:
household:
members: [head, spouse]
state_code: OK
output:
adjusted_gross_income: 103_095
ok_pension_subtraction: 20_000
ok_agi: 61_891
ok_income_tax: 2_005
Original file line number Diff line number Diff line change
Expand Up @@ -225,83 +225,3 @@
# Person2: $45,000 pension, capped at $10,000
# Total: $10,000 + $10,000 = $20,000
ok_pension_subtraction: 20_000

# Issue #8830: private employer (IRC 401) pensions were not a qualifying
# Schedule 511-A line 6 source until tax year 2022.
- name: OK pension subtraction - 2021 - private (IRC 401) pension does not qualify
absolute_error_margin: 0.01
period: 2021
input:
people:
person1:
is_tax_unit_head: true
age: 66
# Private employer (IRC 401) pension only; not a qualifying source in 2021
taxable_private_pension_income: 20_000
spm_units:
spm_unit:
members: [person1]
snap: 0
tanf: 0
tax_units:
tax_unit:
members: [person1]
aca_ptc: 0
households:
household:
members: [person1]
state_code: OK
output:
ok_pension_subtraction: 0

- name: OK pension subtraction - 2022 - private (IRC 401) pension now qualifies
absolute_error_margin: 0.01
period: 2022
input:
people:
person1:
is_tax_unit_head: true
age: 66
taxable_private_pension_income: 20_000
spm_units:
spm_unit:
members: [person1]
snap: 0
tanf: 0
tax_units:
tax_unit:
members: [person1]
aca_ptc: 0
households:
household:
members: [person1]
state_code: OK
output:
# Private pension is a qualifying source from 2022, capped at $10,000
ok_pension_subtraction: 10_000

- name: OK pension subtraction - 2021 - government pension still qualifies
absolute_error_margin: 0.01
period: 2021
input:
people:
person1:
is_tax_unit_head: true
age: 66
# Government (non-private) pension remained a qualifying source in 2021
taxable_public_pension_income: 8_000
spm_units:
spm_unit:
members: [person1]
snap: 0
tanf: 0
tax_units:
tax_unit:
members: [person1]
aca_ptc: 0
households:
household:
members: [person1]
state_code: OK
output:
ok_pension_subtraction: 8_000
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,6 @@ def formula(tax_unit, period, parameters):
# Get pension income for each person in the tax unit
pensions = tax_unit.members("taxable_pension_income", period)
p = parameters(period).gov.states.ok.tax.income.agi.subtractions
# Before tax year 2022, private employer (IRC section 401) pensions
# were not a qualifying source on Schedule 511-A, line 6 (Other
# Retirement Income); Oklahoma added IRC section 401 employer plans
# starting in 2022. Exclude private pension income from the
# subtraction base before then.
private_pensions = tax_unit.members("taxable_private_pension_income", period)
qualifying_pensions = where(
p.private_pension_qualifies,
pensions,
max_(0, pensions - private_pensions),
)
# Each person can subtract up to the pension limit
# Sum across all tax unit members
return tax_unit.sum(min_(p.pension_limit, qualifying_pensions))
return tax_unit.sum(min_(p.pension_limit, pensions))
Loading