Skip to content

Commit

Permalink
Added Montana Interest Exemptions
Browse files Browse the repository at this point in the history
Fixes #3058
  • Loading branch information
DianaShi5083 committed Sep 27, 2023
1 parent 82edba0 commit 4d6744a
Show file tree
Hide file tree
Showing 5 changed files with 104 additions and 0 deletions.
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 interest exemptions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: Montana allows single filers to receive partial interest exemption at or above the following older age threshold.
metadata:
label: Montana partial interest exemption age eligibility
period: year
unit: year
reference:
- 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://advance.lexis.com/documentpage/?pdmfid=1000516&crid=fb5db531-a80f-4790-bddb-eefc8327ef60&config=00JAA1MDBlYzczZi1lYjFlLTQxMTgtYWE3OS02YTgyOGM2NWJlMDYKAFBvZENhdGFsb2feed0oM9qoQOMCSJFX5qkd&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A65D2-CDH3-CGX8-044N-00008-00&pdcontentcomponentid=234186&pdteaserkey=sr1&pditab=allpods&ecomp=8s65kkk&earg=sr1&prid=66f02b0a-c5ae-4162-9535-127751546807
values:
2021-01-01: 65
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
description: Montana provides partial interest exemption for the age filer at this amount.
metadata:
label: Montana interest exemption base amount
period: year
unit: currency-USD
breakdown:
- filing_status
reference:
- 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://advance.lexis.com/documentpage/?pdmfid=1000516&crid=fb5db531-a80f-4790-bddb-eefc8327ef60&config=00JAA1MDBlYzczZi1lYjFlLTQxMTgtYWE3OS02YTgyOGM2NWJlMDYKAFBvZENhdGFsb2feed0oM9qoQOMCSJFX5qkd&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A65D2-CDH3-CGX8-044N-00008-00&pdcontentcomponentid=234186&pdteaserkey=sr1&pditab=allpods&ecomp=8s65kkk&earg=sr1&prid=66f02b0a-c5ae-4162-9535-127751546807
SINGLE:
2021-01-01: 800 # 2021 need to update
2022-01-01: 800
SEPARATE:
2021-01-01: 800
2022-01-01: 800
JOINT:
2021-01-01: 1_600
2022-01-01: 1_600
HEAD_OF_HOUSEHOLD:
2021-01-01: 800
2022-01-01: 800
WIDOW: # if filling status on federal form is qualifing widow, we can use head of household
2021-01-01: 800
2022-01-01: 800

# exemption for dependents?? should we included?
# page15

Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
- name: Joint filing
period: 2023
input:
taxsim_dividends: 1_900
filing_status: JOINT
age_head: 65
age_spouse: 65
state_code: MT
output:
mt_exemptions: 1_600

- name: Joint filing
period: 2023
input:
taxsim_dividends: 1_900
filing_status: JOINT
age_head: 65
age_spouse: 62
state_code: MT
output:
mt_exemptions: 1_600

- name: Single filing
period: 2023
input:
taxsim_dividends: 1_900
filing_status: JOINT
age_head: 62
state_code: MT
output:
mt_exemptions: 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from policyengine_us.model_api import *


class mt_exemptions(Variable):
value_type = float
entity = TaxUnit
label = "Montana exemptions amount"
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 = StateCode.MT

def formula(tax_unit, period, parameters):
p = parameters(period).gov.states.mt.tax.income.exemptions
filing_status = tax_unit("filing_status", period)
cap_amount = p.amount[filing_status]
dividend_income = tax_unit(
"taxsim_dividends", period
) # dividends or share accounts
qalified_amount = min_(cap_amount, dividend_income)
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
eligible_tax_unit = eligible_aged_head | eligible_aged_spouse
return where(eligible_tax_unit, qalified_amount, 0)

0 comments on commit 4d6744a

Please sign in to comment.