policyengine-us 1.389.1__py3-none-any.whl → 1.390.1__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/contrib/crfb/tax_employer_payroll_tax/percentage.yaml +8 -0
- policyengine_us/parameters/gov/irs/deductions/deductions_if_not_itemizing.yaml +3 -3
- policyengine_us/reforms/crfb/tax_employer_payroll_tax.py +11 -4
- policyengine_us/tests/policy/contrib/crfb/tax_employer_payroll_tax_percentage.yaml +159 -0
- {policyengine_us-1.389.1.dist-info → policyengine_us-1.390.1.dist-info}/METADATA +1 -1
- {policyengine_us-1.389.1.dist-info → policyengine_us-1.390.1.dist-info}/RECORD +9 -7
- {policyengine_us-1.389.1.dist-info → policyengine_us-1.390.1.dist-info}/WHEEL +0 -0
- {policyengine_us-1.389.1.dist-info → policyengine_us-1.390.1.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.389.1.dist-info → policyengine_us-1.390.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -17,11 +17,11 @@ values:
|
|
|
17
17
|
- additional_senior_deduction
|
|
18
18
|
- auto_loan_interest_deduction
|
|
19
19
|
2029-01-01:
|
|
20
|
+
- charitable_deduction_for_non_itemizers
|
|
21
|
+
- standard_deduction
|
|
20
22
|
- qualified_business_income_deduction
|
|
21
|
-
- wagering_losses_deduction
|
|
22
|
-
- itemized_taxable_income_deductions
|
|
23
23
|
|
|
24
24
|
metadata:
|
|
25
25
|
unit: list
|
|
26
26
|
period: year
|
|
27
|
-
label: Taxable income deductions if itemizing
|
|
27
|
+
label: Taxable income deductions if not itemizing
|
|
@@ -58,11 +58,18 @@ def tax_employer_payroll_tax_reform() -> Reform:
|
|
|
58
58
|
for source in sources:
|
|
59
59
|
# Add positive values only - losses are deducted later.
|
|
60
60
|
total += not_dependent * max_(0, add(person, period, [source]))
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
|
|
62
|
+
# Get the percentage of employer payroll tax to include
|
|
63
|
+
p = parameters(period).gov.contrib.crfb.tax_employer_payroll_tax
|
|
64
|
+
|
|
65
|
+
# Apply percentage to employer payroll taxes
|
|
66
|
+
employer_payroll_tax = add(
|
|
67
|
+
person,
|
|
68
|
+
period,
|
|
69
|
+
["employer_social_security_tax", "employer_medicare_tax"],
|
|
65
70
|
)
|
|
71
|
+
taxable_employer_payroll_tax = p.percentage * employer_payroll_tax
|
|
72
|
+
return total + taxable_employer_payroll_tax
|
|
66
73
|
|
|
67
74
|
# Create a reform object applies the method
|
|
68
75
|
# It inherits the Reform class
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
- name: Full employer payroll tax inclusion (100%)
|
|
2
|
+
period: 2024
|
|
3
|
+
reforms: policyengine_us.reforms.crfb.tax_employer_payroll_tax.tax_employer_payroll_tax_reform_object
|
|
4
|
+
input:
|
|
5
|
+
gov.contrib.crfb.tax_employer_payroll_tax.in_effect: true
|
|
6
|
+
gov.contrib.crfb.tax_employer_payroll_tax.percentage: 1.0
|
|
7
|
+
people:
|
|
8
|
+
person1:
|
|
9
|
+
employment_income: 50_000
|
|
10
|
+
tax_units:
|
|
11
|
+
tax_unit:
|
|
12
|
+
members: [person1]
|
|
13
|
+
households:
|
|
14
|
+
household:
|
|
15
|
+
members: [person1]
|
|
16
|
+
state_code: CA
|
|
17
|
+
output:
|
|
18
|
+
# With $50,000 income:
|
|
19
|
+
# Employer SS tax: $50,000 * 0.062 = $3,100
|
|
20
|
+
# Employer Medicare tax: $50,000 * 0.0145 = $725
|
|
21
|
+
# Total employer tax: $3,825
|
|
22
|
+
employer_social_security_tax: [3_100]
|
|
23
|
+
employer_medicare_tax: [725]
|
|
24
|
+
# IRS gross income should include 100% of employer taxes
|
|
25
|
+
irs_gross_income: [53_825] # $50,000 + $3,825
|
|
26
|
+
|
|
27
|
+
- name: Half employer payroll tax inclusion (50%)
|
|
28
|
+
period: 2024
|
|
29
|
+
reforms: policyengine_us.reforms.crfb.tax_employer_payroll_tax.tax_employer_payroll_tax_reform_object
|
|
30
|
+
input:
|
|
31
|
+
gov.contrib.crfb.tax_employer_payroll_tax.in_effect: true
|
|
32
|
+
gov.contrib.crfb.tax_employer_payroll_tax.percentage: 0.5
|
|
33
|
+
people:
|
|
34
|
+
person1:
|
|
35
|
+
employment_income: 50_000
|
|
36
|
+
tax_units:
|
|
37
|
+
tax_unit:
|
|
38
|
+
members: [person1]
|
|
39
|
+
households:
|
|
40
|
+
household:
|
|
41
|
+
members: [person1]
|
|
42
|
+
state_code: CA
|
|
43
|
+
output:
|
|
44
|
+
employer_social_security_tax: [3_100]
|
|
45
|
+
employer_medicare_tax: [725]
|
|
46
|
+
# IRS gross income should include 50% of employer taxes
|
|
47
|
+
# $50,000 + ($3,825 * 0.5) = $50,000 + $1,912.50
|
|
48
|
+
irs_gross_income: [51_912.5]
|
|
49
|
+
|
|
50
|
+
- name: Quarter employer payroll tax inclusion (25%)
|
|
51
|
+
period: 2024
|
|
52
|
+
reforms: policyengine_us.reforms.crfb.tax_employer_payroll_tax.tax_employer_payroll_tax_reform_object
|
|
53
|
+
input:
|
|
54
|
+
gov.contrib.crfb.tax_employer_payroll_tax.in_effect: true
|
|
55
|
+
gov.contrib.crfb.tax_employer_payroll_tax.percentage: 0.25
|
|
56
|
+
people:
|
|
57
|
+
person1:
|
|
58
|
+
employment_income: 100_000
|
|
59
|
+
tax_units:
|
|
60
|
+
tax_unit:
|
|
61
|
+
members: [person1]
|
|
62
|
+
households:
|
|
63
|
+
household:
|
|
64
|
+
members: [person1]
|
|
65
|
+
state_code: CA
|
|
66
|
+
output:
|
|
67
|
+
# With $100,000 income:
|
|
68
|
+
# Employer SS tax: $100,000 * 0.062 = $6,200
|
|
69
|
+
# Employer Medicare tax: $100,000 * 0.0145 = $1,450
|
|
70
|
+
# Total employer tax: $7,650
|
|
71
|
+
employer_social_security_tax: [6_200]
|
|
72
|
+
employer_medicare_tax: [1_450]
|
|
73
|
+
# IRS gross income should include 25% of employer taxes
|
|
74
|
+
# $100,000 + ($7,650 * 0.25) = $100,000 + $1,912.50
|
|
75
|
+
irs_gross_income: [101_912.5]
|
|
76
|
+
|
|
77
|
+
- name: No employer payroll tax inclusion (0%)
|
|
78
|
+
period: 2024
|
|
79
|
+
reforms: policyengine_us.reforms.crfb.tax_employer_payroll_tax.tax_employer_payroll_tax_reform_object
|
|
80
|
+
input:
|
|
81
|
+
gov.contrib.crfb.tax_employer_payroll_tax.in_effect: true
|
|
82
|
+
gov.contrib.crfb.tax_employer_payroll_tax.percentage: 0.0
|
|
83
|
+
people:
|
|
84
|
+
person1:
|
|
85
|
+
employment_income: 75_000
|
|
86
|
+
tax_units:
|
|
87
|
+
tax_unit:
|
|
88
|
+
members: [person1]
|
|
89
|
+
households:
|
|
90
|
+
household:
|
|
91
|
+
members: [person1]
|
|
92
|
+
state_code: CA
|
|
93
|
+
output:
|
|
94
|
+
# With $75,000 income:
|
|
95
|
+
# Employer SS tax: $75,000 * 0.062 = $4,650
|
|
96
|
+
# Employer Medicare tax: $75,000 * 0.0145 = $1,087.50
|
|
97
|
+
employer_social_security_tax: [4_650]
|
|
98
|
+
employer_medicare_tax: [1_087.5]
|
|
99
|
+
# IRS gross income should not include any employer taxes with 0%
|
|
100
|
+
irs_gross_income: [75_000]
|
|
101
|
+
|
|
102
|
+
- name: Three-quarters employer payroll tax inclusion (75%)
|
|
103
|
+
period: 2024
|
|
104
|
+
reforms: policyengine_us.reforms.crfb.tax_employer_payroll_tax.tax_employer_payroll_tax_reform_object
|
|
105
|
+
input:
|
|
106
|
+
gov.contrib.crfb.tax_employer_payroll_tax.in_effect: true
|
|
107
|
+
gov.contrib.crfb.tax_employer_payroll_tax.percentage: 0.75
|
|
108
|
+
people:
|
|
109
|
+
person1:
|
|
110
|
+
employment_income: 60_000
|
|
111
|
+
person2:
|
|
112
|
+
employment_income: 40_000
|
|
113
|
+
tax_units:
|
|
114
|
+
tax_unit:
|
|
115
|
+
members: [person1, person2]
|
|
116
|
+
households:
|
|
117
|
+
household:
|
|
118
|
+
members: [person1, person2]
|
|
119
|
+
state_code: CA
|
|
120
|
+
output:
|
|
121
|
+
# Person 1: $60,000 income
|
|
122
|
+
# Employer SS tax: $60,000 * 0.062 = $3,720
|
|
123
|
+
# Employer Medicare tax: $60,000 * 0.0145 = $870
|
|
124
|
+
# Person 2: $40,000 income
|
|
125
|
+
# Employer SS tax: $40,000 * 0.062 = $2,480
|
|
126
|
+
# Employer Medicare tax: $40,000 * 0.0145 = $580
|
|
127
|
+
employer_social_security_tax: [3_720, 2_480]
|
|
128
|
+
employer_medicare_tax: [870, 580]
|
|
129
|
+
# IRS gross income should include 75% of employer taxes
|
|
130
|
+
# Person 1: $60,000 + (($3,720 + $870) * 0.75) = $60,000 + $3,442.50
|
|
131
|
+
# Person 2: $40,000 + (($2,480 + $580) * 0.75) = $40,000 + $2,295
|
|
132
|
+
irs_gross_income: [63_442.5, 42_295]
|
|
133
|
+
|
|
134
|
+
- name: High earner with partial inclusion at Social Security wage cap
|
|
135
|
+
period: 2024
|
|
136
|
+
reforms: policyengine_us.reforms.crfb.tax_employer_payroll_tax.tax_employer_payroll_tax_reform_object
|
|
137
|
+
input:
|
|
138
|
+
gov.contrib.crfb.tax_employer_payroll_tax.in_effect: true
|
|
139
|
+
gov.contrib.crfb.tax_employer_payroll_tax.percentage: 0.6
|
|
140
|
+
people:
|
|
141
|
+
person1:
|
|
142
|
+
employment_income: 200_000
|
|
143
|
+
tax_units:
|
|
144
|
+
tax_unit:
|
|
145
|
+
members: [person1]
|
|
146
|
+
households:
|
|
147
|
+
household:
|
|
148
|
+
members: [person1]
|
|
149
|
+
state_code: CA
|
|
150
|
+
output:
|
|
151
|
+
# With $200,000 income (above SS wage cap of $168,600 for 2024):
|
|
152
|
+
# Employer SS tax: $168,600 * 0.062 = $10,453.20
|
|
153
|
+
# Employer Medicare tax: $200,000 * 0.0145 = $2,900
|
|
154
|
+
# Total employer tax: $13,353.20
|
|
155
|
+
employer_social_security_tax: [10_453.2]
|
|
156
|
+
employer_medicare_tax: [2_900]
|
|
157
|
+
# IRS gross income should include 60% of employer taxes
|
|
158
|
+
# $200,000 + ($13,353.20 * 0.6) = $200,000 + $8,011.92
|
|
159
|
+
irs_gross_income: [208_011.92]
|
|
@@ -187,6 +187,7 @@ policyengine_us/parameters/gov/contrib/crfb/ss_credit/amount.yaml,sha256=3A_cUbp
|
|
|
187
187
|
policyengine_us/parameters/gov/contrib/crfb/ss_credit/in_effect.yaml,sha256=4xq1pNu6_rSP3xjjcgJNolbMQJOrcEKrZn0hAcdOWcI,347
|
|
188
188
|
policyengine_us/parameters/gov/contrib/crfb/tax_employer_medicare_tax/in_effect.yaml,sha256=E2lrX7YCKkIctuL1bw4dlMXDQnLKW29jwYV9temCYsY,221
|
|
189
189
|
policyengine_us/parameters/gov/contrib/crfb/tax_employer_payroll_tax/in_effect.yaml,sha256=f1OyGZQyJqq0QeUj0oVdtVrWuvSt7bLpRALdu3isHRg,250
|
|
190
|
+
policyengine_us/parameters/gov/contrib/crfb/tax_employer_payroll_tax/percentage.yaml,sha256=oHFxJ_1RTLZIYHH-OPCNRN-cl7LVhYQHmH9u1_nBIRs,232
|
|
190
191
|
policyengine_us/parameters/gov/contrib/crfb/tax_employer_social_security_tax/in_effect.yaml,sha256=DTXhl5bLmrrrpBneziAAHGjqKfMIn826IotgKmOajHI,235
|
|
191
192
|
policyengine_us/parameters/gov/contrib/ctc/additional_bracket/in_effect.yaml,sha256=ye9DVUx50Q5jWNw5m9RFtWHeB7MDwle7qHGX7_wd0Ck,187
|
|
192
193
|
policyengine_us/parameters/gov/contrib/ctc/additional_bracket/amount/actc.yaml,sha256=_Dyd6AWevefbcEc_QNyAy1LHeEiVXoNqqKp5CENKu3U,457
|
|
@@ -625,7 +626,7 @@ policyengine_us/parameters/gov/irs/credits/retirement_saving/qualified_retiremen
|
|
|
625
626
|
policyengine_us/parameters/gov/irs/credits/retirement_saving/rate/joint.yaml,sha256=9MsCObM22s_i8wqKHpkShuuaUmGHt7OTh5_MUHOGpd0,1946
|
|
626
627
|
policyengine_us/parameters/gov/irs/credits/retirement_saving/rate/threshold_adjustment.yaml,sha256=NgN4a7F8NyjXa1dHqnFIknShg10JHHFbF5QAckqmH8Y,878
|
|
627
628
|
policyengine_us/parameters/gov/irs/deductions/deductions_if_itemizing.yaml,sha256=kWVT9M7_cMLRT_QC2YwHLWMmZXrS1-SiuPUjiJNMwPs,670
|
|
628
|
-
policyengine_us/parameters/gov/irs/deductions/deductions_if_not_itemizing.yaml,sha256=
|
|
629
|
+
policyengine_us/parameters/gov/irs/deductions/deductions_if_not_itemizing.yaml,sha256=0rSJ-8Jw_pm61yqtn2IYYQ9DR70C1hFnudRNoS0OOLA,781
|
|
629
630
|
policyengine_us/parameters/gov/irs/deductions/itemized_deductions.yaml,sha256=wPCgBcIS7BoEKvsNrNcT7RjD4h1FiVhQ_bDXnr7tEww,717
|
|
630
631
|
policyengine_us/parameters/gov/irs/deductions/auto_loan_interest/cap.yaml,sha256=AIPkR9pTYUdGgKBH5BR6Mf5_A-9clIVJ5wkQgun64c8,339
|
|
631
632
|
policyengine_us/parameters/gov/irs/deductions/auto_loan_interest/phase_out/increment.yaml,sha256=mKowIjnJc7QHjaHnOORXQDkvb7as-xS2wJ--z_fequ4,401
|
|
@@ -3143,7 +3144,7 @@ policyengine_us/reforms/congress/wyden_smith/ctc_expansion.py,sha256=SLqv8nk2gQT
|
|
|
3143
3144
|
policyengine_us/reforms/crfb/__init__.py,sha256=na1OcXNKdnI-L9qEKU1HoDOLz7I7LS9Wa7e0fTkaZpc,740
|
|
3144
3145
|
policyengine_us/reforms/crfb/non_refundable_ss_credit.py,sha256=bMEGGi1R16fnfBeNhiRFXh9DfpVyq4dZH1jcsidf-2c,5453
|
|
3145
3146
|
policyengine_us/reforms/crfb/tax_employer_medicare_tax.py,sha256=Hc2GVwoXn2b_izOyoEpocySLo11BdmzFnyQoEiHJsFI,4236
|
|
3146
|
-
policyengine_us/reforms/crfb/tax_employer_payroll_tax.py,sha256
|
|
3147
|
+
policyengine_us/reforms/crfb/tax_employer_payroll_tax.py,sha256=-V6vv51aYb0NRuB4mjqfjD6yGNSLqqgbKVhVG455U3I,4678
|
|
3147
3148
|
policyengine_us/reforms/crfb/tax_employer_social_security_tax.py,sha256=hawAdLtwCnY3_7jUVPTM0KpeYRfT7tVk0xqCMhdxP4E,4292
|
|
3148
3149
|
policyengine_us/reforms/ctc/__init__.py,sha256=_qWyJ2JK4xfkef1REpYcXjY2v8m-xppoXGxoPFs7voc,172
|
|
3149
3150
|
policyengine_us/reforms/ctc/ctc_additional_bracket.py,sha256=KNmEB_OLwpLbvaPo4w0n18VnAmg0u3efirfVVCOrWj4,2391
|
|
@@ -5192,6 +5193,7 @@ policyengine_us/tests/policy/contrib/congress/tlaib/end_child_poverty_act/integr
|
|
|
5192
5193
|
policyengine_us/tests/policy/contrib/crfb/non_refundable_ss_credit.yaml,sha256=ycLoBzbBzgSJ1RuAin4Y3SIlNu3TgtUY9QJp15dvTTQ,2773
|
|
5193
5194
|
policyengine_us/tests/policy/contrib/crfb/tax_employer_all_payroll_tax.yaml,sha256=ljSr35bDosWTqTDqEZKWhRqZvIw7SwPVMY-O8YFIsLc,559
|
|
5194
5195
|
policyengine_us/tests/policy/contrib/crfb/tax_employer_medicare_tax.yaml,sha256=jE-_SssrvqdWuVgw9GrA1sJy6dvrvKuMHwZCHm48oRc,446
|
|
5196
|
+
policyengine_us/tests/policy/contrib/crfb/tax_employer_payroll_tax_percentage.yaml,sha256=507anp-sJyRirjz1sevPOi_pF1zuFAPcCzyvmwUGiXY,5509
|
|
5195
5197
|
policyengine_us/tests/policy/contrib/crfb/tax_employer_social_security_tax.yaml,sha256=0boINedj32lA-V2VLztNBoylnOlzRinlwtcg3JIij0g,474
|
|
5196
5198
|
policyengine_us/tests/policy/contrib/ctc/ctc_additional_bracket.yaml,sha256=0vUrhnn91ETd_lkk1YqG5EzGj8wTj2r5mHZ3A-mjwlo,3445
|
|
5197
5199
|
policyengine_us/tests/policy/contrib/ctc/ctc_older_child_supplement.yaml,sha256=7P67DlafOtTxAcpH2ossYPDInWyz6DJayNf_0Ed7rcQ,2059
|
|
@@ -8378,8 +8380,8 @@ policyengine_us/variables/input/farm_income.py,sha256=BEKxYmHNNnWJAAvULl5qZJigy5
|
|
|
8378
8380
|
policyengine_us/variables/input/geography.py,sha256=Ux0ueAf0rhZaflyEqz81UuXP3xKCKBDvoO3CrKhiQEc,5421
|
|
8379
8381
|
policyengine_us/variables/input/self_employment_income.py,sha256=PwsGz8R4lRikKWUYOhsC0qosNNLXq4f5SQmfw4S3mk8,511
|
|
8380
8382
|
policyengine_us/variables/input/self_employment_income_before_lsr.py,sha256=E8fcX9Nlyqz8dziHhQv_euutdmoIwFMMWePUwbbwv_w,379
|
|
8381
|
-
policyengine_us-1.
|
|
8382
|
-
policyengine_us-1.
|
|
8383
|
-
policyengine_us-1.
|
|
8384
|
-
policyengine_us-1.
|
|
8385
|
-
policyengine_us-1.
|
|
8383
|
+
policyengine_us-1.390.1.dist-info/METADATA,sha256=SeWFyg8BakBleBBm3HYo48CEAruBmw0GD-iKO8n4kc8,1649
|
|
8384
|
+
policyengine_us-1.390.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
8385
|
+
policyengine_us-1.390.1.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
|
|
8386
|
+
policyengine_us-1.390.1.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
|
|
8387
|
+
policyengine_us-1.390.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|