Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Montana Interest Exemptions #3098

Merged
merged 22 commits into from
Nov 15, 2023
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
82edba0
Merge branch 'PolicyEngine:master' into master
DianaShi5083 May 29, 2023
4d6744a
Added Montana Interest Exemptions
DianaShi5083 Sep 27, 2023
41320d3
Adjusted
DianaShi5083 Sep 27, 2023
f886bd3
Adjusted
DianaShi5083 Sep 27, 2023
7d2304c
Merge branch 'master' of https://github.com/PolicyEngine/policyengine…
DianaShi5083 Oct 4, 2023
c70af1a
Revised
DianaShi5083 Oct 4, 2023
d279c93
Revised
DianaShi5083 Oct 4, 2023
6657924
Merge branch 'master' of https://github.com/PolicyEngine/policyengine…
DianaShi5083 Oct 9, 2023
806bc52
Revised
DianaShi5083 Oct 9, 2023
0f68ae5
Merge branch 'master' of https://github.com/PolicyEngine/policyengine…
DianaShi5083 Oct 11, 2023
b747232
Add subtractions
DianaShi5083 Oct 11, 2023
5729f02
Merge branch 'master' of https://github.com/PolicyEngine/policyengine…
DianaShi5083 Oct 16, 2023
08f4925
Revised
DianaShi5083 Oct 16, 2023
cd28210
Merge branch 'master' of https://github.com/PolicyEngine/policyengine…
DianaShi5083 Oct 19, 2023
bb22533
Revised
DianaShi5083 Oct 19, 2023
2270b56
Revised
DianaShi5083 Oct 20, 2023
662578c
Merge branch 'master' of https://github.com/PolicyEngine/policyengine…
DianaShi5083 Nov 7, 2023
1817e5a
revised
DianaShi5083 Nov 7, 2023
89661c1
Merge branch 'master' of https://github.com/PolicyEngine/policyengine…
DianaShi5083 Nov 14, 2023
fb7cd0e
Revised
DianaShi5083 Nov 14, 2023
51c5d01
Update policyengine_us/parameters/gov/states/mt/tax/income/exemptions…
PavelMakarchuk Nov 14, 2023
084b212
Update policyengine_us/variables/gov/states/mt/tax/income/exemptions/…
PavelMakarchuk Nov 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- bump: minor
changes:
added:
- Montana senior interest income exclusion.
DianaShi5083 marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ metadata:
unit: currency-USD
period: year
label: Montana income tax exemption amount

DianaShi5083 marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: Montana excludes some interest from adjusted gross income for filers with at least one spouse this age or older.
DianaShi5083 marked this conversation as resolved.
Show resolved Hide resolved
metadata:
label: Montana senior interest income exclusion age threshold
period: year
unit: year
reference:
- title: 2021 Montana Form 2 | line 3 - Partial Interest Exemption for Taxpayers
href: https://mtrevenue.gov/wp-content/uploads/mdocs/form%202%202021%20instructions.pdf#page=24
- title: 2022 Montana Form 2 | line 3 - Partial Interest Exemption for Taxpayers
href: https://mtrevenue.gov/wp-content/uploads/dlm_uploads/2022/12/Form-2-2022-Instructions.pdf#page=25
- title: Administrative Rules of Montana | Income Taxes | Β§ 42.14.215
href: https://rules.mt.gov/gateway/RuleNo.asp?RN=42%2E15%2E215
values:
2021-01-01: 65
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
description: Montana excludes up to this amount of interest income from adjusted gross income for seniors.
DianaShi5083 marked this conversation as resolved.
Show resolved Hide resolved
metadata:
label: Montana senior interest income exclusion
DianaShi5083 marked this conversation as resolved.
Show resolved Hide resolved
period: year
unit: currency-USD
breakdown:
- filing_status
reference:
- title: 2021 Montana Form 2 | line 3 - Partial Interest Exemption for Taxpayers
href: https://mtrevenue.gov/wp-content/uploads/mdocs/form%202%202021%20instructions.pdf#page=24
- title: 2022 Montana Form 2 | line 3 - Partial Interest Exemption for Taxpayers
href: https://mtrevenue.gov/wp-content/uploads/dlm_uploads/2022/12/Form-2-2022-Instructions.pdf#page=25
- title: Administrative Rules of Montana | Income Taxes | Β§ 42.14.215
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
href: https://rules.mt.gov/gateway/RuleNo.asp?RN=42%2E15%2E215

SINGLE:
2021-01-01: 800
SEPARATE:
2021-01-01: 800
JOINT:
2021-01-01: 1_600
HEAD_OF_HOUSEHOLD:
2021-01-01: 800
WIDOW:
2021-01-01: 800
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: Montana counts these sources as subtractions.
values:
2021-01-01:
- mt_interest_exemption
metadata:
unit: list
label: Montana adjusted gross income subtractions
reference:
- title: 2021 Montana Form 2 | Montana Subtractions Schedule
href: https://mtrevenue.gov/wp-content/uploads/mdocs/form%202%202021%20instructions.pdf#page=24
- title: 2022 Montana Form 2 | Montana Subtractions Schedule
href: https://mtrevenue.gov/wp-content/uploads/dlm_uploads/2022/12/Form-2-2022-Instructions.pdf#page=25
- title: Administrative Rules of Montana | Income Taxes | 42.15.2:Montana Additions and Subtractions
href: https://rules.mt.gov/gateway/Subchapterhome.asp?scn=42%2E15%2E2
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
- name: Joint filing, eligible
period: 2023
input:
people:
person1:
taxable_interest_income: 1_000
person2:
taxable_interest_income: 900
tax_units:
tax_unit:
members: [person1, person2]
filing_status: JOINT
mt_interest_exemption_eligible: true
households:
household:
state_code: MT
output:
mt_interest_exemption: 1_600

- name: Joint filing, not eligible
period: 2023
input:
people:
person1:
taxable_interest_income: 1_000
person2:
taxable_interest_income: 900
tax_units:
tax_unit:
members: [person1, person2]
filing_status: JOINT
mt_interest_exemption_eligible: false
households:
household:
state_code: MT
output:
mt_interest_exemption: 0

- name: Single filing, eligible
period: 2023
input:
people:
person1:
is_tax_unit_head: true
taxable_interest_income: 1_000
tax_units:
tax_unit:
members: [person1]
filing_status: SINGLE
mt_interest_exemption_eligible: true
households:
household:
state_code: MT
output:
mt_interest_exemption: 800
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
- name: both are eligible
period: 2023
input:
age_head: 65
age_spouse: 65
state_code: MT
output:
mt_interest_exemption_eligible: true

- name: both are eligible, even spouse is under the age
period: 2023
input:
age_head: 65
age_spouse: 62
state_code: MT
output:
mt_interest_exemption_eligible: true

- name: single not eligible
period: 2023
input:
age_head: 62
state_code: MT
output:
mt_interest_exemption_eligible: false
DianaShi5083 marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
from policyengine_us.model_api import *


class mt_interest_exemption(Variable):
value_type = float
entity = TaxUnit
label = "Montana interest exemption"
unit = USD
definition_period = YEAR
reference = "https://mtrevenue.gov/wp-content/uploads/dlm_uploads/2022/12/Form-2-2022-Instructions.pdf#page=25"
defined_for = "mt_interest_exemption_eligible"
DianaShi5083 marked this conversation as resolved.
Show resolved Hide resolved

def formula(tax_unit, period, parameters):
DianaShi5083 marked this conversation as resolved.
Show resolved Hide resolved
p = parameters(period).gov.states.mt.tax.income.exemptions.interest
filing_status = tax_unit("filing_status", period)
cap = p.cap[filing_status]
interest_income = add(tax_unit, period, ["taxable_interest_income"])
DianaShi5083 marked this conversation as resolved.
Show resolved Hide resolved
eligible_amount = min_(cap, interest_income)
eligible_person = tax_unit("mt_interest_exemption_eligible", period)
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
return eligible_person * eligible_amount
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from policyengine_us.model_api import *


class mt_interest_exemption_eligible(Variable):
DianaShi5083 marked this conversation as resolved.
Show resolved Hide resolved
value_type = bool
entity = TaxUnit
DianaShi5083 marked this conversation as resolved.
Show resolved Hide resolved
label = "Eligible person for the Montana interest exemption"
unit = USD
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
definition_period = YEAR
reference = "https://mtrevenue.gov/wp-content/uploads/dlm_uploads/2022/12/Form-2-2022-Instructions.pdf#page=25"
defined_for = StateCode.MT

def formula(tax_unit, period, parameters):
DianaShi5083 marked this conversation as resolved.
Show resolved Hide resolved
p = parameters(period).gov.states.mt.tax.income.exemptions.interest
age_head = tax_unit("age_head", period)
eligible_aged_head = age_head >= p.age
age_spouse = tax_unit("age_spouse", period)
eligible_aged_spouse = age_spouse >= p.age
DianaShi5083 marked this conversation as resolved.
Show resolved Hide resolved
return eligible_aged_head | eligible_aged_spouse
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from policyengine_us.model_api import *


class mt_subtractions(Variable):
value_type = float
entity = TaxUnit
label = "Montana subtractions"
unit = USD
definition_period = YEAR
defined_for = StateCode.MT

adds = "gov.states.mt.tax.income.subtractions.subtractions"