Add SC OBBBA non-conformity addition for 2025#7870
Add SC OBBBA non-conformity addition for 2025#7870PavelMakarchuk wants to merge 12 commits intomainfrom
Conversation
SC starts from federal taxable income but does not conform to OBBBA provisions. SC1040 line 2e adds back OBBBA deductions: 1. Standard deduction increase ($1,500 MFJ, $750 SINGLE) 2. Senior deduction ($6,000 per eligible person 65+) 3. Tip/overtime/auto loan interest deductions (if applicable) For the test case (MFJ, age 65, $100K pension): sc_obbba_addback = $7,500 (matching TaxAct) sc_taxable_income = $38,610 (matching TaxAct) Closes #7854 Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7870 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 12 2 -10
Lines 173 44 -129
Branches 4 0 -4
==========================================
- Hits 173 44 -129
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
- Variable label: "SC federal non-conformity addition for the One Big Beautiful Bill Act" - Add SC DOR IRC Conformity Update page as primary reference - Fix SC1040 line reference: line 1e (not 2e) - Fix parameter description to explain non-conformity purpose - Update comments with official terminology and amounts Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
…rence - Fix "SC1040 line 1e" to "SC1040 line e" (actual form label) - Fix #page=3 → #page=5 in 3 files (was pointing to TOC) - Replace CBO secondary source with IRS Rev. Proc. 2024-40 Section 3.01 (authoritative source for pre-OBBBA standard deduction values) Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
This PR introduces new functionality (SC OBBBA non-conformity addition), not a bug fix, so the correct changelog category is 'added' (minor bump). Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Previously the parameter stored 2025-only dollar values ($15,000 / $30,000 / $22,500) sourced from IRS Rev. Proc. 2024-40, which didn't clearly tie to a statutory section and wouldn't extend into 2026+. Now the parameter stores the TCJA statutory base values (IRC § 63(c)(7) as enacted by Pub. L. 115-97 § 11021: $12k / $24k / $18k at 2018-01-01) with explicit pre-2025 historical values (matching federal amounts since OBBBA had no effect before then) and uprating via gov.irs.uprating for 2025+. Each stored value is tied to an explicit legal code section. At 2025 the uprated pre-OBBBA values are $15,000 / $30,000 / $22,500, and the delta vs. post-OBBBA matches the $750 / $1,500 / $1,125 addback amounts that TaxAct and Drake Tax publish for SC line 1e. All 306 SC tests pass unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
The SC OBBBA addback only activates from 2025 onward (sc_obbba_addback is gated on additions.yaml 2025-01-01+), so the 2018–2024 historical values in the parameter are never read. Keep only the 2018-01-01 TCJA statutory base and let uprating produce 2025+ values. Same 2025 output ($750/$1,500/$1,125 delta), fewer redundant entries. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Replaces the multi-sentence narrative description with the standard PolicyEngine single-sentence pattern: "[State] [verb] [category] [this X] under the [Program] program" Also spells out "One Big Beautiful Bill Act" in the label (PE standard avoids acronyms in user-facing fields). Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
- Rev. Proc. 2024-40 cited as § 3.01 (Tax Rate Tables); standard deduction is § 3.15. - TCJA Pub. L. 115-97 § 11021 (standard deduction) starts at file page 20, not page 24. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
hua7450
left a comment
There was a problem hiding this comment.
Follow-up: SALT $40K cap not modeled (pre-existing bug)
Surfaced during review of this PR — flagging here because it's the largest unresolved item in SC Information Letter #26-4 Revised (Item 6), and shares scope with the OBBBA non-conformity work in this PR. Out of scope for this PR; recommended as a separate follow-up.
Issue. SC has not conformed to OBBBA's increase in the federal SALT cap from $10,000 to $40,000 (Letter Item 6). For SC itemizers, the SALT addback should still use the pre-OBBBA $10,000 / $5,000 (MFS) cap.
Where it manifests. policyengine_us/variables/gov/states/sc/tax/income/additions/sc_state_tax_addback.py reads the federal SALT cap directly:
cap = parameters(period).gov.irs.deductions.itemized.salt_and_real_estate.cap[filing_status]That parameter steps up to $40,000 at 2025-01-01, so SC inherits the post-OBBBA cap and systematically understates the SC SALT addback (and therefore SC tax liability) for any SC itemizer with SALT > $10,000 — exactly the population the federal change targets.
Recommended follow-up (separate PR).
- Add
policyengine_us/parameters/gov/states/sc/tax/income/additions/obbba/pre_obbba_salt_cap.yamlwith $10,000 / $5,000 (MFS), referenced to SC Information Letter #26-4. - Update
sc_state_tax_addback.pyto read this SC-frozen parameter instead ofgov.irs.deductions.itemized.salt_and_real_estate.cap. - Add tests covering MFJ / Single / MFS itemizers with SALT just below and well above $10,000.
Out of scope but noted. The remaining two SC Letter items (R&E §174A, §179 $2.5M expensing) are appropriately not modeled — PolicyEngine doesn't track per-taxpayer R&E expenditures or §179 elections.
|
Filed the SALT cap follow-up as #8240 — adds a SC-frozen $10K / $5K MFS Could you dismiss the CHANGES_REQUESTED review on this PR (or mark it as out-of-scope) so it can move to merge once #8240 lands? |
Address review feedback (#7870 review by hua7450). SC IL #26-4 Item 6 notes SC has not conformed to OBBBA's 2025 federal SALT cap increase from $10,000 to $40,000 ($20,000 MFS). The SC1040 line 1d State Tax Addback worksheet must continue to use the pre-OBBBA $10K / $5K MFS cap. Previously sc_state_tax_addback.py read the federal SALT cap parameter directly, which steps to $40K at 2025-01-01. Add a SC-frozen pre_obbba_salt_cap.yaml under the existing additions/obbba/ folder (alongside pre_obbba_standard_deduction.yaml) and update the formula to read it. Direction-of-bias note: a higher federal cap leaves more "room" for state-income-tax addback in worksheet line 5 (cap - real_estate), so the prior code overstated the SC addback (and SC tax liability) for itemizers with SALT > $10K. Either way the corrective action is the same — use the SC-frozen $10K / $5K MFS cap. Tests: existing 6 pre-OBBBA cases pass unchanged; 4 new 2025 cases covering MFJ at SALT just above $10K, MFJ high-SALT (full $10K cap consumed by real estate, addback drops to $0), SINGLE, and MFS. 10/10 SC SALT addback tests pass; 310/310 SC tax tests pass. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
|
Addressed the SALT cap non-conformity in commit `b0884b3` on this PR (rather than a separate one):
Direction-of-bias note: tracing the worksheet math, a higher federal cap leaves more "room" for state-income-tax addback in line 5 (`cap − real_estate_taxes`), so the previous code actually overstated the SC SALT addback (and SC tax liability) for itemizers with SALT > $10K, not understated. The fix is the same either way. Verification: 10/10 `sc_state_tax_addback.yaml` tests pass; 310/310 SC tax tests pass; `make format` clean. Could you re-review when you have a chance? 🤖 Generated with Claude Code |
Summary
SC starts from federal taxable income but does not conform to the One Big Beautiful Bill Act (OBBBA) provisions that reduce it. This PR adds the OBBBA non-conformity addition to SC1040 line 2e.
Closes #7854
What SC adds back
additional_senior_deductiontip_income_deductionovertime_income_deductionauto_loan_interest_deductionTest case (from TaxAct)
MFJ, primary age 65, $100K pension, $10K gross SS, 2 dependents:
Note
This pattern will likely need to be replicated for other states that start from federal taxable income but don't conform to OBBBA.
Test plan
All 88 SC tax tests pass.
🤖 Generated with Claude Code