PolicyEngine / PolicyEngine/policyengine-us

WA WFTC income ceiling ignores permanently and totally disabled adult qualifying children

Open Beginner friendly
#9,364 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
162
Forks
212
Avg merge
3d 3h
Merged PRs (30d)
97

Description

## Summary

`wa_working_families_tax_credit_maximum_qualifying_income` counts qualifying children **without** the IRC 152(c)(3)(B) permanently-and-totally-disabled age waiver, while the main `wa_working_families_tax_credit` variable counts them **with** it. On the state-only (ITIN) path, a family with a disabled adult qualifying child gets one-child credit *parameters* but a *childless* income ceiling — so the model denies or under-pays the credit.

## The inconsistency

`wa_working_families_tax_credit.py` (credit amount) applies the waiver:

```python
is_disabled_dependent = person("is_tax_unit_dependent", period) & person(
"is_permanently_and_totally_disabled", period
)
child_count = tax_unit.sum(
(person("is_qualifying_child_dependent", period) | is_disabled_dependent)
& has_tin
)
```

`wa_working_families_tax_credit_maximum_qualifying_income.py` (income ceiling) does not:

```python
washington_child_count = tax_unit.sum(
person("is_qualifying_child_dependent", period) & person("has_tin", period)
)
```

A permanently and totally disabled dependent old enough to fail the normal age test (19/24) counts as a child for the credit amount but not for the income limit.

## Legal basis (the ceiling should count them)

- RCW 82.08.0206(2) defines a WFTC qualifying child as "a qualifying child as defined by Title 26 U.S.C. Sec. 32 of the internal revenue code, except the child may have a valid individual taxpayer identification number in lieu of a social security number." Section 32(c)(3) takes its definition from §152(c), and **§152(c)(3)(B) waives the age test** for someone permanently and totally disabled. The statute's "maximum qualifying income" is the §32 maximum AGI, which is tiered by the number of qualifying children — so a disabled adult qualifying child raises the income limit, not just the credit tier. https://app.leg.wa.gov/RCW/default.aspx?cite=82.08.0206
- WA DOR's application instructions state it directly: "If your qualifying child is permanently and totally disabled at any time in 2023, there is no age requirement," with a worked example of a 24-year-old completely and totally disabled nephew who **can** be claimed ("age is not a factor in his qualification"). The same instructions tie the AGI limits ($17,640 / $46,560 / $52,918 / $56,838 single in 2023) to the number of qualifying children. https://workingfamiliescredit.wa.gov/sites/default/files/2024-01/WFTC_AppInstr_English_2023.pdf#page=5

## Example failure (2023)

Single Washington parent, age 40, files with an ITIN, $20,000 earnings; supports their 30-year-old permanently and totally disabled son (dependent, has ITIN, meets relationship/residency/joint-return tests).

- **Per DOR**: one qualifying child → $46,560 income limit → full one-child credit of **$625**.
- **Model**: `washington_child_count` = 0 (fails the age test), `federal_child_count` = 0 (no SSN), so the ceiling variable returns the childless limit **$17,640**; $20,000 > $17,640 → **$0**.

Second facet — even under the childless ceiling the phase-out window is mis-positioned: same family at $16,000 earnings gets a phase-out start of $17,640 − $5,000 = $12,640 instead of $46,560 − $5,000 = $41,560, paying ~$239 instead of the full $625.

## Trigger scope

Only bites when the disabled dependent lacks an SSN (ITIN): with an SSN, the federal `eitc_child_count` already includes the §152(c)(3)(B) waiver and the ceiling's `max_(federal_child_count, washington_child_count)` papers over the gap. With an ITIN — exactly the population the WFTC's state-only path exists for — both counts are 0.

## Fix

Mirror the `| is_disabled_dependent` term into the ceiling's `washington_child_count` so both variables count qualifying children identically. Add a YAML test for the example above (ITIN filer, disabled adult ITIN dependent, income between the childless and one-child ceilings → full one-child credit).

Found during review of PR #9351 (pre-existing bug — it predates that PR, which rewrites the same call site for the indexing fix).

Contributor guide

Open the contributing guide

Research direction

Read `wa_working_families_tax_credit.py` and `wa_working_families_tax_credit_maximum_qualifying_income.py` to compare how each counts qualifying children. Add the stated YAML test for an ITIN filer with a permanently and totally disabled adult dependent and income between the childless and one-child ceilings. Done when the test confirms the full one-child credit and the income ceiling counts the disabled dependent consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, yaml
Domain
backend, testing
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.