Skip to content

Commit

Permalink
Merge pull request #58 from finpaul/mt
Browse files Browse the repository at this point in the history
Merging
  • Loading branch information
rickecon authored Nov 17, 2023
2 parents 78709c3 + a470425 commit bb025d2
Show file tree
Hide file tree
Showing 49 changed files with 642 additions and 9 deletions.
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.2.6] - 2023-11-14 17:00:00

### Added

- Updates Montana tax logic.

## [0.2.5] - 2023-10-24 22:00:00

### Added
Expand Down Expand Up @@ -185,7 +191,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- First prototype version based off of openfisca-us and tax-calculator.



[0.2.6]: https://github.com/TheCGO/fiscalsim-us/compare/v0.2.5...v0.2.6
[0.2.5]: https://github.com/TheCGO/fiscalsim-us/compare/v0.2.4...v0.2.5
[0.2.4]: https://github.com/TheCGO/fiscalsim-us/compare/v0.2.3...v0.2.4
[0.2.3]: https://github.com/TheCGO/fiscalsim-us/compare/v0.2.2...v0.2.3
Expand Down
5 changes: 5 additions & 0 deletions changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -169,3 +169,8 @@
- Updated environment.yml and build_and_test.yml to allow for python 3.11
- Updated Virginia tax logic with correct mapping from federal filing status to state filing status.
date: 2023-10-24 22:00:00
- bump: patch
changes:
added:
- Updates Montana tax logic
date: 2023-11-14 17:00:00
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
description: Montana deductions from taxable income if itemizing (that are not available if not itemizing).
values:
2022-01-01:
- mt_medical_and_dental_expenses_deduction
- mt_medical_premiums_deduction
- mt_long_term_care_premiums_deduction
- mt_federal_income_tax_deduction
- mt_state_local_tax_deduction
- mt_light_vehicle_registration_deduction
- mt_per_capita_livestock_deduction
- mt_other_taxes_paid_deduction
- mt_home_mortage_interest_deduction
- mt_investment_interest_deduction
- mt_charitable_cash_deduction
- mt_charitable_noncash_deduction
- mt_charitable_carryover_deduction
- mt_child_care_expense_deduction
- mt_casualty_loss_deduction
- mt_political_contributions_deduction
- mt_gambling_loss_deduction
- mt_other_deduction
metadata:
unit: variable
label: montana itemized deductions
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: Montana percentage of adjusted gross income that your medical and dental expenses are subject to.
values:
2022-01-01: 0.075
metadata:
unit: year
label: Montana itemized medical and dental rate
reference:
title: Montana Individual Tax Return Form 2 | Itemized Deductions Scedule | Line 1c
href: https://mtrevenue.gov/wp-content/uploads/dlm_uploads/2023/05/Montana-Idividiual-Income-Tax-Return-Form-2-2022v6.2.pdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: Montana cap that the political contributions and limited by per taxpayer
values:
2022-01-01: 100
metadata:
unit: year
label: Montana political contributions cap
reference:
title: Montana Individual Tax Return Form 2 | Itemized Deductions Scedule | Line 16
href: https://mtrevenue.gov/wp-content/uploads/dlm_uploads/2023/05/Montana-Idividiual-Income-Tax-Return-Form-2-2022v6.2.pdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
description: Maximum amount of state and local income, sales and real estate tax deductions allowed in montana.
metadata:
unit: currency-USD
period: year
name: mt_salt_cap
label: Montana SALT cap
HEAD_OF_HOUSEHOLD:
values:
2022-01-01: 10_000
JOINT:
values:
2022-01-01: 10_000
SEPARATE:
values:
2022-01-01: 5_000
SINGLE:
values:
2022-01-01: 10000
WIDOW:
values:
2022-01-01: 10000
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
description: Montana provides this maximum standard deduction amount, based on filing status.

metadata:
label: Montana standard deduction max amount
period: year
Expand All @@ -8,7 +9,7 @@ metadata:
reference:
- title: MT Code, Income Tax - Deductions, § 42-15-523 (2)
href: https://rules.mt.gov/gateway/RuleNo.asp?RN=42%2E15%2E523
- title: Montana Tax Form 2022 | Standard Deduction | Line 3
- title: This refers to line 3 of the standard deduction worksheet on Montana tax form 2. | Montana Tax Form 2022 | Standard Deduction | Line 3
href: https://mtrevenue.gov/wp-content/uploads/dlm_uploads/2023/05/Montana-Idividiual-Income-Tax-Return-Form-2-2022v6.2.pdf#page=7
- title: Montana Tax Form 2021 | Standard Deduction | Line 3
href: https://mtrevenue.gov/wp-content/uploads/mdocs/form%202%202021.pdf#page=7
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
description: Montana provides a minimum standard deduction of this amount, based on filing status.

metadata:
label: Montana minimum standard deduction
period: year
unit: currency-USD
breakdown:
- filing_status
reference:
- title: Increase each year with inflation (repealed effective January 1, 2024)
href: https://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0320/0150-0300-0210-0320.html
- title: Title 15 Chapter 30 Individual Income Tax Part 21. Rate and General Provisions, Standard Deduction Rule 15-30-2132
href: https://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0320/0150-0300-0210-0320.html
- title: MT Code, Income Tax - Deductions, § 42-15-523 (2)
href: https://rules.mt.gov/gateway/RuleNo.asp?RN=42%2E15%2E523
- title: Montana Tax Form 2022 | Standard Deduction | Line 5
- title: This refers to line 5 of the standard deduction worksheet on Montana tax form 2 | Montana Tax Form 2022 | Standard Deduction | Line 5
href: https://mtrevenue.gov/wp-content/uploads/dlm_uploads/2023/05/Montana-Idividiual-Income-Tax-Return-Form-2-2022v6.2.pdf#page=7
- title: Montana Tax Form 2021 | Standard Deduction | Line 5
href: https://mtrevenue.gov/wp-content/uploads/mdocs/form%202%202021.pdf#page=7
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ values:
2022-01-01: 2_710
metadata:
reference:
- title: Defined in the law as $1900 beginning after December 31, 2004, indexed by inflation. (Repealed effective January 1, 2024)
href: https://leg.mt.gov/bills/mca/title_0150/chapter_0300/part_0210/section_0140/0150-0300-0210-0140.html
- title: "Montana Tax Form 2021 | Exemptions | Line 16"
href: https://mtrevenue.gov/wp-content/uploads/mdocs/form%202%202021.pdf#page=1
- title: "Montana Tax Form 2022 | Exemptions | Line 16"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from fiscalsim_us.model_api import *


class mt_additions_to_income(Variable):
"""
Line 12 on Montana 2022 Individual Income Tax return form 2. These
additions to income include the categories that are listed
in Montana Additions Schedule on page 4 of Montana 2022 Individual Income Tax return form 2
"""

value_type = float
entity = TaxUnit
label = "MT additions to income"
unit = USD
definition_period = YEAR
defined_for = StateCode.MT
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from fiscalsim_us.model_api import *


class mt_subtractions_to_income(Variable):
"""
Line 13 on Montana 2022 Individual Income Tax return form 2. These
subtractions to income include the categories that are listed
in Montana Subtractions Schedule on page 5 of Montana 2022 Individual Income Tax return form 2
"""

value_type = float
entity = TaxUnit
label = "MT subtractions to income"
unit = USD
definition_period = YEAR
defined_for = StateCode.MT
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from fiscalsim_us.model_api import *


class mt_nonrefundable_credits(Variable):
"""
Line 19 of Montana state individual tax return form 2
"""

value_type = float
entity = TaxUnit
label = "Montana refundable credits"
unit = USD
definition_period = YEAR
defined_for = StateCode.MT

adds = "gov.states.mt.tax.income.credits.non_refundable"
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@


class mt_refundable_credits(Variable):
"""
Line 22 on Montana individual tax return form 2
"""

value_type = float
entity = TaxUnit
label = "Montana refundable credits"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from fiscalsim_us.model_api import *


class mt_tax_after_nonrefundable_credits(Variable):
"""
Line 20 on Montana individual tax return form 2
"""

value_type = float
entity = TaxUnit
label = "Montana refundable credits"
unit = USD
definition_period = YEAR
defined_for = StateCode.MT

def formula(tax_unit, period, parameter):
nonrefundable = tax_unit("mt_nonrefundable_credits")
incometaxbeforecredits = tax_unit(
"mt_income_tax_before_refundable_credits"
)
return incometaxbeforecredits - nonrefundable
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from fiscalsim_us.model_api import *


class mt_casualty_loss_deduction(Variable):
"""
Line 15 on Montana itemized deductions schedule
"""

value_type = float
entity = TaxUnit
label = "Montana casualty and theft losses"
unit = USD
definition_period = YEAR
defined_for = StateCode.MT

def formula(tax_unit, period, parameters):
deduction = (tax_unit, period, ["casualty_loss_deduction"])

return deduction
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from fiscalsim_us.model_api import *


class mt_charitable_carryover_deduction(Variable):
"""
Line 13 on Montana itemized deductions schedule
"""

value_type = float
entity = TaxUnit
label = (
"Montana charitable carryover donation from previous year deduction"
)
unit = USD
definition_period = YEAR
defined_for = StateCode.MT
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from fiscalsim_us.model_api import *


class mt_charitable_cash_deduction(Variable):
"""
Line 11 on Montana itemized deductions schedule
"""

value_type = float
entity = TaxUnit
label = "Montana charitable cash donation deduction"
unit = USD
documentation = (
"Montana deduction from taxable income for charitable cash donations."
)
definition_period = YEAR
defined_for = StateCode.MT

def formula(tax_unit, period, parameters):
cash_donations = add(tax_unit, period, ["charitable_cash_donations"])

return cash_donations
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from fiscalsim_us.model_api import *


class mt_charitable_noncash_deduction(Variable):
"""
Line 12 on Montana itemized deductions schedule
"""

value_type = float
entity = TaxUnit
label = "Montana charitable non-cash donation deduction"
unit = USD
definition_period = YEAR
defined_for = StateCode.MT

def formula(tax_unit, period, parameters):
noncash_donations = tax_unit(period, ["charitable_non_cash_donations"])

return noncash_donations
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from fiscalsim_us.model_api import *


class mt_child_care_expense_deduction(Variable):
"""
Line 14 on Montana itemized deductions schedule
"""

value_type = float
entity = TaxUnit
label = "Montana child and dependent care expenses"
unit = USD
definition_period = YEAR
defined_for = StateCode.MT
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from fiscalsim_us.model_api import *


class mt_federal_income_tax_deduction(Variable):
"""
Line 4 on itemized deductions schedule
Includes the following
*Federal income tax withheld
*Federal estimated tax payments
*Prior year federal income taxes
*Other back year federal income taxes
Add each of those together but not more then $5,000 if you are single,
head of household, or married filing sperarately; or $10,000 if you
are married filing jointly
"""

value_type = float
entity = TaxUnit
label = "Montana federal tax paid/withheld in prior year"
unit = USD
definition_period = YEAR
defined_for = StateCode.MT
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from fiscalsim_us.model_api import *


class mt_gambling_loss_deduction(Variable):
"""
Line 17 on itemized deductions schedule
Limited to what it allowed under federal law
"""

value_type = float
entity = TaxUnit
label = "Montana gambling loss deduction"
unit = USD
definition_period = YEAR
defined_for = StateCode.MT
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from fiscalsim_us.model_api import *


class mt_home_mortage_interest_deduction(Variable):
"""
Line 9 on itemized deductions schedule
Home mortgage interst and points
"""

value_type = float
entity = TaxUnit
label = "Montana home mortage interest deduction"
unit = USD
definition_period = YEAR
defined_for = StateCode.MT
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from fiscalsim_us.model_api import *


class mt_investment_interest_deduction(Variable):
"""
Line 10 on itemized deductions schedule
"""

value_type = float
entity = TaxUnit
label = "Montana investment interest deduction"
unit = USD
definition_period = YEAR
defined_for = StateCode.MT

def formula(tax_unit, period, parameters):
contributions = tax_unit("investment_income_form_4952")

return contributions
Loading

0 comments on commit bb025d2

Please sign in to comment.