PolicyEngine / PolicyEngine/policyengine-taxsim
Does `taxsimtest` lump MN Form M1PR refunds into `siitax`, and has it modeled the 2024 MN Renter's Credit reform?
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 17
- Forks
- 10
- Avg merge
- 15h 55m
- Merged PRs (30d)
- 1
Description
Two related Minnesota questions, both touching the v22 (siitax) vs v40 (sptcr) split.
Background
Minnesota has two adjacent refundable state programs:
| Program | Statute | Administered on | Where PE-US 1.720.6 puts it |
|---|---|---|---|
| Homestead Credit Refund (homeowners) | Minn. Stat. § 290A.04 | Form M1PR (separate property tax refund) | state_property_tax_credits → v40 sptcr |
| Renter's Credit (2024+ reform) | Minn. Stat. § 290.0693 (as amended by Minn. Laws 2023 Ch 64) | Form M1 Line 26 (refundable income tax credit, moved off M1PR for 2024+) | mn_refundable_credits → v22 siitax |
On eCPS n=2000 TY 2025, all 7 MN records in the federal-net top driver list reduce to one of these two programs. PE's computed refund amounts agree with TAXSIM down to the dollar in the cleanest case.
Worked examples
Homeowner (taxsimid 10110502, single age 66, $3,850 property tax, MN state, year 2025):
TAXSIM taxsimtest |
PE-US 1.720.6 | |
|---|---|---|
mn_homestead_credit_refund (computed) |
– | $3,388 |
siitax (v22) |
−$3,388 | $0 |
sptcr (v40) |
$0 | $3,388 (via taxsim_state_property_tax_credit) |
PE matches Form M1 (which doesn't carry the M1PR refund); TAXSIM appears to subtract the M1PR refund inside v22.
Renter (taxsimid 1006701, single age 79, gssi $18,896, $18,000 rent paid, MN state, year 2025):
TAXSIM taxsimtest |
PE-US 1.720.6 | |
|---|---|---|
mn_renters_credit (computed) |
– | $2,720 |
siitax (v22) |
$0 | −$2,720 |
PE applies the post-2024 reform (renter's credit moved from M1PR to M1 Line 26 as a refundable income tax credit); TAXSIM does not appear to.
Questions
-
Should
siitax(v22) include Form M1PR refunds? Form M1PR is a separate state form, filed on its own return — net Form M1 liability (which is what PE reports assiitax) excludes it. TAXSIM appears to fold the M1PR refund into v22 for MN homeowners. Is that an intentional convention, and if so, should we mirror it in PE-taxsim'ssiitaxfor MN (similar to how we accept TAXSIM's convention on AddMed)? -
Has
taxsimtestmodeled the 2024 MN Renter's Credit reform (Minn. Laws 2023 Ch 64, codified at Minn. Stat. § 290.0693, moving the renter's credit from Form M1PR to Form M1 Line 26 as a refundable income tax credit starting tax year 2024)? Independently of question 1, if TAXSIM still applies the renter's credit only through the M1PR/v40 channel, that explains the 2024+ divergence for renters.
References
- Minn. Stat. § 290A.04 — https://www.revisor.mn.gov/statutes/cite/290A.04
- Minn. Stat. § 290.0693 — https://www.revisor.mn.gov/statutes/cite/290.0693
- 2025 Form M1 instructions (Line 26 Refundable Renter's Credit) — https://www.revenue.state.mn.us/sites/default/files/2025-11/m1-inst-25_0.pdf#page=18
- 2025 Schedule M1REF (refundable income tax credits) — https://www.revenue.state.mn.us/sites/default/files/2025-12/m1ref-25.pdf
- 2025 Form M1PR instructions — https://www.taxformfinder.org/forms/2025/2025-minnesota-form-m1pr-instructions.pdf
Repro CSV (year=2025)
```
taxsimid,year,state,mstat,page,depx,pwages,intrec,gssi,proptax,rentpaid,idtl,opt1,opt1v
10110502,2025,24,1,66,0,0,0,0,3850,0,2,30,1
1006701,2025,24,1,79,0,0,2,18896,0,18000,2,30,1
```
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the two supplied 2025 records through taxsimtest and compare the Minnesota siitax (v22) and sptcr (v40) results with PE-US. Trace how the Form M1PR refund and the post-2024 renter's credit are represented; done means both discrepancies have an explained expected result and the intended convention is clear.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100