policyengine-us 1.400.2__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.
- policyengine_us/parameters/gov/irs/social_security/taxability/rate/additional/benefit_cap.yaml +11 -0
- policyengine_us/parameters/gov/irs/social_security/taxability/rate/additional/bracket.yaml +11 -0
- policyengine_us/parameters/gov/irs/social_security/taxability/rate/additional/excess.yaml +11 -0
- policyengine_us/parameters/gov/irs/social_security/taxability/rate/base/benefit_cap.yaml +11 -0
- policyengine_us/parameters/gov/irs/social_security/taxability/rate/base/excess.yaml +11 -0
- policyengine_us/tests/policy/baseline/gov/irs/social_security/taxable_social_security.yaml +71 -0
- policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/tax_unit_taxable_social_security.py +27 -11
- {policyengine_us-1.400.2.dist-info → policyengine_us-1.401.0.dist-info}/METADATA +1 -1
- {policyengine_us-1.400.2.dist-info → policyengine_us-1.401.0.dist-info}/RECORD +12 -8
- policyengine_us/parameters/gov/irs/social_security/taxability/rate/additional.yaml +0 -11
- policyengine_us/parameters/gov/irs/social_security/taxability/rate/base.yaml +0 -11
- {policyengine_us-1.400.2.dist-info → policyengine_us-1.401.0.dist-info}/WHEEL +0 -0
- {policyengine_us-1.400.2.dist-info → policyengine_us-1.401.0.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.400.2.dist-info → policyengine_us-1.401.0.dist-info}/licenses/LICENSE +0 -0
policyengine_us/parameters/gov/irs/social_security/taxability/rate/additional/benefit_cap.yaml
ADDED
|
@@ -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
|
|
@@ -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
|
|
@@ -49,26 +49,42 @@ class tax_unit_taxable_social_security(Variable):
|
|
|
49
49
|
0, combined_income - adjusted_base_amount
|
|
50
50
|
)
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
# Tier 1: Between base and adjusted base thresholds
|
|
53
|
+
# Per IRC §86(a)(1), "the amount determined under paragraph (1)"
|
|
54
|
+
# Taxable amount is lesser of:
|
|
55
|
+
# - base.benefit_cap * SS benefits [§86(a)(1)(A)]
|
|
56
|
+
# - base.excess * excess over base [§86(a)(1)(B)]
|
|
57
|
+
amount_under_paragraph_1 = min_(
|
|
58
|
+
p.rate.base.benefit_cap * gross_ss,
|
|
59
|
+
p.rate.base.excess * combined_income_excess,
|
|
54
60
|
)
|
|
61
|
+
|
|
62
|
+
# Tier 2: Above adjusted base threshold
|
|
63
|
+
# Per IRC §86(a)(2)(A)(ii), the lesser of:
|
|
64
|
+
# - "the amount determined under paragraph (1)" (calculated above)
|
|
65
|
+
# - "one-half of the difference between the adjusted base amount and the base amount"
|
|
66
|
+
bracket_amount = min_(
|
|
67
|
+
amount_under_paragraph_1,
|
|
68
|
+
p.rate.additional.bracket * (adjusted_base_amount - base_amount),
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
# Per IRC §86(a)(2), the lesser of:
|
|
72
|
+
# (A) 85% of excess over adjusted base + bracket amount, or
|
|
73
|
+
# (B) 85% of social security benefits
|
|
55
74
|
amount_if_over_second_threshold = min_(
|
|
56
|
-
p.rate.additional * excess_over_adjusted_base
|
|
57
|
-
+
|
|
58
|
-
|
|
59
|
-
p.rate.base * (adjusted_base_amount - base_amount),
|
|
60
|
-
),
|
|
61
|
-
p.rate.additional * gross_ss,
|
|
75
|
+
p.rate.additional.excess * excess_over_adjusted_base
|
|
76
|
+
+ bracket_amount,
|
|
77
|
+
p.rate.additional.benefit_cap * gross_ss,
|
|
62
78
|
)
|
|
79
|
+
|
|
63
80
|
return select(
|
|
64
81
|
[
|
|
65
82
|
under_first_threshold,
|
|
66
83
|
under_second_threshold,
|
|
67
|
-
True,
|
|
68
84
|
],
|
|
69
85
|
[
|
|
70
86
|
0,
|
|
71
|
-
|
|
72
|
-
amount_if_over_second_threshold,
|
|
87
|
+
amount_under_paragraph_1,
|
|
73
88
|
],
|
|
89
|
+
default=amount_if_over_second_threshold,
|
|
74
90
|
)
|
|
@@ -746,8 +746,11 @@ policyengine_us/parameters/gov/irs/self_employment/rate/social_security.yaml,sha
|
|
|
746
746
|
policyengine_us/parameters/gov/irs/social_security/README.md,sha256=htok4YcXCdYFwOsxNtEtU4P9Ykf2yDrpa2DPFyww9JE,18
|
|
747
747
|
policyengine_us/parameters/gov/irs/social_security/taxability/combined_income_ss_fraction.yaml,sha256=fvuKjwx8UBTaGs6J5Z6M8-LomIu8sS280JzWoQ4vBdQ,491
|
|
748
748
|
policyengine_us/parameters/gov/irs/social_security/taxability/income/revoked_deductions.yaml,sha256=X9ts8sZ5G_pfbxY7TOAqR99e0Jsn0e7pf_W2qritgw4,562
|
|
749
|
-
policyengine_us/parameters/gov/irs/social_security/taxability/rate/additional.yaml,sha256=
|
|
750
|
-
policyengine_us/parameters/gov/irs/social_security/taxability/rate/
|
|
749
|
+
policyengine_us/parameters/gov/irs/social_security/taxability/rate/additional/benefit_cap.yaml,sha256=dFdr22Ns-cvnj1WUNVhnC1QUL33Zw0C1NTJt2Gr9hR8,383
|
|
750
|
+
policyengine_us/parameters/gov/irs/social_security/taxability/rate/additional/bracket.yaml,sha256=9NatrNWb5YHvV2bNMMfJMTlJD9BoQn0gkEBzdaIp0Zk,399
|
|
751
|
+
policyengine_us/parameters/gov/irs/social_security/taxability/rate/additional/excess.yaml,sha256=vD_QjP8NiPLjPZrpgFjumLGd_XaokZIfS8pVZ5Zq_Gg,415
|
|
752
|
+
policyengine_us/parameters/gov/irs/social_security/taxability/rate/base/benefit_cap.yaml,sha256=nJaFaW7dSAqorYHCCCTXlm45uCcHZUjLxglNAQNULHM,386
|
|
753
|
+
policyengine_us/parameters/gov/irs/social_security/taxability/rate/base/excess.yaml,sha256=MixXzyhrU0Oxr3Qw6IwQtD88QANmqYSwaWxKbT4dMws,399
|
|
751
754
|
policyengine_us/parameters/gov/irs/social_security/taxability/threshold/adjusted_base/main.yaml,sha256=ga2H21QF4WveSBSezgTUF1giWRcg1BepG52enDxPAeQ,579
|
|
752
755
|
policyengine_us/parameters/gov/irs/social_security/taxability/threshold/adjusted_base/separate_cohabitating.yaml,sha256=PkP6Wf658F3ewXzG5tBAFFoNyQDj1cCXrPmmqxld6cQ,461
|
|
753
756
|
policyengine_us/parameters/gov/irs/social_security/taxability/threshold/base/main.yaml,sha256=i-6qoYRem6LKSFVWPc8AblNjRHWu3BehcvJ2Bw6vwuk,592
|
|
@@ -3489,6 +3492,7 @@ policyengine_us/tests/policy/baseline/gov/irs/payroll/social_security/taxable_ea
|
|
|
3489
3492
|
policyengine_us/tests/policy/baseline/gov/irs/self_employment/self_employment_medicare_tax.yaml,sha256=GQF0ekmINx3Ta8Opn7RHKuWo_aiceSMI-ee33QxRGgQ,262
|
|
3490
3493
|
policyengine_us/tests/policy/baseline/gov/irs/self_employment/self_employment_social_security_tax.yaml,sha256=CMCZRWdAhngih3tUYT4U3cEIOzwDvcpqgeSLSJJS3H0,303
|
|
3491
3494
|
policyengine_us/tests/policy/baseline/gov/irs/self_employment/taxable_self_employment_income.yaml,sha256=R62CYHdJPD7MyqwCw7M4JCqdoQoXggZIb67wD8Iy0TY,543
|
|
3495
|
+
policyengine_us/tests/policy/baseline/gov/irs/social_security/taxable_social_security.yaml,sha256=X_jAfJS8EHbAzBrOaHziJ4L6vOouyii8bW3TAkjrGGQ,2040
|
|
3492
3496
|
policyengine_us/tests/policy/baseline/gov/irs/tax/estate/estate_tax.yaml,sha256=-ojQCxQ7cb81zDd23mBVBTYjFkzcdVwhIeuAUKlg41s,317
|
|
3493
3497
|
policyengine_us/tests/policy/baseline/gov/irs/tax/estate/estate_tax_before_credits.yaml,sha256=jXecmWpAqK5UkN36IOl_Lbw0kfh3xCwDpQuWHlAmugc,705
|
|
3494
3498
|
policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/additional_medicare_tax.yaml,sha256=GzXA_sGrfTWHxK6HXlBgIRpgZGBbVTFJKwt8lh-Vjms,456
|
|
@@ -5690,7 +5694,7 @@ policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/ir
|
|
|
5690
5694
|
policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/tax_unit_combined_income_for_social_security_taxability.py,sha256=nFIRNtKGve9raB6hUZfZlMtPRhGDtaCuvqm32HHN6cE,1006
|
|
5691
5695
|
policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/tax_unit_social_security.py,sha256=lgQIQOgtnvkbnDfvIFMnzryDaISDaD9VenOZNyr-Fd0,243
|
|
5692
5696
|
policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/tax_unit_ss_combined_income_excess.py,sha256=AWj1VzfU-DzUNP_9f_dpxuSSixtwyPn6N35n34b9fGo,1409
|
|
5693
|
-
policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/tax_unit_taxable_social_security.py,sha256=
|
|
5697
|
+
policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/tax_unit_taxable_social_security.py,sha256=S-WUOzbUsdwj0DLzZaleYE_ru8GPmdi8RxGu6ZVE1a4,3604
|
|
5694
5698
|
policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security.py,sha256=KlNVAoZaB1I1I2vdPti5-hmPOFeBQA7HFBAGTqwbgwo,1326
|
|
5695
5699
|
policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_ss_magi.py,sha256=ZtnZ79E1uv3Fy-3Sfu77_qj5ipUMw9pG2iFHLQXfe6A,1982
|
|
5696
5700
|
policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/unemployment_insurance/tax_exempt_unemployment_compensation.py,sha256=LcfEa0LR71l0fJJ2mDykKuHMxHIwbF_ir7XJ7cDAWGM,330
|
|
@@ -8441,8 +8445,8 @@ policyengine_us/variables/input/farm_income.py,sha256=BEKxYmHNNnWJAAvULl5qZJigy5
|
|
|
8441
8445
|
policyengine_us/variables/input/geography.py,sha256=Ux0ueAf0rhZaflyEqz81UuXP3xKCKBDvoO3CrKhiQEc,5421
|
|
8442
8446
|
policyengine_us/variables/input/self_employment_income.py,sha256=PwsGz8R4lRikKWUYOhsC0qosNNLXq4f5SQmfw4S3mk8,511
|
|
8443
8447
|
policyengine_us/variables/input/self_employment_income_before_lsr.py,sha256=E8fcX9Nlyqz8dziHhQv_euutdmoIwFMMWePUwbbwv_w,379
|
|
8444
|
-
policyengine_us-1.
|
|
8445
|
-
policyengine_us-1.
|
|
8446
|
-
policyengine_us-1.
|
|
8447
|
-
policyengine_us-1.
|
|
8448
|
-
policyengine_us-1.
|
|
8448
|
+
policyengine_us-1.401.0.dist-info/METADATA,sha256=y1IleqhIafxPgWLoOBbcqHcuGFMSB-TrrezhXW2yCW0,1649
|
|
8449
|
+
policyengine_us-1.401.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
8450
|
+
policyengine_us-1.401.0.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
|
|
8451
|
+
policyengine_us-1.401.0.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
|
|
8452
|
+
policyengine_us-1.401.0.dist-info/RECORD,,
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
description: The IRS includes this additional portion of Social Security benefits in taxable income for filers whose modified adjusted gross income exceeds the additional threshold.
|
|
2
|
-
values:
|
|
3
|
-
2013-01-01: 0.85
|
|
4
|
-
|
|
5
|
-
metadata:
|
|
6
|
-
breakdown: filing_status
|
|
7
|
-
unit: /1
|
|
8
|
-
label: Social Security benefit additional taxable rate
|
|
9
|
-
reference:
|
|
10
|
-
- title: 26 U.S. Code § 86(a)(2)
|
|
11
|
-
href: https://www.law.cornell.edu/uscode/text/26/86#a_2
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
description: The IRS includes this portion of Social Security benefits in taxable income for filers whose modified adjusted gross income is between the base and additional thresholds.
|
|
2
|
-
values:
|
|
3
|
-
2013-01-01: 0.5
|
|
4
|
-
|
|
5
|
-
metadata:
|
|
6
|
-
breakdown: filing_status
|
|
7
|
-
unit: /1
|
|
8
|
-
label: Social Security benefit base taxable rate
|
|
9
|
-
reference:
|
|
10
|
-
- title: 26 U.S. Code § 86(a)(1)
|
|
11
|
-
href: https://www.law.cornell.edu/uscode/text/26/86#a_1
|
|
File without changes
|
|
File without changes
|
|
File without changes
|