From b2390e95eea8654d8d2305102af3fc0c2e730d10 Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Wed, 26 Aug 2026 16:25:34 -0400 Subject: [PATCH 1/2] Index Washington WFTC maximum qualifying income to the current tax year wa_working_families_tax_credit_maximum_qualifying_income computed the income ceiling from the federal EITC parameters frozen at 2022-06-09, returning the 2022 dollar limits for every year (e.g. $49,620 for married-filing-jointly with one child). Filers whose income fell between the 2022 and current-year federal EITC limits were wrongly denied the credit. RCW 82.08.0206(2)(d) pins the Internal Revenue Code conformity version (June 9, 2022), not the tax-year amounts. That Code still contains the EITC inflation-adjustment provisions (26 U.S.C. 32(j)), so the maximum qualifying income indexes to the current tax year. Washington DOR publishes the current-year federal EITC income limits ($53,120 for MFJ with one child in 2023). The federal EITC structure is unchanged from 2022 through 2024, so the current-period parameters carry only the annual indexing. Use the current-period federal EITC parameters for the maximum-AGI ceiling. On the issue household (WA joint 2023, one child, $50,047.89 AGI) the credit goes from $0 to $403.29, matching the TAXSIM/WFTC expectation. Updated the WFTC tests whose incomes were positioned against the frozen 2022 ceilings (Cases 4/5/6b and the analytics-coverage edge cases) to the current-year ceilings, and added a regression test. Fixes #9350. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_018ECQhxDkVchXm1RNVyqwnx --- ...wa-wftc-current-year-income-limit.fixed.md | 1 + .../wa_working_families_tax_credit.yaml | 74 +++++++++++++++---- .../state/wa/working_families_tax_credit.yaml | 41 +++++----- ...es_tax_credit_maximum_qualifying_income.py | 13 +++- 4 files changed, 94 insertions(+), 35 deletions(-) create mode 100644 changelog.d/wa-wftc-current-year-income-limit.fixed.md diff --git a/changelog.d/wa-wftc-current-year-income-limit.fixed.md b/changelog.d/wa-wftc-current-year-income-limit.fixed.md new file mode 100644 index 00000000000..412ad7ba536 --- /dev/null +++ b/changelog.d/wa-wftc-current-year-income-limit.fixed.md @@ -0,0 +1 @@ +Indexed the Washington Working Families Tax Credit maximum qualifying income to the current-year federal EITC limits instead of freezing it at 2022 values. diff --git a/policyengine_us/tests/policy/baseline/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.yaml b/policyengine_us/tests/policy/baseline/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.yaml index 9d52d39ee5c..02b0ae787a2 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.yaml @@ -54,7 +54,7 @@ people: head: age: 30 - employment_income: 43_490 + employment_income: 49_084 has_tin: true ssn_card_type: CITIZEN is_tax_unit_head: true @@ -77,8 +77,9 @@ members: [head, child] state_code: WA output: - # Per RCW 82.08.0206(3)(f), minimum credit is $50 - wa_working_families_tax_credit: 50.05 + # At the 2024 head-of-household one-child federal EITC limit ($49,084) the + # credit reaches the $50 statutory minimum (RCW 82.08.0206(3)(f)). + wa_working_families_tax_credit: 50.02 - name: Case 5, mid-phaseout gives correctly reduced credit. period: 2024 @@ -87,7 +88,7 @@ people: head: age: 30 - employment_income: 40_992 + employment_income: 46_584 has_tin: true ssn_card_type: CITIZEN is_tax_unit_head: true @@ -110,7 +111,10 @@ members: [head, child] state_code: WA output: - wa_working_families_tax_credit: 344.82 + # 2024 head-of-household, one child: maximum $640, phase-out start $44,084 + # (limit $49,084 less the $5,000 band), rate (640 - 50) / 5,000 = 11.8%. + # 640 - 0.118 x (46,584 - 44,084) = 345. + wa_working_families_tax_credit: 345.02 - name: Case 6, joint filer with 1 child and moderate income receives credit. period: 2024 @@ -158,7 +162,7 @@ head: age: 40 employment_income: 40_000 - unemployment_compensation: 16_000 + unemployment_compensation: 25_000 has_tin: true ssn_card_type: CITIZEN is_tax_unit_head: true @@ -196,13 +200,14 @@ members: [head, spouse, child1, child2, child3] state_code: WA output: - # Earned income ($40,000) is below the 3-child phase-out start (~$54,190), - # but AGI ($56,000, incl. $16,000 unemployment) lands inside the phase-out - # band. RCW 82.08.0206(3)(b) measures the reduction against the federal - # phase-out income = max(earned income, AGI) = $56,000, so the $1,330 - # maximum tapers at 25.6% over the ~$1,810 of excess to ~$866.57 rather - # than paying the full $1,330. See policyengine-taxsim#986. - wa_working_families_tax_credit: 866.57 + # Earned income ($40,000) is below the 2025 three-child phase-out start + # ($63,675 = limit $68,675 less the $5,000 band), but AGI ($65,000, incl. + # $25,000 unemployment) lands inside the phase-out band. RCW 82.08.0206(3)(b) + # measures the reduction against the federal phase-out income = + # max(earned income, AGI) = $65,000, so the $1,330 maximum tapers at 25.6% + # over the $1,325 of excess to ~$990.83 rather than paying the full $1,330. + # See policyengine-taxsim#986. + wa_working_families_tax_credit: 990.83 # ESSB 6346 Sec. 901 - WFTC Age Expansion tests (effective 2029) @@ -685,3 +690,46 @@ state_code: WA output: wa_working_families_tax_credit: 0 + +- name: Case 16, income limit indexes to the current year (taxsim #1155). + period: 2023 + absolute_error_margin: 0.01 + input: + people: + head: + age: 49 + employment_income: 20_412.535 + has_tin: true + ssn_card_type: CITIZEN + is_tax_unit_head: true + spouse: + age: 52 + employment_income: 29_635.352 + has_tin: true + ssn_card_type: CITIZEN + is_tax_unit_spouse: true + child: + age: 10 + has_tin: true + ssn_card_type: CITIZEN + is_tax_unit_dependent: true + tax_units: + tax_unit: + members: [head, spouse, child] + filing_status: JOINT + would_file_taxes_voluntarily: true + takes_up_eitc: true + spm_units: + spm_unit: + members: [head, spouse, child] + households: + household: + members: [head, spouse, child] + state_code: WA + output: + # AGI $50,047.89 is below the 2023 married-filing-jointly one-child federal + # EITC limit of $53,120 (Washington DOR's published 2023 figure), not the + # frozen 2022 limit of $49,620. Maximum $625, phase-out start $48,120 + # (limit $53,120 less the $5,000 band), rate (625 - 50) / 5,000 = 11.5%. + # 625 - 0.115 x (50,047.89 - 48,120) = 403. + wa_working_families_tax_credit: 403.29 diff --git a/policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/wa/working_families_tax_credit.yaml b/policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/wa/working_families_tax_credit.yaml index f4d55ac831e..3848886f6a2 100644 --- a/policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/wa/working_families_tax_credit.yaml +++ b/policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/wa/working_families_tax_credit.yaml @@ -2,9 +2,10 @@ # EITC rules as in effect 2022-06-09. 2026 maximum amounts (2025 statutory # values uprated by gov.irs.uprating, no rounding applied at runtime): # 0 kids $342.59, 1 kid $674.96, 2 kids $1,017.55, 3+ kids $1,360.14; -# $50 minimum. Income ceiling = frozen-2022 EITC maximum AGI; the credit -# phases from the maximum down to $50 over the last $2,500 (0 kids) / -# $5,000 (1+ kids) of income below that ceiling. +# $50 minimum. Income ceiling = the current-year federal EITC maximum AGI +# (indexed each year, e.g. $19,539.74 childless / $51,593.38 head-of-household +# one child in 2026); the credit phases from the maximum down to $50 over the +# last $2,500 (0 kids) / $5,000 (1+ kids) of income below that ceiling. - name: wa_wftc_joint_1_child_max_amount (wa) period: 2026 absolute_error_margin: 0.1 @@ -96,7 +97,7 @@ is_tax_unit_dependent: false is_disabled: false immigration_status_str: CITIZEN - employment_income_before_lsr: 15_000 + employment_income_before_lsr: 18_000 capital_gains: 0 rent: 0 was_in_foster_care: false @@ -126,11 +127,11 @@ output: tax_units: tax_unit: - # Childless ceiling = 9,160 + 560/0.0765 = 16,480.26; phase-out - # starts 2,500 below at 13,980.26; rate = (342.59 - 50)/2,500 = - # 0.11704; 342.59 - (15,000 - 13,980.26) x 0.11704 = 223.24. - wa_working_families_tax_credit: 223.25 - adjusted_gross_income: 15_000.0 + # 2026 childless ceiling $19,539.74; phase-out starts $2,500 below at + # $17,039.74; rate = (342.59 - 50)/2,500 = 0.11704; + # 342.59 - (18,000 - 17,039.74) x 0.11704 = 230.21. + wa_working_families_tax_credit: 230.21 + adjusted_gross_income: 18_000.0 - name: wa_wftc_1_child_min_amount_near_ceiling (wa) period: 2026 absolute_error_margin: 0.1 @@ -143,7 +144,7 @@ is_tax_unit_dependent: false is_disabled: false immigration_status_str: CITIZEN - employment_income_before_lsr: 43_490 + employment_income_before_lsr: 51_590 capital_gains: 0 rent: 0 was_in_foster_care: false @@ -190,12 +191,11 @@ output: tax_units: tax_unit: - # 1-kid single ceiling = 20,130 + 3,733/0.1598 = 43,490.45; income - # 43,490 sits $0.45 below it; rate = (674.96 - 50)/5,000 = 0.12499; - # 674.96 - 4,999.55 x 0.12499 = 50.06 (the $50 statutory minimum - # region, RCW 82.08.0206(3)(c)). - wa_working_families_tax_credit: 50.06 - adjusted_gross_income: 43_490.0 + # 2026 head-of-household one-child ceiling $51,593.38; income $51,590 + # sits just below it, in the $50 statutory minimum region + # (RCW 82.08.0206(3)(c)). + wa_working_families_tax_credit: 50.42 + adjusted_gross_income: 51_590.0 - name: wa_wftc_1_child_above_income_ceiling (wa) period: 2026 absolute_error_margin: 0.1 @@ -208,7 +208,7 @@ is_tax_unit_dependent: false is_disabled: false immigration_status_str: CITIZEN - employment_income_before_lsr: 43_495 + employment_income_before_lsr: 51_600 capital_gains: 0 rent: 0 was_in_foster_care: false @@ -255,10 +255,11 @@ output: tax_units: tax_unit: - # Income-route zero: 43,495 exceeds the 43,490.45 frozen-EITC - # ceiling by $4.55 -> $0 (cliff from the $50 minimum below it). + # Income-route zero: $51,600 exceeds the 2026 head-of-household + # one-child ceiling of $51,593.38 -> $0 (cliff from the $50 minimum + # below it). wa_working_families_tax_credit: 0.0 - adjusted_gross_income: 43_495.0 + adjusted_gross_income: 51_600.0 - name: wa_wftc_age_18_before_2029_expansion (wa) period: 2026 absolute_error_margin: 0.1 diff --git a/policyengine_us/variables/gov/states/wa/tax/income/credits/wa_working_families_tax_credit_maximum_qualifying_income.py b/policyengine_us/variables/gov/states/wa/tax/income/credits/wa_working_families_tax_credit_maximum_qualifying_income.py index d2466dea5ce..94fcf0e3459 100644 --- a/policyengine_us/variables/gov/states/wa/tax/income/credits/wa_working_families_tax_credit_maximum_qualifying_income.py +++ b/policyengine_us/variables/gov/states/wa/tax/income/credits/wa_working_families_tax_credit_maximum_qualifying_income.py @@ -17,7 +17,16 @@ def formula(tax_unit, period, parameters): p = parameters( period ).gov.states.wa.tax.income.credits.working_families_tax_credit.maximum_qualifying_income - frozen_eitc = parameters.gov.irs.credits.eitc("2022-06-09") + # RCW 82.08.0206(2)(d) pins Washington's WFTC to the federal EITC rules + # as in effect on June 9, 2022, but that Internal Revenue Code still + # contains the EITC inflation-adjustment provisions (IRC 26 U.S.C. + # 32(j)), so the maximum-qualifying-income ceiling indexes to the + # current tax year. Washington DOR publishes the current-year federal + # EITC income limits (e.g. $53,120 for married-filing-jointly with one + # qualifying child in 2023). The federal EITC structure is unchanged + # from 2022 through 2024, so the current-period parameters carry only + # the annual indexing, not a post-2022 rule change. + eitc = parameters(period).gov.irs.credits.eitc person = tax_unit.members federal_child_count = tax_unit("eitc_child_count", period) washington_child_count = tax_unit.sum( @@ -25,7 +34,7 @@ def formula(tax_unit, period, parameters): ) child_count = max_(federal_child_count, washington_child_count) federal_max_agi = calculate_eitc_max_agi_limit( - tax_unit, period, frozen_eitc, child_count + tax_unit, period, eitc, child_count ) if not p.in_effect: return federal_max_agi From bb3aa53574d81c23b546fe4fe1497178f2dbffd8 Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Fri, 28 Aug 2026 09:33:42 -0400 Subject: [PATCH 2/2] Index WFTC investment-income limit; address review (A1, A3-A5) Addresses the review on #9351 (hua7450 requested change; @PavelMakarchuk A1, A3-A5). Extends the current-year indexing to the investment-income limit and strengthens test coverage. - A1: the investment-income limit is an inflation-indexed dollar amount (26 U.S.C. 32(j), inside the pinned June 9, 2022 Code), so it tracks the current tax year the same way the maximum qualifying income does. Washington DOR publishes the current-year federal limit ($11,000 for 2023, rising to $11,950 for 2025), never the frozen 2022 $10,300. Read it from parameters(period) in wa_working_families_tax_credit and wa_working_families_tax_credit_age_expansion_eligible; the structural rules (age band, disabled-dependent waiver, separate-filer) stay on the frozen snapshot. - A4: pin the maximum qualifying income directly to DOR's published $53,120 (2023 MFJ, one child). - A5: add two-child near-ceiling coverage. - A3: replace stale frozen-2022 phase-out-start arithmetic in the analytics-coverage comments with the current-year statements. - Add an investment-income regression (income between the frozen $10,300 and the 2023 $11,000 is now eligible). Full Washington income-tax suite + partner edge cases pass (66 tests). Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_018ECQhxDkVchXm1RNVyqwnx --- ...wa-wftc-current-year-income-limit.fixed.md | 2 +- .../wa_working_families_tax_credit.yaml | 93 ++++++++++++++++++- .../state/wa/working_families_tax_credit.yaml | 10 +- .../credits/wa_working_families_tax_credit.py | 16 +++- ...ilies_tax_credit_age_expansion_eligible.py | 12 ++- 5 files changed, 116 insertions(+), 17 deletions(-) diff --git a/changelog.d/wa-wftc-current-year-income-limit.fixed.md b/changelog.d/wa-wftc-current-year-income-limit.fixed.md index 412ad7ba536..3832390ef75 100644 --- a/changelog.d/wa-wftc-current-year-income-limit.fixed.md +++ b/changelog.d/wa-wftc-current-year-income-limit.fixed.md @@ -1 +1 @@ -Indexed the Washington Working Families Tax Credit maximum qualifying income to the current-year federal EITC limits instead of freezing it at 2022 values. +Indexed the Washington Working Families Tax Credit maximum qualifying income and investment-income limit to the current-year federal EITC figures instead of freezing them at 2022 values. diff --git a/policyengine_us/tests/policy/baseline/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.yaml b/policyengine_us/tests/policy/baseline/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.yaml index 02b0ae787a2..c8537f70566 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.yaml @@ -727,9 +727,96 @@ members: [head, spouse, child] state_code: WA output: - # AGI $50,047.89 is below the 2023 married-filing-jointly one-child federal - # EITC limit of $53,120 (Washington DOR's published 2023 figure), not the - # frozen 2022 limit of $49,620. Maximum $625, phase-out start $48,120 + # The maximum qualifying income equals Washington DOR's published 2023 + # married-filing-jointly one-child limit of $53,120, not the frozen 2022 + # limit of $49,620. + wa_working_families_tax_credit_maximum_qualifying_income: 53_120 + # AGI $50,047.89 is below that limit. Maximum $625, phase-out start $48,120 # (limit $53,120 less the $5,000 band), rate (625 - 50) / 5,000 = 11.5%. # 625 - 0.115 x (50,047.89 - 48,120) = 403. wa_working_families_tax_credit: 403.29 + +- name: Case 17, two-child near-ceiling credit reaches the minimum (2-child coverage). + period: 2023 + absolute_error_margin: 0.01 + input: + people: + head: + age: 35 + employment_income: 59_470 + has_tin: true + ssn_card_type: CITIZEN + is_tax_unit_head: true + spouse: + age: 35 + has_tin: true + ssn_card_type: CITIZEN + is_tax_unit_spouse: true + child1: + age: 5 + has_tin: true + ssn_card_type: CITIZEN + is_tax_unit_dependent: true + child2: + age: 8 + has_tin: true + ssn_card_type: CITIZEN + is_tax_unit_dependent: true + tax_units: + tax_unit: + members: [head, spouse, child1, child2] + filing_status: JOINT + would_file_taxes_voluntarily: true + takes_up_eitc: true + spm_units: + spm_unit: + members: [head, spouse, child1, child2] + households: + household: + members: [head, spouse, child1, child2] + state_code: WA + output: + # 2023 married-filing-jointly two-child ceiling = $59,478 (Washington DOR). + # Maximum $940, phase-out start $54,478 (limit less the $5,000 band), rate + # (940 - 50) / 5,000 = 17.8%. Income $59,470 is $8 below the ceiling, so the + # credit is at the $50 statutory minimum region: 940 - 0.178 x (59,470 - + # 54,478) = 51.43. (The ceiling itself is pinned to DOR's $53,120 in the + # one-child case above; DOR rounds to whole dollars, whereas the model + # carries the federal indexing to the cent.) + wa_working_families_tax_credit: 51.43 + +- name: Case 18, investment-income limit indexes to the current year. + period: 2023 + absolute_error_margin: 0.01 + input: + people: + head: + age: 30 + employment_income: 15_000 + taxable_interest_income: 10_500 + has_tin: true + ssn_card_type: CITIZEN + is_tax_unit_head: true + child: + age: 5 + has_tin: true + ssn_card_type: CITIZEN + is_tax_unit_dependent: true + tax_units: + tax_unit: + members: [head, child] + filing_status: HEAD_OF_HOUSEHOLD + would_file_taxes_voluntarily: true + takes_up_eitc: true + spm_units: + spm_unit: + members: [head, child] + households: + household: + members: [head, child] + state_code: WA + output: + # Investment income $10,500 exceeds the frozen 2022 federal limit ($10,300) + # but is below the current-year 2023 limit ($11,000, Washington DOR), so the + # filer remains eligible and receives the full 2023 one-child maximum. + wa_working_families_tax_credit: 625 diff --git a/policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/wa/working_families_tax_credit.yaml b/policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/wa/working_families_tax_credit.yaml index 3848886f6a2..da21974bc36 100644 --- a/policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/wa/working_families_tax_credit.yaml +++ b/policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/wa/working_families_tax_credit.yaml @@ -80,9 +80,9 @@ output: tax_units: tax_unit: - # 1-kid joint phase-out starts at (20,130 + 6,130 + 3,733/0.1598) - # - 5,000 = 44,620; income 20,000 is below it -> full 2026 maximum - # 660 x 1.02266 uprating = 674.96. + # Income $20,000 is well below the 2026 one-child joint phase-out + # start, so the credit is the full 2026 maximum: $660 (2025) x 1.02266 + # uprating = 674.96. wa_working_families_tax_credit: 674.96 adjusted_gross_income: 20_000.0 - name: wa_wftc_childless_mid_phase_out (wa) @@ -482,7 +482,7 @@ tax_units: tax_unit: # Top child bracket: 3+ kids 2026 maximum = 1,330 x 1.02266 - # uprating = 1,360.14; income 20,000 is below the joint 3-kid - # phase-out start (20,130 + 6,130 + 6,935/0.2106 - 5,000 = 54,190). + # uprating = 1,360.14; income 20,000 is well below the 2026 joint + # three-child phase-out start, so the full maximum applies. wa_working_families_tax_credit: 1_360.14 adjusted_gross_income: 20_000.0 diff --git a/policyengine_us/variables/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.py b/policyengine_us/variables/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.py index 28082e934ea..81d493f12d3 100644 --- a/policyengine_us/variables/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.py +++ b/policyengine_us/variables/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.py @@ -32,6 +32,14 @@ def formula(tax_unit, period, parameters): # date-valued types, so the date appears here rather than in the # parameter tree. frozen_eitc = parameters.gov.irs.credits.eitc("2022-06-09") + # The June 9, 2022 Internal Revenue Code still contains the EITC + # inflation-adjustment provisions (26 U.S.C. 32(j)), so the + # inflation-indexed dollar amounts (the investment-income limit here, + # and the maximum qualifying income) track the current tax year, while + # the structural rules (age band, disabled-dependent waiver, + # separate-filer rule) stay on the frozen snapshot. Washington DOR + # publishes the current-year federal investment-income limit each year. + eitc = parameters(period).gov.irs.credits.eitc person = tax_unit.members has_tin = person("has_tin", period) is_head_or_spouse = person("is_tax_unit_head_or_spouse", period) @@ -64,9 +72,9 @@ def formula(tax_unit, period, parameters): federal_demographic_eligible = calculate_eitc_demographic_eligibility( tax_unit, period, frozen_eitc, federal_child_count ) - frozen_investment_income_eligible = ( + investment_income_eligible = ( tax_unit("eitc_relevant_investment_income", period) - <= frozen_eitc.phase_out.max_investment_income + <= eitc.phase_out.max_investment_income ) earnings = tax_unit("filer_adjusted_earnings", period) agi = tax_unit("adjusted_gross_income", period) @@ -85,7 +93,7 @@ def formula(tax_unit, period, parameters): baseline_income_eligible & federal_demographic_eligible & federal_identification_eligible - & frozen_investment_income_eligible + & investment_income_eligible & eitc_filing_status_eligible( tax_unit, period, @@ -107,7 +115,7 @@ def formula(tax_unit, period, parameters): state_only_income_eligible & demographic_eligible & filer_has_tin - & frozen_investment_income_eligible + & investment_income_eligible & is_filer & takes_up_eitc ) diff --git a/policyengine_us/variables/gov/states/wa/tax/income/credits/wa_working_families_tax_credit_age_expansion_eligible.py b/policyengine_us/variables/gov/states/wa/tax/income/credits/wa_working_families_tax_credit_age_expansion_eligible.py index b18732efe51..d7b4abc2b8c 100644 --- a/policyengine_us/variables/gov/states/wa/tax/income/credits/wa_working_families_tax_credit_age_expansion_eligible.py +++ b/policyengine_us/variables/gov/states/wa/tax/income/credits/wa_working_families_tax_credit_age_expansion_eligible.py @@ -46,10 +46,14 @@ def formula(tax_unit, period, parameters): # wa_working_families_tax_credit child_count. # RCW 82.08.0206(2)(d) pins WFTC to the federal EITC rules as in # effect on June 9, 2022; this snapshot date is a statutory literal. - frozen_eitc = parameters.gov.irs.credits.eitc("2022-06-09") - frozen_investment_income_eligible = ( + # The investment-income limit is an inflation-indexed dollar amount + # (26 U.S.C. 32(j), inside the pinned June 9, 2022 Code), so it tracks + # the current tax year -- matching Washington DOR's published limits -- + # even though the WFTC's structural rules stay on the frozen snapshot. + eitc = parameters(period).gov.irs.credits.eitc + investment_income_eligible = ( tax_unit("eitc_relevant_investment_income", period) - <= frozen_eitc.phase_out.max_investment_income + <= eitc.phase_out.max_investment_income ) earnings = tax_unit("filer_adjusted_earnings", period) agi = tax_unit("adjusted_gross_income", period) @@ -66,7 +70,7 @@ def formula(tax_unit, period, parameters): expansion_in_effect & filer_meets_min_age & income_eligible - & frozen_investment_income_eligible + & investment_income_eligible & filers_have_tin & is_filer & takes_up_eitc