CPA audit readiness

2026 Payroll Engine Methodology Review

This page exposes the latest generated test report, the authoritative source set behind the 2026 payroll data, and the jurisdictions that need extra scrutiny during review.

2026 data updated · Last checked June 20, 2026

Source: Latest audit report JSON (download below)

Planned Review Scope and Report Summary

Overall status

PASS

Combined test and smoke-test outcome

Engine tests

PASS

492 passed · 0 failed

Smoke tests

PASS

204 passed · 0 failed

Flagged states

5

Jurisdictions that need extra CPA review

Generated at

July 27, 2026 at 05:54 PM UTC

scripts/generate-cpa-audit-report.mjs

Download the full report: cpa-audit-report-2026-07-27.json or cpa-audit-report-latest.json

Authoritative Sources

Flagged Jurisdictions

These states changed recently and deserve extra manual review during the CPA pass.

West Virginia

2026 data · Updated June 20, 2026· West Virginia DOR492 regression tests passing

Top rate 4.58% with retroactive change effective 2026-06-12.

Retroactive rate reduction effective June 12, 2026. Effective 2026-03-01.

Priority action: Verify against official 2026 withholding tables and confirm or correct if needed

South Carolina

2026 data · Updated June 20, 2026· South Carolina DOR492 regression tests passing

WH-1603F uses allowance-dependent deductions and source-backed withholding bands.

SC W-4 allowance-dependent withholding formula. Effective 2026-01-01.

Priority action: Recheck WH-1603F during the next quarterly verification cycle

Mississippi

2026 data · Updated June 20, 2026· Mississippi DOR492 regression tests passing

Flat 4.00% rate with the first $10,000 of taxable income exempt.

Phase-down rate with first $10,000 exempt. Effective 2026-01-01.

Priority action: Verify against official 2026 withholding tables and confirm or correct if needed

Utah

2026 data · Updated June 20, 2026· Utah DOR492 regression tests passing

Flat 4.45% rate in force for 2026.

Reduced flat rate remains in effect. Effective 2026-01-01.

Priority action: Verify against official 2026 withholding tables and confirm or correct if needed

Montana

2026 data · Updated June 20, 2026· Montana DOR492 regression tests passing

Graduated schedule includes 4.70% lower rate and 5.65% top rate.

Reduced top rate and updated bracket widths. Effective 2026-01-01.

Priority action: Verify against official 2026 withholding tables and confirm or correct if needed

Known Limitations

Test Execution Report

The full engine regression suite is represented by 404+ regression tests. The generated audit report stores the latest raw output below for CPA review.

Engine test output

> @takehome/engine@0.1.0 test /vercel/path0/packages/engine
> vitest run --coverage


 RUN  v2.1.9 /vercel/path0/packages/engine
      Coverage enabled with v8

 ✓ src/__tests__/qualified-tips-deduction.test.ts (5 tests) 4ms
 ✓ src/__tests__/overtime-deduction.test.ts (7 tests) 5ms
 ✓ src/__tests__/multi-state.test.ts (9 tests) 10ms
 ✓ src/__tests__/rsu.test.ts (7 tests) 10ms
 ✓ src/paycheckcity-reference.test.ts (10 tests) 9ms
 ✓ src/__tests__/supplemental-income.test.ts (5 tests) 11ms
 ✓ src/__tests__/retirement-income.test.ts (12 tests) 14ms
 ✓ src/__tests__/foreign-earned-income.test.ts (15 tests) 16ms
 ✓ src/__tests__/self-employment.test.ts (10 tests) 18ms
 ✓ src/pretax-deductions.test.ts (26 tests) 26ms
 ✓ src/__tests__/gross-up.test.ts (8 tests) 17ms
 ✓ src/__tests__/stock-options.test.ts (10 tests) 37ms
 ✓ src/__tests__/paystub-match.test.ts (40 tests) 49ms
 ✓ src/calc.test.ts (328 tests) 95ms

 Test Files  14 passed (14)
      Tests  492 passed (492)
   Start at  17:54:19
   Duration  959ms (transform 1.19s, setup 0ms, collect 4.22s, tests 321ms, environment 3ms, prepare 1.50s)

 % Coverage report from v8
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |     100 |      100 |     100 |     100 |                   
 src               |     100 |      100 |     100 |     100 |                   
  calc.ts          |     100 |      100 |     100 |     100 |                   
  ...k-fixtures.ts |     100 |      100 |     100 |     100 |                   
  ...ned-income.ts |     100 |      100 |     100 |     100 |                   
  gross-up.ts      |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  multi-state.ts   |     100 |      100 |     100 |     100 |                   
  ...-deduction.ts |     100 |      100 |     100 |     100 |                   
  paystub-match.ts |     100 |      100 |     100 |     100 |                   
  ...deductions.ts |     100 |      100 |     100 |     100 |                   
  ...-deduction.ts |     100 |      100 |     100 |     100 |                   
  ...ent-income.ts |     100 |      100 |     100 |     100 |                   
  rsu.ts           |     100 |      100 |     100 |     100 |                   
  ...employment.ts |     100 |      100 |     100 |     100 |                   
  stock-options.ts |     100 |      100 |     100 |     100 |                   
  ...tal-income.ts |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
  ...date-input.ts |     100 |      100 |     100 |     100 |                   
 ...ate-strategies |     100 |      100 |     100 |     100 |                   
  ...percentage.ts |     100 |      100 |     100 |     100 |                   
  ...-allowance.ts |     100 |      100 |     100 |     100 |                   
  ...tion-level.ts |     100 |      100 |     100 |     100 |                   
  ...-deduction.ts |     100 |      100 |     100 |     100 |                   
  flat.ts          |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...age-method.ts |     100 |      100 |     100 |     100 |                   
  none.ts          |     100 |      100 |     100 |     100 |                   
  ...ge-formula.ts |     100 |      100 |     100 |     100 |                   
  ...riod-table.ts |     100 |      100 |     100 |     100 |                   
  ...ion-credit.ts |     100 |      100 |     100 |     100 |                   
  progressive.ts   |     100 |      100 |     100 |     100 |                   
  shared.ts        |     100 |      100 |     100 |     100 |                   
  ...g-schedule.ts |     100 |      100 |     100 |     100 |                   
  ...age-method.ts |     100 |      100 |     100 |     100 |                   
-------------------|---------|----------|---------|---------|-------------------
Smoke test output
  OK https://exacttakehome.com/
  OK https://exacttakehome.com/calculator/
  OK https://exacttakehome.com/calculator/california/
  OK https://exacttakehome.com/calculator/texas/
  OK https://exacttakehome.com/calculator/new-york/
  OK https://exacttakehome.com/calculator/maine/
  OK https://exacttakehome.com/calculator/south-carolina/
  OK https://exacttakehome.com/salary/75k/
  OK https://exacttakehome.com/salary/100k/
  OK https://exacttakehome.com/salary/200k/
  OK https://exacttakehome.com/salary/500k/
  OK https://exacttakehome.com/salary/250k/
  OK https://exacttakehome.com/salary/45k/
  OK https://exacttakehome.com/salary/85k/
  OK https://exacttakehome.com/salary/120k/
  OK https://exacttakehome.com/salary/175k/
  OK https://exacttakehome.com/salary/108k/
  OK https://exacttakehome.com/salary/250k/?state=tx
  OK https://exacttakehome.com/compare/california-vs-texas/
  OK https://exacttakehome.com/blog/
  OK https://exacttakehome.com/ads.txt
  OK https://exacttakehome.com/about/
  OK https://exacttakehome.com/research/best-states-take-home-pay/
  OK https://exacttakehome.com/contact/
  OK https://exacttakehome.com/methodology/
  OK https://exacttakehome.com/methodology/federal/
  OK https://exacttakehome.com/methodology/embed/
  OK https://exacttakehome.com/privacy-policy/
  OK https://exacttakehome.com/salary/
  OK https://exacttakehome.com/salary/by-profession/
  OK https://exacttakehome.com/salary/profession/software-engineer/california/
  OK https://exacttakehome.com/compare/
  OK https://exacttakehome.com/compare/turbotax-vs-free-filing/
  OK https://exacttakehome.com/compare/turbotax-vs-freetaxusa/
  OK https://exacttakehome.com/compare/turbotax-vs-taxact/
  OK https://exacttakehome.com/compare/gusto-vs-quickbooks-payroll/
  OK https://exacttakehome.com/compare/gusto-vs-adp-run/
  OK https://exacttakehome.com/research/how-is-overtime-taxed-2026/
  OK https://exacttakehome.com/research/w2-box-12-codes-explained-2026/
  OK https://exacttakehome.com/research/why-is-my-w2-different-from-my-salary-2026/
  OK https://exacttakehome.com/research/how-to-check-w2-withholding-accuracy-2026/
  OK https://exacttakehome.com/research/is-turbotax-worth-it-2026/
  OK https://exacttakehome.com/research/gusto-pricing-breakdown-2026/
  OK https://exacttakehome.com/research/why-is-my-bonus-taxed-so-high-2026/
  OK https://exacttakehome.com/raise-impact-calculator/
  OK https://exacttakehome.com/tools/life-event-paycheck/
  OK https://exacttakehome.com/tools/life-event-paycheck/marriage/
  OK https://exacttakehome.com/tools/life-event-paycheck/child/
  OK https://exacttakehome.com/compare/gusto-vs-manual-payroll/
  OK https://exacttakehome.com/compare/california-vs-texas/
  OK https://exacttakehome.com/compare/new-york-vs-texas/
  OK https://exacttakehome.com/compare/california-vs-washington/
  OK https://exacttakehome.com/compare/florida-vs-new-york/
  OK https://exacttakehome.com/compare/florida-vs-new-jersey/
  OK https://exacttakehome.com/compare/mass

Review Notes

The audit report is generated by scripts/generate-cpa-audit-report.mjs and should be refreshed after each major data change or before sending materials to the CPA.

Questions about the methodology belong on the methodology page or in the public changelog.