Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kansas Additional Exemption for Disabled Veterans 2023 #5052

Merged
merged 16 commits into from
Oct 15, 2024

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
- name: Case 1, the filer is a disabled veteran, get exemptions.
period: 2023
input:
is_permanently_and_totally_disabled: true
is_veteran: true
state_code: KS
output:
ks_disabled_veteran_exemptions_eligible_person: true

- name: Case 2, the filer is a veteran, but not disabled, no exemption.
period: 2023
input:
is_permanently_and_totally_disabled: false
is_veteran: true
state_code: KS
output:
ks_disabled_veteran_exemptions_eligible_person: false

- name: Case 3, the filer is a disabled, but not veteran, no exemption.
period: 2023
input:
is_permanently_and_totally_disabled: false
is_veteran: true
state_code: KS
output:
ks_disabled_veteran_exemptions_eligible_person: false

- name: Case 4, in 2022, the filer is a disabled veteran.
period: 2022
input:
is_permanently_and_totally_disabled: true
is_veteran: true
state_code: KS
output:
ks_disabled_veteran_exemptions_eligible_person: false

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,37 @@
- name: Case 3,two exemptions in 2023, and one disabled veteran exemption.
period: 2023
input:
ks_disabled_veteran_exemptions: 2_250
ks_count_exemptions: 2
state_code: KS
people:
person1:
ks_disabled_veteran_exemptions_eligible_person: true
person2:
ks_disabled_veteran_exemptions_eligible_person: false
tax_units:
tax_unit:
members: [person1, person2]
ks_count_exemptions: 2
households:
household:
members: [person1, person2]
state_code: KS
output:
ks_exemptions: 6_750

- name: Case 4,two exemptions in 2023, and four disabled veteran exemption.
- name: Case 4,two exemptions in 2023, and two disabled veteran exemption.
period: 2023
input:
ks_disabled_veteran_exemptions: 4_500
ks_count_exemptions: 2
state_code: KS
people:
person1:
ks_disabled_veteran_exemptions_eligible_person: true
person2:
ks_disabled_veteran_exemptions_eligible_person: true
tax_units:
tax_unit:
members: [person1, person2]
ks_count_exemptions: 2
households:
household:
members: [person1, person2]
state_code: KS
output:
ks_exemptions: 9_000
hua7450 marked this conversation as resolved.
Outdated
Show resolved Hide resolved

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
from policyengine_us.model_api import *


class ks_disabled_veteran_exemptions_person(Variable):
class ks_disabled_veteran_exemptions_eligible_person(Variable):
value_type = float
entity = Person
label = "Kansas disabled veteran exemptions for each person"
unit = USD
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
unit = USD

definition_period = YEAR
reference = "https://law.justia.com/codes/kansas/chapter-79/article-32/section-79-32-121/"
defined_for = StateCode.KS

def formula(person, period, parameters):
p = parameters(period).gov.states.ks.tax.income.exemptions
disabled = person("is_permanently_and_totally_disabled", period)
return p.amount * disabled
is_veteran = person("is_veteran", period)

return p.in_effect * disabled * is_veteran
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,14 @@ class ks_exemptions(Variable):
defined_for = StateCode.KS

def formula(tax_unit, period, parameters):
exemptions_count = tax_unit("ks_count_exemptions", period)
p = parameters(period).gov.states.ks.tax.income.exemptions
hua7450 marked this conversation as resolved.
Show resolved Hide resolved
disabled_veteran_exemption = tax_unit(
"ks_disabled_veteran_exemptions", period
)
exemptions_count = tax_unit("ks_count_exemptions", period)
base_exemptions = exemptions_count * p.amount
return base_exemptions + disabled_veteran_exemption
veteran_exemptions_count = add(
tax_unit,
period,
["ks_disabled_veteran_exemptions_eligible_person"],
)
additional_exemptions = veteran_exemptions_count * p.amount
hua7450 marked this conversation as resolved.
Show resolved Hide resolved

return base_exemptions + additional_exemptions
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MaxGhenis
we have been using veterans_benefits > 0 for the determination of whether the person is a veteran or not, I think adding a bool variable would be appropriate given how we handle other situations like parent etc.
thoughts?

@hua7450 if confirmed
could we add a formula to check if veterans_benefits > 0 and file an issue to consolidate in the rest of the repo

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from policyengine_us.model_api import *


class is_veteran(Variable):
value_type = bool
hua7450 marked this conversation as resolved.
Show resolved Hide resolved
entity = Person
label = "Is veteran"
hua7450 marked this conversation as resolved.
Show resolved Hide resolved
definition_period = YEAR
Loading