Skip to content

Add Colorado overtime deduction add-back (HB25-1296) from 2026#8995

Open
DTrim99 wants to merge 3 commits into
PolicyEngine:mainfrom
DTrim99:co-overtime-addback
Open

Add Colorado overtime deduction add-back (HB25-1296) from 2026#8995
DTrim99 wants to merge 3 commits into
PolicyEngine:mainfrom
DTrim99:co-overtime-addback

Conversation

@DTrim99

@DTrim99 DTrim99 commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Adds Colorado's decoupling from the federal overtime deduction — a second-sweep gap.

Change

HB25-1296 (2025, Colorado Laws ch. 202, signed 2025-05-16) adds C.R.S. 39-22-104(3)(u): an add-back of "any overtime compensation excluded or deducted from federal gross income," effective January 1, 2026 (§18). Colorado starts from federal taxable income, which includes the federal IRC §225 overtime deduction, so this claws it back for CO.

Colorado still conforms to the federal tips deduction (IRC §224) — tips are not added back — and Colorado conformed for 2025 (§6 wasn't yet effective). A 2025 special-session repeal attempt (HB25B-1020) failed, so the add-back stands.

Why this is a real, verified rule (not a false positive)

The bill predates OBBBA (signed 5/16/2025; OBBBA July 2025), so I verified the mechanism directly: (3)(u) is section-agnostic"any overtime compensation excluded or deducted from federal gross income" — drafted in anticipation of the federal deduction, so it automatically captures OBBBA's §225. Confirmed against the signed session law (§6, §18, §19 safety clause).

Implementation

  • co_overtime_income_addback — mirrors the federal overtime_income_deduction, gated from 2026 via gov.states.co.tax.income.additions.qualified_overtime.in_effect
  • added to the CO additions list from 2026
  • tests: 2026 adds back the federal overtime deduction; 2025 conforms ($0); integration case in a full household

🤖 Generated with Claude Code

HB25-1296 (2025, Colorado Laws ch. 202, signed 2025-05-16) adds
C.R.S. 39-22-104(3)(u), adding back "any overtime compensation excluded
or deducted from federal gross income" for tax years beginning on or
after January 1, 2026 (Section 18). Colorado starts from federal taxable
income, which includes the federal IRC 225 overtime deduction, so this
claws it back. Colorado still conforms to the federal tips deduction
(IRC 224), so tips are not added back; and Colorado conformed for 2025
(Section 6 was not yet effective).

Adds co_overtime_income_addback (mirroring the federal overtime
deduction, gated from 2026 via an in_effect parameter) to the Colorado
additions list.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@codecov

codecov Bot commented Jul 10, 2026

Copy link
Copy Markdown

Codecov Report

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

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #8995   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            1         1           
  Lines           18        12    -6     
=========================================
- Hits            18        12    -6     
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 Harness.
📢 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.

@DTrim99 DTrim99 requested a review from PavelMakarchuk July 13, 2026 13:27
- Correct the in_effect comment: the add-back does not "reach zero after
  2028" on its own; it will zero once the federal overtime deduction's
  post-2028 sunset is modeled (federal-model gap, not a CO defect).
- Add tests that the add-back flows into co_additions (2026 vs 2025 wiring
  guard) and that federal tips are NOT added back.
- Co-locate the variable with its parameter under additions/qualified_overtime/.
- Trim the overlong reference title; adopt Case N test naming with margins.
- Changelog type changed -> added (introduces a new variable/parameter).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@DTrim99

DTrim99 commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator Author

Independent review + fixes applied

Independent review confirmed the policy is regulatorily correct against the signed act (HB25-1296, Ch. 202, §6 adds C.R.S. 39-22-104(3)(u) — overtime only; "tip" appears 0 times; §18 effective 2026). No critical issues. Applied all findings:

🟡 Should Address — fixed

  • Corrected the "reaches zero after 2028" comment. The federal overtime deduction doesn't yet sunset in the model, so the add-back stays nonzero 2029+. The mechanism is right (it multiplies the federal deduction, so it auto-zeros once the federal sunset is modeled); the comment now says exactly that.
  • Added wiring + regression tests: the add-back now has cases asserting it flows into co_additions in 2026 (and not 2025), plus a "tips are not added back" guard (tip_income_deduction set → co_overtime_income_addback: 0, co_additions: 0).

🟢 Suggestions — applied

  • Co-located the variable under additions/qualified_overtime/ to match the federal_deductions/ and qualified_business_income_deduction/ peers.
  • Trimmed the overlong reference title; adopted Case N test names with absolute_error_margin.
  • Changelog .changed → .added (introduces a new variable/parameter).

@PavelMakarchuk PavelMakarchuk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Review (multi-validator: regulatory accuracy, references, code patterns, test coverage)

Verdict: Request changes — one verified correctness issue; everything else checks out.

🔴 Blocking: 2029+ over-taxation

The federal overtime deduction sunset is already modeled, at the deduction-list level: overtime_income_deduction is dropped from both deductions_if_itemizing.yaml and deductions_if_not_itemizing.yaml at 2029-01-01, so federal taxable income no longer reflects it from 2029. But the overtime_income_deduction variable has no year gate (its cap/phase-out parameters only carry 2025 values), so it still computes a nonzero amount in 2029 — and the new CO in_effect parameter is open-ended (2026-01-01: true, no end date). Result: from 2029, co_overtime_income_addback adds back a deduction that was never taken federally, over-taxing CO filers.

The comment in in_effect.yaml ("will reach zero automatically once the federal overtime deduction's post-2028 sunset is modeled") rests on a wrong premise — the sunset is modeled, just not inside the variable, so the add-back does not auto-zero.

Requested:

  1. Zero the add-back from 2029 — simplest: 2029-01-01: false in in_effect.yaml with a note tying it to the federal §225 sunset — and fix the misleading comment.
  2. Add a 2029 test with nonzero overtime asserting the add-back is 0.

🟡 Should address

  1. Tests inject overtime_income_deduction directly everywhere. Add a joint-filer case above the $12.5k single cap and an AGI phase-out case (from fsla_overtime_premium) so the test proves the add-back mirrors the post-cap/post-phase-out amount.
  2. References: add a #page= anchor to the signed-act PDF citation (Section 6 / effective-date language); verify https://tax.colorado.gov/january-2026-tax-policy-updates resolves and covers the add-back (it 403s to automated fetch); and add an HB25-1296 / C.R.S. 39-22-104(3)(u) citation to additions.yaml's reference block for the new list entry.

✅ Verified correct

  • Add-back equals the post-cap/post-phase-out federal §225 deduction (right reading of "excluded or deducted" — baseline has only the deduction).
  • 2026 start (HB25-1296 §6/§18), 2025 conformity, and tips (IRC §224) correctly not added back.
  • No double-counting: co_taxable_income = federal taxable income + additions − subtractions; the deduction is removed once and added back once.
  • List re-specification pattern in additions.yaml, entity/period/vectorization, changelog fragment — all clean.

🟢 Suggestions

  • Folder qualified_overtime/ vs variable co_overtime_income_addback naming mismatch; sibling CO add-backs use a defined_for + adds pattern (e.g., co_qualified_business_income_deduction_addback) — either align or keep, both patterns exist.
  • The 2026 gate is enforced twice (in_effect + the additions-list date block); fine as belt-and-suspenders, but note it so future effective-date changes update both.

Blocking: the federal IRC 225 overtime deduction sunsets after 2028 (dropped
from the federal deduction lists at 2029), but the overtime_income_deduction
variable is not year-gated, so the add-back was over-taxing CO filers from
2029. Gate in_effect off at 2029-01-01 and correct the comment; add a 2029
test asserting the add-back is 0.

Should-address: add joint-filer-above-cap and single-filer AGI-phase-out tests
that compute the federal deduction from fsla_overtime_premium (proving the
add-back mirrors the post-cap/post-phase-out amount). Anchor the signed-act
citation to page 6, and cite HB25-1296 / C.R.S. 39-22-104(3)(u) in additions.yaml.

Also note the belt-and-suspenders 2026 double gate (in_effect + additions list).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@DTrim99

DTrim99 commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator Author

Changes applied (@PavelMakarchuk review)

Thanks — great catch on the 2029 over-taxation. All items addressed.

🔴 Blocking — fixed

2029+ over-taxation. You're right: the federal IRC 225 deduction is dropped from deductions_if_itemizing/deductions_if_not_itemizing at 2029, so federal taxable income already excludes it — but overtime_income_deduction (the variable) isn't year-gated, so the add-back was re-adding a deduction never taken federally. Fixed:

  1. in_effect.yaml now has 2029-01-01: false, and the comment is corrected to explain that the federal sunset is modeled at the list level (not in the variable), so the add-back must be turned off explicitly from 2029.
  2. Added Case 7 (2029, nonzero overtime_income_deductionco_overtime_income_addback: 0).

🟡 Should address — fixed

  1. Added Case 8 (joint filer, fsla_overtime_premium: 30,000 → capped at the $25k joint cap → add-back 25,000) and Case 9 (single filer, AGI 200,000 → $12.5k cap phased out by 50,000 × 10% = 5,000 → add-back 7,500). Both compute the federal deduction from the overtime premium and assert the add-back mirrors the post-cap/post-phase-out amount.
  2. References: anchored the signed act to #page=6 (Section 6 / C.R.S. 39-22-104(3)(u); Section 18 is p.19). Verified tax.colorado.gov/january-2026-tax-policy-updates resolves (200) and covers "Overtime Compensation Deduction Addback (for tax year 2026)" — kept. Added the HB25-1296 / C.R.S. 39-22-104(3)(u) citation to additions.yaml.

🟢 Suggestions

  • Noted the belt-and-suspenders 2026 double gate (in_effect + the additions.yaml year block) in a comment so future date changes update both.
  • Naming (qualified_overtime/ folder vs co_overtime_income_addback): kept as-is per your "either align or keep" — qualified_overtime matches the federal §225 "qualified overtime compensation" terminology, and the in_effect-gated formula can't collapse into the adds pattern the QBI add-back uses. Happy to rename if you'd prefer.

CI re-running.

@DTrim99 DTrim99 requested a review from PavelMakarchuk July 15, 2026 18:19
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