From c5e18b92da3a974f916c86c9a48068b026bd5e71 Mon Sep 17 00:00:00 2001 From: "baogorek@gmail.com" Date: Mon, 16 Mar 2026 10:52:59 -0400 Subject: [PATCH] Make ACA marketplace enrollment create filing obligation Receiving APTC requires tax return reconciliation, so takes_up_aca_if_eligible=True should imply is_filer=True. Previously, non-mandatory filers with would_file=False got aca_ptc=0 even when enrolled on the marketplace. Co-Authored-By: Claude Opus 4.6 (1M context) --- policyengine_us/variables/gov/irs/tax_unit_is_filer.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/policyengine_us/variables/gov/irs/tax_unit_is_filer.py b/policyengine_us/variables/gov/irs/tax_unit_is_filer.py index 8b50bfae600..4a5d2e8e941 100644 --- a/policyengine_us/variables/gov/irs/tax_unit_is_filer.py +++ b/policyengine_us/variables/gov/irs/tax_unit_is_filer.py @@ -26,7 +26,9 @@ def formula(tax_unit, period, parameters): required = tax_unit("tax_unit_is_required_to_file", period) # Would file to claim refundable credits (EITC, CTC, etc.) - eligible_for_credits = tax_unit("eligible_for_refundable_credits", period) + eligible_for_credits = tax_unit( + "eligible_for_refundable_credits", period + ) would_file_for_credits = tax_unit( "would_file_if_eligible_for_refundable_credit", period ) @@ -35,4 +37,8 @@ def formula(tax_unit, period, parameters): # Would file voluntarily for other reasons files_voluntarily = tax_unit("would_file_taxes_voluntarily", period) - return required | files_for_credits | files_voluntarily + # ACA marketplace enrollment creates a filing obligation: + # receiving APTC requires reconciliation on a tax return. + files_for_aca = tax_unit("takes_up_aca_if_eligible", period) + + return required | files_for_credits | files_voluntarily | files_for_aca