Skip to content
Draft
1 change: 1 addition & 0 deletions changelog.d/claimable-filer-ptc.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Apply IRC 36B(c)(1)(D) to the premium tax credit: a filer who can be claimed as a dependent on another return is outside the tax family (26 CFR 1.36B-1(d)(2)), so the credit uses the tax family size for the poverty line and the coverage family's benchmark premium, on a joint return the other spouse keeps the credit, and the Washington, Massachusetts, Connecticut, Colorado, Maryland, California, New Mexico, Vermont and New Jersey premium programs follow their own rules for that person.
11 changes: 10 additions & 1 deletion policyengine_us/reforms/aca/aca_ptc_700_fpl_cliff.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,16 @@ def formula(person, period, parameters):
)
is_income_eligible = standard_income_eligible | below_fpl_exception

return person("pays_aca_premium", period) & ~separate & is_income_eligible
# The reform leaves 26 U.S.C. 36B(c)(1)(D) in place: someone
# another taxpayer can claim is outside the tax family.
tax_family_member = person("is_aca_tax_family_member", period)

return (
person("pays_aca_premium", period)
& tax_family_member
& ~separate
& is_income_eligible
)

class reform(Reform):
def apply(self):
Expand Down
5 changes: 5 additions & 0 deletions policyengine_us/reforms/aca/aca_ptc_additional_bracket.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,16 @@ def formula(person, period, parameters):
child_pays = person("aca_child_index", period) <= p_aca.max_child_count
pays_aca_premium = is_aca_adult | child_pays

# The reform leaves 26 U.S.C. 36B(c)(1)(D) in place: someone
# another taxpayer can claim is outside the tax family.
tax_family_member = person("is_aca_tax_family_member", period)

return (
is_status_eligible
& is_coverage_eligible
& is_income_eligible
& pays_aca_premium
& tax_family_member
)

class reform(Reform):
Expand Down
5 changes: 5 additions & 0 deletions policyengine_us/reforms/aca/aca_ptc_simplified_bracket.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,16 @@ def formula(person, period, parameters):
child_pays = person("aca_child_index", period) <= p_aca.max_child_count
pays_aca_premium = is_aca_adult | child_pays

# The reform leaves 26 U.S.C. 36B(c)(1)(D) in place: someone
# another taxpayer can claim is outside the tax family.
tax_family_member = person("is_aca_tax_family_member", period)

return (
is_status_eligible
& is_coverage_eligible
& is_income_eligible
& pays_aca_premium
& tax_family_member
)

class reform(Reform):
Expand Down
Loading