diff --git a/changelog.d/fixed/9009.md b/changelog.d/fixed/9009.md new file mode 100644 index 00000000000..0233c9c677f --- /dev/null +++ b/changelog.d/fixed/9009.md @@ -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). diff --git a/policyengine_us/parameters/gov/states/ok/tax/income/agi/subtractions/private_pension_qualifies.yaml b/policyengine_us/parameters/gov/states/ok/tax/income/agi/subtractions/private_pension_qualifies.yaml deleted file mode 100644 index 6410ef2e937..00000000000 --- a/policyengine_us/parameters/gov/states/ok/tax/income/agi/subtractions/private_pension_qualifies.yaml +++ /dev/null @@ -1,16 +0,0 @@ -description: Oklahoma includes private employer (IRC section 401) pension income in the retirement benefit subtraction if this is true. -values: - 2021-01-01: false - 2022-01-01: true - -metadata: - unit: bool - period: year - label: Oklahoma retirement benefit subtraction includes private employer pensions - reference: - - title: 2021 Form 511 Schedule 511-A, line 6 Other Retirement Income (IRC section 401 employer plans not listed) - href: https://oklahoma.gov/content/dam/ok/en/tax/documents/forms/individuals/past-year/2021/511-Pkt-2021.pdf#page=17 - - title: 2022 Form 511 Schedule 511-A, line 6 Other Retirement Income (IRC section 401 employer plans added) - href: https://oklahoma.gov/content/dam/ok/en/tax/documents/forms/individuals/past-year/2022/511-Pkt-2022.pdf#page=17 - - title: 2025 Form 511 Schedule 511-A, line 6 Other Retirement Income - href: https://oklahoma.gov/content/dam/ok/en/tax/documents/forms/individuals/current/511-Pkt.pdf#page=17 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ok/tax/income/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/ok/tax/income/integration.yaml index 2ae4406b0aa..280775c8a71 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ok/tax/income/integration.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ok/tax/income/integration.yaml @@ -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 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ok/tax/income/ok_pension_subtraction.yaml b/policyengine_us/tests/policy/baseline/gov/states/ok/tax/income/ok_pension_subtraction.yaml index 26d67fef107..e173234c503 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ok/tax/income/ok_pension_subtraction.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ok/tax/income/ok_pension_subtraction.yaml @@ -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 diff --git a/policyengine_us/variables/gov/states/ok/tax/income/subtractions/ok_pension_subtraction.py b/policyengine_us/variables/gov/states/ok/tax/income/subtractions/ok_pension_subtraction.py index e499a359d00..27317d23c25 100644 --- a/policyengine_us/variables/gov/states/ok/tax/income/subtractions/ok_pension_subtraction.py +++ b/policyengine_us/variables/gov/states/ok/tax/income/subtractions/ok_pension_subtraction.py @@ -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))