Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
- bump: patch
- bump: minor
changes:
added:
- estate_income_would_be_qualified
- farm_operations_income_would_be_qualified
- farm_rent_income_would_be_qualified
- partnership_s_corp_income_would_be_qualified
- rental_income_would_be_qualified
- self_employment_income_would_be_qualified
changed:
- Add detailed tax code references with subsection anchors for qualified business income deduction parameters
- qualified_business_income
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ class qualified_business_income(Variable):

def formula(person, period, parameters):
p = parameters(period).gov.irs.deductions.qbi
gross_qbi = add(person, period, p.income_definition)
gross_qbi = sum(
[
person(var, period)
* person(var + "_would_be_qualified", period)
for var in p.income_definition
]
)
qbi_deductions = add(person, period, p.deduction_definition)
return max_(0, gross_qbi - qbi_deductions)
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from policyengine_us.model_api import *


class estate_income_would_be_qualified(Variable):
value_type = bool
entity = Person
label = "Estate income would be qualified"
documentation = "Whether income from estates would be considered qualified business income."
definition_period = YEAR
reference = "https://www.law.cornell.edu/uscode/text/26/199A#c_3_A"
default_value = True
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from policyengine_us.model_api import *


class farm_operations_income_would_be_qualified(Variable):
value_type = bool
entity = Person
label = "Farm operations income would be qualified"
documentation = "Whether farm operations income would be considered qualified business income."
definition_period = YEAR
reference = "https://www.law.cornell.edu/uscode/text/26/199A#c_3_A"
default_value = True
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from policyengine_us.model_api import *


class farm_rent_income_would_be_qualified(Variable):
value_type = bool
entity = Person
label = "Farm rent income would be qualified"
documentation = "Whether farm rental income would be considered qualified business income."
definition_period = YEAR
reference = "https://www.law.cornell.edu/uscode/text/26/199A#c_3_A"
default_value = True
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from policyengine_us.model_api import *


class rental_income_would_be_qualified(Variable):
value_type = bool
entity = Person
label = "Rental income would be qualified"
documentation = "Whether rental income would be considered qualified business income."
definition_period = YEAR
reference = "https://www.law.cornell.edu/uscode/text/26/199A#c_3_A"
default_value = True
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from policyengine_us.model_api import *


class partnership_s_corp_income_would_be_qualified(Variable):
value_type = bool
entity = Person
label = "Partnership and S-corp income would be qualified"
documentation = "Whether income from partnerships and S corporations would be considered qualified business income."
definition_period = YEAR
reference = "https://www.law.cornell.edu/uscode/text/26/199A#c_3_A"
default_value = True
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from policyengine_us.model_api import *


class self_employment_income_would_be_qualified(Variable):
value_type = bool
entity = Person
label = "Self-employment income would be qualified"
documentation = "Whether self-employment income would be considered qualified business income."
definition_period = YEAR
reference = "https://www.law.cornell.edu/uscode/text/26/199A#c_3_A"
default_value = True