Repository navigation
Count CTC-qualifying children only when the filer meets the identification requirements - #10280
PavelMakarchuk wants to merge 3 commits into
Conversation
IRC 24(h)(7)(A) allows no credit with respect to any qualifying child unless the return includes the taxpayer's SSN (or one spouse's on a joint return), and IRC 24(e)(2) requires the taxpayer's identification number. Move filer_meets_child_ctc_identification_requirements into ctc_qualifying_child so ctc_qualifying_children agrees with the amount, and drop the duplicate multiply in ctc_child_individual_maximum. Keep the previous child tests in ctc_qualifying_child_ignoring_filer_identification for consumers whose statutes do not require the federal credit to be allowed: - Idaho 63-3029L (IRC 24(c) definition): id_ctc_qualifying_children - Maine 5213-A and 5219-KK (section 24 credit, including the credit for other dependents): me_fairness_credit_qualifying_children - CARES rebate, IRC 6428(a)(2) (IRC 24(c) definition) - Illinois SB 3567 reform (builds on the ITIN-inclusive IL EITC) NC (G.S. 105-153.5(a1), Code date moved to July 5, 2025 by S.L. 2026-31), Utah 59-10-1047 and NY 606(c-1) use the new count. The NY A04038 reform now uses the baseline ny_escc_qualifying_child. Fixes #9403. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The American Worker Rebate Act counts "qualifying children (within the meaning of section 24(c))", like IRC 6428(a)(2), so its child amount uses ctc_qualifying_child_ignoring_filer_identification; the bill's own identification rules stay in american_worker_tax_rebate_eligible. The refundable credit conversion clamp test set meets_ctc_identification_requirements only on the child, which left the filer at the default false and now fails the filer SSN test. Set it on the filer too, as the test intends a CTC-qualifying child. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
hua7450
left a comment
There was a problem hiding this comment.
Thanks, Pavel. I checked this against the statutes, the 2025 Schedule 8812 instructions and the state forms, recomputed every new and edited test case by hand, and traced every reader of ctc_qualifying_child, ctc_qualifying_children and ctc_child_individual_maximum at 7c01e32.
The federal change is right. Moving the filer test into ctc_qualifying_child leaves ctc_maximum unchanged for every household, because the credit for other dependents already keys off a zero child amount. The Worksheet B gate now follows line 4 of Schedule 8812. The North Carolina, New York, Idaho and CARES rebate treatments match their statutes. S.L. 2026-31 does reach tax year 2025: Section 12.(f) makes the new Code date effective when the act became law, and the NCDOR notice of July 23, 2026 applies it to earlier years.
Two places now give the wrong amount, so I'm requesting changes.
1. Utah drops the children of ITIN filers from 2025
"Qualifying child" means an individual: (i) with respect to whom the claimant is allowed to claim a tax credit under Section 24, Internal Revenue Code, on the claimant's federal individual income tax return for the taxable year; and (ii) who is under six years old on the last day of the claimant's taxable year.
The test is any section 24 credit, and IRC 24(h)(4)(C) gives one for exactly these children:
In the case of any qualifying child with respect to whom a credit is not allowed under this section by reason of paragraph (7), such child shall be treated as a dependent to whom subparagraph (A) applies.
That is the reasoning this PR uses for Maine. The 2025 TC-40 instructions ask for a child who "qualifies for the federal child tax credit under IRC 24". That is the same wording as Maine's "can claim the federal child tax credit pursuant to the Code, Section 24", which the PR reads as including the credit for other dependents. So Utah should keep counting the child under either text.
At head, ut_ctc_potential.py:16 and ut_ctc_reform.py:20 read ctc_qualifying_child, which now includes the 2025 filer SSN rule. The new case "Head of household without an SSN and 1 child gets no Utah CTC in 2026" (an OTHER_NON_CITIZEN head with a TIN and a citizen child aged 3) expects $0. The statute gives $1,000, and so did main.
Fix: count Utah children the way me_fairness_credit_qualifying_children does (ctc_qualifying_child_ignoring_filer_identification together with filer_meets_ctc_identification_requirements), in both ut_ctc_potential and ut_ctc_reform, and change that case to ut_ctc: 1_000. A filer with no TIN still gets $0 under 24(e)(2), as the code already does. If you have Tax Commission guidance that excludes these children, please cite it in the variable; I could not find any.
2. The AFA reform loses its $2,000-per-child floor for ITIN filers from 2025
afa_other_dependent_credit.py sets the phase-out floor with ctc_qualifying_children (lines 151 and 189), which now applies the 24(h)(7)(A)(i) filer SSN rule. The reform's own child amount has no filer test, and its existing case "Child is not reclassified as an adult dependent when the filer lacks the federal child-CTC SSN gate" gives an ITIN head $3,720. The bill asks only for a timely taxpayer TIN. Proposed section 24A(e)(2) of the American Family Act of 2025 reads "No credit shall be allowed under this section if the taxpayer identification number of the taxpayer was issued after the due date for filing the return for the taxable year". 24A(b)(2)(B) keeps the initial reduction from taking the allowance below $166.67 a month per child.
Example: the existing "Integration test - CTC partially phased out" household (2025, single, $300,000 wages, one child aged 16) with the head given ssn_card_type: NONE and has_itin: true. Main and the bill give ctc and refundable_ctc of $2,000; head gives $0. At $150,000, head gives $1,700 instead of $2,000.
Fix: at both lines use add(tax_unit, period, ["ctc_qualifying_child_ignoring_filer_identification"]), which is main's count, and add that ITIN-head case.
Smaller fixes
- The
ctc_qualifying_child_ignoring_filer_identificationdocumentation presents the variable as the IRC 24(c) definition. It also applies the child SSN rule of 24(h)(7)(A)(ii) and the 152(b)(1) dependent-filer rule. Please say so and add the#h_7reference. The same "24(c)" wording appears in theid_ctc_qualifying_children, AWRA andrrc_cares_qualifying_children_with_valid_ssncomments. ctc_qualifying_child.pycomment: 24(h)(4)(C) moves the child to the credit for other dependents only after a paragraph (7) denial. A 24(e)(2) failure denies that credit too; the code already handles this.- References to
https://www.irs.gov/pub/irs-pdf/i1040s8.pdfwill roll to the 2026 edition. Usehttps://www.irs.gov/pub/irs-prior/i1040s8--2025.pdf#page=1. - For Maine, Form 1040ME line 13a is the direct agency support for the PR's reading. The 2025 instructions ask for "the number of qualifying children and dependents for whom you are eligible to claim the federal child tax credit or the credit for other dependents".
refundable_credit_conversion.py:57-59still says the count is "per IRC §24(c)". It now follows the federal allowance.- The changelog fragment needs four corrections:
- Maine now drops the children of filers with no TIN.
- New York's pre-2025 and post-2027 rules drop the $100 minimum for those filers.
- The NC credit for children changes for 2015-2017.
- "From 2025" applies only to the SSN rule; the TIN rule changes NC and Utah in every year.
- PR body: "Other reforms ... the new count fits" is not accurate for every reform:
ctc_per_child_phase_out: a 2025+ ITIN filer's credit for other dependents no longer phases out.refundable_credit_conversion: the child moves to the per-other-dependent amount.mt_ctc: younger children now get the filer test, but its 17-year-old branch still has none.mt_hb268: its "permitted a child tax credit under section 24" gate raises the same question as Utah, so please treat it the same way.pr_ctcchanges for 2021 filers with no TIN and is missing from the federal table.
- Tests:
il_sb3567.yamlstill setsctc_qualifying_child: true23 times, though the reform no longer reads it. The stale inputs would hide a revert, so please drop them and add an ITIN-filer case.- Number the two new NY cases "Case 5, ..." and "Case 6, ...".
- Optional: a 2025 federal ITIN-filer case (count 0, ODC $500,
ctc_credit_limit_worksheet_b_appliesfalse), and an ITIN-infant case for the A04038 reform.
Follow-ups (separate PRs, not blocking)
- Maine counts only children under 17 with an SSN. The statute and line 13a count every dependent for whom either section 24 credit is allowed, such as a 17-year-old or a child with only an ITIN. For a 2025 head of household with $30,000 and children aged 10 and 17, the law gives $250 and the model $215.
tax_unit.sum(person("ctc_individual_maximum", period) > 0)would cover both groups and replace the hand-built condition. Since the variable is new, it could also go in this PR. - Idaho, Georgia and the IL SB3567 reform keep the federal child SSN rule, although their definitions use 24(c) or 152.
child_ssn_requirement_appliesbackfills to years before 2018, as you noted.- Colorado's 2022-2023 replica of the federal credit has no filer TIN test.
Address review on #10280: - Utah 59-10-1047(1)(e) counts a child for whom the claimant may claim "a tax credit under Section 24", which includes the credit for other dependents that IRC 24(h)(4)(C) gives after a 24(h)(7) denial. Count ctc_qualifying_child_ignoring_filer_identification with filer_meets_ctc_identification_requirements in ut_ctc_potential and the Utah reform; an ITIN filer's child gets $1,000 again. - MT HB268 ("permitted a child tax credit under section 24") and the flexible MT CTC reform get the same test through new reform variables, for both of mt_ctc's branches. - The Bennet AFA reform's $2,000-per-child floor counts children without the federal filer test; proposed 24A asks only for a timely taxpayer TIN. - Fix comments and references: the ignoring variable also applies the child SSN and 152(b)(1) rules; 24(h)(4)(C) follows only a paragraph (7) denial; cite the 2025 Schedule 8812 instructions by their irs-prior URL. - Tests: rename stale UT/MT inputs, drop 23 stale IL inputs, add ITIN cases (federal 2025, UT, MT HB268, IL SB3567, AFA, NY A04038), and number the new NY cases. - Rewrite the changelog fragment to list every change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fixes #9403.
Summary
ctc_qualifying_childrencounted a child even when the filer failedfiler_meets_child_ctc_identification_requirements; onlyctc_child_individual_maximumapplied that test. This PR follows the statute: IRC 24(h)(7)(A) allows no credit "with respect to any qualifying child" unless the return includes the taxpayer's SSN (on a joint return, at least one spouse's), and IRC 24(e)(2) requires the taxpayer's identification number. The filer test now lives inctc_qualifying_child, so the count and the amount agree.ctc_maximumdoes not change for any household.State credits that read the count were checked against their own statutes. Where a state uses only the IRC 24(c) definition, or counts children for whom any section 24 credit (including the credit for other dependents) is allowed, it keeps those children.
Changes
ctc_qualifying_child=ctc_qualifying_child_ignoring_filer_identificationANDfiler_meets_child_ctc_identification_requirements.ctc_qualifying_child_ignoring_filer_identification: the previousctc_qualifying_childtests, which are the IRC 24(c) age limit, the child SSN rule of 24(h)(7)(A)(ii), and the 152(b)(1) dependent-filer rule. It is not the bare 24(c) definition.ctc_child_individual_maximumno longer multiplies by the filer test, because the child flag includes it.id_ctc_qualifying_childrenandme_fairness_credit_qualifying_children.Consumer audit
Federal
ctc_phase_inctc_credit_limit_worksheet_b_appliesctc_child_individual_maximum_arpa(defined_for)ctcis alreadydefined_forthe filer TIN test.rrc_cares_qualifying_children_with_valid_ssnctc_qualifying_child_ignoring_filer_identification.pr_ctc(throughctc_child_individual_maximum_arpa)States
nc_child_deduction)nc_ctc_potential, amounts only for 2015–2017)ut_ctc_potential,ut_ctc_reform)ctc_qualifying_child_ignoring_filer_identificationwithfiler_meets_ctc_identification_requirements. A filer with no TIN gets $0 (24(e)(2)), in every year.id_ctc,id_ctc_reform)id_ctc_qualifying_children.me_fairness_credit_qualifying_children. A filer with no TIN at all no longer counts children, because no section 24 credit is allowed.ny_ctc_pre_2024*)ny_escc_qualifying_child,ga_ctc_eligible_child,co_ctc_qualifying_child,nm_ctc_qualifying_children)Contributed reforms
ctc_additional_bracket,ctc_older_child_supplement,family_security_act_2024_ctc: removed the duplicate filer multiply in theirctc_child_individual_maximumoverrides. Results do not change.afa_other_dependent_credit(Bennet AFA): the $2,000-per-child phase-out floor now countsctc_qualifying_child_ignoring_filer_identification. Proposed section 24A asks only for a timely taxpayer TIN (24A(e)(2)), and the reform's own child amount has no filer test. Results match main.ut_ctc_reform: same child test as the baseline Utah credit.mt_hb268: HB 268 requires a taxpayer "permitted a child tax credit under section 24", so it is treated like Utah. New reform variablesmt_hb268_qualifying_childandmt_hb268_qualifying_children(child test with a filer SSN or ITIN).mt_ctc: new reform variablesmt_ctc_qualifying_childandmt_ctc_qualifying_children. Both branches (CTC-age children and 17-year-old dependents) now use the same rule: no filer SSN rule, but a filer SSN or ITIN is needed. The 17-year-old branch had no filer test before.id_ctc_reform: the refundable cap usesid_ctc_qualifying_children, the same count as the baseline credit.ny_a04038_enhanced_escc_infants: itsny_ctc_post_2024_baseoverride usedctc_qualifying_child, but the baseline uses the ITIN-inclusiveny_escc_qualifying_child. The override now uses the baseline child test. Children with ITINs now count under the reform, as they do in the baseline.american_worker_rebate_act: the bill counts "qualifying children (within the meaning of section 24(c))", like IRC 6428(a)(2), so the child amount usesctc_qualifying_child_ignoring_filer_identification. The bill's own identification rules stay inamerican_worker_tax_rebate_eligible. Results do not change.il_sb3567: usesctc_qualifying_child_ignoring_filer_identification(the Illinois EITC accepts ITIN filers), so its results do not change.american_family_act(DeLauro): keeps the baselinedefined_for = "ctc_qualifying_child"on its ARPA child amount, so it follows the baseline.ctc_per_child_phase_out: the phase-out scales with the CTC child count, so these filers' credit for other dependents no longer phases out, as for other households with only other dependents.refundable_credit_conversion: the child moves from the per-CTC-child amount to the per-other-dependent amount.ctc_per_child_phase_in,ctc_minimum_refundable_amount,wyden_smith/ctc_expansion: no dollar change, because these filers have no child CTC to phase in or refund.Tests
YAML only, plus one renamed input in a Python test (
test_id_ga_ctc_reform_activation.py). No new Python tests, so no change in CI cost.ctc_qualifying_child.yaml: 2026 filer without an SSN (count 0, ODC $500); 2026 joint return where one spouse has an SSN (count 1); 2024 ITIN filer (count 1); 2024 filer without any TIN (count 0).ctc_qualifying_child_ignoring_filer_identification.yaml.nc_child_deduction.yaml: ITIN filer 2025 ($0), ITIN filer 2024 ($3,000), joint return with one SSN 2025 ($3,000).ut_ctc.yaml: ITIN filer 2026 ($1,000), filer without any TIN 2026 ($0), filer with an SSN ($1,000). The existing cases now setctc_qualifying_child_ignoring_filer_identificationinstead ofctc_qualifying_child, which Utah no longer reads (same inut_ctc_reform.yaml).id_ctc_qualifying_children.yaml,me_fairness_credit_qualifying_children.yaml,rrc_cares_qualifying_children_with_valid_ssn.yaml.ny_ctc_pre_2024.yaml: Case 5, ITIN filer 2023 ($330); Case 6, filer without any TIN 2023 ($0).ctc_qualifying_child.yaml: 2025 ITIN filer (count 0, ODC $500,ctc_credit_limit_worksheet_b_appliesfalse).afa_other_dependent_credit.yaml: ITIN head at $300,000 and $150,000 (ctcandrefundable_ctc$2,000).mt_hb268.yaml: ITIN filer 2025 (child counts) and filer without any TIN (ineligible). Count inputs renamed tomt_hb268_qualifying_children;mt_ctc.yamlinputs renamed tomt_ctc_qualifying_children.il_sb3567.yaml: removed 23 stalectc_qualifying_child: trueinputs and added an ITIN-filer case ($346.24).ny_a04038_enhanced_escc_infants.yaml: infant with an ITIN of an ITIN filer ($2,000).ctc_qualifying_childrenas an input now set the state count instead.refundable_credit_conversion/dependent_definition.yaml(clamp case): the test setmeets_ctc_identification_requirementsonly on the child, which leaves the filer at the defaultfalse. The filer now gets the same input, because the case means a CTC-qualifying child.Local runs at e5d9bc1 (macOS,
test_batched.py --mode per-subdir --workers 1):baseline/gov/irs/creditsresidential_clean_energy, timed out under load; rerun alone: 10 passed)baseline/gov/states/{id,ut,me,ny}baseline/gov/states/ncncdhhs/sa/nc_sa.yamlcase 37 (nc_sa_rate@2027-011,448 vs 1,436). It fails the same way onmainand does not use the CTC; #10288 fixes it.contrib/{ctc,congress,refundable_credit_conversion}contrib/states/{id,ny,il,mt,ut}contrib/congress/afaPython testsbaseline/partnersEarlier run at 7c01e32:
baseline/gov/irs2,223 passed;baseline/gov/states/{ga,co,nm,md,ok}415, 647, 703, 610, 362 passed; 16 other YAML files with filers who lack an SSN, 203 passed.Axiom parity
axiom: us/statutes/26/24/h encoded-correct
us/statutes/26/24/h.yamlalready disallows the child credit unlesstaxpayer_or_spouse_ssn_included_on_return(rulesctc_child_ssn_requirement_satisfied_under_subsection_handctc_child_credit_disallowed_by_ssn_requirement_under_subsection_h). Itsh.test.yamlhas no case where the taxpayer lacks an SSN, so a companion case for that situation is still missing. The NC moduleus-nc/statutes/105/105-153.5/a1.yamlis blocked upstream on the federal section 24 allowance, and rulespec-us has no module for Idaho 63-3029L, Utah 59-10-1047 or Maine 5219-KK.Follow-ups (not in this PR)
ctc_individual_maximum > 0, and Apply the federal TIN tests to the Maine dependent exemption credit #10286 applies the same TIN tests to the Maine dependent exemption credit.child_ssn_requirement_appliesstarts in 2018, so years before 2018 (and the pinned pre-TCJA NY branch) still apply the child SSN test, which pre-TCJA law did not have.🤖 Generated with Claude Code