Skip to content

Add the federal excess business loss back to Massachusetts income from 2022 - #9908

Merged
PavelMakarchuk merged 5 commits into
mainfrom
ma-excess-business-loss
Oct 13, 2026
Merged

PavelMakarchuk merged 5 commits into
mainfrom
ma-excess-business-loss

Conversation

@PavelMakarchuk

Copy link
Copy Markdown
Collaborator

Fixes #9907.

What changes

From 2022, Massachusetts conforms to the Code as amended on January 1, 2022, including the Section 461(l) excess business loss limit. Filers add the federal excess business loss (Form 1040, Schedule 1, line 8p) back to 5.0% income on Schedule X, line 6.

  • New federal excess_business_loss (Form 461, line 16): head and spouse business losses above business income plus gov.irs.ald.loss.max. It uses the same items as loss_ald, which is unchanged.
  • New parameter gov.states.ma.tax.income.excess_business_loss.in_effect (false through 2021, true from 2022).
  • New ma_excess_business_loss_adjustment, added in ma_gross_income.

Tests

  • excess_business_loss.yaml: 2022 joint (460,000, with loss_ald 540,000), the other spouse's business income, the 2025 single threshold, and a dependent's loss.
  • ma_excess_business_loss_adjustment.yaml: 2022 joint and single, 2024 joint, and a 2021 return with no add-back. The 2021 Part B (991,000) equals TAXSIM-35 v36. For 2022–2024, TAXSIM adds back a loss but with a fixed $250,000 / $500,000 threshold (policyengine-taxsim#1382); with the yearly threshold its Part B equals the expected values here (1,451,000, 1,725,500 and 1,381,200).

All MA tests, the above-the-line deduction tests and 756 other tests with Massachusetts households pass.

Overlap

#9890 (MaxGhenis, draft) moves the Section 461(l) computation from loss_ald into a new limited_business_loss. After both merge, excess_business_loss can become the total business loss minus limited_business_loss.

🤖 Generated with Claude Code

…m 2022

Massachusetts conforms to the Code as amended on January 1, 2022 from tax
year 2022, including Section 461(l). Filers add the federal excess business
loss (Schedule 1, line 8p) back to 5.0% income on Schedule X, line 6.

Fixes #9907

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

@hua7450 hua7450 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.

The 2022 to 2025 mechanics match the Form 1 instructions ("taxpayers must report on Schedule X, line 6 any excess business loss (EBL) stated on U.S. Form 1040, Schedule 1, line 8p") and Rev. Procs. 2021-45 through 2024-40, and all eight test expectations recompute by hand. Two boundary problems come from reusing the federal variable as is, so requesting changes:

1. 2026+ threshold. Massachusetts conforms to the Code "as amended on January 1, 2024" (c. 62 s. 1(c); St. 2024 c. 140 ss. 100 and 251), and TIR 26-4's conformity table lists "Sec. 70601. Modification and extension of limitation on excess business losses of noncorporate taxpayers. No". The federal gov.irs.ald.loss.max switches to the OBBBA-reset $256,000 / $512,000 in 2026 (Rev. Proc. 2025-32 s. 3.31), so ma_excess_business_loss_adjustment applies a threshold Massachusetts does not adopt. Example: 2026 single, wages 500,000, Schedule C loss 300,000 gives an add-back of 44,000 here; under Massachusetts's pre-OBBBA indexing (at least the 2025 $313,000) it is 0. Suggest a Massachusetts threshold parameter from 2026-01-01, seeded with the 2025 federal values and documented as pending DOR's 2026 figure, and a state EBL computed against it.

2. Sunset. TIR 24-14: "noncorporate taxpayers will not be allowed to deduct excess business losses from their Massachusetts gross income through the 2028 taxable year." in_effect is true from 2022 with no end; add 2029-01-01: false with that citation (Massachusetts may re-conform later).

Pre-existing, widened here (coordinate with the per-spouse loss PR rather than fix in this one): ma_gross_income_loss_adjustment never subtracts estate_income losses although Form 1 line 7 is "Rental, Royalty, REMIC, Partnership, S Corporation, Trust Income or Loss", while this add-back includes them (Form 461 line 5), so a 2022 single filer with wages 2,000,000 and a 500,000 trust loss ends at 2,230,000 of Part B gross income against the form's 1,730,000. Also worth a comment: other_net_gain (Form 4797) losses are Schedule B/D items in Massachusetts, not 5.0% income, yet they enter the add-back through the federal amount.

Nits: the yaml comment and description say conformity is as of January 1, 2022, which is stale from tax year 2024; cite c. 62 s. 1(c), St. 2022 c. 126 ss. 30 and 189, TIR 23-5, TIR 24-14 and TIR 26-4 rather than only the NBER mirrors; add tests at a loss exactly equal to the threshold, for 2023 (the instructions still print $270,000 / $540,000 while line 8p uses $289,000 / $578,000) and for 2026; excess_business_loss is an income add-back, so above_the_line_deductions/ is an odd home for it.

Limits: the exact 2026 Massachusetts threshold is not yet published; Schedule CB treatment not checked; tests not run.

…the add-back after 2028

Massachusetts follows the Code as amended on January 1, 2024 (c. 62 s. 1(c))
and does not conform to OBBBA section 70601 (TIR 26-4), so the federal
threshold reset to $256,000 / $512,000 for 2026 (Rev. Proc. 2025-32,
section 4.31) does not apply. Add a Massachusetts threshold parameter that
equals the federal threshold through 2025 and holds the 2025 values for
2026, pending the Department of Revenue's 2026 figure, and measure the
Schedule X, line 6 add-back against it. Move the business items into a new
net_business_loss variable that both the federal and Massachusetts excess
business loss use.

The Code as amended on January 1, 2024 limits excess business losses
through the 2028 taxable year (TIR 24-14), so the add-back ends from 2029.

Cite c. 62 s. 1(c), TIR 23-1, TIR 23-5, TIR 24-14, TIR 26-4 and the mass.gov
Form 1 instructions. Add tests at a loss equal to the 2023 and 2026
thresholds, above the 2026 threshold, and for 2029.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PavelMakarchuk

Copy link
Copy Markdown
Collaborator Author

Thanks for the review. The changes are in f060702. I checked each point against the primary sources first.

1. 2026 threshold: agreed, fixed.

M.G.L. c. 62, s. 1(c): "''Code'', the Internal Revenue Code of the United States, as amended on January 1, 2024 and in effect for the taxable year"

TIR 26-4, conformity chart, Massachusetts Income Tax Conformity column: "Sec. 70601. Modification and extension of limitation on excess business losses of noncorporate taxpayers." | "No"

Rev. Proc. 2025-32, section 4.31: "For taxable years beginning in 2026, in determining a taxpayer's excess business loss, the amount under § 461(l)(3)(A)(ii)(II) is $256,000 ($512,000 for joint returns)."

One small correction: the 2026 item is section 4.31 ("SECTION 4. 2026 ADJUSTED ITEMS"), not 3.31. Section 3 of that Rev. Proc. modifies Rev. Proc. 2024-40. The value is the same. The St. 2024 c. 140 ss. 100 and 251 cite matches TIR 24-14, footnote 3.

I found no 2026 Massachusetts figure. It is not in TIR 26-4, the Working Draft TIR on the FY2026 supplemental budget, or the 2025 Form 1 instructions.

  • New parameter gov.states.ma.tax.income.excess_business_loss.threshold, by filing status. For 2022 to 2025 it equals the federal values: Rev. Proc. 2021-45 s. 3.32, 2022-38 s. 3.32, 2023-34 s. 3.32 and 2024-40 s. 2.32. For 2026 it holds $313,000 / $626,000, with a comment that says the value waits for DOR's 2026 figure. After 2026 it is uprated with gov.irs.uprating, the same as the federal parameter.
  • The business items are now in a new net_business_loss variable. excess_business_loss is max(0, net_business_loss - federal threshold). ma_excess_business_loss_adjustment is in_effect * max(0, net_business_loss - MA threshold).
  • Your example (2026, single, wages 500,000, Schedule C loss 300,000) is now a test: excess_business_loss 44,000, MA add-back 0, ma_gross_income 200,000.

2. Sunset: agreed, fixed.

TIR 24-14, II.A.1: "Due to this Code Update, the limitation is extended and noncorporate taxpayers will not be allowed to deduct excess business losses from their Massachusetts gross income through the 2028 taxable year."

in_effect now has 2029-01-01: false with this citation. A 2029 test checks it.

Pre-existing items: not changed here.

  • estate_income: confirmed. The 2024 Form 1 instructions have the heading "Line 7. Rental, Royalty, REMIC, Partnership, S Corporation, Trust Income or Loss", but ma_gross_income_loss_adjustment does not subtract estate_income losses. Subtract each spouse's Massachusetts business losses #9910 rewrites that variable, so the fix belongs there. That avoids a conflict.
  • other_net_gain: noted. The item list matches loss_ald, so the add-back reproduces line 8p through 2025. The Massachusetts Schedule B/D treatment of Form 4797 losses is a separate change.

Nits

  • Comment and description: updated. They now cite the January 1, 2022 Code Update (St. 2022, c. 126, ss. 30 and 189) and the January 1, 2024 Code Update (St. 2024, c. 140, ss. 100 and 251).
  • Citations: added c. 62 s. 1(c), TIR 23-1, TIR 23-5, TIR 24-14, TIR 26-4, and the mass.gov Form 1 instructions in place of the NBER mirrors. The 2022 instructions are no longer on mass.gov, so I used the web.archive.org copy of the mass.gov file. It is byte-identical to the NBER copy. TIR 23-1 is the FY23 budget TIR (footnote 3: "FY23 Budget, §§ 30, 189."). TIR 23-5 has the detailed § 461(l) guidance: "As a result of the Code Update, Massachusetts now conforms to the limitations under Code § 461(l) for tax years beginning on or after January 1, 2022."
  • Threshold tests:
    • 2023, single, loss 289,000: add-back 0. The 2023 instructions say to "report on Schedule X, line 6 any excess business loss (EBL) stated on U.S. Form 1040, Schedule 1, line 8p", and Rev. Proc. 2022-38 s. 3.32 gives "$289,000 ($578,000 for joint returns)". The printed $270,000 would give 19,000.
    • 2026, single, loss 313,000: MA add-back 0, federal 57,000.
    • 2026, joint, loss 1,000,000: MA add-back 374,000, federal 488,000.
    • The arithmetic is in the YAML comments.
  • Location: I kept excess_business_loss (and net_business_loss) next to loss_ald. It is the part of the business loss that loss_ald does not deduct, and it uses the same items and threshold. I can move it if you prefer.

Tests

  • policyengine_us/tests/policy/baseline/gov/states/ma and policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/adjusted_gross_income: 852 passed.
  • test_known_dead_reference_urls.py, test_parameter_files.py, and the core ALD, business-income, estate-income, dependent-loss and input-variable tests: 97 passed.

@hua7450 hua7450 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.

Round 2. Read all nine files at f060702 plus loss_ald, limited_capital_loss, gov/irs/ald/loss/max.yaml, gov/irs/uprating and the C-CPI-U series, and verified the sources: the 2022 to 2025 thresholds against Rev. Procs. 2021-45 s. 3.32, 2022-38 s. 3.32, 2023-34 s. 3.32 and 2024-40 s. 2.32 (all match); the start date against TIR 23-5 and the 2022 Form 1 instructions; the sunset against the pre-OBBBA 461(l)(1) ("before January 1, 2029", IRA s. 13903) and TIR 24-14, so 2029-01-01: false is right; TIR 26-4's "No" row for s. 70601; and the federal net_business_loss / excess_business_loss pair, which equals the 461(l) piece of loss_ald algebraically, excludes wages, and enters ma_gross_income once with no overlap with the merged PR 9910 adjustment. All 13 test expectations recompute by hand.

One item left, and it is on me: I suggested seeding 2026 with the 2025 values pending DOR. Working the statute through, the number is computable, so requesting changes for the 2026 value only.

2026 threshold. Under c. 62 s. 1(c) the operative text is 461(l)(3)(C) as of January 1, 2024: the $250,000 amount is increased by the section 1(f)(3) cost-of-living adjustment "determined by substituting '2017' for '2016'", rounded to the nearest $1,000 (the yaml comment cites (3)(B); since the CARES Act redesignation (B) is the capital gains rule and (C) is the inflation adjustment). Section 1(f)(4) uses the average C-CPI-U for the 12 months ending August 31 of the preceding year. From the C-CPI-U series the model already carries:

Tax year CPI(year-1) 250,000 x CPI / CPI(2017) Rounded Published
2022 149.0635 269,580 270,000 270,000
2023 159.8793 289,140 289,000 289,000
2024 168.4466 304,634 305,000 305,000
2025 173.0934 313,038 313,000 313,000
2026 177.1138 320,309 320,000 (Massachusetts, pre-OBBBA)

CPI(2017) = 138.2368. The same inputs give 250,000 x 177.1138 / 173.0934 = 255,807, which rounds to the OBBBA $256,000 in Rev. Proc. 2025-32 s. 4.31, so the method reproduces every IRS figure. The Massachusetts 2026 threshold the statute produces is therefore $320,000 ($640,000 joint), not the carried-forward $313,000 / $626,000: test case 8 (2026 joint, 1,000,000 S corporation loss) adds back 374,000 here and 360,000 under the statute, and a 2026 single filer with a 318,000 net business loss gets a 5,000 add-back here and 0 under the statute. Uprating from 2026 with gov.irs.uprating then tracks the statute from 320,000 but stays about 2.3% low from 313,000.

Fix: 2026-01-01: 320_000 / 640_000 with the computation in the comment, keep the note that DOR has not printed a figure (TIR 26-4, the 2026 TIR list and the 2025 Form 1 instructions page 21 have none; the 2026 instructions will say what Schedule X line 6 wants), and update MA test cases 6 and 8. One caveat for the comment: the raw 320,309 sits about $200 under the 320,500 rounding boundary, so if DOR's own series differs it could print 321,000.

Nits: the (3)(B) citation above; above_the_line_deductions/ remains an odd home for an income add-back, your call.

Pre-existing, for follow-ups: ma_gross_income_loss_adjustment still does not subtract estate_income losses although net_business_loss includes them; Form 4797 losses in the add-back.

…e-OBBBA 461(l)(3)(C)

Massachusetts follows the Code as of January 1, 2024, so the 2026
threshold is 250,000 indexed from 2017 with the C-CPI-U: 320,309,
rounded to 320,000 (640,000 joint). The same computation reproduces the
2022-2025 published thresholds. Update the two 2026 tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PavelMakarchuk

Copy link
Copy Markdown
Collaborator Author

Thanks, agreed. Fixed in the latest commit.

2026 threshold. threshold.yaml now has 2026-01-01: 320_000 (640_000 joint). I recomputed it from the model's C-CPI-U series: the average for the 12 months ending August 31 is 138.2368 for 2017 and 177.1137 for 2025, so 250,000 × 177.1137 / 138.2368 = 320,309, which rounds to 320,000. The same computation gives 269,580, 289,140, 304,634 and 313,038 for 2022–2025, which round to every published figure, and 250,000 × CPI(2025) / CPI(2024) = 255,807 gives the OBBBA $256,000. The comment now cites Section 461(l)(3)(C) as of January 1, 2024, shows the computation, keeps the note that DOR has not printed a 2026 figure, and flags the ~$200 margin to the 320,500 rounding boundary.

Tests. Case 6 now uses a loss equal to the new threshold (320,000: federal 64,000, Massachusetts 0), case 7's comment says 320,000, and case 8 expects 1,000,000 − 640,000 = 360,000. The Massachusetts and federal loss tests pass (768).

Nits. The (3)(B) citation is fixed. I kept the variables under above_the_line_deductions/ next to loss_ald, which they split, but I am happy to move them.

The two pre-existing items (estate losses in ma_gross_income_loss_adjustment, Form 4797 losses in the add-back) can go to a follow-up.

@hua7450 hua7450 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.

Approving. Read threshold.yaml and the Massachusetts test file at 2df6e91 against the computation in my last round: 250,000 x 177.1137 / 138.2368 = 320,309, rounded to the nearest 1,000 under section 461(l)(3)(C) as of January 1, 2024, so 2026-01-01: 320_000 and 640_000 joint are the values the statute Massachusetts adopts produces, and the comment now carries the derivation, the (3)(C) citation, the note that DOR has printed no 2026 figure, and the 320,500 rounding-boundary caveat. The three updated cases recompute: case 6 (2026 single, loss 320,000) gives a federal excess business loss of 320,000 - 256,000 = 64,000 and a Massachusetts add-back of 0; case 7 stays 0 at 300,000; case 8 (2026 joint, 1,000,000) gives 1,000,000 - 640,000 = 360,000. Uprating from the 320,000 anchor tracks the statute's path from here. Everything else was verified in the previous rounds (2022 to 2025 thresholds against the Rev. Procs., the 2022 start and 2029 sunset against TIR 23-5 and TIR 24-14, the federal net_business_loss / excess_business_loss pair equal to the 461(l) piece of loss_ald, single add-back into ma_gross_income), and CI is green on this head.

Keeping the variables beside loss_ald is fine by me. The two pre-existing items (estate losses in ma_gross_income_loss_adjustment, Form 4797 losses in the add-back) can go to the follow-up as you say.

PavelMakarchuk and others added 2 commits October 11, 2026 14:49
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PavelMakarchuk
PavelMakarchuk merged commit 7f3dcc5 into main Oct 13, 2026
26 checks passed
@PavelMakarchuk
PavelMakarchuk deleted the ma-excess-business-loss branch October 13, 2026 11:33
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.

Massachusetts does not add back the federal excess business loss from 2022

2 participants