policyengine-us 1.455.0__py3-none-any.whl → 1.456.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.
- policyengine_us/parameters/gov/irs/deductions/qbi/max/reit_ptp_rate.yaml +13 -0
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/qbid/qbid_amount.yaml +75 -3
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/qualified_business_income_deduction/qbid_amount.py +16 -6
- policyengine_us/variables/household/income/person/dividends/qualified_reit_and_ptp_income.py +1 -1
- {policyengine_us-1.455.0.dist-info → policyengine_us-1.456.0.dist-info}/METADATA +1 -1
- {policyengine_us-1.455.0.dist-info → policyengine_us-1.456.0.dist-info}/RECORD +9 -8
- {policyengine_us-1.455.0.dist-info → policyengine_us-1.456.0.dist-info}/WHEEL +0 -0
- {policyengine_us-1.455.0.dist-info → policyengine_us-1.456.0.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.455.0.dist-info → policyengine_us-1.456.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
description: REIT and PTP income is deducted at this rate under the qualified business income deduction.
|
|
2
|
+
metadata:
|
|
3
|
+
label: REIT/PTP income deduction rate
|
|
4
|
+
unit: /1
|
|
5
|
+
period: year
|
|
6
|
+
reference:
|
|
7
|
+
- title: 26 U.S. Code § 199A(b)(1)(B) - Combined qualified business income amount
|
|
8
|
+
href: https://www.law.cornell.edu/uscode/text/26/199A#b_1_B
|
|
9
|
+
- title: IRS Form 8995 Lines 6-9 - REIT and PTP Component
|
|
10
|
+
href: https://www.irs.gov/pub/irs-pdf/f8995.pdf
|
|
11
|
+
values:
|
|
12
|
+
2013-01-01: 0.0
|
|
13
|
+
2018-01-01: 0.2
|
policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/qbid/qbid_amount.yaml
CHANGED
|
@@ -27,12 +27,14 @@
|
|
|
27
27
|
w2_wages_from_qualified_business: 8_000
|
|
28
28
|
unadjusted_basis_qualified_property: 50_000
|
|
29
29
|
taxable_income_less_qbid: 400_100
|
|
30
|
+
qualified_reit_and_ptp_income: 1_000
|
|
30
31
|
business_is_sstb: False
|
|
31
32
|
filing_status: JOINT
|
|
32
33
|
output:
|
|
33
|
-
# Calculation: QBI component is $8,800
|
|
34
|
-
#
|
|
35
|
-
|
|
34
|
+
# Calculation: QBI component is $8,800 (same as Entity 1).
|
|
35
|
+
# REIT/PTP component = 0.20 * 1k = $200.
|
|
36
|
+
# Total = $8,800 + $200 = $9,000.
|
|
37
|
+
qbid_amount: 9_000
|
|
36
38
|
|
|
37
39
|
- name: Non-SSTB above phase-in range (Entity 2 from Appendix A)
|
|
38
40
|
period: 2022
|
|
@@ -127,3 +129,73 @@
|
|
|
127
129
|
# The final taxable income cap (at 24k) is applied at the
|
|
128
130
|
# tax-unit level, outside the scope of this business-level function.
|
|
129
131
|
qbid_amount: 40_000
|
|
132
|
+
|
|
133
|
+
# REIT/PTP Income Tests - Form 8995 Lines 6-9
|
|
134
|
+
# REIT/PTP income gets 20% deduction WITHOUT W-2 wage or UBIA limitations
|
|
135
|
+
|
|
136
|
+
- name: REIT/PTP only - no QBI (Form 8995 simplified path)
|
|
137
|
+
period: 2022
|
|
138
|
+
input:
|
|
139
|
+
qualified_business_income: 0
|
|
140
|
+
w2_wages_from_qualified_business: 0
|
|
141
|
+
unadjusted_basis_qualified_property: 0
|
|
142
|
+
taxable_income_less_qbid: 100_000
|
|
143
|
+
qualified_reit_and_ptp_income: 10_000
|
|
144
|
+
business_is_sstb: False
|
|
145
|
+
filing_status: SINGLE
|
|
146
|
+
output:
|
|
147
|
+
# No QBI, so QBI component = $0.
|
|
148
|
+
# REIT/PTP component = 0.20 * 10k = $2,000.
|
|
149
|
+
# Total = $2,000.
|
|
150
|
+
qbid_amount: 2_000
|
|
151
|
+
|
|
152
|
+
- name: REIT/PTP with SSTB - REIT/PTP not affected by SSTB phase-out
|
|
153
|
+
period: 2022
|
|
154
|
+
input:
|
|
155
|
+
qualified_business_income: 110_000
|
|
156
|
+
w2_wages_from_qualified_business: 60_000
|
|
157
|
+
unadjusted_basis_qualified_property: 6_000
|
|
158
|
+
taxable_income_less_qbid: 460_100
|
|
159
|
+
qualified_reit_and_ptp_income: 50_000
|
|
160
|
+
business_is_sstb: True
|
|
161
|
+
filing_status: JOINT
|
|
162
|
+
output:
|
|
163
|
+
# SSTB above phase-in range, so QBI component = $0 (fully phased out).
|
|
164
|
+
# REIT/PTP is NOT subject to SSTB rules, so:
|
|
165
|
+
# REIT/PTP component = 0.20 * 50k = $10,000.
|
|
166
|
+
# Total = $0 + $10,000 = $10,000.
|
|
167
|
+
qbid_amount: 10_000
|
|
168
|
+
|
|
169
|
+
- name: REIT/PTP above wage limitation - no wage cap applies
|
|
170
|
+
period: 2022
|
|
171
|
+
input:
|
|
172
|
+
qualified_business_income: 0
|
|
173
|
+
w2_wages_from_qualified_business: 0
|
|
174
|
+
unadjusted_basis_qualified_property: 0
|
|
175
|
+
taxable_income_less_qbid: 500_000
|
|
176
|
+
qualified_reit_and_ptp_income: 100_000
|
|
177
|
+
business_is_sstb: False
|
|
178
|
+
filing_status: JOINT
|
|
179
|
+
output:
|
|
180
|
+
# No QBI, so QBI component = $0.
|
|
181
|
+
# Even though taxable income is above threshold and W-2 wages are $0,
|
|
182
|
+
# REIT/PTP is NOT subject to W-2 wage limitations.
|
|
183
|
+
# REIT/PTP component = 0.20 * 100k = $20,000.
|
|
184
|
+
qbid_amount: 20_000
|
|
185
|
+
|
|
186
|
+
- name: Combined QBI and REIT/PTP - below threshold
|
|
187
|
+
period: 2024
|
|
188
|
+
input:
|
|
189
|
+
qualified_business_income: 50_000
|
|
190
|
+
w2_wages_from_qualified_business: 30_000
|
|
191
|
+
unadjusted_basis_qualified_property: 0
|
|
192
|
+
taxable_income_less_qbid: 150_000
|
|
193
|
+
qualified_reit_and_ptp_income: 25_000
|
|
194
|
+
business_is_sstb: False
|
|
195
|
+
filing_status: SINGLE
|
|
196
|
+
output:
|
|
197
|
+
# Below threshold ($191,950 single in 2024), so no W-2/UBIA limit.
|
|
198
|
+
# QBI component = 0.20 * 50k = $10,000.
|
|
199
|
+
# REIT/PTP component = 0.20 * 25k = $5,000.
|
|
200
|
+
# Total = $15,000.
|
|
201
|
+
qbid_amount: 15_000
|
|
@@ -4,14 +4,13 @@ from policyengine_us.model_api import *
|
|
|
4
4
|
class qbid_amount(Variable):
|
|
5
5
|
value_type = float
|
|
6
6
|
entity = Person
|
|
7
|
-
label =
|
|
8
|
-
"Per-cap qualified business income deduction amount for each person"
|
|
9
|
-
)
|
|
7
|
+
label = "Per-person qualified business income deduction amount"
|
|
10
8
|
unit = USD
|
|
11
9
|
definition_period = YEAR
|
|
12
10
|
reference = (
|
|
13
|
-
"https://www.law.cornell.edu/uscode/text/26/199A#b_1"
|
|
14
|
-
"https://www.irs.gov/pub/irs-prior/p535--2018.pdf"
|
|
11
|
+
"https://www.law.cornell.edu/uscode/text/26/199A#b_1",
|
|
12
|
+
"https://www.irs.gov/pub/irs-prior/p535--2018.pdf",
|
|
13
|
+
"https://www.irs.gov/pub/irs-pdf/f8995.pdf",
|
|
15
14
|
)
|
|
16
15
|
|
|
17
16
|
def formula(person, period, parameters):
|
|
@@ -53,4 +52,15 @@ class qbid_amount(Variable):
|
|
|
53
52
|
)
|
|
54
53
|
line26 = max_(0, adj_qbid_max - reduction)
|
|
55
54
|
line12 = where(adj_cap < adj_qbid_max, line26, 0)
|
|
56
|
-
|
|
55
|
+
# QBI component (Worksheet 12-A, line 13 / Form 8995 Line 5)
|
|
56
|
+
qbi_component = max_(line11, line12)
|
|
57
|
+
|
|
58
|
+
# REIT/PTP component (Form 8995 Lines 6-9)
|
|
59
|
+
# Per §199A(b)(1)(B), qualified REIT dividends and qualified PTP income
|
|
60
|
+
# receive a 20% deduction WITHOUT W-2 wage or UBIA limitations
|
|
61
|
+
reit_ptp_income = person("qualified_reit_and_ptp_income", period)
|
|
62
|
+
reit_ptp_component = p.max.reit_ptp_rate * max_(0, reit_ptp_income)
|
|
63
|
+
|
|
64
|
+
# Total QBID = QBI component + REIT/PTP component
|
|
65
|
+
# (Form 8995 Line 10: Add lines 5 and 9)
|
|
66
|
+
return qbi_component + reit_ptp_component
|
policyengine_us/variables/household/income/person/dividends/qualified_reit_and_ptp_income.py
CHANGED
|
@@ -6,7 +6,7 @@ class qualified_reit_and_ptp_income(Variable):
|
|
|
6
6
|
entity = Person
|
|
7
7
|
label = "REIT and PTP Income"
|
|
8
8
|
unit = USD
|
|
9
|
-
documentation = "REIT and
|
|
9
|
+
documentation = "REIT and Publicly Traded Partnership Income. Part of the QBID calculation."
|
|
10
10
|
definition_period = YEAR
|
|
11
11
|
reference = "https://www.law.cornell.edu/uscode/text/26/1#h_11"
|
|
12
12
|
uprating = "calibration.gov.irs.soi.qualified_dividend_income"
|
|
@@ -729,6 +729,7 @@ policyengine_us/parameters/gov/irs/deductions/qbi/income_definition.yaml,sha256=
|
|
|
729
729
|
policyengine_us/parameters/gov/irs/deductions/qbi/deduction_floor/amount.yaml,sha256=CXwummMdhR2MRypqpHlMS2-pYGzs43hxzW9qJ9ywhuQ,578
|
|
730
730
|
policyengine_us/parameters/gov/irs/deductions/qbi/deduction_floor/in_effect.yaml,sha256=Lcmj2iI0_9bQ84pBtMs4tvPSHUyQzxFQAF5NvaA1r9M,372
|
|
731
731
|
policyengine_us/parameters/gov/irs/deductions/qbi/max/rate.yaml,sha256=roMoxlefYwEdD9VdGTiC9OkivmQrwwSUx0CbNSvXpzA,415
|
|
732
|
+
policyengine_us/parameters/gov/irs/deductions/qbi/max/reit_ptp_rate.yaml,sha256=TQ_UbmPc4wR71cKscBmAYozzJ0k13Ogl3lciqbTLSbw,507
|
|
732
733
|
policyengine_us/parameters/gov/irs/deductions/qbi/max/business_property/rate.yaml,sha256=oR27sVH8gGfDQtUx1pG4IGzNCqimmC6SnO6CtF5oK0g,370
|
|
733
734
|
policyengine_us/parameters/gov/irs/deductions/qbi/max/w2_wages/alt_rate.yaml,sha256=blMwSsl2cGk9tUKzwVAYYFoFrkOH2HBFKW62Qjt921I,600
|
|
734
735
|
policyengine_us/parameters/gov/irs/deductions/qbi/max/w2_wages/rate.yaml,sha256=d7jlv_p-zsdryNc-RvGfxNTsE6SbI4STzLDvuM5di-I,335
|
|
@@ -3718,7 +3719,7 @@ policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/i
|
|
|
3718
3719
|
policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/itemizing/wagering_losses_deduction.yaml,sha256=w_kw5K7GltU67dx1Q-W1o_JvdIF5uiROxlo3fkXqrjA,1622
|
|
3719
3720
|
policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/overtime_income/overtime_income_deduction.yaml,sha256=Walib9Jo93X4XkqicUXypVdpucueZgdsJptK-VtKl44,1010
|
|
3720
3721
|
policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/overtime_income/overtime_income_deduction_ssn_requirement_met.yaml,sha256=GD4w8BKLayQyVJ9qBcB0ddetWaAWau0BYP77AEttB8w,1353
|
|
3721
|
-
policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/qbid/qbid_amount.yaml,sha256=
|
|
3722
|
+
policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/qbid/qbid_amount.yaml,sha256=IUxjnPdrTILitnWJ5jh_2E4P55bAOm6fMuIQNRq0BMs,6953
|
|
3722
3723
|
policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/qbid/qualified_business_income.yaml,sha256=4qNyYDGR_o_DBOsSxiHszzqWvt31-jGDKjtjs-5tcCY,1939
|
|
3723
3724
|
policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/qbid/qualified_business_income_deduction.yaml,sha256=B8G8xmMwlgR2zF1O_4azxIlLNkwJMeKDAnpeVMZJMPo,1492
|
|
3724
3725
|
policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/qbid/taxable_income_less_qbid.yaml,sha256=Cjt-YJ_Hpfnqd0vGHs361h55WqYR0_Te9lGWEf4Lrts,536
|
|
@@ -6153,7 +6154,7 @@ policyengine_us/variables/gov/irs/income/taxable_income/deductions/itemizing/tot
|
|
|
6153
6154
|
policyengine_us/variables/gov/irs/income/taxable_income/deductions/itemizing/wagering_losses_deduction.py,sha256=EfNKU46fN_z84wh2lr-xyL07msiqJtoha33_YWP64BE,628
|
|
6154
6155
|
policyengine_us/variables/gov/irs/income/taxable_income/deductions/overtime_income/overtime_income_deduction.py,sha256=nj2R9ywGYT6wZC0TSd3nS0uCgU6-YpkOW10OSXysnUc,984
|
|
6155
6156
|
policyengine_us/variables/gov/irs/income/taxable_income/deductions/overtime_income/overtime_income_deduction_ssn_requirement_met.py,sha256=oy3WhxjuJAzTeLNCp8-Ol5-NFVvhrs3OLj-gniRRtZM,961
|
|
6156
|
-
policyengine_us/variables/gov/irs/income/taxable_income/deductions/qualified_business_income_deduction/qbid_amount.py,sha256=
|
|
6157
|
+
policyengine_us/variables/gov/irs/income/taxable_income/deductions/qualified_business_income_deduction/qbid_amount.py,sha256=Xb-cctuwuc6hb-n4iJOjs17zTnL0my18Dd8n3tUPBAs,3069
|
|
6157
6158
|
policyengine_us/variables/gov/irs/income/taxable_income/deductions/qualified_business_income_deduction/qualified_business_income.py,sha256=siUYxndY6je2Pm335LLZVevy2FAPlzMBJuex5I4FC3s,823
|
|
6158
6159
|
policyengine_us/variables/gov/irs/income/taxable_income/deductions/qualified_business_income_deduction/qualified_business_income_deduction.py,sha256=RcCXVvT1GvEFQNOt4f_MtZW9k224_nslXzhG1St6dq0,1477
|
|
6159
6160
|
policyengine_us/variables/gov/irs/income/taxable_income/deductions/qualified_business_income_deduction/qualified_business_income_deduction_person.py,sha256=wjBgn5j4BuNqNFSzi89rzQEvQUavwoa_LJlGDtQbt9M,1071
|
|
@@ -8919,7 +8920,7 @@ policyengine_us/variables/household/income/person/dividends/dividend_income.py,s
|
|
|
8919
8920
|
policyengine_us/variables/household/income/person/dividends/non_qualified_dividend_income.py,sha256=6fklBCnmVWUl9-4yBG4TXpGoYna9qsPUQ50UMx2maJI,291
|
|
8920
8921
|
policyengine_us/variables/household/income/person/dividends/qualified_bdc_income.py,sha256=7V--w6Rp8s7JTDyEYvK0_PU2ZKb1sb6BNn3p3cKpMc8,459
|
|
8921
8922
|
policyengine_us/variables/household/income/person/dividends/qualified_dividend_income.py,sha256=32xzhjwRYNlJN-Bx2X8RjNfm331WPHSSm5jI_q88W9s,279
|
|
8922
|
-
policyengine_us/variables/household/income/person/dividends/qualified_reit_and_ptp_income.py,sha256=
|
|
8923
|
+
policyengine_us/variables/household/income/person/dividends/qualified_reit_and_ptp_income.py,sha256=nkWgE5DTLGhe-xMvMp2iAKyn8qevey-PIpAPYBej-_8,442
|
|
8923
8924
|
policyengine_us/variables/household/income/person/estate/estate_income.py,sha256=76XCBnLX_pmKjmyMxFxmrPEVcFAO9FHMdJA-bsAswSY,188
|
|
8924
8925
|
policyengine_us/variables/household/income/person/estate/estate_income_would_be_qualified.py,sha256=YWoT4rB7lK27DBlu3XFu0qozax42TD8kIOAa2rbfJyA,404
|
|
8925
8926
|
policyengine_us/variables/household/income/person/farm/farm_operations_income.py,sha256=IHKJH47b8hoSWXi1xiUd8bosnswBG9O_nHttaowZ35Q,458
|
|
@@ -9028,8 +9029,8 @@ policyengine_us/variables/input/farm_income.py,sha256=BEKxYmHNNnWJAAvULl5qZJigy5
|
|
|
9028
9029
|
policyengine_us/variables/input/geography.py,sha256=Ux0ueAf0rhZaflyEqz81UuXP3xKCKBDvoO3CrKhiQEc,5421
|
|
9029
9030
|
policyengine_us/variables/input/self_employment_income.py,sha256=PwsGz8R4lRikKWUYOhsC0qosNNLXq4f5SQmfw4S3mk8,511
|
|
9030
9031
|
policyengine_us/variables/input/self_employment_income_before_lsr.py,sha256=E8fcX9Nlyqz8dziHhQv_euutdmoIwFMMWePUwbbwv_w,379
|
|
9031
|
-
policyengine_us-1.
|
|
9032
|
-
policyengine_us-1.
|
|
9033
|
-
policyengine_us-1.
|
|
9034
|
-
policyengine_us-1.
|
|
9035
|
-
policyengine_us-1.
|
|
9032
|
+
policyengine_us-1.456.0.dist-info/METADATA,sha256=1KENDYN0IzlCBMCni-O5UNvmq5tEQzjtlbRhqceYT0U,1649
|
|
9033
|
+
policyengine_us-1.456.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
9034
|
+
policyengine_us-1.456.0.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
|
|
9035
|
+
policyengine_us-1.456.0.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
|
|
9036
|
+
policyengine_us-1.456.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|