Skip to content

Conversation

@hua7450
Copy link
Collaborator

@hua7450 hua7450 commented Jan 7, 2026

Summary

Fixes #7122

Implements the New Jersey WorkFirst (WFNJ) TANF program, including income eligibility, resource limits, earned income disregards, child support disregard, and benefit calculations.


Regulatory Authority

Regulation Description
N.J.S.A. 44:10-55 et seq. Work First New Jersey Act (statutory authority)
N.J.A.C. 10:90-3.1 Child support pass-through and disregard
N.J.A.C. 10:90-3.2 Initial financial eligibility determination
N.J.A.C. 10:90-3.3 Maximum allowable income and benefit levels
N.J.A.C. 10:90-3.8 Earned income disregards
N.J.A.C. 10:90-3.9 Income sources (earned and unearned)
N.J.A.C. 10:90-3.20 Resource limits
NJ TANF State Plan FFY 2024-2026 State TANF Plan

Income Eligibility Tests

Gross Income Test (Initial Applicants)

  • Gross income must be at or below the maximum allowable income (150% of payment level)

Countable Income Test

  • Countable income must be less than the payment level for the household size

Source: N.J.A.C. 10:90-3.2, N.J.A.C. 10:90-3.3

Resource Test

  • Countable resources must not exceed $2,000

Source: N.J.A.C. 10:90-3.20


Income Deductions & Exemptions

Earned Income Disregards

NJ WFNJ provides tiered disregards based on months of employment and hours worked:

Period 20+ hrs/week <20 hrs/week
Month 1 100% 100%
Months 2-7 75% 50%
Month 8+ 50% 50%

Implemented: 20+ hours/week rates only (assumes full-time employment)

Source: N.J.A.C. 10:90-3.8, NJ TANF State Plan p.22

Note: Uses calendar months as a proxy for enrollment months.

Child Support Disregard

NJ WFNJ disregards child support received up to:

# of Children Maximum Disregard
1 child $100/month
2+ children $200/month

Source: N.J.A.C. 10:90-3.1(h)


Income Standards (Schedule I & II)

Maximum Allowable Income (Schedule I)

Household Size Monthly Limit
1 $321
2 $638
3 $839
4 $966
5 $1,092
6 $1,221
7 $1,341
8 $1,442
Each additional +$99

Maximum Benefit / Payment Level (Schedule II)

Household Size Monthly Benefit
1 $214
2 $425
3 $559
4 $644
5 $728
6 $814
7 $894
8 $961
Each additional +$66

Source: N.J.A.C. 10:90-3.3, NJ TANF State Plan p.64


Benefit Calculation

Benefit = max(Payment Level - Countable Income, 0)

Where:

  • Countable Income = Countable Earned Income + Countable Unearned Income
  • Countable Earned Income = Gross Earned × (1 - Disregard Rate)
  • Countable Unearned Income = Gross Unearned - Child Support Disregard

Source: N.J.A.C. 10:90-3.3, N.J.A.C. 10:90-3.8


Variable Structure

Variable Entity Description
nj_wfnj_countable_earned_income_person Person Earned income after disregard (per person)
nj_wfnj_countable_unearned_income SPMUnit Unearned income after child support disregard
nj_wfnj_gross_income SPMUnit Sum of gross earned + unearned income
nj_wfnj_countable_income SPMUnit Sum of countable earned + unearned income
nj_wfnj_gross_income_eligible SPMUnit Gross income test
nj_wfnj_income_eligible SPMUnit Countable income test
nj_wfnj_resources_eligible SPMUnit Resource test
nj_wfnj_eligible SPMUnit Final eligibility (demographic, immigration, income, resources)
nj_wfnj_payment_levels SPMUnit Maximum benefit for household size
nj_wfnj SPMUnit Benefit amount

Not Implemented

Rule Source Reason
60-Month Lifetime Limit N.J.S.A. 44:10-72 Time limits not tracked in PolicyEngine
Enrollment-Based Disregard Tracking N.J.A.C. 10:90-3.8 Uses calendar months as proxy
Earned Income Disregard (<20 hrs/week) N.J.A.C. 10:90-3.8 Only 20+ hours/week rates implemented (100%→75%→50% vs 100%→50%→50%)
Work Requirements/Sanctions N.J.A.C. 10:90-4 Not implemented

Implementation Notes

  • Uses federal is_demographic_tanf_eligible for demographic eligibility
  • Uses federal is_citizen_or_legal_immigrant for immigration eligibility
  • Enrolled recipients skip gross income test (only countable income test applies)
  • Earned income sources: tanf_gross_earned_income
  • Unearned income sources: tanf_gross_unearned_income per N.J.A.C. 10:90-3.9

Test Coverage

  • 53 tests covering eligibility, income calculations, and benefit amounts
  • Full year test verifying tiered earned income disregards (100%/75%/50%)
  • Child support disregard tests for 1 child and 2+ children scenarios
  • Integration tests for complete eligibility pipeline

🤖 Generated with Claude Code

@codecov
Copy link

codecov bot commented Jan 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (fc2b613) to head (c387ff8).
⚠️ Report is 45 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #7123   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           10        10           
  Lines          144       137    -7     
=========================================
- Hits           144       137    -7     
Flag Coverage Δ
unittests 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hua7450 hua7450 changed the title Implement New Jersey TANF Implement New Jersey WorkFirst (WFNJ) Jan 7, 2026
@hua7450 hua7450 marked this pull request as ready for review January 7, 2026 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Full New Jersey TANF

1 participant