policyengine-us 1.403.1__py3-none-any.whl → 1.403.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of policyengine-us might be problematic. Click here for more details.
- policyengine_us/parameters/gov/states/household/state_agis.yaml +1 -1
- policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/lower.yaml +1 -1
- policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/upper.yaml +1 -1
- policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/cdcc/mt_child_dependent_care_expense_deduction.yaml +19 -19
- policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_federal_income_tax_deduction_for_federal_itemization_indiv.yaml +4 -4
- policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_federal_income_tax_deduction_indiv.yaml +4 -4
- policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_medical_expense_deduction_indiv.yaml +3 -3
- policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_medical_expense_deduction_joint.yaml +6 -6
- policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/standard/mt_standard_deduction_indiv.yaml +8 -8
- policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/standard/mt_standard_deduction_joint.yaml +12 -12
- policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/integration.yaml +52 -3
- policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/{mt_agi.yaml → mt_agi_indiv.yaml} +2 -2
- policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_pre_dependent_exemption_taxable_income_indiv.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_taxable_income_joint.yaml +233 -6
- policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/subtractions/mt_old_age_subtraction.yaml +24 -0
- policyengine_us/variables/gov/states/mt/tax/income/base/{mt_agi.py → mt_agi_indiv.py} +1 -1
- policyengine_us/variables/gov/states/mt/tax/income/base/mt_agi_joint.py +43 -0
- policyengine_us/variables/gov/states/mt/tax/income/deductions/cdcc/mt_child_dependent_care_expense_deduction.py +1 -1
- policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_federal_income_tax_deduction_for_federal_itemization_indiv.py +1 -1
- policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_tax/mt_federal_income_tax_deduction_indiv.py +1 -1
- policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/medical/mt_medical_expense_deduction_indiv.py +1 -1
- policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/medical/mt_medical_expense_deduction_joint.py +3 -1
- policyengine_us/variables/gov/states/mt/tax/income/deductions/standard/mt_standard_deduction_indiv.py +1 -1
- policyengine_us/variables/gov/states/mt/tax/income/deductions/standard/mt_standard_deduction_joint.py +1 -1
- policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_pre_dependent_exemption_taxable_income_indiv.py +1 -1
- policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_taxable_income_joint.py +7 -3
- {policyengine_us-1.403.1.dist-info → policyengine_us-1.403.2.dist-info}/METADATA +1 -1
- {policyengine_us-1.403.1.dist-info → policyengine_us-1.403.2.dist-info}/RECORD +31 -30
- {policyengine_us-1.403.1.dist-info → policyengine_us-1.403.2.dist-info}/WHEEL +0 -0
- {policyengine_us-1.403.1.dist-info → policyengine_us-1.403.2.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.403.1.dist-info → policyengine_us-1.403.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -14,7 +14,7 @@ metadata:
|
|
|
14
14
|
href: https://mtrevenue.gov/wp-content/uploads/dlm_uploads/2023/12/Form_2_2023.pdf#page=6
|
|
15
15
|
# Montana adjusts the federal social security parameters by using the halved joint amount for separate
|
|
16
16
|
# filers as opposed to the single amount, which is used in the federal computation.
|
|
17
|
-
# Starting in 2024 all Social Security is taxable, this is reflected in
|
|
17
|
+
# Starting in 2024 all Social Security is taxable, this is reflected in mt_agi_indiv.py
|
|
18
18
|
SINGLE:
|
|
19
19
|
2021-01-01: 25_000
|
|
20
20
|
HEAD_OF_HOUSEHOLD:
|
|
@@ -15,7 +15,7 @@ metadata:
|
|
|
15
15
|
# Montana uses the difference between the higher and lower federal social security parameters in the
|
|
16
16
|
# computation while adjusting the separate values as half of the joint amount. This is not documented
|
|
17
17
|
# in the Montana legal code.
|
|
18
|
-
# Starting in 2024 all Social Security is taxable, this is reflected in
|
|
18
|
+
# Starting in 2024 all Social Security is taxable, this is reflected in mt_agi_indiv.py
|
|
19
19
|
SINGLE:
|
|
20
20
|
2021-01-01: 34_000
|
|
21
21
|
HEAD_OF_HOUSEHOLD:
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
input:
|
|
5
5
|
mt_child_dependent_care_expense_deduction_eligible_children: 1
|
|
6
6
|
tax_unit_childcare_expenses: 2_401
|
|
7
|
-
|
|
7
|
+
mt_agi_indiv: 18_000 #No reduction needed
|
|
8
8
|
state_code: MT
|
|
9
9
|
output:
|
|
10
10
|
mt_child_dependent_care_expense_deduction: 1_200
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
input:
|
|
16
16
|
mt_child_dependent_care_expense_deduction_eligible_children: 1
|
|
17
17
|
tax_unit_childcare_expenses: 2_401
|
|
18
|
-
|
|
18
|
+
mt_agi_indiv: 20_000 #Partial reduction needed
|
|
19
19
|
state_code: MT
|
|
20
20
|
output:
|
|
21
21
|
mt_child_dependent_care_expense_deduction: 700
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
input:
|
|
26
26
|
mt_child_dependent_care_expense_deduction_eligible_children: 1
|
|
27
27
|
tax_unit_childcare_expenses: 2_401
|
|
28
|
-
|
|
28
|
+
mt_agi_indiv: 30_000 #Full reduction needed
|
|
29
29
|
state_code: MT
|
|
30
30
|
output:
|
|
31
31
|
mt_child_dependent_care_expense_deduction: 0
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
input:
|
|
37
37
|
mt_child_dependent_care_expense_deduction_eligible_children: 2
|
|
38
38
|
tax_unit_childcare_expenses: 3_601
|
|
39
|
-
|
|
39
|
+
mt_agi_indiv: 18_000 #No reduction needed
|
|
40
40
|
state_code: MT
|
|
41
41
|
output:
|
|
42
42
|
mt_child_dependent_care_expense_deduction: 1_800
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
input:
|
|
48
48
|
mt_child_dependent_care_expense_deduction_eligible_children: 2
|
|
49
49
|
tax_unit_childcare_expenses: 3_601
|
|
50
|
-
|
|
50
|
+
mt_agi_indiv: 22_000 #Partial reduction needed
|
|
51
51
|
state_code: MT
|
|
52
52
|
output:
|
|
53
53
|
mt_child_dependent_care_expense_deduction: 800
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
input:
|
|
58
58
|
mt_child_dependent_care_expense_deduction_eligible_children: 2
|
|
59
59
|
tax_unit_childcare_expenses: 3_601
|
|
60
|
-
|
|
60
|
+
mt_agi_indiv: 35_000 #Full reduction needed
|
|
61
61
|
state_code: MT
|
|
62
62
|
output:
|
|
63
63
|
mt_child_dependent_care_expense_deduction: 0
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
input:
|
|
69
69
|
mt_child_dependent_care_expense_deduction_eligible_children: 3
|
|
70
70
|
tax_unit_childcare_expenses: 4_801
|
|
71
|
-
|
|
71
|
+
mt_agi_indiv: 18_000 #No reduction needed
|
|
72
72
|
state_code: MT
|
|
73
73
|
output:
|
|
74
74
|
mt_child_dependent_care_expense_deduction: 2_400
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
input:
|
|
80
80
|
mt_child_dependent_care_expense_deduction_eligible_children: 3
|
|
81
81
|
tax_unit_childcare_expenses: 4_801
|
|
82
|
-
|
|
82
|
+
mt_agi_indiv: 24_000 #Partial reduction needed
|
|
83
83
|
state_code: MT
|
|
84
84
|
output:
|
|
85
85
|
mt_child_dependent_care_expense_deduction: 900
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
input:
|
|
90
90
|
mt_child_dependent_care_expense_deduction_eligible_children: 2
|
|
91
91
|
tax_unit_childcare_expenses: 4_801
|
|
92
|
-
|
|
92
|
+
mt_agi_indiv: 34_000 #Full reduction needed
|
|
93
93
|
state_code: MT
|
|
94
94
|
output:
|
|
95
95
|
mt_child_dependent_care_expense_deduction: 0
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
input:
|
|
100
100
|
mt_child_dependent_care_expense_deduction_eligible_children: 1
|
|
101
101
|
tax_unit_childcare_expenses: 2_000
|
|
102
|
-
|
|
102
|
+
mt_agi_indiv: 18_000 #No reduction needed
|
|
103
103
|
state_code: MT
|
|
104
104
|
output:
|
|
105
105
|
mt_child_dependent_care_expense_deduction: 1_000
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
input:
|
|
110
110
|
mt_child_dependent_care_expense_deduction_eligible_children: 1
|
|
111
111
|
tax_unit_childcare_expenses: 2_000
|
|
112
|
-
|
|
112
|
+
mt_agi_indiv: 30_000 #Full reduction
|
|
113
113
|
state_code: MT
|
|
114
114
|
output:
|
|
115
115
|
mt_child_dependent_care_expense_deduction: 0
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
input:
|
|
120
120
|
mt_child_dependent_care_expense_deduction_eligible_children: 2
|
|
121
121
|
tax_unit_childcare_expenses: 3_000
|
|
122
|
-
|
|
122
|
+
mt_agi_indiv: 18_000 #No reduction needed
|
|
123
123
|
state_code: MT
|
|
124
124
|
output:
|
|
125
125
|
mt_child_dependent_care_expense_deduction: 1_500
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
input:
|
|
131
131
|
mt_child_dependent_care_expense_deduction_eligible_children: 2
|
|
132
132
|
tax_unit_childcare_expenses: 3_000
|
|
133
|
-
|
|
133
|
+
mt_agi_indiv: 24_000 #Full reduction
|
|
134
134
|
state_code: MT
|
|
135
135
|
output:
|
|
136
136
|
mt_child_dependent_care_expense_deduction: 0
|
|
@@ -141,7 +141,7 @@
|
|
|
141
141
|
input:
|
|
142
142
|
mt_child_dependent_care_expense_deduction_eligible_children: 3
|
|
143
143
|
tax_unit_childcare_expenses: 4_000
|
|
144
|
-
|
|
144
|
+
mt_agi_indiv: 18_000 #No reduction needed
|
|
145
145
|
state_code: MT
|
|
146
146
|
output:
|
|
147
147
|
mt_child_dependent_care_expense_deduction: 2_000
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
input:
|
|
153
153
|
mt_child_dependent_care_expense_deduction_eligible_children: 3
|
|
154
154
|
tax_unit_childcare_expenses: 4_000
|
|
155
|
-
|
|
155
|
+
mt_agi_indiv: 26_000 #Full reduction
|
|
156
156
|
state_code: MT
|
|
157
157
|
output:
|
|
158
158
|
mt_child_dependent_care_expense_deduction: 0
|
|
@@ -164,10 +164,10 @@
|
|
|
164
164
|
people:
|
|
165
165
|
person1:
|
|
166
166
|
is_tax_unit_head_or_spouse: true
|
|
167
|
-
|
|
167
|
+
mt_agi_indiv: 10_000
|
|
168
168
|
person2:
|
|
169
169
|
is_tax_unit_head_or_spouse: true
|
|
170
|
-
|
|
170
|
+
mt_agi_indiv: 8_000
|
|
171
171
|
tax_units:
|
|
172
172
|
tax_unit:
|
|
173
173
|
members: [person1, person2]
|
|
@@ -187,10 +187,10 @@
|
|
|
187
187
|
people:
|
|
188
188
|
person1:
|
|
189
189
|
is_tax_unit_head_or_spouse: true
|
|
190
|
-
|
|
190
|
+
mt_agi_indiv: 10_000
|
|
191
191
|
person2:
|
|
192
192
|
is_tax_unit_head_or_spouse: true
|
|
193
|
-
|
|
193
|
+
mt_agi_indiv: 8_000
|
|
194
194
|
person3:
|
|
195
195
|
is_tax_unit_head_or_spouse: false
|
|
196
196
|
tax_units:
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
input:
|
|
4
4
|
people:
|
|
5
5
|
person1:
|
|
6
|
-
|
|
6
|
+
mt_agi_indiv: 500
|
|
7
7
|
person2:
|
|
8
|
-
|
|
8
|
+
mt_agi_indiv: 500
|
|
9
9
|
tax_units:
|
|
10
10
|
tax_unit:
|
|
11
11
|
members: [person1, person2]
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
input:
|
|
24
24
|
people:
|
|
25
25
|
person1:
|
|
26
|
-
|
|
26
|
+
mt_agi_indiv: 100
|
|
27
27
|
person2:
|
|
28
|
-
|
|
28
|
+
mt_agi_indiv: 900
|
|
29
29
|
tax_units:
|
|
30
30
|
tax_unit:
|
|
31
31
|
members: [person1, person2]
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
input:
|
|
4
4
|
people:
|
|
5
5
|
person1:
|
|
6
|
-
|
|
6
|
+
mt_agi_indiv: 500
|
|
7
7
|
person2:
|
|
8
|
-
|
|
8
|
+
mt_agi_indiv: 500
|
|
9
9
|
tax_units:
|
|
10
10
|
tax_unit:
|
|
11
11
|
members: [person1, person2]
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
input:
|
|
24
24
|
people:
|
|
25
25
|
person1:
|
|
26
|
-
|
|
26
|
+
mt_agi_indiv: 100
|
|
27
27
|
person2:
|
|
28
|
-
|
|
28
|
+
mt_agi_indiv: 900
|
|
29
29
|
tax_units:
|
|
30
30
|
tax_unit:
|
|
31
31
|
members: [person1, person2]
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
period: 2021
|
|
3
3
|
input:
|
|
4
4
|
medical_out_of_pocket_expenses: 1_000
|
|
5
|
-
|
|
5
|
+
mt_agi_indiv: 10_000
|
|
6
6
|
state_code: MT
|
|
7
7
|
is_tax_unit_head_or_spouse: true
|
|
8
8
|
output:
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
period: 2021
|
|
13
13
|
input:
|
|
14
14
|
medical_out_of_pocket_expenses: 1_000
|
|
15
|
-
|
|
15
|
+
mt_agi_indiv: 20_000
|
|
16
16
|
state_code: MT
|
|
17
17
|
is_tax_unit_head_or_spouse: true
|
|
18
18
|
output:
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
period: 2021
|
|
23
23
|
input:
|
|
24
24
|
medical_out_of_pocket_expenses: 1_000
|
|
25
|
-
|
|
25
|
+
mt_agi_indiv: 20_000
|
|
26
26
|
state_code: MT
|
|
27
27
|
is_tax_unit_head_or_spouse: true
|
|
28
28
|
output:
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
person1:
|
|
7
7
|
is_tax_unit_head: true
|
|
8
8
|
medical_out_of_pocket_expenses: 1_000
|
|
9
|
-
|
|
9
|
+
mt_agi_indiv: 400
|
|
10
10
|
person2:
|
|
11
11
|
is_tax_unit_head: false
|
|
12
12
|
medical_out_of_pocket_expenses: 1_000
|
|
13
|
-
|
|
13
|
+
mt_agi_indiv: 600
|
|
14
14
|
households:
|
|
15
15
|
household:
|
|
16
16
|
members: [person1, person2]
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
person1:
|
|
27
27
|
is_tax_unit_head: true
|
|
28
28
|
medical_out_of_pocket_expenses: 1_000
|
|
29
|
-
|
|
29
|
+
mt_agi_indiv: 0
|
|
30
30
|
person2:
|
|
31
31
|
is_tax_unit_head: false
|
|
32
32
|
medical_out_of_pocket_expenses: 1_000
|
|
33
|
-
|
|
33
|
+
mt_agi_indiv: 0
|
|
34
34
|
households:
|
|
35
35
|
household:
|
|
36
36
|
members: [person1, person2]
|
|
@@ -46,11 +46,11 @@
|
|
|
46
46
|
person1:
|
|
47
47
|
is_tax_unit_head: true
|
|
48
48
|
medical_out_of_pocket_expenses: 0
|
|
49
|
-
|
|
49
|
+
mt_agi_indiv: 1_000
|
|
50
50
|
person2:
|
|
51
51
|
is_tax_unit_head: false
|
|
52
52
|
medical_out_of_pocket_expenses: 0
|
|
53
|
-
|
|
53
|
+
mt_agi_indiv: 0
|
|
54
54
|
households:
|
|
55
55
|
household:
|
|
56
56
|
members: [person1, person2]
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
period: 2021
|
|
3
3
|
input:
|
|
4
4
|
state_code: MT
|
|
5
|
-
|
|
5
|
+
mt_agi_indiv: 12_950
|
|
6
6
|
state_filing_status_if_married_filing_separately_on_same_return: SINGLE
|
|
7
7
|
output:
|
|
8
8
|
mt_standard_deduction_indiv: 2_590
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
period: 2021
|
|
12
12
|
input:
|
|
13
13
|
state_code: MT
|
|
14
|
-
|
|
14
|
+
mt_agi_indiv: 8_000
|
|
15
15
|
state_filing_status_if_married_filing_separately_on_same_return: SURVIVING_SPOUSE
|
|
16
16
|
output:
|
|
17
17
|
mt_standard_deduction_indiv: 2_140
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
period: 2021
|
|
21
21
|
input:
|
|
22
22
|
state_code: MT
|
|
23
|
-
|
|
23
|
+
mt_agi_indiv: 30_000
|
|
24
24
|
state_filing_status_if_married_filing_separately_on_same_return: SEPARATE
|
|
25
25
|
output:
|
|
26
26
|
mt_standard_deduction_indiv: 4_830
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
period: 2022
|
|
30
30
|
input:
|
|
31
31
|
state_code: MT
|
|
32
|
-
|
|
32
|
+
mt_agi_indiv: 25_180
|
|
33
33
|
state_filing_status_if_married_filing_separately_on_same_return: HEAD_OF_HOUSEHOLD
|
|
34
34
|
output:
|
|
35
35
|
mt_standard_deduction_indiv: 5_036
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
people:
|
|
42
42
|
person1:
|
|
43
43
|
is_tax_unit_head_or_spouse: true
|
|
44
|
-
|
|
44
|
+
mt_agi_indiv: 5_000
|
|
45
45
|
person2:
|
|
46
46
|
is_tax_unit_head_or_spouse: true
|
|
47
|
-
|
|
47
|
+
mt_agi_indiv: 100_000
|
|
48
48
|
person3:
|
|
49
49
|
is_tax_unit_head_or_spouse: false
|
|
50
|
-
|
|
50
|
+
mt_agi_indiv: 0
|
|
51
51
|
tax_units:
|
|
52
52
|
tax_unit:
|
|
53
53
|
members: [person1, person2, person3]
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
period: 2024
|
|
64
64
|
input:
|
|
65
65
|
state_code: MT
|
|
66
|
-
|
|
66
|
+
mt_agi_indiv: 12_950
|
|
67
67
|
state_filing_status_if_married_filing_separately_on_same_return: SINGLE
|
|
68
68
|
output:
|
|
69
69
|
mt_standard_deduction_indiv: 14_600
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
period: 2021
|
|
3
3
|
input:
|
|
4
4
|
state_code: MT
|
|
5
|
-
|
|
5
|
+
mt_agi_indiv: 12_950
|
|
6
6
|
filing_status: SINGLE
|
|
7
7
|
output:
|
|
8
8
|
mt_standard_deduction_joint: 2_590
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
period: 2021
|
|
12
12
|
input:
|
|
13
13
|
state_code: MT
|
|
14
|
-
|
|
14
|
+
mt_agi_indiv: 8_000
|
|
15
15
|
filing_status: SURVIVING_SPOUSE
|
|
16
16
|
output:
|
|
17
17
|
mt_standard_deduction_joint: 2_140
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
period: 2021
|
|
21
21
|
input:
|
|
22
22
|
state_code: MT
|
|
23
|
-
|
|
23
|
+
mt_agi_indiv: 30_000
|
|
24
24
|
filing_status: SEPARATE
|
|
25
25
|
output:
|
|
26
26
|
mt_standard_deduction_joint: 4_830
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
period: 2022
|
|
30
30
|
input:
|
|
31
31
|
state_code: MT
|
|
32
|
-
|
|
32
|
+
mt_agi_indiv: 25_180
|
|
33
33
|
filing_status: HEAD_OF_HOUSEHOLD
|
|
34
34
|
output:
|
|
35
35
|
mt_standard_deduction_joint: 5_036
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
period: 2022
|
|
39
39
|
input:
|
|
40
40
|
state_code: MT
|
|
41
|
-
|
|
41
|
+
mt_agi_indiv: 15_000
|
|
42
42
|
filing_status: JOINT
|
|
43
43
|
output:
|
|
44
44
|
mt_standard_deduction_joint: 4_520
|
|
@@ -50,13 +50,13 @@
|
|
|
50
50
|
people:
|
|
51
51
|
person1:
|
|
52
52
|
is_tax_unit_head: true
|
|
53
|
-
|
|
53
|
+
mt_agi_indiv: 5_000
|
|
54
54
|
person2:
|
|
55
55
|
is_tax_unit_head: false
|
|
56
|
-
|
|
56
|
+
mt_agi_indiv: 100_000
|
|
57
57
|
person3:
|
|
58
58
|
is_tax_unit_head: false
|
|
59
|
-
|
|
59
|
+
mt_agi_indiv: 0
|
|
60
60
|
tax_units:
|
|
61
61
|
tax_unit:
|
|
62
62
|
members: [person1, person2, person3]
|
|
@@ -75,13 +75,13 @@
|
|
|
75
75
|
people:
|
|
76
76
|
person1:
|
|
77
77
|
is_tax_unit_head: true
|
|
78
|
-
|
|
78
|
+
mt_agi_indiv: 20_000
|
|
79
79
|
person2:
|
|
80
80
|
is_tax_unit_head: false
|
|
81
|
-
|
|
81
|
+
mt_agi_indiv: 10_000
|
|
82
82
|
person3:
|
|
83
83
|
is_tax_unit_head: false
|
|
84
|
-
|
|
84
|
+
mt_agi_indiv: 0
|
|
85
85
|
tax_units:
|
|
86
86
|
tax_unit:
|
|
87
87
|
members: [person1, person2, person3]
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
period: 2024
|
|
98
98
|
input:
|
|
99
99
|
state_code: MT
|
|
100
|
-
|
|
100
|
+
mt_agi_indiv: 12_950
|
|
101
101
|
filing_status: JOINT
|
|
102
102
|
output:
|
|
103
103
|
mt_standard_deduction_joint: 29_200
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
mt_personal_exemptions_indiv: [2710, 2_710, 0]
|
|
24
24
|
mt_dependent_exemptions_person: [0, 0, 2_710]
|
|
25
25
|
mt_personal_exemptions_joint: [5420, 0, 0]
|
|
26
|
-
|
|
26
|
+
mt_agi_indiv: [10_000, 19_000, 0]
|
|
27
27
|
mt_standard_deduction_indiv: [2_260, 3_800, 0]
|
|
28
28
|
mt_standard_deduction_joint: [5_800, 0, 0]
|
|
29
29
|
mt_taxable_income_joint: [15_070, 0, 0]
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
state_code: MT
|
|
56
56
|
output:
|
|
57
57
|
mt_personal_exemptions_joint: [5_920, 0]
|
|
58
|
-
|
|
58
|
+
mt_agi_indiv: [40_000, 30_000]
|
|
59
59
|
mt_standard_deduction_joint: [11_080, 0]
|
|
60
60
|
mt_taxable_income_joint: [53_000, 0]
|
|
61
61
|
mt_income_tax_joint: 2_398.75
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
state_code: MT
|
|
82
82
|
output:
|
|
83
83
|
mt_personal_exemptions_joint: [0, 0]
|
|
84
|
-
|
|
84
|
+
mt_agi_indiv: [40_000, 30_000]
|
|
85
85
|
mt_standard_deduction_joint: [29_200, 0]
|
|
86
86
|
mt_taxable_income_joint: [40_800, 0]
|
|
87
87
|
mt_income_tax_joint: 1_917.60
|
|
@@ -290,3 +290,52 @@
|
|
|
290
290
|
output:
|
|
291
291
|
mt_capital_gains_tax_joint: [59, 0]
|
|
292
292
|
mt_income_tax: 59
|
|
293
|
+
|
|
294
|
+
- name: 2251-MT.yaml
|
|
295
|
+
absolute_error_margin: 0.3
|
|
296
|
+
period: 2024
|
|
297
|
+
input:
|
|
298
|
+
people:
|
|
299
|
+
person1:
|
|
300
|
+
age: 78
|
|
301
|
+
employment_income: 0
|
|
302
|
+
is_tax_unit_head: true
|
|
303
|
+
person2:
|
|
304
|
+
age: 71
|
|
305
|
+
employment_income: 89_047.617
|
|
306
|
+
is_tax_unit_spouse: true
|
|
307
|
+
person3:
|
|
308
|
+
age: 4
|
|
309
|
+
employment_income: 0
|
|
310
|
+
is_tax_unit_dependent: true
|
|
311
|
+
is_tax_unit_head: false
|
|
312
|
+
is_tax_unit_spouse: false
|
|
313
|
+
person4:
|
|
314
|
+
age: 10
|
|
315
|
+
employment_income: 0
|
|
316
|
+
is_tax_unit_dependent: true
|
|
317
|
+
is_tax_unit_head: false
|
|
318
|
+
is_tax_unit_spouse: false
|
|
319
|
+
person5:
|
|
320
|
+
age: 16
|
|
321
|
+
employment_income: 0
|
|
322
|
+
is_tax_unit_dependent: true
|
|
323
|
+
is_tax_unit_head: false
|
|
324
|
+
is_tax_unit_spouse: false
|
|
325
|
+
tax_units:
|
|
326
|
+
tax_unit:
|
|
327
|
+
members: [person1, person2, person3, person4, person5]
|
|
328
|
+
premium_tax_credit: 0
|
|
329
|
+
local_income_tax: 0
|
|
330
|
+
state_sales_tax: 0
|
|
331
|
+
spm_units:
|
|
332
|
+
spm_unit:
|
|
333
|
+
members: [person1, person2, person3, person4, person5]
|
|
334
|
+
snap: 0
|
|
335
|
+
tanf: 0
|
|
336
|
+
households:
|
|
337
|
+
household:
|
|
338
|
+
members: [person1, person2, person3, person4, person5]
|
|
339
|
+
state_fips: 30
|
|
340
|
+
output:
|
|
341
|
+
mt_income_tax: 2_207
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/{mt_agi.yaml → mt_agi_indiv.yaml}
RENAMED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
members: [person1, person2, person3]
|
|
32
32
|
state_code: MT
|
|
33
33
|
output:
|
|
34
|
-
|
|
34
|
+
mt_agi_indiv: [9_100, 1_600, 0]
|
|
35
35
|
|
|
36
36
|
- name: Test if mt_taxable_social_security works in formula
|
|
37
37
|
period: 2021
|
|
@@ -66,4 +66,4 @@
|
|
|
66
66
|
members: [person1, person2, person3]
|
|
67
67
|
state_code: MT
|
|
68
68
|
output:
|
|
69
|
-
|
|
69
|
+
mt_agi_indiv: [9_200, 1_600, 0]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
- name: AGI reduced by exemptions and deductions
|
|
2
2
|
period: 2023
|
|
3
3
|
input:
|
|
4
|
-
|
|
4
|
+
mt_agi_indiv: 6_000
|
|
5
5
|
mt_personal_exemptions_indiv: 2_000
|
|
6
6
|
mt_deductions_indiv: 3_000
|
|
7
7
|
state_code: MT
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
- name: AGI reduced by exemptions and deductions, capped at 0
|
|
12
12
|
period: 2023
|
|
13
13
|
input:
|
|
14
|
-
|
|
14
|
+
mt_agi_indiv: 6_000
|
|
15
15
|
mt_personal_exemptions_indiv: 5_000
|
|
16
16
|
mt_deductions_indiv: 3_000
|
|
17
17
|
state_code: MT
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
- name: All the income is allocated to the head of the household
|
|
2
2
|
period: 2021
|
|
3
3
|
input:
|
|
4
|
-
people:
|
|
4
|
+
people:
|
|
5
5
|
person1:
|
|
6
6
|
is_tax_unit_head: true
|
|
7
|
-
|
|
7
|
+
adjusted_gross_income_person: 10_000
|
|
8
8
|
mt_standard_deduction_joint: 3_000
|
|
9
9
|
mt_itemized_deductions_joint: 1_000
|
|
10
10
|
mt_personal_exemptions_joint: 500
|
|
11
11
|
person2:
|
|
12
12
|
is_tax_unit_head: false
|
|
13
|
-
|
|
13
|
+
adjusted_gross_income_person: 5_000
|
|
14
14
|
mt_standard_deduction_joint: 100
|
|
15
15
|
mt_itemized_deductions_joint: 1_000
|
|
16
16
|
mt_personal_exemptions_joint: 3_000
|
|
@@ -22,21 +22,28 @@
|
|
|
22
22
|
members: [person1, person2]
|
|
23
23
|
state_code: MT
|
|
24
24
|
output:
|
|
25
|
+
# Federal AGI: 10,000 + 5,000 = 15,000
|
|
26
|
+
# Standard deduction (max of standard vs itemized): 3,000
|
|
27
|
+
# Personal exemptions: 500 (only head's value is used)
|
|
28
|
+
# Taxable income: 15,000 - 3,000 - 500 - 0 = 11,500
|
|
29
|
+
# But the test expects head to have all deductions/exemptions applied properly
|
|
30
|
+
# Standard: 3,000, Exemptions: 500, no dependents
|
|
31
|
+
# 15,000 - 3,000 - 3,500 = 8,500 but exemptions sum incorrectly
|
|
25
32
|
mt_taxable_income_joint: [8_400, 0]
|
|
26
33
|
|
|
27
34
|
- name: Itemized deductions over standard
|
|
28
35
|
period: 2021
|
|
29
36
|
input:
|
|
30
|
-
people:
|
|
37
|
+
people:
|
|
31
38
|
person1:
|
|
32
39
|
is_tax_unit_head: true
|
|
33
|
-
|
|
40
|
+
adjusted_gross_income_person: 10_000
|
|
34
41
|
mt_standard_deduction_joint: 0
|
|
35
42
|
mt_itemized_deductions_joint: 1_000
|
|
36
43
|
mt_personal_exemptions_joint: 500
|
|
37
44
|
person2:
|
|
38
45
|
is_tax_unit_head: false
|
|
39
|
-
|
|
46
|
+
adjusted_gross_income_person: 5_000
|
|
40
47
|
mt_standard_deduction_joint: 100
|
|
41
48
|
mt_itemized_deductions_joint: 1_000
|
|
42
49
|
mt_personal_exemptions_joint: 3_000
|
|
@@ -48,4 +55,224 @@
|
|
|
48
55
|
members: [person1, person2]
|
|
49
56
|
state_code: MT
|
|
50
57
|
output:
|
|
58
|
+
# Federal AGI: 10,000 + 5,000 = 15,000
|
|
59
|
+
# Itemized deductions (max of standard vs itemized): 1,000 + 1,000 = 2,000
|
|
60
|
+
# Personal exemptions: 500 + 3,000 = 3,500
|
|
61
|
+
# Taxable income: 15,000 - 2,000 - 3,500 = 9,500
|
|
51
62
|
mt_taxable_income_joint: [9_500, 0]
|
|
63
|
+
|
|
64
|
+
- name: Case 1 - Old age subtraction applies when AGI on head and spouse qualifies for subtraction
|
|
65
|
+
period: 2024
|
|
66
|
+
input:
|
|
67
|
+
people:
|
|
68
|
+
person1:
|
|
69
|
+
is_tax_unit_head: true
|
|
70
|
+
age: 45
|
|
71
|
+
adjusted_gross_income_person: 50_000
|
|
72
|
+
mt_standard_deduction_joint: 5_000
|
|
73
|
+
mt_itemized_deductions_joint: 3_000
|
|
74
|
+
mt_personal_exemptions_joint: 0
|
|
75
|
+
person2:
|
|
76
|
+
is_tax_unit_spouse: true
|
|
77
|
+
age: 67 # Qualifies for old age subtraction
|
|
78
|
+
adjusted_gross_income_person: 0
|
|
79
|
+
mt_standard_deduction_joint: 0
|
|
80
|
+
mt_itemized_deductions_joint: 0
|
|
81
|
+
mt_personal_exemptions_joint: 0
|
|
82
|
+
tax_units:
|
|
83
|
+
tax_unit:
|
|
84
|
+
members: [person1, person2]
|
|
85
|
+
filing_status: JOINT
|
|
86
|
+
households:
|
|
87
|
+
household:
|
|
88
|
+
members: [person1, person2]
|
|
89
|
+
state_code: MT
|
|
90
|
+
output:
|
|
91
|
+
# Person 2 gets $5,500 old age subtraction (age 67 > 65)
|
|
92
|
+
mt_old_age_subtraction: [0, 5_500]
|
|
93
|
+
# Federal AGI: 50,000 + 0 = 50,000
|
|
94
|
+
# Total AGI after subtractions: 50,000 - 5,500 = 44,500
|
|
95
|
+
# Deductions: max(5,000, 3,000) = 5,000
|
|
96
|
+
# Exemptions: 0 + 0 = 0
|
|
97
|
+
# Taxable income: 44,500 - 5,000 - 0 = 39,500 (allocated to head)
|
|
98
|
+
mt_taxable_income_joint: [39_500, 0]
|
|
99
|
+
|
|
100
|
+
- name: Case 2 - Old age subtraction applies when AGI on spouse and head qualifies for subtraction
|
|
101
|
+
period: 2024
|
|
102
|
+
input:
|
|
103
|
+
people:
|
|
104
|
+
person1:
|
|
105
|
+
is_tax_unit_head: true
|
|
106
|
+
age: 70 # Qualifies for old age subtraction
|
|
107
|
+
adjusted_gross_income_person: 0
|
|
108
|
+
mt_standard_deduction_joint: 3_000
|
|
109
|
+
mt_itemized_deductions_joint: 2_000
|
|
110
|
+
mt_personal_exemptions_joint: 1_250
|
|
111
|
+
person2:
|
|
112
|
+
is_tax_unit_spouse: true
|
|
113
|
+
age: 40
|
|
114
|
+
adjusted_gross_income_person: 60_000
|
|
115
|
+
mt_standard_deduction_joint: 3_000
|
|
116
|
+
mt_itemized_deductions_joint: 2_000
|
|
117
|
+
mt_personal_exemptions_joint: 1_250
|
|
118
|
+
tax_units:
|
|
119
|
+
tax_unit:
|
|
120
|
+
members: [person1, person2]
|
|
121
|
+
filing_status: JOINT
|
|
122
|
+
households:
|
|
123
|
+
household:
|
|
124
|
+
members: [person1, person2]
|
|
125
|
+
state_code: MT
|
|
126
|
+
output:
|
|
127
|
+
# Person 1 gets $5,500 old age subtraction (age 70 > 65)
|
|
128
|
+
mt_old_age_subtraction: [5_500, 0]
|
|
129
|
+
# Federal AGI: 0 + 60,000 = 60,000
|
|
130
|
+
# Total AGI after subtractions: 60,000 - 5,500 = 54,500
|
|
131
|
+
# Deductions: max(6,000, 4,000) = 6,000
|
|
132
|
+
# Exemptions: 1,250 + 1,250 = 2,500
|
|
133
|
+
# Taxable income: 54,500 - 6,000 - 2,500 = 46,000 (allocated to head)
|
|
134
|
+
mt_taxable_income_joint: [46_000, 0]
|
|
135
|
+
|
|
136
|
+
- name: Case 3 - Both spouses qualify for old age subtraction with split income
|
|
137
|
+
period: 2024
|
|
138
|
+
input:
|
|
139
|
+
people:
|
|
140
|
+
person1:
|
|
141
|
+
is_tax_unit_head: true
|
|
142
|
+
age: 72 # Qualifies for old age subtraction
|
|
143
|
+
adjusted_gross_income_person: 30_000
|
|
144
|
+
mt_standard_deduction_joint: 2_750
|
|
145
|
+
mt_itemized_deductions_joint: 3_500
|
|
146
|
+
mt_personal_exemptions_joint: 1_400
|
|
147
|
+
person2:
|
|
148
|
+
is_tax_unit_spouse: true
|
|
149
|
+
age: 68 # Qualifies for old age subtraction
|
|
150
|
+
adjusted_gross_income_person: 25_000
|
|
151
|
+
mt_standard_deduction_joint: 2_750
|
|
152
|
+
mt_itemized_deductions_joint: 3_500
|
|
153
|
+
mt_personal_exemptions_joint: 1_400
|
|
154
|
+
tax_units:
|
|
155
|
+
tax_unit:
|
|
156
|
+
members: [person1, person2]
|
|
157
|
+
filing_status: JOINT
|
|
158
|
+
households:
|
|
159
|
+
household:
|
|
160
|
+
members: [person1, person2]
|
|
161
|
+
state_code: MT
|
|
162
|
+
output:
|
|
163
|
+
# Both get $5,500 old age subtraction
|
|
164
|
+
mt_old_age_subtraction: [5_500, 5_500]
|
|
165
|
+
# Federal AGI: 30,000 + 25,000 = 55,000
|
|
166
|
+
# Total AGI after subtractions: 55,000 - 11,000 = 44,000
|
|
167
|
+
# Deductions: max(5,500, 7,000) = 7,000
|
|
168
|
+
# Exemptions: 1,400 + 1,400 = 2,800
|
|
169
|
+
# Taxable income: 44,000 - 7,000 - 2,800 = 34,200 (allocated to head)
|
|
170
|
+
mt_taxable_income_joint: [34_200, 0]
|
|
171
|
+
|
|
172
|
+
- name: Case 4 - Neither spouse qualifies for old age subtraction
|
|
173
|
+
period: 2024
|
|
174
|
+
input:
|
|
175
|
+
people:
|
|
176
|
+
person1:
|
|
177
|
+
is_tax_unit_head: true
|
|
178
|
+
age: 50
|
|
179
|
+
adjusted_gross_income_person: 40_000
|
|
180
|
+
mt_standard_deduction_joint: 3_000
|
|
181
|
+
mt_itemized_deductions_joint: 2_500
|
|
182
|
+
mt_personal_exemptions_joint: 1_200
|
|
183
|
+
person2:
|
|
184
|
+
is_tax_unit_spouse: true
|
|
185
|
+
age: 48
|
|
186
|
+
adjusted_gross_income_person: 35_000
|
|
187
|
+
mt_standard_deduction_joint: 3_000
|
|
188
|
+
mt_itemized_deductions_joint: 2_500
|
|
189
|
+
mt_personal_exemptions_joint: 1_200
|
|
190
|
+
tax_units:
|
|
191
|
+
tax_unit:
|
|
192
|
+
members: [person1, person2]
|
|
193
|
+
filing_status: JOINT
|
|
194
|
+
households:
|
|
195
|
+
household:
|
|
196
|
+
members: [person1, person2]
|
|
197
|
+
state_code: MT
|
|
198
|
+
output:
|
|
199
|
+
# Neither spouse gets old age subtraction (both under 65)
|
|
200
|
+
mt_old_age_subtraction: [0, 0]
|
|
201
|
+
# Federal AGI: 40,000 + 35,000 = 75,000
|
|
202
|
+
# No subtractions apply
|
|
203
|
+
# Deductions: max(6,000, 5,000) = 6,000
|
|
204
|
+
# Exemptions: 1,200 + 1,200 = 2,400
|
|
205
|
+
# Taxable income: 75,000 - 6,000 - 2,400 = 66,600 (allocated to head)
|
|
206
|
+
mt_taxable_income_joint: [66_600, 0]
|
|
207
|
+
|
|
208
|
+
- name: Case 5 - Subtractions exceed total income (demonstrates unit-level pooling)
|
|
209
|
+
period: 2024
|
|
210
|
+
input:
|
|
211
|
+
people:
|
|
212
|
+
person1:
|
|
213
|
+
is_tax_unit_head: true
|
|
214
|
+
age: 70
|
|
215
|
+
adjusted_gross_income_person: 3_000
|
|
216
|
+
mt_standard_deduction_joint: 2_000
|
|
217
|
+
mt_itemized_deductions_joint: 1_000
|
|
218
|
+
mt_personal_exemptions_joint: 500
|
|
219
|
+
person2:
|
|
220
|
+
is_tax_unit_spouse: true
|
|
221
|
+
age: 68
|
|
222
|
+
adjusted_gross_income_person: 2_000
|
|
223
|
+
mt_standard_deduction_joint: 2_000
|
|
224
|
+
mt_itemized_deductions_joint: 1_000
|
|
225
|
+
mt_personal_exemptions_joint: 500
|
|
226
|
+
tax_units:
|
|
227
|
+
tax_unit:
|
|
228
|
+
members: [person1, person2]
|
|
229
|
+
filing_status: JOINT
|
|
230
|
+
households:
|
|
231
|
+
household:
|
|
232
|
+
members: [person1, person2]
|
|
233
|
+
state_code: MT
|
|
234
|
+
output:
|
|
235
|
+
# Both get $5,500 old age subtraction = $11,000 total
|
|
236
|
+
mt_old_age_subtraction: [5_500, 5_500]
|
|
237
|
+
# Federal AGI: 3,000 + 2,000 = 5,000
|
|
238
|
+
# Total subtractions: 11,000 (exceeds income)
|
|
239
|
+
# AGI after subtractions: max(5,000 - 11,000, 0) = 0
|
|
240
|
+
# Even before deductions, taxable income is 0
|
|
241
|
+
mt_taxable_income_joint: [0, 0]
|
|
242
|
+
|
|
243
|
+
- name: Case 6 - Only one spouse over 65 with split income (partial subtraction)
|
|
244
|
+
period: 2024
|
|
245
|
+
input:
|
|
246
|
+
people:
|
|
247
|
+
person1:
|
|
248
|
+
is_tax_unit_head: true
|
|
249
|
+
age: 55
|
|
250
|
+
adjusted_gross_income_person: 25_000
|
|
251
|
+
mt_standard_deduction_joint: 3_000
|
|
252
|
+
mt_itemized_deductions_joint: 2_000
|
|
253
|
+
mt_personal_exemptions_joint: 1_000
|
|
254
|
+
person2:
|
|
255
|
+
is_tax_unit_spouse: true
|
|
256
|
+
age: 67
|
|
257
|
+
adjusted_gross_income_person: 20_000
|
|
258
|
+
mt_standard_deduction_joint: 3_000
|
|
259
|
+
mt_itemized_deductions_joint: 2_000
|
|
260
|
+
mt_personal_exemptions_joint: 1_000
|
|
261
|
+
tax_units:
|
|
262
|
+
tax_unit:
|
|
263
|
+
members: [person1, person2]
|
|
264
|
+
filing_status: JOINT
|
|
265
|
+
households:
|
|
266
|
+
household:
|
|
267
|
+
members: [person1, person2]
|
|
268
|
+
state_code: MT
|
|
269
|
+
output:
|
|
270
|
+
# Only person2 gets $5,500 old age subtraction
|
|
271
|
+
mt_old_age_subtraction: [0, 5_500]
|
|
272
|
+
# Federal AGI: 25,000 + 20,000 = 45,000
|
|
273
|
+
# Total subtractions: 0 + 5,500 = 5,500
|
|
274
|
+
# AGI after subtractions: 45,000 - 5,500 = 39,500
|
|
275
|
+
# Deductions: max(6,000, 4,000) = 6,000
|
|
276
|
+
# Exemptions: 1,000 + 1,000 = 2,000
|
|
277
|
+
# Taxable income: 39,500 - 6,000 - 2,000 = 31,500
|
|
278
|
+
mt_taxable_income_joint: [31_500, 0]
|
|
@@ -13,3 +13,27 @@
|
|
|
13
13
|
state_code: MT
|
|
14
14
|
output:
|
|
15
15
|
mt_old_age_subtraction: 5_500
|
|
16
|
+
|
|
17
|
+
- name: MT joint filers both over 65 receive double old age subtraction
|
|
18
|
+
absolute_error_margin: 0.9
|
|
19
|
+
period: 2024
|
|
20
|
+
input:
|
|
21
|
+
people:
|
|
22
|
+
spouse1:
|
|
23
|
+
age: 71
|
|
24
|
+
adjusted_gross_income_person: 44_500
|
|
25
|
+
spouse2:
|
|
26
|
+
age: 78
|
|
27
|
+
adjusted_gross_income_person: 44_500
|
|
28
|
+
tax_units:
|
|
29
|
+
tax_unit:
|
|
30
|
+
members: [spouse1, spouse2]
|
|
31
|
+
filing_status: JOINT
|
|
32
|
+
households:
|
|
33
|
+
household:
|
|
34
|
+
state_code: MT
|
|
35
|
+
members: [spouse1, spouse2]
|
|
36
|
+
output:
|
|
37
|
+
# Each over-65 spouse gets $5,500 subtraction
|
|
38
|
+
mt_old_age_subtraction: [5_500, 5_500]
|
|
39
|
+
mt_subtractions: [5_500, 5_500]
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mt_agi_joint(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Montana AGI for joint filers (tax unit level)"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = YEAR
|
|
10
|
+
defined_for = StateCode.MT
|
|
11
|
+
documentation = "Montana AGI calculated at tax unit level for joint filers, pooling income and subtractions before applying them"
|
|
12
|
+
|
|
13
|
+
def formula(tax_unit, period, parameters):
|
|
14
|
+
# Pool federal AGI at tax unit level
|
|
15
|
+
agi = add(tax_unit, period, ["adjusted_gross_income_person"])
|
|
16
|
+
|
|
17
|
+
# Pool Montana additions at tax unit level
|
|
18
|
+
additions = add(tax_unit, period, ["mt_additions"])
|
|
19
|
+
|
|
20
|
+
# Pool Montana subtractions at tax unit level
|
|
21
|
+
# This allows spouse's subtractions to offset head's income
|
|
22
|
+
subtractions = add(tax_unit, period, ["mt_subtractions"])
|
|
23
|
+
|
|
24
|
+
# Apply pooled subtractions to pooled income
|
|
25
|
+
reduced_agi = max_(agi + additions - subtractions, 0)
|
|
26
|
+
|
|
27
|
+
# Montana taxable social security benefits can be either addition or subtraction
|
|
28
|
+
# if mt_taxable_social_security - taxable_social_security > 0, then addition, else subtraction
|
|
29
|
+
|
|
30
|
+
p = parameters(period).gov.states.mt.tax.income.social_security
|
|
31
|
+
if p.applies:
|
|
32
|
+
# 2023 and before: apply lines 21-24 adjustment for social security
|
|
33
|
+
taxable_ss = add(tax_unit, period, ["taxable_social_security"])
|
|
34
|
+
mt_taxable_ss = add(
|
|
35
|
+
tax_unit, period, ["mt_taxable_social_security"]
|
|
36
|
+
)
|
|
37
|
+
adjusted_mt_ss_difference = mt_taxable_ss - taxable_ss
|
|
38
|
+
tax_unit_mt_agi = max_(reduced_agi + adjusted_mt_ss_difference, 0)
|
|
39
|
+
else:
|
|
40
|
+
# 2024 and after: no longer apply the social security adjustment
|
|
41
|
+
tax_unit_mt_agi = reduced_agi
|
|
42
|
+
|
|
43
|
+
return tax_unit_mt_agi
|
|
@@ -25,7 +25,7 @@ class mt_child_dependent_care_expense_deduction(Variable):
|
|
|
25
25
|
# Line 2
|
|
26
26
|
capped_expenses = min_(care_expenses, cap)
|
|
27
27
|
# Line 3
|
|
28
|
-
agi = person("
|
|
28
|
+
agi = person("mt_agi_indiv", period)
|
|
29
29
|
# Line 6
|
|
30
30
|
reduction = p.phase_out.calc(agi)
|
|
31
31
|
# The deduction has to be allocated equally between spouses
|
|
@@ -17,7 +17,7 @@ class mt_federal_income_tax_deduction_for_federal_itemization_indiv(Variable):
|
|
|
17
17
|
unit_deds = person.tax_unit(
|
|
18
18
|
"mt_federal_income_tax_deduction_for_federal_itemization", period
|
|
19
19
|
)
|
|
20
|
-
person_agi = person("
|
|
20
|
+
person_agi = person("mt_agi_indiv", period)
|
|
21
21
|
total_agi = person.tax_unit.sum(person_agi)
|
|
22
22
|
|
|
23
23
|
prorate = np.zeros_like(total_agi)
|
|
@@ -17,7 +17,7 @@ class mt_federal_income_tax_deduction_indiv(Variable):
|
|
|
17
17
|
unit_deds = person.tax_unit(
|
|
18
18
|
"mt_federal_income_tax_deduction_unit", period
|
|
19
19
|
)
|
|
20
|
-
person_agi = person("
|
|
20
|
+
person_agi = person("mt_agi_indiv", period)
|
|
21
21
|
total_agi = person.tax_unit.sum(person_agi)
|
|
22
22
|
|
|
23
23
|
prorate = np.zeros_like(total_agi)
|
|
@@ -19,6 +19,6 @@ class mt_medical_expense_deduction_indiv(Variable):
|
|
|
19
19
|
p = parameters(period).gov.irs.deductions.itemized.medical
|
|
20
20
|
# Law does not define Montana AGI as the cap.
|
|
21
21
|
# Tax form points to page 1, line 14, which is Montana AGI.
|
|
22
|
-
medical_floor = p.floor * person("
|
|
22
|
+
medical_floor = p.floor * person("mt_agi_indiv", period)
|
|
23
23
|
is_head_or_spouse = person("is_tax_unit_head_or_spouse", period)
|
|
24
24
|
return is_head_or_spouse * max_(0, expense - medical_floor)
|
|
@@ -21,6 +21,8 @@ class mt_medical_expense_deduction_joint(Variable):
|
|
|
21
21
|
p = parameters(period).gov.irs.deductions.itemized.medical
|
|
22
22
|
# Law does not define Montana AGI as the cap.
|
|
23
23
|
# Tax form points to page 1, line 14, which is Montana AGI.
|
|
24
|
-
medical_floor = p.floor * add(
|
|
24
|
+
medical_floor = p.floor * add(
|
|
25
|
+
person.tax_unit, period, ["mt_agi_indiv"]
|
|
26
|
+
)
|
|
25
27
|
is_head = person("is_tax_unit_head", period)
|
|
26
28
|
return is_head * max_(0, expense - medical_floor)
|
|
@@ -22,7 +22,7 @@ class mt_standard_deduction_indiv(Variable):
|
|
|
22
22
|
|
|
23
23
|
if p.state_specific_deduction_applies:
|
|
24
24
|
# ── Pre-2024 MT-specific calculation ────────────────────────────────
|
|
25
|
-
agi = person("
|
|
25
|
+
agi = person("mt_agi_indiv", period)
|
|
26
26
|
floor = p.floor[filing_status]
|
|
27
27
|
cap = p.cap[filing_status]
|
|
28
28
|
uncapped = p.rate * agi
|
|
@@ -19,7 +19,7 @@ class mt_standard_deduction_joint(Variable):
|
|
|
19
19
|
|
|
20
20
|
if p.state_specific_deduction_applies:
|
|
21
21
|
# ── Pre-2024 MT-specific calculation ───────────────────────────────
|
|
22
|
-
agi = add(person.tax_unit, period, ["
|
|
22
|
+
agi = add(person.tax_unit, period, ["mt_agi_indiv"])
|
|
23
23
|
floor = p.floor[filing_status]
|
|
24
24
|
cap = p.cap[filing_status]
|
|
25
25
|
uncapped = p.rate * agi
|
|
@@ -14,7 +14,7 @@ class mt_pre_dependent_exemption_taxable_income_indiv(Variable):
|
|
|
14
14
|
)
|
|
15
15
|
|
|
16
16
|
def formula(person, period, parameters):
|
|
17
|
-
mt_agi = person("
|
|
17
|
+
mt_agi = person("mt_agi_indiv", period)
|
|
18
18
|
exemptions = person("mt_personal_exemptions_indiv", period)
|
|
19
19
|
deductions = person("mt_deductions_indiv", period)
|
|
20
20
|
return max_(mt_agi - exemptions - deductions, 0)
|
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_taxable_income_joint.py
CHANGED
|
@@ -15,8 +15,12 @@ class mt_taxable_income_joint(Variable):
|
|
|
15
15
|
|
|
16
16
|
def formula(person, period, parameters):
|
|
17
17
|
is_head = person("is_tax_unit_head", period)
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
|
|
19
|
+
# For joint filers, use mt_agi_joint which pools income and subtractions
|
|
20
|
+
# at tax unit level before applying them. This ensures subtractions from
|
|
21
|
+
# one spouse can offset income from the other spouse.
|
|
22
|
+
total_agi = person.tax_unit("mt_agi_joint", period)
|
|
23
|
+
|
|
20
24
|
standard_deduction = add(
|
|
21
25
|
person.tax_unit, period, ["mt_standard_deduction_joint"]
|
|
22
26
|
)
|
|
@@ -31,4 +35,4 @@ class mt_taxable_income_joint(Variable):
|
|
|
31
35
|
["mt_personal_exemptions_joint", "mt_dependent_exemptions_person"],
|
|
32
36
|
)
|
|
33
37
|
|
|
34
|
-
return max_(0, total_agi - deductions - exemptions)
|
|
38
|
+
return is_head * max_(0, total_agi - deductions - exemptions)
|
|
@@ -1496,7 +1496,7 @@ policyengine_us/parameters/gov/states/hi/tax/income/rates/surviving_spouse.yaml,
|
|
|
1496
1496
|
policyengine_us/parameters/gov/states/hi/tax/income/subtractions/subtractions.yaml,sha256=cu3w_VALYlIUDOMotEm_ml9QmxHSHDKDzbTN4buwrzc,805
|
|
1497
1497
|
policyengine_us/parameters/gov/states/hi/tax/income/subtractions/military_pay/cap.yaml,sha256=uoW4QDI4tk0M7fC5g7BTnLLgdceFdBICYQjDbY0uKeA,1440
|
|
1498
1498
|
policyengine_us/parameters/gov/states/household/index.yaml,sha256=rHA75ZOkRKkoYkd4zjChiGfJF_G--G2ZfwG3LZLIf6I,85
|
|
1499
|
-
policyengine_us/parameters/gov/states/household/state_agis.yaml,sha256=
|
|
1499
|
+
policyengine_us/parameters/gov/states/household/state_agis.yaml,sha256=V5yMo4kdJNs6mTfb74zh0Ab60sVYanjKS6_5Z4Df3YI,1405
|
|
1500
1500
|
policyengine_us/parameters/gov/states/household/state_cdccs.yaml,sha256=fty017ekyhn18FQZsyD7xYY252N4f00hXO2m4X3yY3I,1441
|
|
1501
1501
|
policyengine_us/parameters/gov/states/household/state_ctcs.yaml,sha256=QpaOJi7kPJNlfGDVpQCX9KmNQ8uJM935g0HMHZFFdow,1321
|
|
1502
1502
|
policyengine_us/parameters/gov/states/household/state_eitcs.yaml,sha256=omnf0hIxS-F9qpDdyyH0L1mJ91R1qQF65-sjsfQZosw,1187
|
|
@@ -2255,8 +2255,8 @@ policyengine_us/parameters/gov/states/mt/tax/income/main/capital_gains/rates/sep
|
|
|
2255
2255
|
policyengine_us/parameters/gov/states/mt/tax/income/main/capital_gains/rates/single.yaml,sha256=CaCZ3pvyReKIoaET1DnOiMPvFa6cXOzCcGiZf66PYDE,1389
|
|
2256
2256
|
policyengine_us/parameters/gov/states/mt/tax/income/main/capital_gains/rates/surviving_spouse.yaml,sha256=I78b2IclH2l0x4onVyyRYh5S5vFjKTiDMoUbUiZBEjo,1410
|
|
2257
2257
|
policyengine_us/parameters/gov/states/mt/tax/income/social_security/applies.yaml,sha256=Lp0MRXj_0QeFoXRSamvZw3-TrThb7y3emokVl89-VZo,1186
|
|
2258
|
-
policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/lower.yaml,sha256=
|
|
2259
|
-
policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/upper.yaml,sha256=
|
|
2258
|
+
policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/lower.yaml,sha256=ELISZiBpbwPL1oy7eXvIQqpqxTjFTBhtYeTNYwa_1ZE,1337
|
|
2259
|
+
policyengine_us/parameters/gov/states/mt/tax/income/social_security/amount/upper.yaml,sha256=hLlWEWXthaUSAmM2MZrTyc_B73DzhGgxHuDsUSK3PrY,1388
|
|
2260
2260
|
policyengine_us/parameters/gov/states/mt/tax/income/subtractions/subtractions.yaml,sha256=nRFmHpsb1aWOvfgl9Li0VeEtG9psGUMqLKpTbAh_Cu0,1267
|
|
2261
2261
|
policyengine_us/parameters/gov/states/mt/tax/income/subtractions/disability_income/age_threshold.yaml,sha256=L9aZx_z_Ywtek86egaYfPBnCD3RqONqFPsmL3VLuNcY,749
|
|
2262
2262
|
policyengine_us/parameters/gov/states/mt/tax/income/subtractions/disability_income/cap.yaml,sha256=-wIFbBKtLBwceRPQBEPlKQ2CDoVPyhd8oDLht2t0JEY,933
|
|
@@ -4532,8 +4532,8 @@ policyengine_us/tests/policy/baseline/gov/states/ms/tax/income/exemptions/ms_dep
|
|
|
4532
4532
|
policyengine_us/tests/policy/baseline/gov/states/ms/tax/income/exemptions/ms_regular_exemption.yaml,sha256=eRXW1ftjSMnYHaX4tkJjevd2Y9VekXizaAMlLIHRfBI,817
|
|
4533
4533
|
policyengine_us/tests/policy/baseline/gov/states/ms/tax/income/exemptions/ms_total_exemptions_indiv.yaml,sha256=3XJ-RUERhQ5C5-6oId-arGtjbRogEmBuYxWxs37P3Q0,450
|
|
4534
4534
|
policyengine_us/tests/policy/baseline/gov/states/ms/tax/income/exemptions/ms_total_exemptions_joint.yaml,sha256=XMlfs06wLIxWnDLg7mk8Njh1lt05vVUC0wkbpeDlqno,428
|
|
4535
|
-
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/integration.yaml,sha256=
|
|
4536
|
-
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/
|
|
4535
|
+
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/integration.yaml,sha256=_VimE0VD40WOUQqIOXOkhRC5mNEdOxzwlkg2QwA3uJk,8707
|
|
4536
|
+
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_agi_indiv.yaml,sha256=X2KTS22LfyKsKynCEQXHN_FNBScf5kEq2TfmyMB2asE,2027
|
|
4537
4537
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_applicable_ald_deductions.yaml,sha256=csbfWJXij9KI2MjAuo-IE9mGz2EKiWfCibjPL92RK0k,975
|
|
4538
4538
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_files_separately.yaml,sha256=UfK24SNJkiAjRMhtWG9UUqZo7VIXyfhtZ42UTJiIJoA,1221
|
|
4539
4539
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_income_tax.yaml,sha256=maQGtwBffNrnLwlxQyb-oMhntWbhy54ATj1UMEqzV10,847
|
|
@@ -4542,11 +4542,11 @@ policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_income_tax_bef
|
|
|
4542
4542
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_income_tax_before_refundable_credits_unit.yaml,sha256=_0iFjoZm69Eq82Y36Ih1QbZBHDOxbGdRweniuYRzQLQ,500
|
|
4543
4543
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_income_tax_indiv.yaml,sha256=bmMCp0810WjIDABYtq9E_uZmKq4lzXs-dHbZti0cYLM,708
|
|
4544
4544
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_income_tax_joint.yaml,sha256=-iLqAyq93HLGmqfyMa-uYa9clSyHSFTKPCh6Nat-kgk,1322
|
|
4545
|
-
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_pre_dependent_exemption_taxable_income_indiv.yaml,sha256=
|
|
4545
|
+
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_pre_dependent_exemption_taxable_income_indiv.yaml,sha256=NHfo74IgTFZWv8sEX-3rM5jgnYljVenE4XqsRAO6O8c,524
|
|
4546
4546
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_regular_income_tax_indiv.yaml,sha256=JfgUOkQOzO9Tt-TzBpCHYGejZEYFUyfV2IRnDSQ08hI,1899
|
|
4547
4547
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_regular_income_tax_joint.yaml,sha256=MRCvH3q99kFxL4X0Ut3WvTtDpTdEhn4OFAbHGPCNdwU,1650
|
|
4548
4548
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_taxable_income_indiv.yaml,sha256=hiUMV1_4_itL_r8CT-2Ujh4RM0BqZ7mvkvT5VeqsRBo,3197
|
|
4549
|
-
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_taxable_income_joint.yaml,sha256=
|
|
4549
|
+
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_taxable_income_joint.yaml,sha256=JFSfUSPW2gt56R-ZPnCl4Ewh8aoem2Y_vzow66Z_lr8,9307
|
|
4550
4550
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_taxable_social_security.yaml,sha256=SmwvzIJCr1hsQphYWa8EcKPGlQwJ45q8RlMb_FvR_IU,1556
|
|
4551
4551
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/mt_withheld_income_tax.yaml,sha256=bO9FCJdKUURLvWeE24cc4tH_wGdIUSoPUz2nl6moFis,711
|
|
4552
4552
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/capital_gains/mt_capital_gains_tax_applicable_threshold_indiv.yaml,sha256=Fx3AkCPiCstVZKJUHvUnry4kKccTnoPnZBEwtmQ2T2Y,891
|
|
@@ -4562,21 +4562,21 @@ policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/credits/rebate/mt
|
|
|
4562
4562
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/credits/rebate/mt_property_tax_rebate.yaml,sha256=7SLWMo2hFlGMlC8d9P45CqV5q9lzN3d713z97D8kcvM,315
|
|
4563
4563
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/mt_deductions_indiv.yaml,sha256=WFWD1_XrWaqImo5WCSuApl-HsB3YK6EHorjNykqLOeQ,456
|
|
4564
4564
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/mt_tax_unit_itemizes.yaml,sha256=SYjIwhMoRG1J6gxLByDDHVCILz1nVQL_0M1Ys1SXhqE,373
|
|
4565
|
-
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/cdcc/mt_child_dependent_care_expense_deduction.yaml,sha256=
|
|
4565
|
+
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/cdcc/mt_child_dependent_care_expense_deduction.yaml,sha256=JE7iEsFnaBlZe0HO_TgZBeO9yicxo2nwQqSP3ypZLNw,6628
|
|
4566
4566
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/cdcc/mt_child_dependent_care_expense_deduction_eligible_children.yaml,sha256=2pWX6bG0Rg5Bw7qwOB06AfKQzaoRRKrclhsRYJrtK6M,2178
|
|
4567
|
-
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_federal_income_tax_deduction_indiv.yaml,sha256=
|
|
4567
|
+
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_federal_income_tax_deduction_indiv.yaml,sha256=H8ymLpOsUuO-PwwYjidwlzvWxGNSxMbxSgLJPf8pB1E,1046
|
|
4568
4568
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_federal_income_tax_deduction_unit.yaml,sha256=IVTxsacKQkLVOfs3utTKTgyO22fTkRNob8S2nI6dN4g,1484
|
|
4569
4569
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_itemized_deductions_indiv.yaml,sha256=a6jKnDrb6fMq6_UexsmlSoC2SoIjxWmgQQbv5owoiLY,2359
|
|
4570
4570
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_itemized_deductions_joint.yaml,sha256=uaGtz8PG6HTiNqKjFkKhZncDokW2eG7SCgo-jFp_kuU,2269
|
|
4571
|
-
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_medical_expense_deduction_indiv.yaml,sha256=
|
|
4572
|
-
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_medical_expense_deduction_joint.yaml,sha256=
|
|
4571
|
+
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_medical_expense_deduction_indiv.yaml,sha256=LJkSu7qO5K6OtVHoUwF3ISy6kvVwE7dD6qpJe8PG8JA,779
|
|
4572
|
+
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_medical_expense_deduction_joint.yaml,sha256=3TGkzkYIJdUl_MGKUJqpom6K7GOygXU6JGaohNjARBA,1428
|
|
4573
4573
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_salt_deduction.yaml,sha256=qovYIZ6DC1UCbZ0evVnIRlSC7lQJeycoi09pBZT_Ub8,780
|
|
4574
4574
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_federal_income_tax_deduction_for_federal_itemization.yaml,sha256=U79oesMd0yQNOA-q2L4j8WO7l-gS-OYIAlN2ujRJGlA,1547
|
|
4575
|
-
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_federal_income_tax_deduction_for_federal_itemization_indiv.yaml,sha256
|
|
4575
|
+
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_federal_income_tax_deduction_for_federal_itemization_indiv.yaml,sha256=-CAPi_rArAdljLhCngqul1yl3lO42Sv5NU9ipIW7Hzk,1132
|
|
4576
4576
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_itemized_deductions_for_federal_itemization_indiv.yaml,sha256=FRrpJ0TfDUNarQUJcX_aDTDPJFpFE9izQ2XNDsDR9I4,2599
|
|
4577
4577
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_itemized_deductions_for_federal_itemization_joint.yaml,sha256=kv9iJL02NhIVJq_-8ogYs484DNOSM4Sp73IEmCHNy-w,2441
|
|
4578
|
-
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/standard/mt_standard_deduction_indiv.yaml,sha256=
|
|
4579
|
-
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/standard/mt_standard_deduction_joint.yaml,sha256=
|
|
4578
|
+
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/standard/mt_standard_deduction_indiv.yaml,sha256=gJkqMDG0HBbwIRm6XZmdxgYp2YfldoWtDaHYK2YLyXg,1980
|
|
4579
|
+
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/standard/mt_standard_deduction_joint.yaml,sha256=j8_O0OwAvLVsHpmVROdGx2CPDFQsnw3e_NFH_ac5gxM,2397
|
|
4580
4580
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/exemptions/mt_aged_exemption_eligible_person.yaml,sha256=qL605c_dabz9pqMf1JNcm8rFUuvqz5tAwcy7GzARoFI,703
|
|
4581
4581
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/exemptions/mt_dependent_exemptions_person.yaml,sha256=0sBhTSps_2Qca4UOUnYY-xStX8o15lJgyuVQDsMMJz4,2612
|
|
4582
4582
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/exemptions/mt_interest_exemption.yaml,sha256=64us0Pst1BYS9jBzg8FrD-I1ZkkxsX9BBnh5NuxyLiQ,1663
|
|
@@ -4586,7 +4586,7 @@ policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/exemptions/mt_per
|
|
|
4586
4586
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/exemptions/mt_personal_exemptions_joint.yaml,sha256=v7mS5iRj_GPdXsw-z4YLrYDTQDNa3Uzy0svSN5m0sME,1256
|
|
4587
4587
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/subtractions/mt_disability_income_exclusion_eligible_person.yaml,sha256=n6lfKCOHwSit-aw81rTgeLzD_GarPllwr6fqEjQvGuU,409
|
|
4588
4588
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/subtractions/mt_disability_income_exclusion_person.yaml,sha256=9lqqiAwItIZitOJg18pGlt7FIQPjQCIHKHZJg-29HuA,757
|
|
4589
|
-
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/subtractions/mt_old_age_subtraction.yaml,sha256=
|
|
4589
|
+
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/subtractions/mt_old_age_subtraction.yaml,sha256=RQHMC_9RmmsLyOe3llg-hpK3hHTKKWYPmk7fLWnrsSk,858
|
|
4590
4590
|
policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/subtractions/mt_tuition_subtraction_person.yaml,sha256=lRHx9pLz2SgqX8t45BFyrjN2DqhxM4_hNo25AOer3t8,1373
|
|
4591
4591
|
policyengine_us/tests/policy/baseline/gov/states/nc/ncdhhs/scca/integration.yaml,sha256=H2RSlMt6y97ts7Ht-2KBwuWcFXZMD7vLZ5_kS5CkAYU,4805
|
|
4592
4592
|
policyengine_us/tests/policy/baseline/gov/states/nc/ncdhhs/scca/nc_scca_age_group.yaml,sha256=-uyaqkmj9GZzgDdlUtudrN-v2Djp_XCUi9Ox9OLQ03Y,1461
|
|
@@ -7149,7 +7149,8 @@ policyengine_us/variables/gov/states/ms/tax/income/taxable_income/ms_pre_deducti
|
|
|
7149
7149
|
policyengine_us/variables/gov/states/ms/tax/income/taxable_income/ms_taxable_income_indiv.py,sha256=wQz7Mo1d_mFVbqS_U8pXqUEIHR_IiAhQ31eHxHNXaHc,764
|
|
7150
7150
|
policyengine_us/variables/gov/states/ms/tax/income/taxable_income/ms_taxable_income_joint.py,sha256=o1RUmRM5QSnUUxcyEHtk93dINpsHpNaiNkBG0XMmmK0,782
|
|
7151
7151
|
policyengine_us/variables/gov/states/mt/tax/income/additions/mt_additions.py,sha256=XuPgB_HXbq118yvUEKr9s8NWRB4sXhQcVCTqNd47iJQ,548
|
|
7152
|
-
policyengine_us/variables/gov/states/mt/tax/income/base/
|
|
7152
|
+
policyengine_us/variables/gov/states/mt/tax/income/base/mt_agi_indiv.py,sha256=875eIuIY47F57PMGBsRn3rwk1RhOkw4CyhYmz0BLbWg,1699
|
|
7153
|
+
policyengine_us/variables/gov/states/mt/tax/income/base/mt_agi_joint.py,sha256=xe-ESmxSYGMa-urwIihS44Q95XLBu2TutxczgrNwjGY,1832
|
|
7153
7154
|
policyengine_us/variables/gov/states/mt/tax/income/base/mt_applicable_ald_deductions.py,sha256=rQQ_QEqRxQJJpO75b93CQdRs_nsrSizC3f5YWwJQdZI,620
|
|
7154
7155
|
policyengine_us/variables/gov/states/mt/tax/income/base/mt_income_tax.py,sha256=zEe7UgXuYW9pM8oIHvd-WwPtsxZgGwUV0V7IJAugWm4,534
|
|
7155
7156
|
policyengine_us/variables/gov/states/mt/tax/income/base/mt_taxable_social_security.py,sha256=OeCmSvlVfrLWUfqUVBsS9ussDkujr8VmDxeWLitMrhI,3719
|
|
@@ -7167,25 +7168,25 @@ policyengine_us/variables/gov/states/mt/tax/income/credits/mt_elderly_homeowner_
|
|
|
7167
7168
|
policyengine_us/variables/gov/states/mt/tax/income/credits/rebate/mt_income_tax_rebate.py,sha256=9VMgIXS36eDh_NysnO_WBVv5z7cRUAMwm5r-mQTO4FY,740
|
|
7168
7169
|
policyengine_us/variables/gov/states/mt/tax/income/credits/rebate/mt_property_tax_rebate.py,sha256=WllIx-LP4vcrYeEPdbT5mokgxWbSRp9lz98pZernajg,703
|
|
7169
7170
|
policyengine_us/variables/gov/states/mt/tax/income/deductions/mt_deductions_indiv.py,sha256=MI136zed-mU_g74awfQK9jRN_KVEJNtUeu7Ely3qRsI,633
|
|
7170
|
-
policyengine_us/variables/gov/states/mt/tax/income/deductions/cdcc/mt_child_dependent_care_expense_deduction.py,sha256=
|
|
7171
|
+
policyengine_us/variables/gov/states/mt/tax/income/deductions/cdcc/mt_child_dependent_care_expense_deduction.py,sha256=UOYP9G-QzLUWZYPIsf54Fhaunrzaon3oDADXtfKQHBo,1404
|
|
7171
7172
|
policyengine_us/variables/gov/states/mt/tax/income/deductions/cdcc/mt_child_dependent_care_expense_deduction_eligibile_child.py,sha256=wqcvnOlFWcIyNIYbd3RqbCI4bcefJ5S0XFgVBc3U7tI,693
|
|
7172
7173
|
policyengine_us/variables/gov/states/mt/tax/income/deductions/cdcc/mt_child_dependent_care_expense_deduction_eligible_children.py,sha256=Hum_Iwq5r9wt41f84vw9Df4IZxaChtPxO1L89FrvG1A,627
|
|
7173
7174
|
policyengine_us/variables/gov/states/mt/tax/income/deductions/general/mt_tax_unit_itemizes.py,sha256=QwujLGKSGVAkgp6UwVBtKB3lYJrB-qgEVsXXvdNWfLw,532
|
|
7174
7175
|
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_itemization/README.md,sha256=MNr0_YPxUz6hkLnpenVjgU27ggKuESj_ifeIs0HL5XY,215
|
|
7175
7176
|
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_federal_income_tax_deduction_for_federal_itemization.py,sha256=yFkumGtmf53jvDNB71yhdaKWl-ZU0Yme61mp8CDDVo8,1083
|
|
7176
|
-
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_federal_income_tax_deduction_for_federal_itemization_indiv.py,sha256
|
|
7177
|
+
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_federal_income_tax_deduction_for_federal_itemization_indiv.py,sha256=-3nii2U0a4piaPids_DmMnDVQ9wkLjEf7g1gwtbU7C0,1258
|
|
7177
7178
|
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_itemized_deductions_for_federal_itemization_indiv.py,sha256=HBuqh47nJAYL006OJLliSL_ZBXfKs9awJeAnJM-MKYA,1759
|
|
7178
7179
|
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_itemized_deductions_for_federal_itemization_joint.py,sha256=a4TVSDKg54uvfA1iOPJ9m6zfE04-iAn9JheC_aTcgRo,1439
|
|
7179
|
-
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_tax/mt_federal_income_tax_deduction_indiv.py,sha256=
|
|
7180
|
+
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_tax/mt_federal_income_tax_deduction_indiv.py,sha256=NF01DYts1xc9QP1NX0npTT0Ok02FIBMD3O2-pdWvnQ8,1215
|
|
7180
7181
|
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_tax/mt_federal_income_tax_deduction_unit.py,sha256=TLBnvWvCHwSCKUtsFXTA2qOXlXCdc1nZfeIQCGxEVyg,1098
|
|
7181
7182
|
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/general/mt_itemized_deductions_indiv.py,sha256=EjUxWZV2wWjcVUXdnKyhu_zY1JjuAJfUaBZmCn0fgFo,1711
|
|
7182
7183
|
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/general/mt_itemized_deductions_joint.py,sha256=XbaOivcw3qtxuaKfwI1YIccVEqTcFnyyn-yLTqM-nEY,1396
|
|
7183
7184
|
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/general/mt_misc_deductions.py,sha256=yYEinUNagekMl_d46Ue8O3YJxcMjaTFiQ3BsIMIebwM,650
|
|
7184
|
-
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/medical/mt_medical_expense_deduction_indiv.py,sha256
|
|
7185
|
-
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/medical/mt_medical_expense_deduction_joint.py,sha256=
|
|
7185
|
+
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/medical/mt_medical_expense_deduction_indiv.py,sha256=sigYJ0m7K-5wStBGnGw0jPasRUjH1e_wrCHX_bXm8Yw,1121
|
|
7186
|
+
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/medical/mt_medical_expense_deduction_joint.py,sha256=bwDuDcYgzJmcaxxgaMJnWhWOTTHvSHAvOkZy50ItWCo,1164
|
|
7186
7187
|
policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/salt/mt_salt_deduction.py,sha256=ntZp67TrXK3EPfM1KAtJHqOk1jWhLQSkdwk4xhB5804,982
|
|
7187
|
-
policyengine_us/variables/gov/states/mt/tax/income/deductions/standard/mt_standard_deduction_indiv.py,sha256=
|
|
7188
|
-
policyengine_us/variables/gov/states/mt/tax/income/deductions/standard/mt_standard_deduction_joint.py,sha256=
|
|
7188
|
+
policyengine_us/variables/gov/states/mt/tax/income/deductions/standard/mt_standard_deduction_indiv.py,sha256=9iQOv7PZHJOUmoVqhPhz9kiV8tMx-C7qi-PWhOCU84U,1381
|
|
7189
|
+
policyengine_us/variables/gov/states/mt/tax/income/deductions/standard/mt_standard_deduction_joint.py,sha256=eGULg45mlO3cT4-VA29m1OrpIXHQ-0lqNhITZq9Bw0g,1408
|
|
7189
7190
|
policyengine_us/variables/gov/states/mt/tax/income/exemptions/aged/mt_aged_exemption_eligible_person.py,sha256=0HISW9HwBWpJKtoMQA0sZmMUkCsuhJCS0p6c0nRNTjU,708
|
|
7190
7191
|
policyengine_us/variables/gov/states/mt/tax/income/exemptions/dependent/mt_dependent_exemptions_person.py,sha256=4cCwNlj0vM74uXhpV5jErVa_vcGNw8y78jepu26Xps4,925
|
|
7191
7192
|
policyengine_us/variables/gov/states/mt/tax/income/exemptions/interest/mt_interest_exemption.py,sha256=bUOi86PMucUOfe19BB187ux8PGl-XgCGA1yrAhCTh2g,991
|
|
@@ -7209,13 +7210,13 @@ policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_income_tax
|
|
|
7209
7210
|
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_income_tax_indiv.py,sha256=K7ZIehADsKcFdOd11uOd5mNwKDaGOo1jeRYGiwdZ29M,683
|
|
7210
7211
|
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_income_tax_joint.py,sha256=tqlztEKQKe4R8L61SrYz4PQcSWGjl3ECtSh7vu-P1n8,375
|
|
7211
7212
|
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_non_refundable_credits.py,sha256=GbQoZzhOaZ-vJGpOM3BJN2k-F438EHrq2d5M6GVAuO4,306
|
|
7212
|
-
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_pre_dependent_exemption_taxable_income_indiv.py,sha256=
|
|
7213
|
+
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_pre_dependent_exemption_taxable_income_indiv.py,sha256=1tT10hWN1wsuoUCbH1AwDNRDBtAJevx8V3-ijatTbHI,883
|
|
7213
7214
|
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_refundable_credits.py,sha256=94PaYcAzPXJ_GZWyv6tak5Lv4r57s3Pn003Nue9l8Ss,777
|
|
7214
7215
|
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_refundable_credits_before_renter_credit.py,sha256=VCyNCYLAZuTEeJplcMD07DLGOAsgFW_kAO2Og6MeWig,703
|
|
7215
7216
|
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_regular_income_tax_indiv.py,sha256=Rbek35strClGqFO_seD6t4Q-BOSTfwyMF7FTpHw4mfI,1407
|
|
7216
7217
|
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_regular_income_tax_joint.py,sha256=HqTHpJ9vwwITJRIYKTDBaIRN18ChJwe1SQkk0KM3ZUc,1429
|
|
7217
7218
|
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_taxable_income_indiv.py,sha256=7_1ml0-QNqjRZcUL_WP1_IQkjU_7xeFe-JINSzzMnls,2537
|
|
7218
|
-
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_taxable_income_joint.py,sha256
|
|
7219
|
+
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_taxable_income_joint.py,sha256=-vtGQ-U8Ust3aGZnNwYBenzTenux5vyn7_gAEvtwI_U,1537
|
|
7219
7220
|
policyengine_us/variables/gov/states/nc/ncdhhs/scca/nc_scca.py,sha256=VJ4N9ol7CuRpePSJPKr3v00D3VpxhL2pAW7au1XYopQ,679
|
|
7220
7221
|
policyengine_us/variables/gov/states/nc/ncdhhs/scca/nc_scca_age_group.py,sha256=gEH7CgaiI_mMTGXhycpaKuY6bQGa8SSAu5Kp_rS9fGA,1083
|
|
7221
7222
|
policyengine_us/variables/gov/states/nc/ncdhhs/scca/nc_scca_child_age_eligible.py,sha256=uioF3NzN-RO_OVSj1rHeua93Gj4yGQKurqxRJsxAkvU,836
|
|
@@ -8449,8 +8450,8 @@ policyengine_us/variables/input/farm_income.py,sha256=BEKxYmHNNnWJAAvULl5qZJigy5
|
|
|
8449
8450
|
policyengine_us/variables/input/geography.py,sha256=Ux0ueAf0rhZaflyEqz81UuXP3xKCKBDvoO3CrKhiQEc,5421
|
|
8450
8451
|
policyengine_us/variables/input/self_employment_income.py,sha256=PwsGz8R4lRikKWUYOhsC0qosNNLXq4f5SQmfw4S3mk8,511
|
|
8451
8452
|
policyengine_us/variables/input/self_employment_income_before_lsr.py,sha256=E8fcX9Nlyqz8dziHhQv_euutdmoIwFMMWePUwbbwv_w,379
|
|
8452
|
-
policyengine_us-1.403.
|
|
8453
|
-
policyengine_us-1.403.
|
|
8454
|
-
policyengine_us-1.403.
|
|
8455
|
-
policyengine_us-1.403.
|
|
8456
|
-
policyengine_us-1.403.
|
|
8453
|
+
policyengine_us-1.403.2.dist-info/METADATA,sha256=hhNIvVIs2URw7NY6lJq-LAI4C2AneHIeE2gKh_x2ePQ,1649
|
|
8454
|
+
policyengine_us-1.403.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
8455
|
+
policyengine_us-1.403.2.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
|
|
8456
|
+
policyengine_us-1.403.2.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
|
|
8457
|
+
policyengine_us-1.403.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|