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
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Kentucky filing status now follows the filer's own federal filing status, so a separated dependent no longer makes an unmarried filer file separately, and a separated filer who files federal head of household uses Kentucky Filing Status 1 (Single).
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
output:
ky_filing_status: SINGLE

- name: Joint
- name: Joint
period: 2023
input:
is_tax_unit_spouse: true
Expand All @@ -16,11 +16,199 @@
output:
ky_filing_status: JOINT

- name: Joint
- name: Separated filer with no spouse in the tax unit
period: 2023
input:
is_tax_unit_spouse: false
is_separated: true
state_code: KY
output:
ky_filing_status: SEPARATE

- name: A separated dependent does not make a single parent file separately.
period: 2025
input:
people:
parent:
age: 45
dependent:
age: 18
is_tax_unit_dependent: true
is_separated: true
tax_units:
tax_unit:
members: [parent, dependent]
american_opportunity_credit: 2_000
lifetime_learning_credit: 0
households:
household:
members: [parent, dependent]
state_code: KY
output:
# KRS 141.066(1)(d) uses the IRC 7703 marital status of the filer. The
# parent is unmarried, so Form 740 Filing Status 1 (Single) applies.
ky_filing_status: SINGLE
# KRS 141.069(4) limits the tuition credit only for a married taxpayer.
ky_tuition_tax_credit_eligible: true
# 25% of the 2,000 federal education credit.
ky_tuition_tax_credit_potential: 500

- name: A separated parent who files federal head of household uses Kentucky Filing Status 1.
period: 2025
input:
people:
parent:
age: 38
is_tax_unit_head: true
is_separated: true
child:
age: 6
is_tax_unit_dependent: true
tax_units:
tax_unit:
members: [parent, child]
households:
household:
members: [parent, child]
state_code: KY
output:
# IRC 7703(b) treats the parent as unmarried, so the parent files as head of household.
filing_status: HEAD_OF_HOUSEHOLD
# Form 740 instructions: Filing Status 1 (Single) covers federal head of household filers.
ky_filing_status: SINGLE
ky_tuition_tax_credit_eligible: true

- name: A separated filer with only a qualifying relative files separately.
period: 2025
input:
people:
head:
age: 40
is_tax_unit_head: true
is_separated: true
grandparent:
age: 78
is_tax_unit_dependent: true
is_related_to_head_or_spouse: true
tax_units:
tax_unit:
members: [head, grandparent]
households:
household:
members: [head, grandparent]
state_code: KY
output:
# IRC 7703(b) needs a child, so the head stays married and files separately.
filing_status: SEPARATE
ky_filing_status: SEPARATE
ky_tuition_tax_credit_eligible: false

- name: A separated dependent does not stop a married couple filing jointly.
period: 2025
input:
people:
head:
age: 40
is_tax_unit_head: true
spouse:
age: 38
is_tax_unit_spouse: true
dependent:
age: 18
is_tax_unit_dependent: true
is_separated: true
tax_units:
tax_unit:
members: [head, spouse, dependent]
households:
household:
members: [head, spouse, dependent]
state_code: KY
output:
# Roles are inputs, so this case tests Kentucky filing status alone.
ky_filing_status: JOINT
ky_tuition_tax_credit_eligible: true

- name: Spouses who file separate federal returns may file a combined Kentucky return.
period: 2025
input:
people:
head:
age: 40
is_tax_unit_head: true
spouse:
age: 38
is_tax_unit_spouse: true
tax_units:
tax_unit:
members: [head, spouse]
filing_status: SEPARATE
households:
household:
members: [head, spouse]
state_code: KY
output:
# Form 740 instructions: spouses may file separately on a combined return
# whether they filed jointly or separately for federal purposes. Both
# spouses in one tax unit is that combined return, not Filing Status 4.
ky_filing_status: JOINT
# KRS 141.069(4) allows the credit on a combined return.
ky_tuition_tax_credit_eligible: true

- name: A married filer who files a separate federal return alone files Kentucky separate returns.
period: 2025
input:
people:
head:
age: 40
tax_units:
tax_unit:
members: [head]
filing_status: SEPARATE
households:
household:
members: [head]
state_code: KY
output:
# The spouse is not in the tax unit, so this is Filing Status 4.
ky_filing_status: SEPARATE
# KRS 141.069(4) bars the credit on separate returns.
ky_tuition_tax_credit_eligible: false

- name: A supplied federal head of household status uses Kentucky Filing Status 1.
period: 2025
input:
people:
head:
age: 40
is_separated: true
tax_units:
tax_unit:
members: [head]
filing_status: HEAD_OF_HOUSEHOLD
households:
household:
members: [head]
state_code: KY
output:
ky_filing_status: SINGLE
ky_tuition_tax_credit_eligible: true

- name: A supplied federal surviving spouse status uses Kentucky Filing Status 1.
period: 2025
input:
people:
head:
age: 40
tax_units:
tax_unit:
members: [head]
filing_status: SURVIVING_SPOUSE
households:
household:
members: [head]
state_code: KY
output:
# Form 740 instructions: federal "Qualifying Widow(er)" filers use Single.
ky_filing_status: SINGLE
ky_tuition_tax_credit_eligible: true
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ class ky_tuition_tax_credit_eligible(Variable):
label = "Eligible for the Kentucky tuition tax credit" # Form 8863-K
unit = USD
definition_period = YEAR
reference = "https://apps.legislature.ky.gov/law/statutes/statute.aspx?id=29060" # KRS 141.069(4)
defined_for = StateCode.KY

def formula(tax_unit, period, parameters):
filing_status = tax_unit("ky_filing_status", period)
# Married filing separate filers are ineligible.
# A taxpayer who is married under IRC 7703 is ineligible when filing a
# separate return (Filing Status 4).
return filing_status != filing_status.possible_values.SEPARATE
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,31 @@ class ky_filing_status(Variable):
default_value = KyFilingStatus.SINGLE
definition_period = YEAR
reference = (
"https://codes.findlaw.com/ky/title-xi-revenue-and-taxation/ky-rev-st-sect-141-066.html", # Section (1), (c) & (d)
"https://apps.legislature.ky.gov/law/statutes/statute.aspx?id=49188", # KRS 141.066(1)(c) & (d)
"https://revenue.ky.gov/Forms/740%20Packet%20Instructions%205-9-23.pdf#page=11",
"https://revenue.ky.gov/Forms/740%20instructions%20packet%20(2024).pdf#page=13",
)
label = "Filing status for the tax unit in Kentucky"
defined_for = StateCode.KY

def formula(tax_unit, period, parameters):
has_spouse = add(tax_unit, period, ["is_tax_unit_spouse"]) > 0
person = tax_unit.members
is_separated = tax_unit.any(person("is_separated", period))
# Kentucky follows the filer's own federal marital status (IRC 7703),
# so a separated dependent does not make the filer file separately.
# Federal head of household and surviving spouse filers use
# Kentucky Filing Status 1 (Single).
filing_status = tax_unit("filing_status", period)
statuses = filing_status.possible_values
# Spouses on one return file jointly or separately on a combined
# return, which Kentucky allows after federal separate returns, so a
# spouse in the tax unit means a joint or combined return. Separate
# returns (Filing Status 4) leave the spouse out of the tax unit.
joint_or_combined = (filing_status == statuses.JOINT) | tax_unit(
"tax_unit_married", period
)
return select(
[
has_spouse,
is_separated,
joint_or_combined,
filing_status == statuses.SEPARATE,
],
[
KyFilingStatus.JOINT,
Expand Down