Skip to content
Merged
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
4 changes: 4 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- bump: patch
changes:
fixed:
- Adjust the Kentucky pension income exclusion to not count pension twice.
Original file line number Diff line number Diff line change
Expand Up @@ -237,3 +237,32 @@
state_fips: 21 # KY
output: # expected results from patched TAXSIM35 2024-03-04 version
ky_income_tax: 100.25

- name: Tax unit with taxsimid 99980 in f21.its.csv and f21.ots.csv
absolute_error_margin: 0.01
period: 2021
input:
people:
person1:
age: 66
employment_income: 25010
taxable_interest_income: 11010
taxable_private_pension_income: 12000
social_security_retirement: 7000
person2:
age: 16
tax_units:
tax_unit:
members: [person1, person2]
premium_tax_credit: 0 # not in TAXSIM35
spm_units:
spm_unit:
members: [person1, person2]
snap: 0 # not in TAXSIM35
households:
household:
members: [person1, person2]
state_fips: 21 # KY
output: # expected results from patched TAXSIM35 2024-03-16 version
ky_pension_income_exclusion: [12000, 0]
ky_income_tax: 1626.50
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,7 @@ def formula(person, period, parameters):
add(person, period, p.other_retirement_income_sources)
+ non_exempt_amount
)

# Apply cap (towards just other income if exemption eligible).
return where(
exemption_eligible,
exempt_amount + min_(other_income, p.threshold),
min_(pension_income + other_income, p.threshold),
)
base = min_(other_income, p.threshold)
exemption = exemption_eligible * exempt_amount
return base + exemption