policyengine-us 1.355.0__py3-none-any.whl → 1.357.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.
- policyengine_us/parameters/gov/irs/credits/ctc/amount/adult_dependent.yaml +3 -1
- policyengine_us/parameters/gov/irs/credits/ctc/amount/base.yaml +9 -1
- policyengine_us/parameters/gov/irs/credits/ctc/child_ssn_requirement_applies.yaml +3 -0
- policyengine_us/parameters/gov/irs/credits/ctc/phase_out/threshold.yaml +3 -6
- policyengine_us/parameters/gov/irs/credits/ctc/refundable/individual_max.yaml +7 -1
- policyengine_us/parameters/gov/irs/credits/ctc/refundable/phase_in/threshold.yaml +3 -1
- policyengine_us/parameters/gov/irs/credits/estate/base.yaml +4 -4
- policyengine_us/parameters/gov/irs/deductions/itemized/casualty/active.yaml +4 -0
- policyengine_us/parameters/gov/irs/deductions/itemized/interest/mortgage/cap.yaml +3 -0
- policyengine_us/parameters/gov/irs/deductions/standard/amount.yaml +62 -60
- policyengine_us/parameters/gov/irs/income/amt/exemption/amount.yaml +58 -55
- policyengine_us/parameters/gov/irs/income/amt/exemption/phase_out/start.yaml +58 -54
- policyengine_us/parameters/gov/irs/income/amt/exemption/separate_limit.yaml +14 -1
- policyengine_us/parameters/gov/irs/income/bracket.yaml +223 -395
- policyengine_us/parameters/gov/irs/income/exemption/amount.yaml +3 -11
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/casualty_loss/separate_percentage.yaml +14 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/charity/floor.yaml +14 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/education/age_threshold.yaml +12 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/education/max.yaml +12 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/medical/floor.yaml +14 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/mortgage/age_threshold.yaml +12 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/mortgage/floor.yaml +14 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/mortgage/max.yaml +14 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/retirement/age_threshold.yaml +12 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/retirement/max.yaml +12 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/exemptions/dependent/amount/non_separate.yaml +12 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/exemptions/dependent/amount/separate.yaml +12 -0
- policyengine_us/tests/policy/baseline/gov/irs/credits/ctc/maximum/individual/ctc_adult_individual_maximum.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/irs/deductions/itemized/salt_and_real_estate/reported_salt.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/states/ny/tax/income/credits/ny_ctc.yaml +6 -6
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/deductions/education/pr_education_deduction.yaml +17 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/deductions/education/pr_education_deduction_beneficiary_count.yaml +21 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/deductions/pr_casualty_loss_deduction.yaml +17 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/deductions/pr_charitable_deduction.yaml +19 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/deductions/pr_medical_expense_deduction.yaml +38 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/deductions/pr_mortgage_deduction.yaml +87 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/deductions/retirement/pr_retirement_deduction.yaml +39 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/deductions/retirement/pr_retirement_deduction_eligibility.yaml +15 -0
- policyengine_us/tests/policy/contrib/additional_tax_bracket/additional_tax_bracket_reform.yaml +4 -4
- policyengine_us/tests/policy/contrib/ctc/ctc_additional_bracket.yaml +1 -1
- policyengine_us/tests/policy/contrib/treasury/repeal_dependent_exemptions.yaml +2 -2
- policyengine_us/variables/gov/territories/pr/tax/income/pr_agi.py +11 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/education/pr_education_deduction.py +20 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/education/pr_education_deduction_beneficiary_count.py +20 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/pr_casualty_loss_deduction.py +27 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/pr_charitable_deduction.py +23 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/pr_medical_expense_deduction.py +19 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/pr_mortgage_deduction.py +42 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/retirement/pr_retirement_deduction.py +25 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/retirement/pr_retirement_deduction_eligibility.py +20 -0
- {policyengine_us-1.355.0.dist-info → policyengine_us-1.357.0.dist-info}/METADATA +1 -1
- {policyengine_us-1.355.0.dist-info → policyengine_us-1.357.0.dist-info}/RECORD +55 -26
- {policyengine_us-1.355.0.dist-info → policyengine_us-1.357.0.dist-info}/WHEEL +0 -0
- {policyengine_us-1.355.0.dist-info → policyengine_us-1.357.0.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.355.0.dist-info → policyengine_us-1.357.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -12,6 +12,9 @@ metadata:
|
|
|
12
12
|
- title: CBO Tax Parameters and Effective Marginal Tax Rates | Jan 2025
|
|
13
13
|
# 1. Tax Parameters.
|
|
14
14
|
href: https://www.cbo.gov/data/budget-economic-data
|
|
15
|
+
# OBBB permanently sets value to zero.
|
|
16
|
+
- title: H.R.1 - One Big Beautiful Bill Act
|
|
17
|
+
href: https://www.congress.gov/bill/119th-congress/house-bill/1/text
|
|
15
18
|
|
|
16
19
|
values:
|
|
17
20
|
2013-01-01: 3_900
|
|
@@ -20,14 +23,3 @@ values:
|
|
|
20
23
|
2016-01-01: 4_050
|
|
21
24
|
2017-01-01: 4_050
|
|
22
25
|
2018-01-01: 0
|
|
23
|
-
# Values derived from the CBO Projections
|
|
24
|
-
2026-01-01: 5_300
|
|
25
|
-
2027-01-01: 5_400
|
|
26
|
-
2028-01-01: 5_500
|
|
27
|
-
2029-01-01: 5_650
|
|
28
|
-
2030-01-01: 5_750
|
|
29
|
-
2031-01-01: 5_850
|
|
30
|
-
2032-01-01: 5_950
|
|
31
|
-
2033-01-01: 6_100
|
|
32
|
-
2034-01-01: 6_200
|
|
33
|
-
2035-01-01: 6_350
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
description: Puerto Rico deducts this percentage of casualty loss for separate filers.
|
|
2
|
+
metadata:
|
|
3
|
+
unit: /1
|
|
4
|
+
period: year
|
|
5
|
+
label: Puerto Rico casualty loss deduction separate filing status percentage
|
|
6
|
+
reference:
|
|
7
|
+
- title: P.R. Laws tit. 13, § 30135 (10)(A)(ii)
|
|
8
|
+
href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/
|
|
9
|
+
- title: Gov. of Puerto Rico Individual Income Tax Return Form 482.0 4
|
|
10
|
+
href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=4
|
|
11
|
+
- title: Individual Income Tax Return Instructions Booklet 2023
|
|
12
|
+
href: https://hacienda.pr.gov/sites/default/files/inst_individuals_2023.pdf#page=24
|
|
13
|
+
values:
|
|
14
|
+
2023-01-01: 0.5
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
description: Puerto Rico deducts charitable contributions exceeding this percentage of adjusted gross income from taxable income.
|
|
2
|
+
metadata:
|
|
3
|
+
unit: /1
|
|
4
|
+
period: year
|
|
5
|
+
label: Puerto Rico charity contributions deduction floor
|
|
6
|
+
reference:
|
|
7
|
+
- title: P.R. Laws tit. 13, § 30135 (3)(B)(i)(IV)
|
|
8
|
+
href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/
|
|
9
|
+
- title: Gov. of Puerto Rico Individual Income Tax Return Form 482.0 4
|
|
10
|
+
href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=4
|
|
11
|
+
- title: Individual Income Tax Return Instructions Booklet 2023
|
|
12
|
+
href: https://hacienda.pr.gov/sites/default/files/inst_individuals_2023.pdf#page=25
|
|
13
|
+
values:
|
|
14
|
+
2023-01-01: 0.5
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
description: Puerto Rico limits the education contribution deduction to taxpayers under this age.
|
|
2
|
+
metadata:
|
|
3
|
+
unit: year
|
|
4
|
+
period: year
|
|
5
|
+
label: Puerto Rico education contribution deduction age threshold
|
|
6
|
+
reference:
|
|
7
|
+
- title: P.R. Laws tit. 13, § 30135 (8)(C)
|
|
8
|
+
href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/
|
|
9
|
+
- title: Gov. of Puerto Rico Individual Income Tax Return Form 482.0 4
|
|
10
|
+
href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=4
|
|
11
|
+
values:
|
|
12
|
+
2023-01-01: 26
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
description: Puerto Rico allows this maximum amount for the education contribution deduction for each beneficiary.
|
|
2
|
+
metadata:
|
|
3
|
+
unit: currency-USD
|
|
4
|
+
period: year
|
|
5
|
+
label: Puerto Rico education contribution deduction maximum
|
|
6
|
+
reference:
|
|
7
|
+
- title: P.R. Laws tit. 13, § 30135 (8)(B)
|
|
8
|
+
href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/
|
|
9
|
+
- title: Gov. of Puerto Rico Individual Income Tax Return Form 482.0 4
|
|
10
|
+
href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=4
|
|
11
|
+
values:
|
|
12
|
+
2023-01-01: 500
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
description: Puerto Rico deducts medical expenses exceeding this percentage of adjusted gross income from taxable income.
|
|
2
|
+
metadata:
|
|
3
|
+
unit: /1
|
|
4
|
+
period: year
|
|
5
|
+
label: Puerto Rico medical expense deduction floor
|
|
6
|
+
reference:
|
|
7
|
+
- title: P.R. Laws tit. 13, § 30135 (4)
|
|
8
|
+
href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/
|
|
9
|
+
- title: Gov. of Puerto Rico Individual Income Tax Return Form 482.0 4
|
|
10
|
+
href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=4
|
|
11
|
+
- title: Individual Income Tax Return Instructions Booklet 2023
|
|
12
|
+
href: https://hacienda.pr.gov/sites/default/files/inst_individuals_2023.pdf#page=24
|
|
13
|
+
values:
|
|
14
|
+
2023-01-01: 0.06
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
description: Puerto Rico applies the mortgage deduction limitations to taxpayers under this age.
|
|
2
|
+
metadata:
|
|
3
|
+
unit: year
|
|
4
|
+
period: year
|
|
5
|
+
label: Puerto Rico mortgage deduction age threshold
|
|
6
|
+
reference:
|
|
7
|
+
- title: P.R. Laws tit. 13, § 30135 (1)(C)(iii)
|
|
8
|
+
href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/
|
|
9
|
+
- title: Individual Income Tax Return Instructions Booklet 2023
|
|
10
|
+
href: https://hacienda.pr.gov/sites/default/files/inst_individuals_2023.pdf#page=23
|
|
11
|
+
values:
|
|
12
|
+
2023-01-01: 65
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
description: Puerto Rico limits home mortgage deduction to this percentage of the adjusted gross income.
|
|
2
|
+
metadata:
|
|
3
|
+
unit: /1
|
|
4
|
+
period: year
|
|
5
|
+
label: Puerto Rico mortgage deduction floor
|
|
6
|
+
reference:
|
|
7
|
+
- title: P.R. Laws tit. 13, § 30135 (1)(C)(I)
|
|
8
|
+
href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/
|
|
9
|
+
- title: Gov. of Puerto Rico Individual Income Tax Return Form 482.0 4
|
|
10
|
+
href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=4
|
|
11
|
+
- title: Individual Income Tax Return Instructions Booklet 2023
|
|
12
|
+
href: https://hacienda.pr.gov/sites/default/files/inst_individuals_2023.pdf#page=23
|
|
13
|
+
values:
|
|
14
|
+
2023-01-01: 0.3
|
policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/mortgage/max.yaml
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
description: Puerto Rico allows this maximum amount for the mortgage interest deduction.
|
|
2
|
+
metadata:
|
|
3
|
+
unit: currency-USD
|
|
4
|
+
period: year
|
|
5
|
+
label: Puerto Rico mortgage deduction maximum
|
|
6
|
+
reference:
|
|
7
|
+
- title: P.R. Laws tit. 13, § 30135 (1)(C)(i)
|
|
8
|
+
href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/
|
|
9
|
+
- title: Gov. of Puerto Rico Individual Income Tax Return Form 482.0 4
|
|
10
|
+
href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=4
|
|
11
|
+
- title: Individual Income Tax Return Instructions Booklet 2023
|
|
12
|
+
href: https://hacienda.pr.gov/sites/default/files/inst_individuals_2023.pdf#page=23
|
|
13
|
+
values:
|
|
14
|
+
2023-01-01: 35_000
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
description: Puerto Rico limits the retirement contribution deduction to taxpayers under this age.
|
|
2
|
+
metadata:
|
|
3
|
+
unit: year
|
|
4
|
+
period: year
|
|
5
|
+
label: Puerto Rico retirement deduction age threshold
|
|
6
|
+
reference:
|
|
7
|
+
- title: P.R. Laws tit. 13, § 30135 (7)(D)
|
|
8
|
+
href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/
|
|
9
|
+
- title: Individual Income Tax Return Instructions Booklet 2023
|
|
10
|
+
href: https://hacienda.pr.gov/sites/default/files/inst_individuals_2023.pdf#page=26
|
|
11
|
+
values:
|
|
12
|
+
2023-01-01: 75
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
description: Puerto Rico allows this maximum amount for the retirement contribution deduction.
|
|
2
|
+
metadata:
|
|
3
|
+
unit: currency-USD
|
|
4
|
+
period: year
|
|
5
|
+
label: Puerto Rico retirement deduction maximum
|
|
6
|
+
reference:
|
|
7
|
+
- title: P.R. Laws tit. 13, § 30135 (7)(B)
|
|
8
|
+
href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/
|
|
9
|
+
- title: Individual Income Tax Return Instructions Booklet 2023
|
|
10
|
+
href: https://hacienda.pr.gov/sites/default/files/inst_individuals_2023.pdf#page=26
|
|
11
|
+
values:
|
|
12
|
+
2023-01-01: 5_000
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
description: Puerto Rico provides the following dependent exemption amount for non-separate filers.
|
|
2
|
+
values:
|
|
3
|
+
2023-01-01: 2_500
|
|
4
|
+
metadata:
|
|
5
|
+
unit: currency-USD
|
|
6
|
+
period: year
|
|
7
|
+
label: Puerto Rico dependent exemption non-separate filers amount
|
|
8
|
+
reference:
|
|
9
|
+
- title: Gov. of Puerto Rico Form 482.0 2024
|
|
10
|
+
href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=2
|
|
11
|
+
- title: P.R. Laws tit. 13, § 30138 (b)(1)
|
|
12
|
+
href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30138/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
description: Puerto Rico provides the following dependent exemption amount for separate filers.
|
|
2
|
+
values:
|
|
3
|
+
2023-01-01: 1_250
|
|
4
|
+
metadata:
|
|
5
|
+
unit: currency-USD
|
|
6
|
+
period: year
|
|
7
|
+
label: Puerto Rico dependent exemption separate filers amount
|
|
8
|
+
reference:
|
|
9
|
+
- title: Gov. of Puerto Rico Form 482.0 2024
|
|
10
|
+
href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=2
|
|
11
|
+
- title: P.R. Laws tit. 13, § 30138 (b)(1)
|
|
12
|
+
href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30138/
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
output:
|
|
28
28
|
ctc_adult_individual_maximum: 500
|
|
29
29
|
|
|
30
|
-
- name:
|
|
30
|
+
- name: Extended by OBBB.
|
|
31
31
|
period: 2026
|
|
32
32
|
input:
|
|
33
33
|
is_tax_unit_dependent: true
|
|
34
34
|
ctc_child_individual_maximum: 0
|
|
35
35
|
output:
|
|
36
|
-
ctc_adult_individual_maximum:
|
|
36
|
+
ctc_adult_individual_maximum: 500
|
|
@@ -126,9 +126,9 @@
|
|
|
126
126
|
state_code: NY
|
|
127
127
|
output:
|
|
128
128
|
refundable_ctc: 0
|
|
129
|
-
non_refundable_ctc:
|
|
129
|
+
non_refundable_ctc: 2_200
|
|
130
130
|
income_tax_before_credits: 0
|
|
131
|
-
ctc:
|
|
131
|
+
ctc: 2_200 # $1,000 for the calculation as pre-TCJA values apply
|
|
132
132
|
ctc_value: 0
|
|
133
133
|
ny_ctc: 1_000 # Updated CTC: $1,000 for child age 0
|
|
134
134
|
|
|
@@ -149,10 +149,10 @@
|
|
|
149
149
|
members: [parent, child]
|
|
150
150
|
state_code: NY
|
|
151
151
|
output:
|
|
152
|
-
refundable_ctc:
|
|
153
|
-
non_refundable_ctc:
|
|
154
|
-
ctc:
|
|
155
|
-
ctc_value:
|
|
152
|
+
refundable_ctc: 1_562.50
|
|
153
|
+
non_refundable_ctc: 637.5
|
|
154
|
+
ctc: 2_200
|
|
155
|
+
ctc_value: 2_200
|
|
156
156
|
ny_ctc: 1_000 # Updated CTC: $1,000 for child age 0
|
|
157
157
|
|
|
158
158
|
# Updated CTC Tests for 2025-2027 Rules
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
- name: Contribution smaller than maximum
|
|
2
|
+
period: 2024
|
|
3
|
+
input:
|
|
4
|
+
investment_in_529_plan: 1_300
|
|
5
|
+
pr_education_deduction_beneficiary_count: 3
|
|
6
|
+
state_code: PR
|
|
7
|
+
output:
|
|
8
|
+
pr_education_deduction: 1_300
|
|
9
|
+
|
|
10
|
+
- name: Contribution larger than maximum
|
|
11
|
+
period: 2024
|
|
12
|
+
input:
|
|
13
|
+
investment_in_529_plan: 5_000
|
|
14
|
+
pr_education_deduction_beneficiary_count: 4
|
|
15
|
+
state_code: PR
|
|
16
|
+
output:
|
|
17
|
+
pr_education_deduction: 2_000
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
- name: Base test
|
|
2
|
+
period: 2024
|
|
3
|
+
input:
|
|
4
|
+
people:
|
|
5
|
+
person1:
|
|
6
|
+
age: 30
|
|
7
|
+
is_tax_unit_dependent: false
|
|
8
|
+
person2:
|
|
9
|
+
age: 26
|
|
10
|
+
is_tax_unit_dependent: true
|
|
11
|
+
person3:
|
|
12
|
+
age: 21
|
|
13
|
+
is_tax_unit_dependent: true
|
|
14
|
+
tax_units:
|
|
15
|
+
tax_unit:
|
|
16
|
+
members: [person1, person2, person3]
|
|
17
|
+
households:
|
|
18
|
+
household:
|
|
19
|
+
state_code: PR
|
|
20
|
+
output:
|
|
21
|
+
pr_education_deduction_beneficiary_count: 1
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
- name: Separate filer
|
|
2
|
+
period: 2024
|
|
3
|
+
input:
|
|
4
|
+
casualty_loss: 20_000
|
|
5
|
+
filing_status: SEPARATE
|
|
6
|
+
state_code: PR
|
|
7
|
+
output:
|
|
8
|
+
pr_casualty_loss_deduction: 10_000
|
|
9
|
+
|
|
10
|
+
- name: Single filer
|
|
11
|
+
period: 2024
|
|
12
|
+
input:
|
|
13
|
+
casualty_loss: 3_000
|
|
14
|
+
filing_status: SINGLE
|
|
15
|
+
state_code: PR
|
|
16
|
+
output:
|
|
17
|
+
pr_casualty_loss_deduction: 3_000
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
- name: More charitable contributions than income
|
|
2
|
+
period: 2024
|
|
3
|
+
input:
|
|
4
|
+
charitable_cash_donations: 20_000
|
|
5
|
+
charitable_non_cash_donations: 1_000
|
|
6
|
+
pr_agi: 10_000
|
|
7
|
+
state_code: PR
|
|
8
|
+
output:
|
|
9
|
+
pr_charitable_deduction: 5000
|
|
10
|
+
|
|
11
|
+
- name: More income than charitable contributions
|
|
12
|
+
period: 2024
|
|
13
|
+
input:
|
|
14
|
+
charitable_cash_donations: 1_000
|
|
15
|
+
charitable_non_cash_donations: 500
|
|
16
|
+
pr_agi: 50_000
|
|
17
|
+
state_code: PR
|
|
18
|
+
output:
|
|
19
|
+
pr_charitable_deduction: 1_500
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
- name: Medical expenses higher than adjusted gross income
|
|
2
|
+
period: 2024
|
|
3
|
+
input:
|
|
4
|
+
people:
|
|
5
|
+
person1:
|
|
6
|
+
medical_out_of_pocket_expenses: 15_000
|
|
7
|
+
person2:
|
|
8
|
+
medical_out_of_pocket_expenses: 5_000
|
|
9
|
+
tax_units:
|
|
10
|
+
tax_unit:
|
|
11
|
+
members: [person1, person2]
|
|
12
|
+
pr_agi: 1_000
|
|
13
|
+
households:
|
|
14
|
+
household:
|
|
15
|
+
members: [person1, person2]
|
|
16
|
+
state_code: PR
|
|
17
|
+
output:
|
|
18
|
+
pr_medical_expense_deduction: 19_940
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
- name: Medical expenses lower than adjusted gross income
|
|
22
|
+
period: 2024
|
|
23
|
+
input:
|
|
24
|
+
people:
|
|
25
|
+
person1:
|
|
26
|
+
medical_out_of_pocket_expenses: 2000
|
|
27
|
+
person2:
|
|
28
|
+
medical_out_of_pocket_expenses: 999
|
|
29
|
+
tax_units:
|
|
30
|
+
tax_unit:
|
|
31
|
+
members: [person1, person2]
|
|
32
|
+
pr_agi: 50_000
|
|
33
|
+
households:
|
|
34
|
+
household:
|
|
35
|
+
members: [person1, person2]
|
|
36
|
+
state_code: PR
|
|
37
|
+
output:
|
|
38
|
+
pr_medical_expense_deduction: 0
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
- name: Taxpayer over 65 years old over maximum deduction amount
|
|
2
|
+
period: 2024
|
|
3
|
+
input:
|
|
4
|
+
people:
|
|
5
|
+
person1:
|
|
6
|
+
age: 65
|
|
7
|
+
is_tax_unit_head_or_spouse: true
|
|
8
|
+
deductible_mortgage_interest: 20_000
|
|
9
|
+
person2:
|
|
10
|
+
age: 40
|
|
11
|
+
is_tax_unit_head_or_spouse: true
|
|
12
|
+
deductible_mortgage_interest: 20_000
|
|
13
|
+
tax_units:
|
|
14
|
+
tax_unit:
|
|
15
|
+
members: [person1, person2]
|
|
16
|
+
pr_agi: 10_000
|
|
17
|
+
households:
|
|
18
|
+
household:
|
|
19
|
+
state_code: PR
|
|
20
|
+
output:
|
|
21
|
+
pr_mortgage_deduction: 35_000
|
|
22
|
+
|
|
23
|
+
- name: Spouse over 65 years old under maximum deduction amount
|
|
24
|
+
period: 2024
|
|
25
|
+
input:
|
|
26
|
+
people:
|
|
27
|
+
person1:
|
|
28
|
+
age: 40
|
|
29
|
+
is_tax_unit_head_or_spouse: true
|
|
30
|
+
deductible_mortgage_interest: 30_000
|
|
31
|
+
person2:
|
|
32
|
+
age: 65
|
|
33
|
+
is_tax_unit_head_or_spouse: true
|
|
34
|
+
deductible_mortgage_interest: 4_000
|
|
35
|
+
tax_units:
|
|
36
|
+
tax_unit:
|
|
37
|
+
members: [person1, person2]
|
|
38
|
+
pr_agi: 10_000
|
|
39
|
+
households:
|
|
40
|
+
household:
|
|
41
|
+
state_code: PR
|
|
42
|
+
output:
|
|
43
|
+
pr_mortgage_deduction: 34_000
|
|
44
|
+
|
|
45
|
+
- name: Taxpayer under 65 years old limited by AGI
|
|
46
|
+
period: 2024
|
|
47
|
+
input:
|
|
48
|
+
people:
|
|
49
|
+
person1:
|
|
50
|
+
age: 40
|
|
51
|
+
is_tax_unit_head_or_spouse: true
|
|
52
|
+
deductible_mortgage_interest: 20_000
|
|
53
|
+
person2:
|
|
54
|
+
age: 64
|
|
55
|
+
is_tax_unit_head_or_spouse: true
|
|
56
|
+
deductible_mortgage_interest: 10_000
|
|
57
|
+
tax_units:
|
|
58
|
+
tax_unit:
|
|
59
|
+
members: [person1, person2]
|
|
60
|
+
pr_agi: 10_000
|
|
61
|
+
households:
|
|
62
|
+
household:
|
|
63
|
+
state_code: PR
|
|
64
|
+
output:
|
|
65
|
+
pr_mortgage_deduction: 3_000
|
|
66
|
+
|
|
67
|
+
- name: Base test
|
|
68
|
+
period: 2024
|
|
69
|
+
input:
|
|
70
|
+
people:
|
|
71
|
+
person1:
|
|
72
|
+
age: 64
|
|
73
|
+
is_tax_unit_head_or_spouse: true
|
|
74
|
+
deductible_mortgage_interest: 3_000
|
|
75
|
+
person2:
|
|
76
|
+
age: 64
|
|
77
|
+
is_tax_unit_head_or_spouse: true
|
|
78
|
+
deductible_mortgage_interest: 3_001
|
|
79
|
+
tax_units:
|
|
80
|
+
tax_unit:
|
|
81
|
+
members: [person1, person2]
|
|
82
|
+
pr_agi: 20_000
|
|
83
|
+
households:
|
|
84
|
+
household:
|
|
85
|
+
state_code: PR
|
|
86
|
+
output:
|
|
87
|
+
pr_mortgage_deduction: 6_000
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
- name: Contributions are higher than maximum deduction
|
|
2
|
+
period: 2024
|
|
3
|
+
input:
|
|
4
|
+
pr_agi_person: 10_000
|
|
5
|
+
traditional_ira_contributions: 3_001
|
|
6
|
+
roth_ira_contributions: 2_000
|
|
7
|
+
state_code: PR
|
|
8
|
+
output:
|
|
9
|
+
pr_retirement_deduction: 5_000
|
|
10
|
+
|
|
11
|
+
- name: Contributions are lower than maximum deduction
|
|
12
|
+
period: 2024
|
|
13
|
+
input:
|
|
14
|
+
pr_agi_person: 1_300
|
|
15
|
+
traditional_ira_contributions: 500
|
|
16
|
+
roth_ira_contributions: 300
|
|
17
|
+
state_code: PR
|
|
18
|
+
output:
|
|
19
|
+
pr_retirement_deduction: 800
|
|
20
|
+
|
|
21
|
+
- name: Contributions are lower than AGI
|
|
22
|
+
period: 2024
|
|
23
|
+
input:
|
|
24
|
+
pr_agi_person: 4_000
|
|
25
|
+
traditional_ira_contributions: 500
|
|
26
|
+
roth_ira_contributions: 301
|
|
27
|
+
state_code: PR
|
|
28
|
+
output:
|
|
29
|
+
pr_retirement_deduction: 801
|
|
30
|
+
|
|
31
|
+
- name: Contributions are higher than AGI
|
|
32
|
+
period: 2024
|
|
33
|
+
input:
|
|
34
|
+
pr_agi_person: 4_000
|
|
35
|
+
traditional_ira_contributions: 5000
|
|
36
|
+
roth_ira_contributions: 3000
|
|
37
|
+
state_code: PR
|
|
38
|
+
output:
|
|
39
|
+
pr_retirement_deduction: 4_000
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
- name: Not eligible
|
|
2
|
+
period: 2024
|
|
3
|
+
input:
|
|
4
|
+
age: 75
|
|
5
|
+
state_code: PR
|
|
6
|
+
output:
|
|
7
|
+
pr_retirement_deduction_eligibility: False
|
|
8
|
+
|
|
9
|
+
- name: Eligible
|
|
10
|
+
period: 2024
|
|
11
|
+
input:
|
|
12
|
+
age: 74
|
|
13
|
+
state_code: PR
|
|
14
|
+
output:
|
|
15
|
+
pr_retirement_deduction_eligibility: True
|
policyengine_us/tests/policy/contrib/additional_tax_bracket/additional_tax_bracket_reform.yaml
CHANGED
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
taxable_income: 1_000_000
|
|
23
23
|
filing_status: JOINT
|
|
24
24
|
output:
|
|
25
|
-
regular_tax_before_credits:
|
|
26
|
-
income_tax_main_rates:
|
|
25
|
+
regular_tax_before_credits: 291_360
|
|
26
|
+
income_tax_main_rates: 291_360
|
|
27
27
|
|
|
28
28
|
- name: Additional tax bracket is applied, taxable income is below the threshold.
|
|
29
29
|
period: 2027
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
taxable_income: 600_000
|
|
50
50
|
filing_status: JOINT
|
|
51
51
|
output:
|
|
52
|
-
regular_tax_before_credits:
|
|
53
|
-
income_tax_main_rates:
|
|
52
|
+
regular_tax_before_credits: 147_196
|
|
53
|
+
income_tax_main_rates: 147_196
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
tax_unit:
|
|
37
37
|
members: [person1, person2, person3, person4]
|
|
38
38
|
output:
|
|
39
|
-
ctc_child_individual_maximum: [0, 0,
|
|
39
|
+
ctc_child_individual_maximum: [0, 0, 2_200, 2_200]
|
|
40
40
|
|
|
41
41
|
- name: Joint filers with two kids, different refundable amounts
|
|
42
42
|
period: 2024
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
filing_status: SINGLE
|
|
39
39
|
output:
|
|
40
40
|
exemptions_count: 3
|
|
41
|
-
exemptions:
|
|
41
|
+
exemptions: 0
|
|
42
42
|
|
|
43
43
|
- name: Three people, reform applies
|
|
44
44
|
period: 2026
|
|
@@ -62,4 +62,4 @@
|
|
|
62
62
|
filing_status: SINGLE
|
|
63
63
|
output:
|
|
64
64
|
exemptions_count: 2
|
|
65
|
-
exemptions:
|
|
65
|
+
exemptions: 0
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class pr_agi(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Puerto Rico adjusted gross income"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = YEAR
|
|
10
|
+
defined_for = StateCode.PR
|
|
11
|
+
reference = "https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-a/30103/"
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class pr_education_deduction(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Puerto Rico education contribution deduction"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = YEAR
|
|
10
|
+
reference = "https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/" # (8)
|
|
11
|
+
defined_for = StateCode.PR
|
|
12
|
+
|
|
13
|
+
def formula(tax_unit, period, parameters):
|
|
14
|
+
p = parameters(
|
|
15
|
+
period
|
|
16
|
+
).gov.territories.pr.tax.income.taxable_income.deductions.education
|
|
17
|
+
contributions = add(tax_unit, period, ["investment_in_529_plan"])
|
|
18
|
+
count = tax_unit("pr_education_deduction_beneficiary_count", period)
|
|
19
|
+
maximum_contribution = p.max * count
|
|
20
|
+
return min_(maximum_contribution, contributions)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class pr_education_deduction_beneficiary_count(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Puerto Rico education contribution deduction beneficiary count"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = YEAR
|
|
10
|
+
reference = "https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/" # (8)
|
|
11
|
+
defined_for = StateCode.PR
|
|
12
|
+
|
|
13
|
+
def formula(tax_unit, period, parameters):
|
|
14
|
+
p = parameters(
|
|
15
|
+
period
|
|
16
|
+
).gov.territories.pr.tax.income.taxable_income.deductions.education
|
|
17
|
+
person = tax_unit.members
|
|
18
|
+
is_dependent = person("is_tax_unit_dependent", period)
|
|
19
|
+
age_eligible = person("age", period) < p.age_threshold
|
|
20
|
+
return tax_unit.sum(is_dependent & age_eligible)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class pr_casualty_loss_deduction(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Puerto Rico casualty loss deduction"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = YEAR
|
|
10
|
+
reference = "https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/" # (10)
|
|
11
|
+
defined_for = StateCode.PR
|
|
12
|
+
|
|
13
|
+
def formula(tax_unit, period, parameters):
|
|
14
|
+
p = parameters(
|
|
15
|
+
period
|
|
16
|
+
).gov.territories.pr.tax.income.taxable_income.deductions.casualty_loss
|
|
17
|
+
loss = add(tax_unit, period, ["casualty_loss"])
|
|
18
|
+
filing_status = tax_unit("filing_status", period)
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
where(
|
|
22
|
+
filing_status == filing_status.possible_values.SEPARATE,
|
|
23
|
+
p.separate_percentage,
|
|
24
|
+
1,
|
|
25
|
+
)
|
|
26
|
+
* loss
|
|
27
|
+
)
|