Skip to content

Add employer FUTA and state unemployment payroll taxes#7819

Merged
MaxGhenis merged 6 commits intomainfrom
codex/employer-payroll-tax
Mar 21, 2026
Merged

Add employer FUTA and state unemployment payroll taxes#7819
MaxGhenis merged 6 commits intomainfrom
codex/employer-payroll-tax

Conversation

@MaxGhenis
Copy link
Contributor

Summary

  • add employer-side FUTA variables and parameters, including credit reduction rates
  • add employer-side state unemployment tax modeling with jurisdiction-specific state tax variables aggregated into a national variable
  • add employer_payroll_tax and employer_cost_of_employment, plus an override input for employer-specific SUTA rates
  • add Virgin Islands jurisdiction-mask support so defined_for = StateCode.VI works for territory-specific variables

Notes

  • FUTA is modeled as the 0.6% effective rate plus jurisdiction-specific credit reductions from DOL data
  • SUTA defaults use each jurisdiction's 2024 taxable wage base and a default rate from DOL new-employer rates or, where the published rule is employer-specific, the reported average tax rate on taxable wages

Testing

  • uv run python -m policyengine_core.scripts.policyengine_command test policyengine_us/tests/policy/baseline/gov/irs/payroll/unemployment -c policyengine_us
  • uv run python -m policyengine_core.scripts.policyengine_command test policyengine_us/tests/policy/baseline/gov/irs/payroll/employer_payroll_tax.yaml -c policyengine_us
  • uv run pytest policyengine_us/tests/code_health/variable_names.py

@codecov
Copy link

codecov bot commented Mar 20, 2026

Codecov Report

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

Additional details and impacted files
@@            Coverage Diff             @@
##              main     #7819    +/-   ##
==========================================
  Coverage   100.00%   100.00%            
==========================================
  Files            1        64    +63     
  Lines           19       707   +688     
  Branches         0         1     +1     
==========================================
+ Hits            19       707   +688     
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.

Copy link
Collaborator

@DTrim99 DTrim99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix lint and add changelog entry

@MaxGhenis MaxGhenis merged commit 6997214 into main Mar 21, 2026
9 checks passed
@MaxGhenis MaxGhenis deleted the codex/employer-payroll-tax branch March 21, 2026 16:32
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.

2 participants