diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29bb2d..2dc0d803983 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,4 @@ +- bump: patch + changes: + fixed: + - NYWFTC EITC older children eligibility. diff --git a/policyengine_us/reforms/states/ny/wftc/ny_working_families_tax_credit.py b/policyengine_us/reforms/states/ny/wftc/ny_working_families_tax_credit.py index c96190d4eeb..9ef0b27dedd 100644 --- a/policyengine_us/reforms/states/ny/wftc/ny_working_families_tax_credit.py +++ b/policyengine_us/reforms/states/ny/wftc/ny_working_families_tax_credit.py @@ -239,18 +239,22 @@ def formula(person, period, parameters): is_dependent = person("is_tax_unit_dependent", period) age = person("age", period) p_irs = parameters(period).gov.irs.dependent.ineligible_age - student = person("is_full_time_student", period) - 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 + wftc_older_age_eiligble = age > p_ref.child_age_threshold + non_student_age_eligible = wftc_older_age_eiligble & ( + age < p_irs.non_student + ) + student = person("is_full_time_student", period) + student_age_eligible = ( + (age < p_irs.student) & student & wftc_older_age_eiligble + ) + age_eligible = non_student_age_eligible | student_age_eligible + return is_dependent & age_eligible class eitc_older_children_count(Variable): value_type = int entity = TaxUnit label = "EITC-qualifying younger children" - unit = USD documentation = "Number of children qualifying as children for the EITC, excluding dependents over 18." definition_period = YEAR diff --git a/policyengine_us/tests/policy/contrib/states/ny/ny_working_families_tax_credit.yaml b/policyengine_us/tests/policy/contrib/states/ny/ny_working_families_tax_credit.yaml index d6e0e763f67..49e680426e8 100644 --- a/policyengine_us/tests/policy/contrib/states/ny/ny_working_families_tax_credit.yaml +++ b/policyengine_us/tests/policy/contrib/states/ny/ny_working_families_tax_credit.yaml @@ -264,3 +264,66 @@ ny_eitc: 758.8 ny_ctc: 0 ny_exemptions: 0 + +- name: 2025 test with two dependents, one older child and one younger - baseline + period: 2025 + absolute_error_margin: 1 + input: + people: + person1: + age: 40 + employment_income: 48_500 + person2: + age: 40 + person3: + age: 18 + person4: + age: 10 + tax_units: + tax_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: NY + output: + eitc: 3_355 + eitc_child_count: 2 + eitc_maximum: 7_152 + ny_eitc: 1_006.46 + + +- name: 2025 test with two dependents, one older child and one younger + period: 2025 + absolute_error_margin: 1 + reforms: policyengine_us.reforms.states.ny.wftc.ny_working_families_tax_credit.ny_working_families_tax_credit + input: + gov.contrib.states.ny.wftc.in_effect: true + people: + person1: + age: 40 + employment_income: 48_500 + person2: + age: 40 + person3: + age: 18 + person4: + age: 10 + tax_units: + tax_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: NY + output: + # ny_eitc: 1_000 + eitc_older_children_count: 1 + eitc_younger_children_count: 1 + is_older_child_dependent: [false, false, true, false] + eitc: 3_355 + eitc_older_maximum: 7_152 + older_eitc: 3_355 + younger_eitc: 0 + ny_eitc: 1_006.46 + ny_working_families_tax_credit: 550