compute_form_2210
Form 2210 — the estimated tax underpayment penalty (26 U.S.C. § 6654) for tax years 2025-2027, composed from the printed form: Part I (the required annual payment: 90% of this year's tax, or 100% / 110% of last year's — pass priorYearTax and priorYearAGI in facts, or noPriorYearReturn), Part III Section A (underpayment per installment) and the Section B penalty worksheet (payments applied to the earliest underpayment first; each quarter's § 6621 underpayment rate, by days). Pass payments: EVERY estimated tax payment with its date (include last year's overpayment applied to this year, dated April 15, and any payment with the return, dated the earlier of filing and April 15); withholding (facts.federalTaxWithheld) is treated as paid one-fourth on each due date unless you pass withholdingByDate (box D). Pass periods to also run Schedule AI, the annualized income installment method (box C): the CUMULATIVE amounts from January 1 through March 31, May 31 and August 31 for every income, deduction and credit amount that is nonzero for the year (same fact ids as facts; the tool lists any it needs). Each Schedule AI column is the whole return computed on the period's amounts × 4, 2.4, 1.5 and 1, with the standard deduction in full, so every income type, deduction and credit the engine models is annualized; the columns refuse, with the reason, where the form doesn't settle the period treatment (foreign earned income exclusion, prior-year carryovers, premium tax credit, kiddie tax, household employment taxes, a dependent filer, the SALT cap binding in a period). The tool reports both methods and the lower penalty. A penalty that would run into a quarter whose rate the IRS hasn't announced is refused, with Section A still shown. Report the lines and notes verbatim.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"facts": "<facts>",
"payments": "<payments>"
},
"name": "compute_form_2210"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| facts | Yes | facts for the computation: either flat corpus fact ids (see list_input_facts) or the same group objects calculate_tax accepts (filing, income, retirement, …), plus optional target and asOf. Business/fiduciary/dependent facts are accepted flat. Unknown keys are rejected by name — nothing is ever silently dropped. | |
| periods | No | Schedule AI: cumulative amounts from January 1 through each date, keyed by fact id, in dollars | |
| payments | Yes | every estimated tax payment for the year: { date: 'YYYY-MM-DD', amount: dollars } (an empty array if none) | |
| noPriorYearReturn | No | no return for the prior year, or it covered under 12 months: line 9 is line 5 | |
| withholdingByDate | No | box D: withholding by the date actually withheld; must total facts.federalTaxWithheld | |
| filedAndPaidInFullOn | No | § 6654(h): the date the return was filed and the tax paid in full, when by January 31 |