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

Adjust the NYWFTC to reflect the newest reform structure #5056

Merged
merged 19 commits into from
Sep 23, 2024
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: minor
changes:
added:
- Include 17 year olds in the NYWFTC as younger children.
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ metadata:
interval: 50
label: New York Working Families Tax Credit max amount
reference:
- title: New York Senate Bill S277B (2)(C)
href: https://www.nysenate.gov/legislation/bills/2023/S277/amendment/B
- title: New York Senate Bill S277C §3(c-2)(2)(C)
href: https://legislation.nysenate.gov/pdf/bills/2023/S277C

values:
2024-01-01: 0

# 2024-01-01: 800
# 2025-01-01: 1_100
# 2026-01-01: 1_350
# 2027-01-01: 1_600
# 2024: 550
# 2025: 800
# 2026: 1,000
# 2027: 1,200
# 2028: 1,600
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,8 @@ metadata:
period: year
label: New York Working Families Tax Credit minimum amount
reference:
- title: New York Senate Bill S277B (2)(C)
href: https://www.nysenate.gov/legislation/bills/2023/S277/amendment/B
- title: New York Senate Bill S277C §3(c-2)(2)(C)
href: https://legislation.nysenate.gov/pdf/bills/2023/S277C

values:
2024-01-01: 0
# 2024-01-01: 150
# 2025-01-01: 250
# 2026-01-01: 400
# 2027-01-01: 500
2024-01-01: 0 # 100
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,14 @@ metadata:
period: year
label: New York Working Families Tax Credit child age threshold
reference:
- title: New York Senate Bill S277B (C-2)(C)
href: https://www.nysenate.gov/legislation/bills/2023/S277/amendment/B
- title: New York Senate Bill S277C §4(c)
href: https://legislation.nysenate.gov/pdf/bills/2023/S277C

values:
2024-01-01: 0 # 18
2024-01-01: 0 # 17

# The age threshold is applied to is applied to different provisions of the Working Families Tax Credit
# at different time periods
# The Working Families defines child dependents as defined in 26 USC §24(c)(1) with the exception
# of the age threshold and student dependents

Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ metadata:
period: year
label: New York Working Families Tax Credit EITC match
reference:
- title: New York Senate Bill S277B Subs. 1 (9)
href: https://www.nysenate.gov/legislation/bills/2023/S277/amendment/B
- title: New York Senate Bill S277C Subs. 1 (9)
href: https://legislation.nysenate.gov/pdf/bills/2023/S277C

values:
2024-01-01: 0
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
# 2023-01-01: 0.3
# 2024-01-01: 0.21
# 2025-01-01: 0.15
# 2026-01-01: 0.1
# 2027-01-01: 0
# 2025: 25%
# 2026: 20%
# 2027: 15%
# 2028: 10%
# 2029: 0
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
description: New York limits the exemptions under the Working Families Tax Credit to children below this age.
description: New York limits the exemptions under the Working Families Tax Credit to children younger than this age.
metadata:
unit: year
period: year
label: New York Working Families Tax Credit exemptions child age threshold
reference:
- title: New York Senate Bill S277B (C-2)(C)
href: https://www.nysenate.gov/legislation/bills/2023/S277/amendment/B
- title: New York Senate Bill S277C §4(c)
href: https://legislation.nysenate.gov/pdf/bills/2023/S277C

values:
2024-01-01: 0 # 18
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
description: The Exemption reform of the New York Working Families Tax Credit reform applies if this is true.
metadata:
unit: bool
period: year
label: New York Working Families Tax Credit exemption reform applies
reference:
- title: New York Senate Bill S277C §4(c)
href: https://legislation.nysenate.gov/pdf/bills/2023/S277C

values:
2025-01-01: false
# Applies in the second taxable year after the bill is enacted
2026-01-01: true
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ metadata:
period: year
label: New York Working Families Tax Credit reform in effect
reference:
- title: New York Senate Bill S277B
href: https://www.nysenate.gov/legislation/bills/2023/S277/amendment/B
- title: New York Senate Bill S277C
href: https://legislation.nysenate.gov/pdf/bills/2023/S277C

values:
0000-01-01: false
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ metadata:
period: year
label: New York working families tax credit married reduction
reference:
- title: New York Senate Bill S277B (2)(B)
href: https://www.nysenate.gov/legislation/bills/2023/S277/amendment/B
- title: New York Senate Bill S277C §3(c-2)(2)(B)
href: https://legislation.nysenate.gov/pdf/bills/2023/S277C

brackets:
- threshold:
Expand All @@ -17,10 +17,9 @@ brackets:
- threshold:
values:
2024-01-01: 0
# 2024-01-01: 130_000
# 2025-01-01: 110_000
# 2026-01-01: 90_000
# 2027-01-01: 50_000
# 2025: 110,000
# 2028: 90,000
# 2029: 50,000
uprating:
parameter: gov.irs.uprating
rounding:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ metadata:
period: year
label: New York working families tax credit single reduction
reference:
- title: New York Senate Bill S277B (2)(B)
href: https://www.nysenate.gov/legislation/bills/2023/S277/amendment/B
- title: New York Senate Bill S277C §3(c-2)(2)(B)
href: https://legislation.nysenate.gov/pdf/bills/2023/S277C

brackets:
- threshold:
Expand All @@ -17,10 +17,11 @@ brackets:
- threshold:
values:
2024-01-01: 0
# 2024-01-01: 65_000
# 2025-01-01: 55_000
# 2026-01-01: 45_000
# 2027-01-01: 25_000
# 2025: 75,000
# 2026: 65,000
# 2027: 55,000
# 2028: 45,000
# 2029: 25,000
uprating:
parameter: gov.irs.uprating
rounding:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,30 @@ def formula(tax_unit, period, parameters):
min_amount = p.amount.min * children
return max_(min_amount, max_amount - reduction)

class ny_wftc_eligible_children(Variable):
value_type = float
entity = TaxUnit
class ny_wftc_eligible_child(Variable):
value_type = bool
entity = Person
label = "New York Working Families Tax Credit"
unit = USD
definition_period = YEAR
defined_for = StateCode.NY

def formula(tax_unit, period, parameters):
person = tax_unit.members
def formula(person, period, parameters):
age = person("age", period)
is_dependent = person("is_tax_unit_dependent", period)
p = parameters(period).gov.contrib.states.ny.wftc
age_eligible = age < p.child_age_threshold
eligible_child = is_dependent & age_eligible
return tax_unit.sum(eligible_child)
age_eligible = age <= p.child_age_threshold
return is_dependent & age_eligible

class ny_wftc_eligible_children(Variable):
value_type = float
entity = TaxUnit
label = "New York Working Families Tax Credit"
unit = USD
definition_period = YEAR
defined_for = StateCode.NY

adds = ["ny_wftc_eligible_child"]

# Replicating the relevant parts of the EITC for for younger
# and older dependents separately
Expand All @@ -49,16 +57,14 @@ class is_younger_child_dependent(Variable):
value_type = bool
entity = Person
label = "Is a younger child dependents"
reference = (
"https://www.nysenate.gov/legislation/bills/2023/S277/amendment/B"
)
reference = "https://legislation.nysenate.gov/pdf/bills/2023/S277C"
definition_period = YEAR

def formula(person, period, parameters):
is_dependent = person("is_tax_unit_dependent", period)
age = person("age", period)
p = parameters(period).gov.irs.dependent.ineligible_age
age_eligible = age < p.non_student
p = parameters(period).gov.contrib.states.ny.wftc
age_eligible = age < p.child_age_threshold
return is_dependent & age_eligible

class eitc_younger_children_count(Variable):
Expand Down Expand Up @@ -224,19 +230,18 @@ class is_older_child_dependent(Variable):
value_type = bool
entity = Person
label = "Is a older child dependents"
reference = (
"https://www.nysenate.gov/legislation/bills/2023/S277/amendment/B"
)
reference = "https://legislation.nysenate.gov/pdf/bills/2023/S277C"
definition_period = YEAR
defined_for = StateCode.NY

def formula(person, period, parameters):
is_dependent = person("is_tax_unit_dependent", period)
age = person("age", period)
p = parameters(period).gov.irs.dependent.ineligible_age
p_irs = parameters(period).gov.irs.dependent.ineligible_age
student = person("is_full_time_student", period)
student_age_eligible = age < p.student
older_student_age_eligible = p.non_student <= age
student_age_eligible = age < p_irs.student
p_ref = parameters(period).gov.contrib.states.ny.wftc
older_student_age_eligible = p_ref.child_age_threshold <= age
age_eligible = student_age_eligible & older_student_age_eligible
return is_dependent & student & age_eligible

Expand Down Expand Up @@ -415,9 +420,7 @@ class ny_eitc(Variable):
label = "New York EITC"
unit = USD
definition_period = YEAR
reference = (
"https://www.nysenate.gov/legislation/bills/2023/S277/amendment/B"
)
reference = "https://legislation.nysenate.gov/pdf/bills/2023/S277C"
defined_for = StateCode.NY

def formula(tax_unit, period, parameters):
Expand All @@ -434,6 +437,23 @@ def formula(tax_unit, period, parameters):
household_credit = tax_unit("ny_household_credit", period)
return max_(0, total_credit - household_credit)

class ny_exemptions_dependent(Variable):
value_type = bool
entity = Person
label = "Dependent under the New York exemptions definition"
unit = USD
definition_period = YEAR
reference = "https://www.nysenate.gov/legislation/laws/TAX/616"
defined_for = StateCode.NY

def formula(person, period, parameters):
p = parameters(period).gov.contrib.states.ny.wftc.exemptions
if p.in_effect:
child_dependent = person("is_child_dependent", period)
wftc_eligible_child = person("ny_wftc_eligible_child", period)
return child_dependent & ~wftc_eligible_child
return person("is_tax_unit_dependent", period)

class ny_exemptions(Variable):
value_type = float
entity = TaxUnit
Expand All @@ -444,14 +464,10 @@ class ny_exemptions(Variable):
defined_for = StateCode.NY

def formula(tax_unit, period, parameters):
person = tax_unit.members
dependent = person("is_tax_unit_dependent", period)
p = parameters(period).gov.contrib.states.ny.wftc
age = person("age", period)
eligible_dependent = dependent & (
age >= p.exemptions.child_age_threshold

count_dependents = add(
tax_unit, period, ["ny_exemptions_dependent"]
)
count_dependents = tax_unit.sum(eligible_dependent)
dependent_exemption = parameters(
period
).gov.states.ny.tax.income.exemptions.dependent
Expand All @@ -474,6 +490,7 @@ def formula(tax_unit, period, parameters):
class reform(Reform):
def apply(self):
self.update_variable(ny_working_families_tax_credit)
self.update_variable(ny_wftc_eligible_child)
self.update_variable(ny_wftc_eligible_children)
self.update_variable(is_younger_child_dependent)
self.update_variable(eitc_younger_children_count)
Expand All @@ -499,6 +516,7 @@ def apply(self):
self.update_variable(older_eitc)
self.update_variable(ny_eitc)
self.neutralize_variable("ny_ctc")
self.update_variable(ny_exemptions_dependent)
self.update_variable(ny_exemptions)
self.update_variable(ny_refundable_credits)

Expand Down
Loading
Loading