policyengine-us 1.400.1__py3-none-any.whl → 1.401.0__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.

Files changed (42) hide show
  1. policyengine_us/parameters/gov/irs/social_security/taxability/rate/additional/benefit_cap.yaml +11 -0
  2. policyengine_us/parameters/gov/irs/social_security/taxability/rate/additional/bracket.yaml +11 -0
  3. policyengine_us/parameters/gov/irs/social_security/taxability/rate/additional/excess.yaml +11 -0
  4. policyengine_us/parameters/gov/irs/social_security/taxability/rate/base/benefit_cap.yaml +11 -0
  5. policyengine_us/parameters/gov/irs/social_security/taxability/rate/base/excess.yaml +11 -0
  6. policyengine_us/parameters/gov/states/household/state_itemized_deductions.yaml +6 -6
  7. policyengine_us/parameters/gov/states/household/state_standard_deductions.yaml +6 -6
  8. policyengine_us/parameters/gov/states/la/tax/income/deductions/itemized/relevant_federal_deductions.yaml +1 -1
  9. policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/tax_unit_itemizes.yaml +109 -0
  10. policyengine_us/tests/policy/baseline/gov/irs/social_security/taxable_social_security.yaml +71 -0
  11. policyengine_us/tests/policy/baseline/gov/states/la/tax/income/deductions/la_itemized_deductions.yaml +4 -2
  12. policyengine_us/tests/policy/baseline/gov/states/me/tax/income/taxable_income/deductions/me_deductions.yaml +15 -10
  13. policyengine_us/tests/policy/baseline/gov/states/me/tax/income/taxable_income/deductions/me_itemized_deductions_pre_phaseout.yaml +4 -1
  14. policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_federal_income_tax_deduction_for_federal_itemization.yaml +57 -0
  15. policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_federal_income_tax_deduction_for_federal_itemization_indiv.yaml +39 -0
  16. policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_itemized_deductions_for_federal_itemization_indiv.yaml +76 -0
  17. policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_itemized_deductions_for_federal_itemization_joint.yaml +76 -0
  18. policyengine_us/tests/policy/baseline/gov/states/nm/tax/income/deductions/nm_itemized_deductions.yaml +47 -0
  19. policyengine_us/tests/policy/baseline/gov/states/tax/income/state_itemized_deductions.yaml +180 -0
  20. policyengine_us/tests/policy/baseline/gov/states/tax/income/state_standard_deduction.yaml +178 -0
  21. policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/tax_unit_taxable_social_security.py +27 -11
  22. policyengine_us/variables/gov/irs/income/taxable_income/deductions/tax_unit_itemizes.py +21 -2
  23. policyengine_us/variables/gov/states/ia/tax/income/including_married_filing_separately/deductions/ia_standard_deduction_indiv.py +0 -2
  24. policyengine_us/variables/gov/states/la/tax/income/deductions/la_standard_deduction.py +4 -2
  25. policyengine_us/variables/gov/states/me/tax/income/taxable_income/deductions/me_itemized_deductions_pre_phaseout.py +1 -3
  26. policyengine_us/variables/gov/states/me/tax/income/taxable_income/me_deductions.py +5 -2
  27. policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_itemization/README.md +1 -0
  28. policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_federal_income_tax_deduction_for_federal_itemization.py +26 -0
  29. policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_federal_income_tax_deduction_for_federal_itemization_indiv.py +34 -0
  30. policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_itemized_deductions_for_federal_itemization_indiv.py +41 -0
  31. policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_itemized_deductions_for_federal_itemization_joint.py +37 -0
  32. policyengine_us/variables/gov/states/nm/tax/income/deductions/nm_deductions.py +1 -1
  33. policyengine_us/variables/gov/states/nm/tax/income/deductions/nm_itemized_deductions.py +13 -0
  34. policyengine_us/variables/gov/states/tax/income/state_itemized_deductions.py +64 -0
  35. policyengine_us/variables/gov/states/tax/income/state_standard_deduction.py +68 -1
  36. {policyengine_us-1.400.1.dist-info → policyengine_us-1.401.0.dist-info}/METADATA +1 -1
  37. {policyengine_us-1.400.1.dist-info → policyengine_us-1.401.0.dist-info}/RECORD +40 -22
  38. policyengine_us/parameters/gov/irs/social_security/taxability/rate/additional.yaml +0 -11
  39. policyengine_us/parameters/gov/irs/social_security/taxability/rate/base.yaml +0 -11
  40. {policyengine_us-1.400.1.dist-info → policyengine_us-1.401.0.dist-info}/WHEEL +0 -0
  41. {policyengine_us-1.400.1.dist-info → policyengine_us-1.401.0.dist-info}/entry_points.txt +0 -0
  42. {policyengine_us-1.400.1.dist-info → policyengine_us-1.401.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,11 @@
1
+ description: Social Security benefits are taxable at this maximum rate for taxpayers with combined income above the adjusted base threshold.
2
+ values:
3
+ 1993-01-01: 0.85
4
+
5
+ metadata:
6
+ unit: /1
7
+ period: year
8
+ label: Social Security taxability tier 2 benefit cap rate
9
+ reference:
10
+ - title: 26 U.S. Code § 86(a)(2)(B)
11
+ href: https://www.law.cornell.edu/uscode/text/26/86#a_2_B
@@ -0,0 +1,11 @@
1
+ description: The IRS includes this portion of the difference between adjusted base and base thresholds when calculating tier 2 Social Security taxability.
2
+ values:
3
+ 1984-01-01: 0.5
4
+
5
+ metadata:
6
+ unit: /1
7
+ period: year
8
+ label: Social Security taxability tier 1 bracket rate
9
+ reference:
10
+ - title: 26 U.S. Code § 86(a)(2)(A)(ii)
11
+ href: https://www.law.cornell.edu/uscode/text/26/86#a_2_A_ii
@@ -0,0 +1,11 @@
1
+ description: The IRS taxes Social Security benefits at this rate applied to the excess of combined income over the adjusted base threshold for taxpayers in the second tier.
2
+ values:
3
+ 1993-01-01: 0.85
4
+
5
+ metadata:
6
+ unit: /1
7
+ period: year
8
+ label: Social Security taxability tier 2 excess rate
9
+ reference:
10
+ - title: 26 U.S. Code § 86(a)(2)(A)(i)
11
+ href: https://www.law.cornell.edu/uscode/text/26/86#a_2_A_i
@@ -0,0 +1,11 @@
1
+ description: Social Security benefits are taxable at this rate for taxpayers with combined income between the base and adjusted base thresholds.
2
+ values:
3
+ 1984-01-01: 0.5
4
+
5
+ metadata:
6
+ unit: /1
7
+ period: year
8
+ label: Social Security taxability tier 1 benefit cap rate
9
+ reference:
10
+ - title: 26 U.S. Code § 86(a)(1)(A)
11
+ href: https://www.law.cornell.edu/uscode/text/26/86#a_1_A
@@ -0,0 +1,11 @@
1
+ description: The IRS taxes Social Security benefits at this rate applied to the excess of combined income over the base threshold for taxpayers in the first tier.
2
+ values:
3
+ 1984-01-01: 0.5
4
+
5
+ metadata:
6
+ unit: /1
7
+ period: year
8
+ label: Social Security taxability tier 1 excess rate
9
+ reference:
10
+ - title: 26 U.S. Code § 86(a)(1)(B)
11
+ href: https://www.law.cornell.edu/uscode/text/26/86#a_1_B
@@ -7,27 +7,27 @@ values:
7
7
  - ca_itemized_deductions # California
8
8
  # Connecticut adopts federal itemized deductions
9
9
  - dc_itemized_deductions # DC
10
- - de_itemized_deductions # Delaware
10
+ - de_itemized_deductions_unit # Delaware
11
11
  # Georgia adopts federal itemized deductions
12
12
  - hi_itemized_deductions # Hawaii
13
- - ia_itemized_deductions # Iowa
13
+ # Iowa allows for a married filing separately structure which requires two separate itemized deductions.
14
14
  - id_itemized_deductions # Idaho
15
15
  # Illinois doesn't have deductions.
16
16
  - ks_itemized_deductions # Kansas
17
- - ky_itemized_deductions # Kentucky
17
+ - ky_itemized_deductions_unit # Kentucky
18
18
  - la_itemized_deductions # Louisiana
19
19
  # Massachusetts doesn't have deductions in a standard form.
20
20
  - md_itemized_deductions # Maryland
21
21
  - me_itemized_deductions_pre_phaseout # Maine phases out deductions after choosing itemization.
22
22
  - mn_itemized_deductions # Minnesota
23
23
  - mo_itemized_deductions # Missouri
24
- - ms_itemized_deductions # Mississippi
25
- - mt_itemized_deductions # Montana
24
+ - ms_itemized_deductions_unit # Mississippi
25
+ # Montana allows for a married filing separately structure which requires two separate itemized deductions.
26
26
  - nc_itemized_deductions # North Carolina
27
27
  # North Dakota adopts federal deductions.
28
28
  - ne_itemized_deductions # Nebraska
29
29
  # New Jersey doesn't have a conventional itemized deduction system.
30
- # New Mexico adopts federal itemized deductions with a separate salt addback structure.
30
+ - nm_itemized_deductions # New Mexico adopts federal itemized deductions
31
31
  - ny_itemized_deductions # New York
32
32
  # Ohio doesn't have a conventional itemized deduction system.
33
33
  - ok_itemized_deductions # Oklahoma
@@ -2,20 +2,20 @@ description: All state standard deduction variables.
2
2
  values:
3
3
  0000-01-01:
4
4
  - al_standard_deduction # Alabama
5
- - ar_standard_deduction # Arkansas
5
+ # Arkansas allows for a married filing separately structure which requires two separate standard deductions.
6
6
  - az_standard_deduction # Arizona
7
7
  - ca_standard_deduction # California
8
8
  # Connecticut adopts federal standard deduction
9
9
  - dc_standard_deduction # DC
10
- - de_standard_deduction # Delaware
10
+ # Delaware allows for a married filing separately structure which requires two separate standard deductions.
11
11
  - ga_standard_deduction # Georgia
12
12
  - hi_standard_deduction # Hawaii
13
- - ia_standard_deduction # Iowa
13
+ # Iowa allows for a married filing separately structure which requires two separate standard deductions.
14
14
  # Idaho adopts federal standard deduction.
15
15
  # Illinois doesn't have a standard deduction.
16
16
  # Indiana doesn't have deductions (taxes AGI directly).
17
17
  - ks_standard_deduction # Kansas
18
- - ky_standard_deduction # Kentucky
18
+ # Kentucky allows for a married filing separately structure which requires two separate standard deductions.
19
19
  - la_standard_deduction # Louisiana
20
20
  # Massachusetts doesn't have deductions in a standard form.
21
21
  - md_standard_deduction # Maryland
@@ -23,8 +23,8 @@ values:
23
23
  - mi_standard_deduction # Michigan
24
24
  - mn_standard_deduction # Minnesota
25
25
  # Missouri adopts federal standard deduction
26
- - ms_standard_deduction # Mississippi
27
- - mt_standard_deduction # Montana
26
+ # Mississippi allows for a married filing separately structure which requires two separate standard deductions.
27
+ # Montana allows for a married filing separately structure which requires two separate standard deductions.
28
28
  - nc_standard_deduction # North Carolina
29
29
  # North Dakota adopts federal deductions.
30
30
  - ne_standard_deduction # Nebraska
@@ -1,7 +1,7 @@
1
1
  description: Louisiana subtracts from adjusted gross income the excess of these relevant federal deductions over the standard deduction, based on year.
2
2
  values:
3
3
  2021-01-01:
4
- - taxable_income_deductions_if_itemizing
4
+ - itemized_taxable_income_deductions
5
5
  2022-01-01:
6
6
  - medical_expense_deduction
7
7
 
@@ -0,0 +1,109 @@
1
+ - name: When branching, itemization is based on tax liability
2
+ period: 2024
3
+ input:
4
+ gov.simulation.branch_to_determine_itemization: true
5
+ state_itemized_deductions: 14_000
6
+ state_standard_deduction: 11_000
7
+ tax_liability_if_itemizing: 10_000
8
+ tax_liability_if_not_itemizing: 1_000
9
+ output:
10
+ tax_unit_itemizes: False
11
+
12
+ - name: When branching, itemization is based on tax liability, unit does not itemize
13
+ period: 2024
14
+ input:
15
+ gov.simulation.branch_to_determine_itemization: true
16
+ state_itemized_deductions: 14_000
17
+ state_standard_deduction: 11_000
18
+ tax_liability_if_itemizing: 10_000
19
+ tax_liability_if_not_itemizing: 11_000
20
+ output:
21
+ tax_unit_itemizes: True
22
+
23
+ - name: When tax liability is equal, itemization is based on state deductions
24
+ period: 2024
25
+ input:
26
+ gov.simulation.branch_to_determine_itemization: true
27
+ state_itemized_deductions: 14_000
28
+ state_standard_deduction: 11_000
29
+ tax_liability_if_itemizing: 10_000
30
+ tax_liability_if_not_itemizing: 10_000
31
+ output:
32
+ tax_unit_itemizes: True
33
+
34
+ - name: When tax liability is equal, itemization is based on state deductions, unit itemizes
35
+ period: 2024
36
+ input:
37
+ gov.simulation.branch_to_determine_itemization: true
38
+ state_itemized_deductions: 14_000
39
+ state_standard_deduction: 16_000
40
+ tax_liability_if_itemizing: 10_000
41
+ tax_liability_if_not_itemizing: 10_000
42
+ output:
43
+ tax_unit_itemizes: False
44
+
45
+ - name: Without branching, itemization is based on deduction amount
46
+ period: 2024
47
+ input:
48
+ gov.simulation.branch_to_determine_itemization: false
49
+ state_itemized_deductions: 20_000
50
+ state_standard_deduction: 16_000
51
+ tax_liability_if_itemizing: 10_000
52
+ tax_liability_if_not_itemizing: 9_000
53
+ standard_deduction: 16_000
54
+ itemized_taxable_income_deductions: 13_000
55
+ output:
56
+ tax_unit_itemizes: False
57
+
58
+ - name: Integration test which fails without tolerance in the itemization choice
59
+ period: 2024
60
+ absolute_error_margin: 0.1
61
+ input:
62
+ people:
63
+ person1:
64
+ age: 47
65
+ employment_income: 0.0
66
+ taxable_interest_income: 31428.572
67
+ is_tax_unit_head: true
68
+ person2:
69
+ age: 4
70
+ employment_income: 0
71
+ is_tax_unit_dependent: true
72
+ is_tax_unit_head: false
73
+ is_tax_unit_spouse: false
74
+ person3:
75
+ age: 11
76
+ employment_income: 0
77
+ is_tax_unit_dependent: true
78
+ is_tax_unit_head: false
79
+ is_tax_unit_spouse: false
80
+ person4:
81
+ age: 19
82
+ employment_income: 0
83
+ is_tax_unit_dependent: true
84
+ is_tax_unit_head: false
85
+ is_tax_unit_spouse: false
86
+ tax_units:
87
+ tax_unit:
88
+ members: [person1, person2, person3, person4]
89
+ premium_tax_credit: 0
90
+ local_income_tax: 0
91
+ state_sales_tax: 0
92
+ spm_units:
93
+ spm_unit:
94
+ members: [person1, person2, person3, person4]
95
+ snap: 0
96
+ tanf: 0
97
+ households:
98
+ household:
99
+ members: [person1, person2, person3, person4]
100
+ state_fips: 45
101
+ output:
102
+ tax_liability_if_itemizing: 0
103
+ tax_liability_if_not_itemizing: 0
104
+ itemized_taxable_income_deductions: 401
105
+ standard_deduction: 21_900
106
+ state_itemized_deductions: 401
107
+ state_standard_deduction: 21_900
108
+ tax_unit_itemizes: False
109
+ sc_income_tax: 0
@@ -0,0 +1,71 @@
1
+ - name: Test SS taxation with zero values
2
+ period: 2024
3
+ input:
4
+ people:
5
+ person1:
6
+ age: 67
7
+ social_security: 0
8
+ interest_income: 0
9
+ tax_units:
10
+ tax_unit:
11
+ members: [person1]
12
+ filing_status: SINGLE
13
+ households:
14
+ household:
15
+ members: [person1]
16
+ state_code: TX
17
+ output:
18
+ # No income = no taxable SS
19
+ tax_unit_taxable_social_security: 0
20
+
21
+ - name: Test flat 85% SS taxation with minimal parametric reform
22
+ period: 2024
23
+ input:
24
+ # These 3 parameter changes achieve flat 85% taxation
25
+ gov.irs.social_security.taxability.combined_income_ss_fraction: 1.0
26
+ gov.irs.social_security.taxability.threshold.base.main.SINGLE: 0
27
+ gov.irs.social_security.taxability.threshold.adjusted_base.main.SINGLE: 0
28
+ people:
29
+ person1:
30
+ age: 67
31
+ social_security: 20_000
32
+ interest_income: 0
33
+ tax_units:
34
+ tax_unit:
35
+ members: [person1]
36
+ filing_status: SINGLE
37
+ households:
38
+ household:
39
+ members: [person1]
40
+ state_code: TX
41
+ output:
42
+ # With thresholds at 0 and fraction at 1.0:
43
+ # Combined income = 0 + 1.0 * 20k = 20k
44
+ # Excess over base (0) = 20k
45
+ # Excess over adjusted (0) = 20k
46
+ # Since both thresholds are 0, we're in tier 2
47
+ # tier2_taxable = min(0.85 * 20k + 0, 0.85 * 20k) = 17_000
48
+ tax_unit_taxable_social_security: 17_000
49
+
50
+ - name: Test flat 85% taxation with higher benefits
51
+ period: 2024
52
+ input:
53
+ gov.irs.social_security.taxability.combined_income_ss_fraction: 1.0
54
+ gov.irs.social_security.taxability.threshold.base.main.SINGLE: 0
55
+ gov.irs.social_security.taxability.threshold.adjusted_base.main.SINGLE: 0
56
+ people:
57
+ person1:
58
+ age: 67
59
+ social_security: 40_000
60
+ interest_income: 0
61
+ tax_units:
62
+ tax_unit:
63
+ members: [person1]
64
+ filing_status: SINGLE
65
+ households:
66
+ household:
67
+ members: [person1]
68
+ state_code: TX
69
+ output:
70
+ # 85% of 40_000 = 34_000
71
+ tax_unit_taxable_social_security: 34_000
@@ -33,11 +33,13 @@
33
33
  state_code: LA
34
34
  standard_deduction: 12_550
35
35
  medical_expense_deduction: 20_000
36
- taxable_income_deductions_if_itemizing: 30_000
36
+ itemized_taxable_income_deductions: 30_000
37
+ qualified_business_income_deduction: 1_000
37
38
  tax_unit_itemizes: true
38
39
  output:
39
40
  la_itemized_deductions: 17_450
40
41
  #30_000-12_550
42
+ # QBID does not affect the state itemized deductions
41
43
 
42
44
  - name: 2021 Louisiana deduction given Single status, with federal itemized deductions 10_000
43
45
  period: 2021
@@ -45,7 +47,7 @@
45
47
  state_code: LA
46
48
  standard_deduction: 12_550
47
49
  medical_expense_deduction: 20_000
48
- taxable_income_deductions_if_itemizing: 10_000
50
+ itemized_taxable_income_deductions: 10_000
49
51
  tax_unit_itemizes: true
50
52
  output:
51
53
  la_itemized_deductions: 0
@@ -9,24 +9,29 @@
9
9
  output:
10
10
  me_deductions: 0
11
11
 
12
- - name: Maine deduction is itemized deductions minus phaseout.
12
+ - name: Maine deduction is standard deduction minus phaseout.
13
13
  period: 2022
14
14
  absolute_error_margin: 0
15
15
  input:
16
16
  state_code: ME
17
- me_deduction_phaseout_percentage: 0.40
18
- standard_deduction: 20_000
19
- me_itemized_deductions_pre_phaseout: 25_000
17
+ me_deduction_phaseout_percentage: 0.90
18
+ standard_deduction: 25_000
19
+ me_itemized_deductions_pre_phaseout: 20_000
20
20
  output:
21
- me_deductions: 15_000
21
+ me_deductions: 2_500
22
22
 
23
- - name: Maine deduction is standard deduction minus phaseout.
23
+ - name: Maine deduction is itemized deductions minus phaseout.
24
24
  period: 2022
25
25
  absolute_error_margin: 0
26
26
  input:
27
+ gov.simulation.branch_to_determine_itemization: true
27
28
  state_code: ME
28
- me_deduction_phaseout_percentage: 0.90
29
- standard_deduction: 25_000
30
- me_itemized_deductions_pre_phaseout: 20_000
29
+ me_deduction_phaseout_percentage: 0.40
30
+ standard_deduction: 10_000
31
+ me_itemized_deductions_pre_phaseout: 15_000
31
32
  output:
32
- me_deductions: 2_500
33
+ tax_liability_if_itemizing: 0
34
+ tax_liability_if_not_itemizing: 0
35
+ state_standard_deduction: 10_000
36
+ state_itemized_deductions: 15_000
37
+ me_deductions: 9_000
@@ -53,12 +53,15 @@
53
53
  tax_unit_itemizes: false
54
54
  medical_expense_deduction: 500
55
55
  charitable_deduction: 10_000
56
+ standard_deduction: 5_000
56
57
  households:
57
58
  household:
58
59
  members: [person1]
59
60
  state_code: ME
60
61
  output:
61
- me_itemized_deductions_pre_phaseout: 0
62
+ me_itemized_deductions_pre_phaseout: 11_500
63
+ me_deductions: 5_000
64
+
62
65
 
63
66
  - name: Maine itemized deduction is capped.
64
67
  period: 2022
@@ -0,0 +1,57 @@
1
+ - name: Test case filing separate with income tax over limit
2
+ period: 2021
3
+ input:
4
+ filing_status: SEPARATE
5
+ mt_withheld_income_tax: 6_000 # >5,000
6
+ state_code: MT
7
+ output:
8
+ mt_federal_income_tax_deduction_for_federal_itemization: 5_000
9
+
10
+ - name: Test case filing single with income tax below limit
11
+ period: 2021
12
+ input:
13
+ filing_status: SINGLE
14
+ mt_withheld_income_tax: 2_000 # <5,000
15
+ state_code: MT
16
+ output:
17
+ mt_federal_income_tax_deduction_for_federal_itemization: 2_000
18
+
19
+ - name: Test case filing joint with income tax below limit
20
+ period: 2021
21
+ input:
22
+ filing_status: JOINT
23
+ mt_withheld_income_tax: 7_000 #<10,000
24
+ state_code: MT
25
+ output:
26
+ mt_federal_income_tax_deduction_for_federal_itemization: 7_000
27
+
28
+ - name: Test case filing joint with income tax below limit
29
+ period: 2021
30
+ input:
31
+ filing_status: JOINT
32
+ mt_withheld_income_tax: 7_000 #<10,000
33
+ state_code: MT
34
+ output:
35
+ mt_federal_income_tax_deduction_for_federal_itemization: 7_000
36
+
37
+ - name: Amount distributed to the head
38
+ period: 2021
39
+ absolute_error_margin: 1
40
+ input:
41
+ people:
42
+ person1:
43
+ is_tax_unit_head: true
44
+ mt_withheld_income_tax: 3_000
45
+ person2:
46
+ is_tax_unit_head: false
47
+ mt_withheld_income_tax: 4_000
48
+ tax_units:
49
+ tax_unit:
50
+ members: [person1, person2]
51
+ filing_status: JOINT
52
+ households:
53
+ household:
54
+ members: [person1, person2]
55
+ state_code: MT
56
+ output:
57
+ mt_federal_income_tax_deduction_for_federal_itemization: 7_000
@@ -0,0 +1,39 @@
1
+ - name: Deductions split evenly
2
+ period: 2021
3
+ input:
4
+ people:
5
+ person1:
6
+ mt_agi: 500
7
+ person2:
8
+ mt_agi: 500
9
+ tax_units:
10
+ tax_unit:
11
+ members: [person1, person2]
12
+ mt_federal_income_tax_deduction_for_federal_itemization: 3_000
13
+ state_filing_status_if_married_filing_separately_on_same_return: SEPARATE
14
+ households:
15
+ household:
16
+ members: [person1, person2]
17
+ state_code: MT
18
+ output:
19
+ mt_federal_income_tax_deduction_for_federal_itemization_indiv: [1_500, 1_500]
20
+
21
+ - name: Deductions capped at max amount individually
22
+ period: 2021
23
+ input:
24
+ people:
25
+ person1:
26
+ mt_agi: 100
27
+ person2:
28
+ mt_agi: 900
29
+ tax_units:
30
+ tax_unit:
31
+ members: [person1, person2]
32
+ mt_federal_income_tax_deduction_for_federal_itemization: 10_000
33
+ state_filing_status_if_married_filing_separately_on_same_return: SEPARATE
34
+ households:
35
+ household:
36
+ members: [person1, person2]
37
+ state_code: MT
38
+ output:
39
+ mt_federal_income_tax_deduction_for_federal_itemization_indiv: [1_000, 5_000]
@@ -0,0 +1,76 @@
1
+ - name: Test case 1 # filing separate
2
+ period: 2021
3
+ input:
4
+ charitable_deduction: 800
5
+ investment_interest_expense: 265
6
+ mt_salt_deduction: 5_000
7
+ mt_medical_expense_deduction_indiv: 1_000
8
+ casualty_loss_deduction: 400
9
+ mt_child_dependent_care_expense_deduction: 123
10
+ mt_federal_income_tax_deduction_for_federal_itemization_indiv: 2_000
11
+ state_code: MT
12
+ output:
13
+ mt_itemized_deductions_for_federal_itemization_indiv: 9_188
14
+
15
+ - name: Test case 2 #salt has a cap of 10000 for single, head of household and joint
16
+ period: 2022
17
+ input:
18
+ charitable_deduction: 0
19
+ investment_interest_expense: 1_234
20
+ mt_salt_deduction: 10_000
21
+ mt_medical_expense_deduction_indiv: 3_000
22
+ casualty_loss_deduction: 0
23
+ mt_child_dependent_care_expense_deduction: 0
24
+ mt_federal_income_tax_deduction_for_federal_itemization_indiv: 2_000
25
+ state_code: MT
26
+ output:
27
+ mt_itemized_deductions_for_federal_itemization_indiv: 16_234
28
+
29
+ - name: Test case 3 #sum all terms
30
+ period: 2021
31
+ input:
32
+ charitable_deduction: 1_000
33
+ mortgage_interest: 34
34
+ mt_salt_deduction: 1_035
35
+ mt_medical_expense_deduction_indiv: 3_000
36
+ casualty_loss_deduction: 745
37
+ mt_child_dependent_care_expense_deduction: 1_004
38
+ mt_federal_income_tax_deduction_for_federal_itemization_indiv: 2_000
39
+ state_code: MT
40
+ output:
41
+ mt_itemized_deductions_for_federal_itemization_indiv: 8_318
42
+
43
+ - name: Amount only distributed to the head and spouse
44
+ period: 2021
45
+ absolute_error_margin: 1
46
+ input:
47
+ people:
48
+ person1:
49
+ is_tax_unit_head_or_spouse: true
50
+ mt_misc_deductions: 100
51
+ mt_medical_expense_deduction_indiv: 200
52
+ mt_salt_deduction: 300
53
+ mt_federal_income_tax_deduction_for_federal_itemization_indiv: 400
54
+ person2:
55
+ is_tax_unit_head_or_spouse: true
56
+ mt_misc_deductions: 100
57
+ mt_medical_expense_deduction_indiv: 200
58
+ mt_salt_deduction: 300
59
+ mt_federal_income_tax_deduction_for_federal_itemization_indiv: 100
60
+ person3:
61
+ is_tax_unit_head_or_spouse: false
62
+ is_tax_unit_dependent: true
63
+ mt_misc_deductions: 100
64
+ mt_medical_expense_deduction_indiv: 12
65
+ mt_salt_deduction: 200
66
+ mt_federal_income_tax_deduction_for_federal_itemization_indiv: 100
67
+ tax_units:
68
+ tax_unit:
69
+ members: [person1, person2, person3]
70
+ charitable_deduction: 0
71
+ households:
72
+ household:
73
+ members: [person1, person2, person3]
74
+ state_code: MT
75
+ output:
76
+ mt_itemized_deductions_for_federal_itemization_indiv: [1_000, 700, 0]
@@ -0,0 +1,76 @@
1
+ - name: Test case 1 # filing separate
2
+ period: 2021
3
+ input:
4
+ filing_status: SEPARATE
5
+ charitable_deduction: 800
6
+ investment_interest_expense: 265
7
+ mt_salt_deduction: 5_000
8
+ mt_medical_expense_deduction_joint: 1_000
9
+ casualty_loss_deduction: 400
10
+ mt_child_dependent_care_expense_deduction: 123
11
+ mt_federal_income_tax_deduction_for_federal_itemization: 2_000
12
+ state_code: MT
13
+ output:
14
+ mt_itemized_deductions_for_federal_itemization_joint: 9_588
15
+
16
+ - name: Test case 2 #salt has a cap of 10000 for single, head of household and joint
17
+ period: 2022
18
+ input:
19
+ filing_status: HEAD_OF_HOUSEHOLD
20
+ charitable_deduction: 0
21
+ mortgage_interest: 1_234
22
+ mt_salt_deduction: 10_000
23
+ mt_medical_expense_deduction_joint: 3_000
24
+ casualty_loss_deduction: 0
25
+ mt_child_dependent_care_expense_deduction: 0
26
+ mt_federal_income_tax_deduction_for_federal_itemization: 2_000
27
+ state_code: MT
28
+ output:
29
+ mt_itemized_deductions_for_federal_itemization_joint: 16_234
30
+
31
+ - name: Test case 3 #sum all terms
32
+ period: 2021
33
+ input:
34
+ filing_status: SINGLE
35
+ charitable_deduction: 1_000
36
+ mortgage_interest: 34
37
+ mt_salt_deduction: 1_035
38
+ mt_medical_expense_deduction_joint: 3_000
39
+ casualty_loss_deduction: 745
40
+ mt_child_dependent_care_expense_deduction: 1_004
41
+ mt_federal_income_tax_deduction_for_federal_itemization: 2_000
42
+ state_code: MT
43
+ output:
44
+ mt_itemized_deductions_for_federal_itemization_joint: 8_818
45
+
46
+ - name: Amount only distributed to the head
47
+ period: 2021
48
+ absolute_error_margin: 1
49
+ input:
50
+ people:
51
+ person1:
52
+ is_tax_unit_head: true
53
+ mt_misc_deductions: 100
54
+ mt_medical_expense_deduction_joint: 200
55
+ mt_salt_deduction: 300
56
+ investment_interest_expense: 100
57
+ person2:
58
+ is_tax_unit_head: false
59
+ mt_misc_deductions: 100
60
+ mt_medical_expense_deduction_joint: 200
61
+ mt_salt_deduction: 300
62
+ person3:
63
+ is_tax_unit_head: false
64
+ mt_misc_deductions: 100
65
+ mt_medical_expense_deduction_joint: 12
66
+ mt_salt_deduction: 200
67
+ households:
68
+ household:
69
+ members: [person1, person2, person3]
70
+ state_code: MT
71
+ tax_units:
72
+ tax_unit:
73
+ members: [person1, person2, person3]
74
+ mt_federal_income_tax_deduction_for_federal_itemization: 600
75
+ output:
76
+ mt_itemized_deductions_for_federal_itemization_joint: [2_212, 0, 0]