Skip to main content
Glama

Server Details

Verifiable US tax oracle for AI agents: cited, machine-checkable federal and state tax computation

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

15 tools
calculate_business_taxAInspect

Compute US federal BUSINESS-ENTITY tax from the same cited corpus: check-the-box entity classification, Form 1120 corporate income tax (§ 179/168(k)/174A/163(j)/DRD/NOL, § 250, GBC/FTC/BEAT), S-corp entity taxes, corporate estimates, the § 4501 buyback excise, AET and PHC taxes. Individual returns → calculate_tax. Unknown keys are rejected; unmodeled territory refuses loudly with the reason.

ParametersJSON Schema
NameRequiredDescriptionDefault
asOfNoREQUIRED for computation: the law-in-force date — use the intended tax year's year-end (e.g. "2025-12-31" for TY2025). Omitting it is an error, never a default.
targetNorule to derive (default: us.federal.corp.entity_level_income_tax — the classification-aware entity income tax). Other targets: us.federal.corp.entity_classification, .taxable_income, .income_tax_after_credits, .beat, .estimated.quarterly_payment, .stock_buyback_excise, .accumulated_earnings_tax, .phc_tax, .s_corp_entity_taxes
corpNCTINoTY2025: the § 951A GILTI inclusion (with its § 78 gross-up); TY2026+: net CFC tested income (NCTI, OBBBA). The § 250 deduction applies 50% (2025) / 40% (2026+). The inclusion itself is GROSS INCOME (§ 951A(a)) — it must also be in corpGrossIncome with its § 78 gross-up; this fact drives only the § 250 deduction and FTC basket. The per-CFC tested-income aggregation is not modeled. In dollars.
corpFDDEINoTY2025: foreign-derived intangible income (FDII); TY2026+: foreign-derived deduction eligible income (FDDEI, OBBBA — QBAI abolished). The § 250 deduction applies 37.5% (2025) / 33.34% (2026+). In dollars.
corpPHCIncomeNoPersonal holding company income (§ 543: dividends, interest, royalties, annuities, certain rents). In dollars.
llcMemberCountNoNumber of members (owners) of the LLC — one member defaults to disregarded-entity treatment, two or more to partnership (Treas. Reg. § 301.7701-3(b)(1)).
qreCurrentYearNoQualified research expenses for the current year (§ 41(b); § 41(d) qualification attested). In dollars.
corpGrossIncomeNoThe corporation's gross income (§ 61), INCLUDING any dividends received, any § 951 subpart F and § 951A NCTI/GILTI inclusions with their § 78 gross-ups (§ 951A(a) is a gross-income INCLUSION — the § 250 deduction is computed separately from corpNCTI), and any § 245A-eligible foreign-sub dividends. In dollars.
corpIsREITorRICNoThe corporation is a real estate investment trust (§ 856) or regulated investment company (§ 851). REFUSES — their dividends-paid deduction and distribution requirements are not modeled.
entityLegalFormNoThe business's state-law legal form: a limited liability company, or a state-law corporation (a per-se corporation under Treas. Reg. § 301.7701-2(b)(1)).
corpCapitalGainsNoThe corporation's capital gains for the year (§ 1211(a): losses offset only these; net gain is ordinary-rate income for a corporation). In dollars.
corpPriorYearTaxNoTax shown on the corporation's preceding-year return (§ 6655(d) prior-year prong; unavailable if that year showed zero tax or was short). In dollars.
corpCapitalLossesNoThe corporation's capital losses for the year, including prior-year § 1212(a) carryovers being used (allowed only to the extent of capital gains). In dollars.
corpDividendsPaidNoDividends paid during the year (the § 561 dividends-paid deduction for the accumulated-earnings computation). In dollars.
corpTaxableIncomeNoThe C corporation's taxable income BEFORE the § 250 deduction, if already computed — used as-is when provided. Leave at 0 to have the engine compute it from corpGrossIncome and the deduction components (charitable/DRD/NOL machinery). CONTRACT: the § 250 deduction is computed separately from corpFDDEI/corpNCTI and subtracted by the tax rule — an AS-FILED Form 1120 line 30 already nets out § 250, so when providing corpFDDEI/corpNCTI enter the pre-§ 250 amount here (line 30 plus the § 250 deduction as filed), never the net. In dollars.
qreAvgPrior3YearsNoAverage annual qualified research expenses over the 3 preceding years — 0 means no prior QREs (the 6% startup rate of § 41(c)(4)(B) applies). In dollars.
corpSection179CostNoCost of § 179 property the corporation elects to expense — including qualified real property (roofs, HVAC, fire/security systems on nonresidential real property, § 179(d)(1)(B)(ii)) that § 168(k) cannot reach. Must NOT also be in corpEquipmentPurchases; EXCLUDE passenger automobiles and sport utility vehicles (the § 280F caps and the § 179(b)(5) SUV cap are not modeled). In dollars.
corpStockIssuedFMVNoFair market value of stock issued by the corporation during the taxable year (including to employees) — netted against repurchases under § 4501(c)(3). In dollars.
sCorpGrossReceiptsNoThe S corporation's gross receipts for the year (§ 1375). In dollars.
corpFiscalYearFilerNoThe corporation uses a FISCAL taxable year (or files a § 443 short-period return). Fiscal and short years are not modeled — the OBBBA parameters (§ 250 rates, § 59A 10.5%, § 960(d) 90%, § 448(c) $32M, the § 170(b)(2) 1% floor) apply by the taxable year's BEGINNING date, and § 443(b) annualization / § 15 proration are not encoded.
corpForeignResearchNoFOREIGN research or experimental expenditures paid this year — capitalized and amortized over 15 years (§ 174; first-year deduction is 1/30 under the midpoint convention). In dollars.
corpNOLCarryforwardNoNet operating loss carryforward available this year (§ 172: deduction limited to 80% of taxable income before the NOL; post-TCJA, no carrybacks). In dollars.
employeeAnnualWagesNoOne employee's annual wages, for the employer-side payroll-tax target (§ 3111 FICA + FUTA). In dollars.
corpDomesticResearchNoDomestic research or experimental expenditures — currently deductible under § 174A (OBBBA, permanent from 2025). In dollars.
corpDrdOwnershipTierNoOwnership of the dividend-paying corporation: under 20% (50% DRD), 20–80% (65% DRD), or 80%+ affiliated (100% DRD, § 243(a)(3)).
corpForeignTaxesNCTINoForeign taxes attributable to the § 951A basket (GILTI/NCTI) — the § 960(d) deemed-paid credit takes the 80% (2025) / 90% (2026+, OBBBA) allowance, no carryovers. In dollars.
corpTIThrough3MonthsNoCorporate taxable income for the first 3 months (§ 6655(e) annualization, installments 1-2). In dollars.
corpTIThrough6MonthsNoCorporate taxable income for the first 6 months (§ 6655(e) annualization, installment 3). In dollars.
corpTIThrough9MonthsNoCorporate taxable income for the first 9 months (§ 6655(e) annualization, installment 4). In dollars.
corpDividendsReceivedNoDividends received from other taxable domestic corporations (§ 243 DRD; must also be included in corpGrossIncome). Enter only dividends on stock meeting the § 246(c) holding period (held more than 45 days during the 91-day window around the ex-dividend date; 90/181 for certain preferred) — attested; § 1059 extraordinary-dividend basis reduction not modeled. In dollars.
sCorpNetPassiveIncomeNoPassive investment income net of directly-connected deductions (§ 1375(b)(2)). In dollars.
sCorpShareholderCountNoNumber of shareholders, counting married couples and § 1361(c)(1) family members as one (§ 1361(b)(1)(A): may not exceed 100).
sCorpTaxableIncomeAsCNoThe S corporation's taxable income computed as if it were a C corporation (§§ 1374(b)(1)/1375(b)(1)(B) cap). In dollars.
corpBaseErosionTestMetNoThe corporation's base erosion percentage is 3% or more (2% for banks/securities dealers) — one of the two § 59A applicable-taxpayer tests. BEAT applies only to $500M+ multinationals.
corpEquipmentPurchasesNoCost of qualified § 168(k) property acquired AND placed in service this year (acquired after January 19, 2025 — 100% bonus depreciation, OBBBA-permanent). EXCLUDE passenger automobiles (the § 280F luxury-auto caps are not modeled) and anything entered in corpSection179Cost. In dollars.
corpIsLargeCorporationNoThe corporation had taxable income of $1,000,000 or more in any of the 3 preceding taxable years (§ 6655(g)(2) 'large corporation' — may not use the prior-year safe harbor).
corpOrdinaryDeductionsNoOrdinary business deductions (salaries, rents, prior-year amortization, …) — everything EXCEPT charitable contributions, the dividends-received deduction, and NOLs, which have their own limited rules. Enter compensation already limited by § 162(m) (no deduction for a covered employee's remuneration over $1,000,000 at a publicly held corporation — not modeled, attested). In dollars.
corpOwnedByFiveOrFewerNoMore than 50% of the stock's value was owned (directly or via § 544 attribution) by 5 or fewer individuals during the last half of the year (§ 542(a)(2)).
filedForm2553SElectionNoThe entity filed a timely Form 2553 S election under § 1362(a)(1) (for an eligible entity this also deems association classification, Reg. § 301.7701-3(c)(1)(v)(C)).
generalBusinessCreditsNoAggregate current-year § 38(b) general business credits (e.g. the § 41 research credit target's result) — limited under § 38(c). In dollars.
corpAvgGrossReceipts3yrNo3-year-average annual gross receipts (§ 448(c) test: $31M for 2025, $32M for 2026 — at or below it the § 163(j) limit does not apply). In dollars.
corpForeignTaxesGeneralNoCreditable foreign income taxes in the § 904(d) GENERAL basket. In dollars.
corpStockRepurchasedFMVNoFair market value of the corporation's own stock repurchased (§ 317(b) redemptions and economically similar transactions) during the taxable year, for the § 4501 excise. In dollars.
corpIsCoveredCorporationNoThe corporation is a 'covered corporation' for the § 4501 stock-repurchase excise tax: a domestic corporation whose stock is traded on an established securities market (§ 4501(b)).
corpSection245ADividendsNoForeign-source portion of dividends received from specified 10-percent-owned foreign corporations, eligible for the § 245A participation-exemption DRD (100%). Must also be included in corpGrossIncome. Attested by entry: US-shareholder status, NOT a § 245A(e) hybrid dividend, and the § 246(c)(5) 365-day holding period met; no foreign tax credit is allowed for the deducted portion (§ 245A(d)) — keep these taxes out of the FTC inputs. In dollars.
sCorpHasAccumulatedEandPNoThe S corporation has accumulated earnings and profits from C-corporation years at the close of the year (§ 1375 applies only then).
corpAccumulatedEandPStartNoAccumulated earnings and profits at the close of the PRECEDING year (§ 535(c)(2) minimum-credit offset). In dollars.
corpIsPersonalServiceCorpNoThe corporation's principal function is services in health, law, engineering, architecture, accounting, actuarial science, performing arts, or consulting (§ 535(c)(2)(B): $150,000 minimum credit instead of $250,000).
filedForm8832CorpElectionNoThe entity filed a Form 8832 election to be classified as an association taxable as a corporation (Treas. Reg. § 301.7701-3(c)).
corpBaseErosionTaxBenefitsNoBase erosion tax benefits for the year (§ 59A(c)(2)) — include the base-erosion percentage of any NOL deduction (§ 59A(c)(1)(B)). Added back to reach modified taxable income. In dollars.
corpUndistributedPHCIncomeNoUndistributed personal holding company income (§ 545: taxable income adjusted, less federal taxes and the dividends-paid deduction). In dollars.
sCorpRecognizedBuiltInGainNoNet recognized built-in gain during the § 1374(d)(7) 5-year recognition period after a C-to-S conversion (0 if the period has passed or there was no conversion). In dollars.
corpBusinessInterestExpenseNoBusiness interest expense (§ 163(j): limited to 30% of EBITDA-based ATI unless the § 448(c) gross-receipts test is met). In dollars.
corpCharitableContributionsNoThe corporation's charitable contributions — current-year gifts plus allowable prior-year § 170(d)(2) carryovers being used (both subject to the same ceiling and, from 2026, the OBBBA floor). In dollars.
corpFilesConsolidatedReturnNoThe corporation joins a consolidated return (§§ 1501-1504) — intercompany eliminations and SRLY rules are not modeled, so this refuses.
corpReasonableNeedsRetentionNoEarnings retained for the reasonable needs of the business (§§ 535(c)(1), 537 — documented needs; part of the accumulated earnings credit). In dollars.
sCorpHasMultipleStockClassesNoThe corporation has more than one class of stock (§ 1361(b)(1)(D); differences in voting rights alone do not create a second class, § 1361(c)(4)).
sCorpPassiveInvestmentIncomeNoThe S corporation's passive investment income — royalties, rents, dividends, interest, annuities (§ 1375(b)(3)). In dollars.
sCorpHasIneligibleShareholderNoAny shareholder is ineligible under § 1361(b)(1)(B)–(C): a nonresident alien, or an entity other than an estate or eligible trust/exempt organization.
corpForeignSourceIncomeGeneralNoForeign-source taxable income in the general basket (§ 904 limitation numerator; § 861 expense allocation attested). In dollars.
corpAdjustedOrdinaryGrossIncomeNoAdjusted ordinary gross income (§ 543(b)(2)) — the 60% test base. In dollars.
corpPortfolioDebtFinancedPercentNoAverage indebtedness percentage (0-100) of debt-financed portfolio stock (§ 246A) — reduces the 50%/65% DRD proportionally; 0 = not debt-financed.
corpAvgAdjustedFinancialStatementIncomeNo3-year-average adjusted financial statement income (§ 56A) — over $1 billion triggers the corporate AMT, which this engine refuses to approximate. In dollars.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears full responsibility for behavioral transparency. It mentions error behavior ('Unknown keys are rejected; unmodeled territory refuses loudly with the reason'), which is helpful. However, it does not explicitly state that the tool is read-only or has no side effects, though 'compute' strongly implies it. A clear statement about safety would push to 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph that efficiently conveys the core purpose, scope, and error handling. It is front-loaded with the main action. A slight improvement would be breaking into multiple sentences for readability, but it remains clear and reasonably concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 63 parameters and no output schema, the description covers the tool's domain and error handling well but omits any indication of the output format or return value. For a complex tool, including what the user gets back (e.g., a tax computation result) would enhance completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description text does not add any parameter-specific details beyond what the schema already provides. It only describes overall tool behavior, so no extra value for parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's specific purpose: 'Compute US federal BUSINESS-ENTITY tax' and lists numerous explicit tax provisions. It directly distinguishes itself from the sibling tool 'calculate_tax' by noting that individual returns should use that tool, providing clear differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'Individual returns → calculate_tax' tells the agent when not to use this tool. It also implies that business entities are the intended scope. This direct instruction helps avoid misapplication.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_fiduciary_taxAInspect

Compute US federal income tax for an ESTATE or TRUST (Form 1041): the § 1(e) compressed brackets and § 642(b) exemption. Input is taxable income before the exemption, after the §§ 651/661 distribution deduction. Retained capital gains refuse loudly (§ 1(h) trust breakpoints not modeled). Grantor trusts belong on the grantor's individual return via calculate_tax.

ParametersJSON Schema
NameRequiredDescriptionDefault
asOfNoREQUIRED for computation: the law-in-force date — use the intended tax year's year-end (e.g. "2025-12-31" for TY2025). Omitting it is an error, never a default.
targetNorule to derive (default: us.federal.fiduciary.income_tax).
fiduciaryTypeNoForm 1041 filer type for the § 642(b) exemption: estate ($600), simple trust required to distribute all income currently ($300), or complex trust ($100). Grantor trusts do not file their own tax — use the grantor's individual return.
fiduciaryLongTermGainsNoNet long-term capital gain retained by the estate/trust. Any positive amount REFUSES — the § 1(h) preferential breakpoints for estates and trusts are not modeled. In dollars.
fiduciaryIncomeBeforeExemptionNoThe estate/trust's taxable income BEFORE the § 642(b) exemption but AFTER the §§ 651/661 income-distribution deduction (the DNI machinery is attested by this input). In dollars.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully discloses key behaviors: retained capital gains cause an error, omitting asOf is an error, and §1(h) breakpoints are not modeled. It also explains the computation assumptions (income before exemption, after DNI deduction). This is excellent transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at 5 sentences, front-loads the core purpose, and every sentence adds essential information. No redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no nested objects, and no output schema, the description covers the computation context, input requirements, limitations, and alternative tools. It is complete enough for an AI agent to correctly select and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds meaningful context beyond schema: it explains the meaning of each parameter in the tax computation (e.g., fiduciaryIncomeBeforeExemption is after distribution deduction, fiduciaryLongTermGains cause refusal). It also provides the exemption amounts for each fiduciaryType, which are absent from schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes US federal income tax for estates and trusts (Form 1041) using specific code sections, and distinguishes from sibling tools by explicitly noting that grantor trusts should use calculate_tax. The verb 'compute' and resource 'US federal income tax for estate/trust' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear when-to-use context: for estates and trusts, and explicitly excludes grantor trusts with an alternative tool name (calculate_tax). It also warns that retained capital gains will cause an error. However, it does not explicitly list all situations where the tool should not be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_taxAInspect

Compute US federal INDIVIDUAL income tax (or balance due if withholding is given) from a content-addressed corpus of cited rules. NEVER estimate tax yourself — call this, and report ONLY numbers returned by oracle calls made with the real facts (never hand-check or approximate a line the oracle can compute: your recalled parameters may be stale). Negative result = refund. Returns the answer, every assumption made, and hashes that let anyone re-verify the full derivation offline. Facts are grouped (filing, income, retirement, credits, …) — fill the groups that apply; unknown keys are rejected, and the engine names any missing fact the target needs. When source documents CONFLICT on a value, do not silently pick one: compute both branches, disclose the conflict and your choice; an interview/confirmation answer (rollover, conversion, taxable-amount screens) usually reflects taxpayer intent better than a payer form's box code — prefer it and disclose. That heuristic covers FACTS only: LEGAL classifications (qualifying child vs other dependent, filing status, SSTB) follow the statute's tests, not intake checkbox labels — a generic 'claim dependent credit' flag does not convert a qualifying child into an ODC dependent. TRANSCRIBE documented amounts as given even when they look anomalous (e.g. state withholding in a no-income-tax state): disclose the anomaly, never delete or 'correct' a documented number from outside knowledge. If you believe an oracle result is wrong, report the ORACLE's number and note your dissent — never substitute your own: the corpus is primary-source-verified and your recollection is not. Business entities → calculate_business_tax; estates/trusts → calculate_fiduciary_tax; § 152 dependency → determine_dependent.

ParametersJSON Schema
NameRequiredDescriptionDefault
asOfNoREQUIRED for computation: the law-in-force date — use the intended tax year's year-end (e.g. "2025-12-31" for TY2025). Omitting it is an error, never a default.
stateNostate taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md/us.mo/us.wi/us.mn income_tax; parameters via lookup_tax_parameter)
filingNowho is filing: status, age/blindness, dependency, student status
incomeNowages, interest, capital gains, unemployment, foreign earned income
targetNorule to derive (default: net tax; balance due when payments_estimates.federalTaxWithheld is given). Determinations: us.federal.eligible.tips_deduction, us.federal.estimated.quarterly_payment, us.federal.estimated.safe_harbor_met
creditsNoCTC/ODC counts, dependent care, saver's, adoption, education
itemizedNoSchedule A: SALT, mortgage, medical, charitable
documentsNoRAW document transcription (preferred over hand-mapped facts): W-2 boxes, 1099-R boxes/codes, SSA-1099 boxes, dependents' birth dates. SSA-1099s are first-class: box 5 sums into socialSecurityBenefits and box 6 into withholding, so the § 86 taxable-benefits worksheet runs on the transcribed total instead of a hand-mapped guess. The tool derives wages/withholding (incl. Form 8959 Part IV), box-3/5 wage coordination, dependent classifications, age facts, and early-distribution penalties deterministically — and errors if the same value is also passed as a hand-mapped fact.
kiddie_taxNoForm 8615 inputs for a child subject to § 1(g)
retirementNosocial security, IRA/pension distributions, early-distribution penalty
adjustmentsNoIRA/HSA contributions, student-loan and car-loan interest
investor_amtNoAMT preferences (ISO spread) and § 1202 QSBS exclusion
tips_overtimeNo§ 224 tips and § 225 overtime deductions (OBBBA)
healthcare_ptcNo§ 36B premium tax credit / Form 1095-A reconciliation
rentals_passiveNoSchedule E rentals/royalties + § 469 passive-loss netting (Form 8582 via us.federal.passive_loss_allowed)
self_employmentNoSchedule C / K-1, QBI inputs, SE deductions, home office
household_employerNoSchedule H nanny/household-employee taxes
payments_estimatesNowithholding, prior-year safe harbor, annualized installments

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden — and it is exceptionally transparent. It discloses the output contract (answer, assumptions, verification hashes), unknown-key rejection, missing-fact naming, conflict handling (compute both branches, disclose choice), transcription fidelity (never correct anomalous documented numbers), and dissent policy. It even explains heuristics like preferring interview answers over payer-form codes and following statute tests over intake labels.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but dense; nearly every sentence carries operational weight. It is front-loaded with the core directive and structured by topic (output contract, conflict handling, transcription policy, dissent). A tax engine merits this detail; a 4 reflects mild redundancy in repeated 'never substitute your own' warnings.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 18 nested parameter groups, no output schema, and no annotations, the description provides a complete operational contract: return contents, error behavior, handling of conflicts/missing data/anomalies, and sibling routing. The schema documents all parameters thoroughly, so the description need not repeat them. Nothing an agent needs to invoke the tool safely is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds substantial parameter-level semantics: it explains that facts are grouped, unknown keys are rejected, and the engine names missing facts. It details specific behaviors like how conflicting source values are handled. Combined with the schema's exhaustive per-parameter documentation, the semantic picture is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: compute US federal INDIVIDUAL income tax (with balance due when withholding is given) from a cited-rule corpus. It explicitly distinguishes itself from siblings by naming calculate_business_tax, calculate_fiduciary_tax, and determine_dependent. The scope is precise and immediately actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use instructions: never estimate tax yourself, always call this tool, and report only numbers from oracle calls. It names alternatives and their triggers (business entities, estates/trusts, dependency determinations). No ambiguity remains about routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_filing_statusesAInspect

Compute the answer under every filing status for the same facts — e.g. to answer 'should we file jointly or separately?'. Statuses that need more facts report their error instead of guessing.

ParametersJSON Schema
NameRequiredDescriptionDefault
factsYesfacts 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.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool computes for all statuses, returns errors for incomplete facts, and rejects unknown keys (from schema description). It does not explicitly state that the operation is read-only, but the context implies no side effects. Overall, good disclosure for a compute tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler. The first sentence states the core purpose, and the second clarifies error handling. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple parameter and no output schema, the description is sufficient for an agent to understand the tool's function. It covers purpose, error behavior, and parameter flexibility. Minor omission: no mention of the return format (e.g., a map of status to result/error), but overall complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a full description of the 'facts' parameter. The tool description adds extra context, noting that facts can be flat corpus IDs or group objects (like filing, income, retirement) accepted by calculate_tax, and that business/fiduciary/dependent facts are accepted flat. This enriches the schema description, earning a slightly higher score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool computes answers under every filing status for the same facts, with an explicit example ('should we file jointly or separately?'). This directly distinguishes it from sibling tools like calculate_tax, which likely process a single status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear use case (comparing statuses) and explains that statuses with insufficient facts report errors rather than guessing. However, it does not explicitly state when not to use the tool or mention alternatives, which would further guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_returnAInspect

Compute the COMPLETE Form 1040 bottom-line set in one call — the 17 lines that determine the return (1a, 9, 10, 11, 12e, 15, 16, 17 AMT, 19, 22, 23, 24, 25d, 27a, 28, 32, 33, 34/37), each whole-dollar rounded by the engine. Takes the SAME input as calculate_tax (prefer the documents block: transcribe W-2/1099-R/SSA-1099 boxes and dependent birth dates — SSA-1099s are first-class, box 5 and box 6 are summed for you; the tool derives ages, classifications, Part IV withholding, and penalties deterministically). Never assemble return lines by hand — this tool is the return. TRANSCRIPTION CONVENTIONS: (1) a PRIOR-YEAR Form 1040 in the file supplies CONTINUING conditions the current-year interview omits — the 'Someone can claim: You as a dependent' checkbox and the blindness boxes carry forward unless the current-year data contradicts them; (2) COMMUNITY PROPERTY: do NOT split income 50/50 between MFS spouses when they lived apart all year with no transfers (§ 66(a) allocates earned income to the earner) or when a written separation agreement ended the community — transcribe each document to its named earner; never invent a Form 8958 split the intake does not request; (3) bonus depreciation for assets placed in service 1/1-1/19/2025 is 40% (§ 168(k) pre-OBBBA phase-down; 100% only for property ACQUIRED after 1/19/2025).

ParametersJSON Schema
NameRequiredDescriptionDefault
asOfNoREQUIRED for computation: the law-in-force date — use the intended tax year's year-end (e.g. "2025-12-31" for TY2025). Omitting it is an error, never a default.
stateNostate taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md/us.mo/us.wi/us.mn income_tax; parameters via lookup_tax_parameter)
filingNowho is filing: status, age/blindness, dependency, student status
incomeNowages, interest, capital gains, unemployment, foreign earned income
targetNorule to derive (default: net tax; balance due when payments_estimates.federalTaxWithheld is given). Determinations: us.federal.eligible.tips_deduction, us.federal.estimated.quarterly_payment, us.federal.estimated.safe_harbor_met
creditsNoCTC/ODC counts, dependent care, saver's, adoption, education
itemizedNoSchedule A: SALT, mortgage, medical, charitable
documentsNoRAW document transcription (preferred over hand-mapped facts): W-2 boxes, 1099-R boxes/codes, SSA-1099 boxes, dependents' birth dates. SSA-1099s are first-class: box 5 sums into socialSecurityBenefits and box 6 into withholding, so the § 86 taxable-benefits worksheet runs on the transcribed total instead of a hand-mapped guess. The tool derives wages/withholding (incl. Form 8959 Part IV), box-3/5 wage coordination, dependent classifications, age facts, and early-distribution penalties deterministically — and errors if the same value is also passed as a hand-mapped fact.
kiddie_taxNoForm 8615 inputs for a child subject to § 1(g)
retirementNosocial security, IRA/pension distributions, early-distribution penalty
adjustmentsNoIRA/HSA contributions, student-loan and car-loan interest
investor_amtNoAMT preferences (ISO spread) and § 1202 QSBS exclusion
tips_overtimeNo§ 224 tips and § 225 overtime deductions (OBBBA)
healthcare_ptcNo§ 36B premium tax credit / Form 1095-A reconciliation
rentals_passiveNoSchedule E rentals/royalties + § 469 passive-loss netting (Form 8582 via us.federal.passive_loss_allowed)
self_employmentNoSchedule C / K-1, QBI inputs, SE deductions, home office
household_employerNoSchedule H nanny/household-employee taxes
payments_estimatesNowithholding, prior-year safe harbor, annualized installments

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and delivers: whole-dollar rounding, deterministic derivation of ages/classifications/penalties, prior-year carry-forward of dependent/blindness checkboxes, community-property non-splitting rules, and the § 168(k) phase-down. Rich, specific behavioral context beyond what any annotation would provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence, and each block earns its place — the calculate_tax anchor, the hand-assembly prohibition, and three conventions that prevent real mis-entries. It is long, and the bonus-depreciation item is a niche rule included at the same weight as the general conventions, but nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool this complex (18 top-level params, nested objects, no output schema), the description covers the conceptual core: what the return set is, rounding behavior, input preference, and the three highest-risk transcription conventions. The main gap is the lack of any output-shape guidance given no output schema exists, but the input side is thoroughly anchored by the 100%-covered schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, and the description adds real value on top: 'Takes the SAME input as calculate_tax' tells the agent to reuse the sibling call's parameter shape, and the three transcription conventions (prior-year carry-forward, § 66(a) allocation, bonus-depreciation phase-down) govern how inputs must be handled. Some redundancy with the schema's documents-block text, but the added conventions push it above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Compute the COMPLETE Form 1040 bottom-line set in one call' — and enumerates the exact 17 lines it produces. The calculate_tax comparison and the 'Never assemble return lines by hand — this tool is the return' directive make it easy to tell apart from the federal/state siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Orients the agent by saying the tool 'Takes the SAME input as calculate_tax' and explicitly tells it to prefer the documents block over hand-mapped facts. It stops short of a full when/when-not matrix (e.g., no explicit contrast with compute_state_return), but the 'this tool is the return' directive clearly marks when it should be invoked.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_state_returnAInspect

Compose a STATE return's printed-form line set deterministically (2025 IL-1040 / VA 760 / CA 540 / NY IT-201 / PA-40 / NJ-1040 / OH IT 1040 / NC D-400 / GA 500 / MD 502 / MO-1040 / WI Form 1 / MN M1 / SC1040 / AL Form 40 / OR-40 / OK Form 511 / CT-1040) — correct line NUMBERS from the printed forms and whole-dollar rounding, with the state tax computed by the oracle targets internally. NC and GA start from federalAGI: NC runs the AGI-tiered child deduction, the independent itemize-vs-standard selection, and the Bailey/military/SS auto-subtractions; GA FORCES itemizing for federal itemizers (pass gaFederalItemized), runs the per-spouse retirement exclusion and Low Income Credit targets, and caps total credits at the line 16 tax. PA is CLASS-BASED and NJ is CATEGORY-BASED: transcribe the pa*/nj* class-or-category fields (PA: Box 16 compensation, per-spouse loss classes; NJ: the line 15-26 category nets — a category loss is suppressed per the printed rule, and the composer runs the pension-exclusion, Worksheet H deduction-vs-credit, EITC/CTC/CDCC targets itself) — federalAGI is NOT the PA or NJ base. OH starts from federal AGI: pass federalAGI + ohBusinessIncome and the composer runs the Business Income Deduction, MAGI-tiered exemptions, and the Schedule of Credits ordering (retirement/senior/CDCC/exemption credits before the joint filing credit's line-11 base). Workflow: run compute_return first for the federal substrate, compute any state-specific components the citations describe (additions, subtractions, credits without targets — disclose each), then call this ONCE and report its line set VERBATIM. Never hand-assemble state line numbers: transposed lines on correct dollars are the dominant state error mode. ALWAYS pass taxableSocialSecurity and unemploymentCompensation when nonzero (VA/CA/NY subtractions are applied by the composer). ALWAYS transcribe the intake's state-specific block (e.g. ca_tax_return.ca_form540_schca: AB 5 employee-classification additions; va_sch_a fields; county/use-tax questions) — those fields drive composer inputs. For VA MFJ, pass vaYourVagi/vaSpouseVagi (the separate-VAGI worksheet) so the composer can run the Spouse Tax Adjustment worksheet itself. For MD, pass mdSubdivision (the mandatory county tax — line 28), mdEicQualifyingChild for the 50%/100%/45% EIC routing, and mdNetCapitalGainSubject from an agent-completed Form 502CG when FAGI exceeds $350,000; the composer runs the pension-exclusion, exemption-chart, CTC, poverty-credit, and local EIC/poverty worksheets itself. Maryland part-year returns (Form 502 line 12 proration) are not composed. For MO, split each income item per spouse (moFagiYou/moFagiSpouse etc. — Missouri combined returns compute a SEPARATE chart tax per spouse), pass the line 9/10 federal-tax amounts per the printed lists, and remember the NEW TY2025 100% capital-gains subtraction (moCapitalGainYou/Spouse); Kansas City/St. Louis 1% earnings taxes are separate city returns the composer does not produce. For WI, pass wiScheduleIAdjustments (IRC frozen at 12/31/2022 — post-2022 federal changes convert on Schedule I), wiCapitalGainSubtraction from Schedule WD (30%/60% LTCG exclusion), and note the Act 15 SB-16 retirement subtraction FORFEITS every credit — the composer enforces the forfeiture; compute both ways before electing it. For MN, remember the IRC is frozen at May 1, 2023 (2025 OBBBA items convert on Schedule M1NC → mnAdditions/mnSubtractions), pass mnSsAlternativeMethod when AGI exceeds the SS threshold (the composer takes the greater), mnAmt whenever M1MT preferences exist, and mnNetInvestmentIncome for the 1% NIIT; M1C/M1REF credit schedules are transcribed buckets. For SC, the base is FEDERAL TAXABLE INCOME — pass scFederalTaxableIncome (Form 1040 line 15 verbatim; a negative amount is preserved via subtraction line r), NOT federalAGI; pass scNetLtcgAfterLosses for the 44% LTCG deduction (net LT gains against ALL capital losses first), the per-person retirement/military/age-65 fields (military retirement is 100% deductible and REDUCES the same person's other two deductions — the composer handles the interplay), and federalEITC (the composer adds the 125% NONREFUNDABLE SC EITC into line 13 itself — never also put it in nonrefundableCredits); the 2025 state-tax addback for federal itemizers goes in scAdditions. For AL, the composer builds Alabama AGI from transcribed lines (alWages = W-2 Box 16, alOtherIncome, alTaxableRetirement* for the Schedule RS 65+ $6,000 exclusion — still $6,000 in 2026, HB388 died) — federalAGI is NOT the base; pass alFederalTaxPlusNiit (1040 line 22 + Form 8960) and alFederalRefundableCredits (EIC+ACTC+AOC+adoption+2439) for the UNLIMITED line 12 federal tax deduction, and remember overtime earned Jan-Jun 2025 is exempt and already out of Box 16. For OR, pass the federal-tax-worksheet components (orFederal1040Line22, orFederalPtc from 8962 line 24, orFederalAoc/orFederalRefundableAdoption — the EITC/ACTC are NOT subtracted) for the AGI-capped line 10 subtraction, taxableSocialSecurity (subtracted in full), or2024TaxLiability for the 9.863% kicker, and the Kids Credit inputs (orKidsUnder6 + addbacks); OBBBA tips/overtime/vehicle-interest are CLAIMED for Oregon via OR-ASC codes 390/391/392 in orSubtractions but added back for the Kids Credit test. For OK, pass federalAGI (line 1) plus the Schedule 511-A pieces (taxableSocialSecurity is subtracted in FULL automatically; okMilitaryRetirement/okCsrsRetirement/okRailroadRetirement are 100% subtractions; okGovRetirement*/okOtherRetirement* run the per-person $10,000 exclusion), okOutOfStateIncome (triggers the Schedule 511-E proration of deductions and exemptions), okFederalItemized + the Schedule 511-D inputs (federal itemizers MUST itemize for Oklahoma; $17,000 cap excludes medical/charity), exemptions + okSpecialExemptions65 (the 65+ exemption has FAGI limits), okFederalChildCareCredit/okFederalChildTaxCredit (greater of 20%/5%, $100,000 FAGI cliff), the Form 538-S inputs (okStrEligible attested, okGrossHouseholdIncome = ALL household income incl. nontaxable), and the Form 511-EIC inputs (okEicEligible attested under 2020 rules; okEicEarnedIncome2025 and, optionally, okEicEarnedIncome2024 + okEicAgi2024 — the composer computes both years from the printed 2020 table and keeps the larger, then 5%). Remember the joint 4.75% bracket starts at $14,400, not the $12,200 surveys print. For CT, the whole tax is a schedule on CONNECTICUT AGI (exemption, rates, 2% add-back, recapture, credit percentage — Tables A-E) computed by us.ct.income_tax from line 5; pass federalAGI plus the Schedule 1 pieces (taxableSocialSecurity with ctSsTotalBenefits/ctSsProvisionalExcess for the line 41 worksheet; ctPensionAnnuityIncome/ctIraDistributions for line 48b; ctMilitaryRetirement, ctTeachersRetirement, ctChetContributions), the Schedule 3 property tax inputs (ctPropertyTaxResidence/ctPropertyTaxAuto1/ctPropertyTaxAuto2 — the composer caps at $300, phases out by CT AGI, and limits to line 10), Schedule 2 other-jurisdiction inputs, and federalEITC + ctEitcQualifyingChild (40% + $250, refundable). QSS uses the MFJ column everywhere.

ParametersJSON Schema
NameRequiredDescriptionDefault
asOfYesyear-end date, e.g. 2025-12-31 — REQUIRED
caAmtNoOVERRIDE for Form 540 line 61 — prefer caIsoPreference + caAmtTaxesAddback so the composer builds Schedule P AMTI and evaluates us.ca.amt itself; a passed caAmt wins.
ctAmtNoCT-1040 line 9: Connecticut alternative minimum tax from Form CT-6251 line 23 (required when federal AMT was paid — agent-computed, transcribed)
mnAmtNoM1 line 11: Schedule M1MT alternative minimum tax (6.75% broadened base, agent-computed — REQUIRED whenever AMT preference items exist; disclose)
njSrpNoNJ-1040 line 53c Shared Responsibility Payment (Worksheet L/Schedule NJ-HCC, hand-computed from coverage months; composer zeroes it below the filing threshold)
wagesNofederal line 1a wages (NY IT-201 line 1)
caBhstNous.ca.bhst result (pass the oracle target's answer) — Form 540 line 62 Behavioral Health Services Tax (R&TC § 17043, 1% of CA taxable income over $1,000,000); added into line 64 total tax when nonzero.
caYCTCNous.ca.yctc result (pass the oracle target's answer)
ctLateNoreturn/payment is late — the composer applies the 10% late payment penalty to line 26 (line 27); pass ctLateInterest for line 28
useTaxNoconsumer use / sales-use tax owed on the return
alWagesNoForm 40 line 5b: W-2 BOX 16 state wages from ALL states (Schedule W-2 col I+J; Alabama state wages often EXCEED federal Box 1 — deferrals are AL-taxable). Overtime earned Jan 1-Jun 30, 2025 is exempt and already EXCLUDED from Box 16 (W-2 Box 14 'EX OT WAGES'). Falls back to the shared wages input.
njWagesNoNJ-1040 line 15: W-2 BOX 16 state wages total (falls back to the shared wages input; NJ taxes cafeteria/125 benefits and some items federal Box 1 excludes)
additionsNototal state additions to federal AGI (e.g. NY 414(h) A-104 + IRC-125 A-101; VA Schedule ADJ line 2 codes). GATE RULE: coded addition/subtraction line-item arrays sitting under a false 'do you have additions/subtractions' boolean are inactive template rows (especially $1-$4 placeholder amounts) — transcribe $0 for them and disclose; the gate controls for these arrays
alIs65YouNoprimary taxpayer was 65 or older — enables their $6,000 retirement exclusion (NOTE: still $6,000 for 2026; the reported $12,000 increase was HB388, which died May 2025)
caCalEITCNous.ca.caleitc result (pass the oracle target's answer)
filingHohNo
moFagiYouNoMO-1040 line 1Y: the PRIMARY taxpayer's share of federal AGI — Missouri combined returns SPLIT total FAGI between spouses per the AGI worksheet (each spouse's own income; joint items allocated). Defaults to the full federalAGI when omitted (one-income couple).
njPensionNoNJ-1040 line 20a TAXABLE pension/annuity/IRA distributions (NJ three-year rule / general rule basis recovery already applied; Social Security and Railroad Retirement are exempt and never entered)
okPenaltyNoOK line 41a: delinquent payment penalty (5% of line 39 minus line 19 after the original due date)
okStrIs65Notaxpayer or spouse 65 or older by December 31 — raises the sales tax relief limit to $50,000
orPenaltyNoOR-40 line 43: penalty AND interest for filing or paying late (one combined printed line — 5% late-pay penalty, +20% over 3 months late, 100% for 3 consecutive unfiled years, plus the late-payment interest)
scIs65YouNoprimary taxpayer was 65 or older by December 31 — raises the retirement cap to $10,000 and enables the $15,000 age-65 deduction (line q-1, reduced by the retirement + military deductions claimed)
dependentsNodependent count (CA dependent exemption credits; NY $1,000 exemptions)
exemptionsNopersonal + dependent exemption COUNT (self + spouse + dependents)
federalAGINofederal Form 1040 line 11 (from compute_return, verbatim). REQUIRED for il/va/ca/ny/or/ok/ct — the composer refuses without it. NOT used by PA (class-based: pass the pa* class fields instead).
mdMw506nrsNoMD line 42: tax withheld on Form MW506NRS (nonresident real property sale)
mnItemizedNoSchedule M1SA Minnesota itemized deductions AFTER M1SA's own 3%/10%/80% limitation — the composer takes the larger of this or the computed standard deduction (MFS: standard barred when the spouse itemizes; pass mnMfsSpouseItemizes)
mnStdBoxesNo65-or-older (born before January 2, 1961) and blind boxes for you/spouse — each adds $2,000 (single/HOH) or $1,550 (married statuses) to the standard deduction
njExcessDiNoNJ-1040 line 60 excess disability insurance withheld (over $380.42; NJ-2450)
njRentPaidNorent paid on the NJ principal residence (tenants) — the composer enters 18% of it on line 40a
njScorpNetNoNJ-1040 line 22 net pro rata share of S corporation income (NJ-K-1; negative suppressed)
okInterestNoOK line 41b: delinquent payment interest (1.25% per month from the original due date)
orInterestNoOR-40 line 44: interest on UNDERPAYMENT OF ESTIMATED TAX from Form OR-10 (boxes 44a/44b) — late-payment interest goes in line 43 instead
orStdBoxesNoOR-40 boxes 17a-d: count of 65-or-older (born before January 2, 1961... turned 65 by January 1, 2026) and blind boxes for you/spouse — each adds $1,200 (single/HOH) or $1,000 (other statuses) to the standard deduction
paGamblingNoPA-40 line 8: gambling and lottery winnings net of wager costs (noncash PA Lottery prizes exempt; cash prizes taxable)
paInterestNoPA-40 line 2: PA-taxable interest (gross class — no expenses; includes commercial-annuity interest taxable as PA interest)
vaYourVagiNoPRIMARY taxpayer's separate VAGI (MFJ only — the 760 instructions' 'Worksheet for Determining Separate Virginia Adjusted Gross Income': own wages/SE/pensions, own share of joint items 50/50, own age deduction and subtractions). Enables the composer's Spouse Tax Adjustment worksheet (Form 760 line 17). vaYourVagi + vaSpouseVagi must equal line 9 VAGI.
alDonationsNoForm 40 line 34: Schedule DC donation check-offs total (reduces the refund)
alPenaltiesNoForm 40 line 31: Schedule ATP Part II penalties (estimated-tax penalty Form 2210AL etc.) — added to an amount owed, or SUBTRACTED from the refund per the printed line 35 formula
ctPteCreditNoCT-1040 line 20c: pass-through entity tax credit from Schedule CT-PE line 1 (refundable; attach the schedule)
federalEITCNofederal EIC, line 27a (from compute_return)
filingJointNo
mdItemizingNotaxpayer itemized FEDERALLY and elects Maryland itemized deductions — the composer computes 17a−17b−17c (with the H.B. 352 7.5% phase-out over $200,000/$100,000-MFS FAGI) and still takes the standard deduction if larger (Maryland allows either)
mnAdditionsNoM1 line 2: Schedule M1M line 10 + M1MB line 9 additions (non-MN municipal bond interest, federal bonus-depreciation/§ 179 addbacks, positive M1NC adjustments — Minnesota's IRC is frozen at May 1, 2023, so 2025 OBBBA items convert on Schedule M1NC)
moItemizingNotaxpayer itemized FEDERALLY and wants Missouri itemized deductions — the composer computes MO-A Part 2 (federal itemized + payroll-tax addback − net state income taxes) and takes the LARGER of that or the standard deduction unless moRequiredToItemize
njArcherMsaNoArcher MSA contributions (federal Form 8853; NJ has NO HSA deduction — never enter HSA amounts)
njCojCreditNoNJ-1040 line 44 credit for income taxes paid to other jurisdictions (Schedule NJ-COJ, hand-computed; composer caps at the line 43 tax). NO credit for Pennsylvania-reciprocal WAGES (the PA/NJ agreement) — Philadelphia wage tax DOES qualify.
njDividendsNoNJ-1040 line 17 dividends
njExcessFliNoNJ-1040 line 61 excess family leave insurance withheld (over $545.82; NJ-2450)
njWwcCreditNoNJ-1040 line 62 Wounded Warrior Caregivers Credit (Schedule NJ-WWC; gross income ≤ $100,000 MFJ/HOH/QSS, ≤ $50,000 single/MFS)
okDonationsNoOK line 36: Schedule 511-H donations from the refund (CASA programs, Wildlife Diversity Fund — $2/$5/other)
orAdditionsNoOR-40 line 8: Schedule OR-ASC line A5 additions (non-Oregon municipal interest, federal-state depreciation differences, 529 recapture)
paDividendsNoPA-40 line 3: PA-taxable dividends INCLUDING mutual-fund capital-gain distributions (PA classifies them as dividends, not gains)
scAdditionsNoSC1040 line 2 total additions (lines a-e: the state income/sales tax deducted in federal itemized deductions MUST be added back on line a; out-of-state rental/business losses; non-SC municipal bond interest; expenses on reserve/subsistence income). CRITICAL for TY2025: SC REJECTED OBBBA conformity (IRC conformity frozen at December 31, 2024) — line e must ADD BACK every OBBBA deduction in federal taxable income (tips exclusion, overtime premium, the $6,000 senior deduction, car-loan interest, OBBBA business items).
vaItemizingNotaxpayer itemized federally (VA requires the same election, Va. Code § 58.1-322.03(1)) — enables the VA Schedule A computation from the component inputs below; Form 760 line 10 replaces the line 11 standard deduction
wiDonationsNoForm 1 line 24: Schedule 3 fund donations total
alDependentsNoForm 40 line 14 dependent count — Alabama's OWN relationship list (§ 40-18-19: child/stepchild/parent/grandparent/sibling/in-laws/blood uncle-aunt-nephew-niece with over-50% support; NOT federal § 152) — $1,000/$500/$300 each by AL AGI (us.al.dependent_exemption); falls back to the shared dependents input
alIs65SpouseNospouse was 65 or older — enables their own $6,000 exclusion
filingStatusNoREQUIRED in practice: the federal filing status — drives the state bracket schedule, standard deduction column, and exemption structure. The filingJoint/filingHoh/filingHohOrQss booleans are legacy aliases; when filingStatus is present it wins.
gaLic65CountNoLow Income Credit Worksheet line 3: 1 if filer or spouse is 65+, 2 if both
gaUetPenaltyNoForm 500 line 42: Form 500 UET estimated tax penalty
jurisdictionYes
mdPensionYouNoprimary taxpayer's qualifying § 401(a)/403/457(b) pension in FAGI for the Worksheet 13A pension exclusion — ONLY if 65+/totally disabled (or spouse totally disabled); IRAs/SEP/Keogh never qualify. The composer evaluates us.md.pension_exclusion per spouse.
mnDependentsNodependents on Schedule M1DQC — $5,200 each (2025), phased 2% per $2,500 ceil-step of AGI over $358,550 MFJ/QSS, $239,050 single, $298,800 HOH, $179,275 MFS (gone once the excess passes $122,500/$61,250-MFS); $0 for dependent-claimed filers
mo529DepositNoMO-1040 line 52: refund deposited to a Missouri 529 (MOST) account (minimum $25, Form 5632)
moFagiSpouseNoMO-1040 line 1S: the spouse's share of federal AGI (combined returns). 1Y + 1S must equal the federal AGI. A NEGATIVE share triggers the 12 CSR 10-2.710 zeroing the composer applies (negative spouse $0, other spouse the netted joint FAGI; both $0 when combined FAGI is negative).
moNrPaymentsNoMO-1040 lines 39+40: MO-2NR/MO-2ENT nonresident partner/entertainer payments
ncCharitableNoNC Schedule A: IRC § 170 charitable contributions allowed for the year (no NC dollar cap)
ncTaxCreditsNoD-400 line 16: D-400TC total (other-state credit worksheet, historic rehab) — hand-computed; the composer caps at the line 15 tax. NC has NO EITC and NO child/dependent care credit.
njBaitCreditNoNJ-1040 line 63 pass-through Business Alternative Income Tax credit (PTE-K-1)
njBlindCountNoline 8 count (0-2): filer/spouse blind or disabled — $1,000 each
okEicAgi2024NoForm 511-EIC line 17 (Tax Year 2024 column): 2024 federal AGI — REQUIRED with okEicEarnedIncome2024 (the composer skips the 2024 column without it, since the line 19 AGI look-up cannot run)
okUsInterestNoOK Schedule 511-A line 1: interest on U.S. government obligations included in federal AGI (not FNMA/GNMA)
orFederalAocNoAmerican Opportunity Credit (1040 line 29) — subtracted in the federal tax worksheet
orFederalPtcNopremium tax credit from Form 8962 LINE 24 (the full allowable credit regardless of advance payments) — subtracted. NOTE: the EITC and additional child tax credit are NOT subtracted.
orKidsUnder6Nodependents age 5 or younger at the end of 2025 (max 5 count) — $1,050 each Oregon Kids Credit (us.or.kids_credit, refundable, MFS denied). A child claimed only via a RELEASED dependent exemption does not count.
scDependentsNoSC line w dependent count (must equal the federal return's) — $4,930 each for 2025 (us.sc.dependent_exemption); falls back to the shared dependents input
scIs65SpouseNospouse was 65 or older by December 31 (lines p-2/q-2)
scLumpSumTaxNoSC1040 line 7: tax on lump-sum distribution (SC4972, agent-computed, attached)
subtractionsNototal state subtractions OTHER than the automatic ones (taxable social security / unemployment have their own inputs below; e.g. NY S-136 alimony paid, IL retirement subtraction)
vaFamilyVagiNoSchedule ADJ line 10 total family VAGI (you + spouse + dependents' VAGI) for the Credit for Low-Income Individuals poverty test; defaults to line 9 VAGI when omitted
vaSpouseVagiNospouse's separate VAGI for the STA worksheet (Form 760 line 17 box; MFJ only)
wi2441CreditNoSchedule WI-2441 line 14 — Wisconsin's additional child and dependent care credit (its own recomputation; transcribe the schedule's result)
wiAge65BoxesNocount of 65-or-older boxes (taxpayer/spouse) — $250 each on line 10b (Wisconsin has no blindness exemption; the $700 line 10a exemptions come from the shared `exemptions` count)
wiMarriedHohNothe Form 1 'Head of household, married' checkbox applies — shares the MFS $150 school property tax credit cap
alAdjustmentsNoForm 40 line 9 / Part II total (per-spouse IRA deduction, Keogh/SEP, early-withdrawal penalty, alimony paid, adoption expenses, MOVING EXPENSES (Alabama kept them), SE health insurance, College Counts 529/PACT, small-employer health premiums, wind/flood retrofit, catastrophe savings, HSA, First/Second-Chance Home Buyer, firefighter insurance, ABLE)
alOtherIncomeNoForm 40 Part I lines 1-3 and 5-7 total EXCLUDING retirement (alimony received, business income/loss, gains — the 1/1/2025+ precious-metal-bullion gain is EXEMPT, rents/royalties/partnerships, farm; negative allowed). Retirement goes in the alTaxableRetirement* fields for the Schedule RS exclusion.
ctUseTaxTableNocompute line 6 the way the DRS printed tax tables do (CT AGI ≤ $102,000: schedule at the $50 row midpoint, one rounding) instead of the Tax Calculation Schedule's line-level rounding — both are allowed by the form; default is the schedule
gaNolUtilizedNoForm 500 line 15b: Georgia NOL utilized (Schedule 4; cannot exceed line 15a or the 80% limitation — composer caps at 15a)
ilK12ExpensesNoIL qualified K-12 education expenses (before the $250 floor)
md502crPartBBNoMD line 31: local tax credit from Form 502CR Part BB line 1
mdCtcChildrenNoMaryland CTC qualified children (dependents under 6, or over 5 and under 17 with a disability) — the composer evaluates us.md.ctc ($500/child, phased out $50 per $1,000 of FAGI over $15,000, $0 above $24,000; refundable via 502CR Part CC into line 45)
mdSubdivisionNoREQUIRED for MD: the taxing county where the filer resided on the LAST day of the tax year (Form 502 political-subdivision box) — one of baltimore_city, allegany, anne_arundel, baltimore_county, calvert, caroline, carroll, cecil, charles, dorchester, frederick, garrett, harford, howard, kent, montgomery, prince_georges, queen_annes, st_marys, somerset, talbot, washington, wicomico, worcester, nonresident. Drives the mandatory local tax (line 28: flat 2.25%-3.30%; Anne Arundel bracketed with its own printed table; Frederick tiered on the WHOLE income with real cliffs).
mnStateRefundNoM1 line 6: state income tax refund from federal Schedule 1 line 1 (its own subtraction line)
moFederalTax9NoMO-1040 line 9 'Tax from federal return': federal 1040 line 22 MINUS lines 27a and 29, MINUS Schedule 2 Part 1 line 3, MINUS Schedule 3 Part 2 line 9 — never withholding; the EIC must be subtracted
moSsExemptYouNothe primary's MO-A Section C exemption: their TAXABLE Social Security/SSD (1040 line 6b share), 100% exempt — pass ONLY if 62+ by December 31 (the MO-1040 age box) or on Social Security Disability (attested)
njAlimonyPaidNoNJ-1040 line 32 court-ordered alimony PAID (still deductible for NJ; never child support)
njBusinessNetNoNJ-1040 line 18 net profits from business (Schedule NJ-BUS-1 Part I; negative allowed — the composer suppresses a net category loss per the printed rule)
njFederalCdccNothe federal Form 2441 child and dependent care credit — enables the line 64 NJ CDCC (us.nj.cdcc: 50%→10% of it by NJ taxable income, $150,000 cap)
njGamblingNetNoNJ-1040 line 24 net gambling winnings (losses net WITHIN the category; NJ Lottery prizes of $10,000 or less are exempt)
njMfsSameHomeNoMFS and both spouses maintained the SAME main home — halves the property-tax deduction cap ($7,500) and credit ($25)
njNjclassPaidNoNJ-1040 line 37b NJCLASS loan principal+interest paid (composer caps at $2,500)
njOtherIncomeNoNJ-1040 line 26 other income
njSeniorCountNoline 7 count (0-2): filer/spouse 65 or older (born 1960 or earlier for TY2025) — $1,000 each
njTuitionPaidNoNJ-1040 line 37c NJ-institution tuition paid (composer caps at $10,000)
ohEicOverrideNoOVERRIDE: us.oh.eic oracle answer — wins over the composer's 30%-of-federalEITC line 13 computation
okAmendedPaidNoOK line 30 (amended return only): amount paid with the original return plus additional payments after it was filed
okEicEligibleNoForm 511-EIC eligibility under the FEDERAL 2020 rules attested: work-valid SSNs, not married filing separately, investment income $3,650 or less, and with no qualifying child age 25-64 and not a dependent — enables the Oklahoma EIC (line 28)
okMilitaryPayNoOK Schedule 511-C line 1: active-duty, Reserve, and National Guard military pay included in federal AGI (100% excluded)
okPtrEligibleNoForm 538-H gates attested: 65 or older OR totally disabled, head of a household (owner who maintained the home — the 538-H definition, not the filing status), domiciled in Oklahoma the entire year — enables the property tax relief credit (line 24; also needs gross household income ≤ $12,000)
okStrDisabledNotaxpayer or spouse has a physical disability constituting a substantial handicap to employment (proof attached) — raises the sales tax relief limit to $50,000
okStrEligibleNoForm 538-S gates attested: Oklahoma resident (domiciled) the ENTIRE year, no TANF in any month, not a DOC inmate during the year after a felony conviction, not living in Oklahoma under a visa, and the return is filed by the due date — enables the sales tax relief credit (line 25)
or529DepositsNoOR-40 line 51: Oregon 529 deposits from Schedule OR-529 (reduce the refund)
orPtePaymentsNoOR-40 line 36: estimated payments from Schedule OR-K-1 line 20 (PTE owner payments via Form OR-19)
orStateRefundNoOR-40 line 12: OREGON state income tax refund from federal Schedule 1 line 1 (never other states' or local refunds)
paBusinessNetNoPA-40 line 4, TAXPAYER's own net business/profession/farm income or LOSS (negative allowed; within-class netting of the taxpayer's own activities only — a loss never crosses classes or spouses)
paEstateTrustNoPA-40 line 7: estate/trust income (PA Schedule J; an estate or trust cannot distribute a loss — never negative)
paPropertyNetNoPA-40 line 5, taxpayer's own net gain/loss from sale/exchange/disposition of property (negative allowed; no carryover)
caHsaDeductionNofederal HSA deduction (Form 8889 line 13) — California does not conform to § 223: the composer ADDS it back for CA
ctLateInterestNoCT-1040 line 28: late payment interest — 1% of line 26 per month or fraction of a month from the due date (agent-computed)
filingHohOrQssNo
gaIndCrCreditsNoForm 500 line 20: IND-CR Summary total OTHER than the CDCC (the composer adds us.ga.cdcc itself from gaFederalCdccAllowed)
ilChildUnder12NoIL CTC gate: a QUALIFYING CHILD (§ 152(c) lineage — child/stepchild/foster/sibling or their descendants) under age 12. A qualifying-relative/ODC-only dependent does NOT satisfy this even if under 12; leave false.
ilEitcOverrideNous.il.eitc oracle target's answer (35 ILCS 5/212(a)(vi), (b-5), (b-10): 20% of the federal EITC recomputed WITHOUT the § 32(c)(1)(A)(ii) childless age gate) — WINS over the generic 20%-of-federalEITC line-29 computation when present. MUST be used (not merely optional) for a taxpayer age 18-24 or 65+ with NO qualifying children: federalEITC alone is correctly $0 for that population under federal law, so line 29 = 20% x federalEITC would wrongly zero out Illinois' decoupled credit — pass us.il.eitc's computed answer instead. Safe to pass for every IL EITC claimant (agrees with the generic computation outside the decoupled population).
mdEarnedIncomeNoMD line 1b earned income (wages + net SE profit, no loss netting) — the poverty level credit base (us.md.poverty_level_credit) and the local poverty credit (19C)
mdStateRefundsNoMD line 8: taxable state/local income tax refunds included in federal AGI (subtraction)
mnSubtractionsNoM1 line 7 subtractions (M1M line 40 + M1MB line 22) EXCLUDING the composer-computed Social Security subtraction: U.S. government interest, K-12 education expenses, charitable over $500 for non-itemizers (50% of the excess), bonus-depreciation recovery, M1R age-65+/disabled, M1QPEN public pension, military items, the new 2025 items (coerced debt, consumer enforcement, foreign service, SEIU stipends)
moAdditionsYouNoMO-A Part 1 line 7Y: the primary's additions (non-Missouri state/local bond interest, PTE/NOL addbacks, nonqualified 529/ABLE distributions, food pantry, nonresident property tax)
moLtcDeductionNoMO-1040 line 16: qualified long-term care insurance premiums (12+ month policies, net of federally deducted amounts, per the worksheet)
njEitcOverrideNoOVERRIDE: us.nj.eitc oracle answer — wins over the composer's 40%-of-federalEITC / $260 computation
njHezDeductionNoNJ-1040 line 34 Health Enterprise Zone deduction (TB-56)
njVeteranCountNoline 9 count (0-2): filer/spouse honorably-discharged veterans — $6,000 each
ohAge65OrOlderNofiler (or spouse) was 65 or older at year end — $50 senior citizen credit (once per return; NOT available if the lump sum distribution credit was ever taken)
orKickerDonateNofiler elects to donate the ENTIRE kicker to the State School Fund (irrevocable after the due date) — line 32 becomes $0 and box 55 is checked
orSubtractionsNoOR-40 line 13: Schedule OR-ASC line B7 subtractions — including the OBBBA-conforming tips/overtime/passenger-vehicle-interest deductions (codes 390/391/392: Oregon lets you claim the same amounts as federal), US government interest, the federal pension percentage subtraction, OR-HOME first-time home buyer savings, tier 2 Railroad Retirement. Do NOT include Social Security (automatic via taxableSocialSecurity).
scCareChildrenNocount of qualifying care children/dependents — 2+ raises the SC CDCC cap from $210 to $420
scCareExpensesNofederal Form 2441 child/dependent care EXPENSES (not the credit) — SC line 11 pays 7%, max $210/$420 (us.sc.cdcc); DENIED to married filing separately
scI290PaymentsNoSC1040 line 19: nonresident real estate withholding paid on Form I-290
vaAgeDeductionNoOVERRIDE ONLY — pass vaAgeQualifyingFull/vaAgeQualifyingTested instead and the composer computes the age deduction itself (including the AFAGI social-security exclusion agents routinely miss). When splitting an odd joint total between spouses (Form 760 lines 4a/4b), the odd dollar goes to the SPOUSE.
ageOrBlindBoxesNocount of age-65+/blind boxes checked (taxpayer/spouse, per box)
alAtpOtherTaxesNoSchedule ATP Part I taxes OTHER than the use tax (which uses the shared useTax input): catastrophe-savings recapture (+2.5%), etc.
caIsoPreferenceNoISO exercise spread AMT preference (§ 56(b)(3) as modified by R&TC § 17062) — with caAmtTaxesAddback this lets the composer BUILD Schedule P AMTI itself (AMTI = line 19 taxable income + taxes deducted in the CA itemized deduction + this preference; standard deduction added back instead when not itemizing) and evaluate us.ca.amt internally; caAmt (a precomputed answer) wins if both are given
caRentersCreditNous.ca.renters_credit result (pass the oracle target's answer) — nonrefundable, joins the exemption credits in the line-48 subtraction from tax.
cityWithholdingNoNY line 73 NYC withholding
ctEitcJointFagiNoSchedule CT-EITC line 13: the JOINT federal AGI when the filer filed jointly federally but must file married-filing-separately for Connecticut — the composer prorates the 40% credit by federalAGI (this spouse's separate AGI, line 12) ÷ this amount to four decimals
gaExclusionTierNoprimary taxpayer's GA retirement-exclusion tier: 62-64 during any part of the year or permanently/totally disabled ($35,000 cap) vs 65+ ($65,000 cap) (us.ga.retirement_exclusion)
gaLicExemptionsNoLow Income Credit Worksheet line 2: self + spouse + natural/legally adopted children (never other dependents or unborn) (us.ga.low_income_credit)
mdContributionsNoMD lines 35-39: voluntary fund contributions total (reduces the refund)
mdHouseholdSizeNopersons in the family/household from the federal return — enables the poverty level credit computation (2025 guideline $15,650 + $5,500 each additional person)
mdPensionSpouseNospouse's qualifying pension for their own 13A column (same gates)
mdRangerPensionNoMD line 10b: Retired Forest/Park/Wildlife Ranger pension exclusion (Worksheet 13E, agent-computed, disclosed)
mnOtherTaxes14aNoM1 line 14a: M1HOME/M1529 recapture, M1LS lump-sum tax, and the Schedule NIIT amount if computed outside the composer
mnRrTier1OffsetNoTier 1 Railroad Retirement benefits already subtracted on M1M line 17 — the SS worksheet (steps 25-29) reduces the simplified-method subtraction by this amount (no double subtraction)
moHcsmDeductionNoMO-1040 line 17: health care sharing ministry contributions not deducted federally
moOtherTaxesYouNoMO-1040 line 34Y: 10% of the Federal Form 4972 lump-sum distribution tax, and/or recapture of the low income housing credit (Form 8611) — the printed checkboxes. (Form 4970 trust accumulation amounts are a SUBTRACTION, not a line 34 tax.)
ncScorpPaymentsNoD-400 line 21d: NC tax paid by an S corporation on the filer's behalf
njExcessUiWfSwfNoNJ-1040 line 59 excess UI/WF/SWF withheld (two+ employers over $184.02; Form NJ-2450)
okAdditionalTaxNoOK line 14b: HSA non-qualified withdrawal 10% additional tax (box 2), Oklahoma Affordable Housing credit recapture (box 3), or IRC § 965(h) installment (box 4)
okForm578CreditNoOK line 27: refundable credit for electricity generated by zero-emission facilities from Form 578 (85% of face; transcribed)
okStrExemptionsNoForm 538-S Box D qualified exemptions (yourself + spouse + federally-claimed dependents who were Oklahoma residents all year; the 65+/blind boxes NEVER count) — $40 each; defaults to the shared `exemptions` count
scContributionsNoSC1040 line 28: check-off contributions total (I-330 attached; reduces the refund)
scLatePenaltiesNoSC1040 line 32: late filing/late payment penalties and interest
scTuitionCreditNoSC1040 line 21: REFUNDABLE tuition tax credit (Form I-319: 50% of qualifying SC-institution tuition within the form's limits — agent-computed with disclosure, form attached)
vaItemizedOtherNoVA Sch A other itemized deductions
wiBothSpouses67Noboth spouses 67+ on December 31 (joint returns) — raises the SB-16 cap to $48,000
extensionPaymentNopayment made with an extension request. VA 760 line 22 (its own line, never folded into the estimated-payments line). NY IT-201 line 75 is the COMBINED line — 'estimated tax payments and amount paid with Form IT-370' — so for NY this is added into the same line as estimatedPayments, not kept separate.
gaDependentCountNoForm 500 line 7c total dependents (7a qualified + 7b unborn-with-heartbeat; never self/spouse) — $4,000 each (us.ga.dependent_exemption)
moCapitalGainYouNothe primary's share of federally reported capital gains (Form 1040 line 7a) — the composer subtracts 100% (MO-A line 18, H.B. 594, NEW for TY2025; a negative amount enters as $0)
moSsExemptSpouseNothe spouse's Section C SS/SSD exemption on the same gates
ncUseTaxEstimateNouse the printed no-receipts consumer use tax table (keyed to line 14 taxable income, us.nc.use_tax) instead of the useTax input
njAbcaAdjustmentNoNJ-1040 line 35 Alternative Business Calculation Adjustment (Schedule NJ-BUS-2 line 11 — the only cross-category loss softener, 20-year carryforward)
njChildrenUnder6Nocount of line 10/11 dependents age 5 or younger on 12/31 (born 2020 or later for TY2025) — the line 65 NJ Child Tax Credit multiplier ($1,000→$200 each by taxable income ≤ $80,000; MFS ineligible)
njDispositionNetNoNJ-1040 line 19 net gains from disposition of property (Schedule NJ-DOP; NO capital-gain preference, NO loss carryover; negative allowed — suppressed)
njGoldStarCreditNoNJ-1040 line 47 Gold Star Family Counseling Credit (hours × TRICARE rate)
njPartnershipNetNoNJ-1040 line 21 distributive share of partnership income (NJK-1; negative suppressed)
njRentRoyaltyNetNoNJ-1040 line 23 net rents/royalties/patents/copyrights (negative suppressed)
nycTaxableIncomeNoNYC taxable income (IT-201 line 47) if NYC resident
ohBusinessIncomeNoOH Schedule of Business Income Part 1 line 10: total business income (Schedule B/C/D/E/F + guaranteed payments to 20%+ owners + § 4797) — the composer runs the $250,000/$125,000 Business Income Deduction and the flat-3% line 6/8b arithmetic from it
ohResidentCreditNoOH Schedule of Credits line 39 resident credit for taxes paid other states (Ohio IT RC, hand-computed)
okCsrsRetirementNoOK Schedule 511-A line 3: Federal Civil Service Retirement System benefits paid in lieu of Social Security (100% excluded; CSA/CSF 1099-R claim number required — FERS does not qualify except the CSRS component or the FERS annuity supplement)
okFederalCharityNofederal Schedule A line 14 gifts to charity — exempt from the $17,000 Oklahoma cap
okFederalMedicalNofederal Schedule A line 4 medical and dental (after the 7.5% floor) — exempt from the $17,000 Oklahoma cap
okUseTaxEstimateNofiler kept no records of out-of-state purchases and elects the printed Use Tax Table estimate on federal AGI for line 19 (us.ok.use_tax — the 2025 table; for a TY2026 return the estimate REFUSES until the 2026 packet publishes, pass useTax instead) — otherwise pass useTax (worksheet amount) or nothing (certify no use tax is due)
orSpouseItemizesNoMFS only: the other spouse itemizes — the Oregon standard deduction becomes $0
orYoungestUnder3Nothe youngest dependent was younger than 3 at year end — raises the Oregon EIC from 9% to 12% of the federal EITC (us.or.eic)
paRentRoyaltyNetNoPA-40 line 6, taxpayer's own net rents/royalties/patents/copyrights (short-term rentals under 30 days are BUSINESS income, line 4)
paResidentCreditNoPA-40 line 22: resident credit for tax paid other states (Schedule G-L; not for reciprocal-state compensation: IN/MD/NJ/OH/VA/WV). Subtracts BEFORE Tax Forgiveness — the composer handles the ordering.
scActiveTradeTaxNoSC1040 line 8: I-335 flat 3% tax on active trade or business income (agent-computed; the electing income must also appear in scSubtractionsOther as the line l subtraction)
scCatastropheTaxNoSC1040 line 9: tax on excess Catastrophe Savings Account withdrawals
stateWithholdingNostate income tax withheld (IL line 25 / VA 19a / CA 71 / NY 72). CONVENTIONS: IL line 25 sums state withholding from EVERY document (W-2s + all 1099s). NY line 72 = W-2 box 17 NYS withholding PLUS NY-coded state withholding from 1099s whose PAYER has an in-state (NY) address; NY-coded withholding printed by an OUT-OF-STATE-addressed payer is NOT included; disclose any excluded amount in notes. VA 19a = the PRIMARY taxpayer's withholding from EVERY document type (W-2, 1099, VK-1 — Form 760 line 19 instructions name all three; the payer's address does NOT matter for VA, unlike NY); a jointly-issued document's state withholding splits 50/50 between 19a/19b with the odd dollar to the primary.
vaRefundableEitcNoOVERRIDE ONLY — the composer now computes the Form 760 line 23 credit itself from federalEITC + the eligibility inputs below. If passed, this refundable amount wins over the computed selection.
wiFarmlandCreditNoForm 1 line 31: farmland preservation credit (Schedules FC/FC-A, transcribed)
wiOtherPenaltiesNoForm 1 line 26 other penalties (see instructions p.25)
wiVeteransCreditNoForm 1 line 34: eligible veterans and surviving spouses property tax credit
yonkersSurchargeNous.ny.yonkers_surcharge result (pass the oracle target's answer) — 16.75% of the Yonkers worksheet's netted base (nyYonkersBase). Added into line 62's total and printed on its own line (IT-201 LINE 55, not 54 — line 54 is MCTMT) when nonzero.
caAmtTaxesAddbackNotaxes actually included in the CA itemized deduction (property taxes etc. surviving the Schedule CA SALT adjustments) — the Schedule P line 2 addback used when the composer builds AMTI from caIsoPreference; $0 when not itemizing (the composer adds back the standard deduction instead)
ctSsTotalBenefitsNofederal Social Security Benefits Worksheet line 1 (total benefits, SSA-1099 box 5) — with taxableSocialSecurity and ctSsProvisionalExcess the composer runs the CT Social Security Benefit Adjustment Worksheet (line 41) when federal AGI is at or above $75,000 (single/MFS) or $100,000 (MFJ/QSS/HOH); below the threshold the full taxable amount is subtracted automatically
estimatedPaymentsNostate estimated payments ONLY (extension payments and prior-year credited overpayments have their own lines where the form provides them)
gaFederalItemizedNoForm 500 line 12a: federal Schedule A total. Supplying this FORCES Georgia itemizing ('Leave Line 11 blank if you itemize deductions on your Federal return') — a federal standard-deduction filer must omit it.
ilPropertyTaxPaidNoIL property tax on principal residence, net of business-use portion
ilTeacherExpensesNoIL Schedule 1299-C educator materials expenses
mdBusinessCreditsNoMD line 25: business tax credits (Form 500CR — e-file only; transcribed)
mdFederalItemizedNoMD line 17a: total federal itemized deductions (federal Schedule A line 17)
mdInterestChargesNoMD line 51: Form 502UP interest / late-filing interest
mdSsRrBenefitsYouNoprimary taxpayer's TOTAL Social Security + Railroad Retirement benefits (taxable or not) — reduces the $41,200 cap in the primary's 13A column
mnPenaltyInterestNoM1 line 28: late-filing/late-payment penalty and interest (agent-computed per the instructions)
moAdditionsSpouseNoMO-A Part 1 line 7S: the spouse's additions
moFederalItemizedNoMO-A Part 2 line 1: total federal itemized deductions (federal Schedule A total) plus any approved cultural contributions (literary/musical/scholastic/artistic donations, § 143.141)
moOtherDeductionsNoMO-1040 lines 21-24 bucket: beginning farmer, transport facility, foster parent deductions (agent-transcribed)
moSubtractionsYouNoMO-A subtractions for the primary EXCLUDING the composer-computed capital gain (line 18) and business income deduction (line 17): exempt federal-obligation interest, state refund, military retirement (100%), railroad retirement, 529/ABLE contributions ($8,000/taxpayer), qualified health insurance premiums, depreciation adjustments, agriculture disaster relief
ncMedicalExpensesNoNC Schedule A line 7a: medical/dental expenses BEFORE the floor — the composer subtracts 7.5% of federal AGI
ncRealEstateTaxesNoNC Schedule A: real estate property taxes (NC allows NO income/sales tax deduction) — inside the $20,000 combined cap
njAlimonyReceivedNoNJ-1040 line 25 alimony received (NJ did not adopt the TCJA repeal — still NJ income)
njDomesticPartnerNoregistered NJ domestic partner claimed as a line 6 regular exemption (+$1,000)
njMedicalExpensesNounreimbursed medical expenses (Worksheet F line 1) — the composer applies the 2%-of-line-29 floor
njPensionEligibleNoline 28a gate: filer (or spouse if joint) was 62+ OR blind/disabled per Social Security guidelines on the last day of the year — enables the pension exclusion (us.nj.pension_exclusion)
njTaxableInterestNoNJ-1040 line 16a taxable interest (NJ-exempt: federal obligations, NJ municipal bonds — exclude here, report on 16b)
nyHouseholdCreditNoNYS household credit from table 2 (us.ny.parameters citation)
ohInterestPenaltyNoIT 1040 line 11 interest penalty on underpayment of estimated tax (Ohio IT/SD 2210)
okBlindExemptionsNocount of legally-blind boxes (taxpayer/spouse) — $1,000 each, added to the shared `exemptions` count (self + spouse + dependents)
okFederalItemizedNotaxpayer ITEMIZED on the federal return — Oklahoma then REQUIRES Oklahoma itemized deductions (Schedule 511-D) even if smaller than the standard deduction; a federal standard-deduction filer must take the Oklahoma standard deduction
okPropertyTaxPaidNoForm 538-H line 15: 2025 real estate (ad valorem) taxes paid on the homestead (no personal property taxes) — credit = amount over 1% of gross household income, max $200
okStrHasDependentNofiler can claim a dependent — raises the sales tax relief gross household income limit from $20,000 to $50,000
orKidsLossAddbackNoKids Credit worksheet Part B: federal losses + OR-ASC loss-subtraction codes beyond the $20,000 allowance, plus ALL excluded foreign earned income — added back to qualifying income
paNrk1WithholdingNoPA-40 line 17: nonresident tax withheld from PA Schedule(s) NRK-1
refundableCreditsNostate refundable credits, e.g. the NY credit block: ESCC + NYS EIC + IT-216 + NYC EIC + NYC school tax + NYC child care (WITHOUT their own oracle target, self-computed per the us.ny.parameters citation and disclosed) PLUS us.ny.it214 (the Real Property Tax Credit, which DOES have an oracle target as of TY2025 v5 — pass its computed answer here, not a hand-derived percentage of rent)
scSubsistenceDaysNoSC line s: days as a full-time federal/state/local law enforcement officer, firefighter, or EMS worker — $16/day subsistence allowance
vaItemizedMedicalNoVA Sch A line 1: total medical/dental expenses BEFORE any floor (VA applies its own 10%-of-FAGI floor — Virginia deconforms from the federal 7.5% floor)
wiFederalEicForWiNothe federal EIC AS COMPUTED UNDER WISCONSIN'S IRC (Schedule I Part III recomputation when Part I adjustments exist) — defaults to the shared federalEITC when omitted
wiHomesteadCreditNoForm 1 line 33: homestead credit (Schedule H/H-EZ circuit breaker, agent-computed, refundable)
wiRepaymentCreditNoForm 1 line 32: repayment of income previously taxed credit
alCampaignCheckoffNoForm 40 line 20: $1/$2 Alabama Democratic/Republican party checkoffs — these ADD to the tax due (not fund-neutral like the federal checkoff)
claimedAsDependentNosomeone else can claim this taxpayer as a dependent (carry the prior-year 1040 'Someone can claim: You as a dependent' checkbox forward as a continuing condition unless the current-year interview contradicts it). IL: zeroes the line 10 exemption allowance when base income exceeds the exemption amount. VA: limits the standard deduction to earned income.
ctIraDistributionsNoForm 1040 line 4b taxable IRA distributions other than Roth — 75% (TY2025) / 100% (TY2026) enters the pension and annuity subtraction
ctPropertyTaxAuto1NoCT Schedule 3 line 61: property tax paid on one privately owned or leased (term over one year) motor vehicle
ctPropertyTaxAuto2NoCT Schedule 3 line 62: a second vehicle — MFJ / QSS ONLY (the composer ignores it for other statuses with a note)
gaOtherStateCreditNoForm 500 line 18: other state(s) tax credit (printed worksheet, hand-computed; other-state return copy required)
gaOtherWithholdingNoForm 500 line 25: GA tax withheld on G2-A / G2-FL / G2-LP / G2-RP statements (never W-2/1099 amounts — those go in the shared stateWithholding for line 24)
gaRetirementIncomeNoprimary taxpayer's UNEARNED retirement income for the exclusion (pensions, interest, dividends, net rents, capital gains, royalties, military retirement; joint property at 50%; NEVER Social Security — that subtracts automatically)
mdHomebuyerPenaltyNoMD line 51a: first-time homebuyer savings account 10% withdrawal penalty
mdRecapturedCreditNoMD line 21a: recaptured credit from Form 502CR Part DD line 1
moOtherTaxesSpouseNoMO-1040 line 34S
moPublicPensionYouNothe primary's PUBLIC-source pension (federal/state/local government, 1040 line 5b share) — the composer runs MO-A Part 3 Section A (min(pension, $47,633) less their Section C exemption). Military retirement goes in moSubtractionsYou instead (100%, MO-A line 10).
ncBaileyRetirementNoNC Schedule S line 20: Bailey settlement retirement benefits (NC/local government or US government incl. military retirees with 5+ years of creditable service as of Aug 12, 1989; state 401(k)/457 contributed before that date) — fully deducted; enclose the 1099-R
ncMortgageInterestNoNC Schedule A: qualified mortgage interest — the composer applies the $20,000 combined cap with real estate taxes and takes itemized only when it beats the standard deduction
njEitcAgeDecoupledNoflat-$260 NJEITC attested: 18+, no qualifying child, met all federal EIC requirements except age, not claimed as a dependent (NJ eliminated both federal age limits)
njSpecialExclusionNoline 28b Special Exclusion attested: filer (and spouse if joint) will NEVER be eligible for Social Security/Railroad Retirement because the employer did not participate — adds $6,000 (MFJ/HOH/QSS) / $3,000 (single/MFS)
nycHouseholdCreditNoNYC household credit from table 5
ohRetirementIncomeNoretirement income received on account of retirement still INCLUDED in Ohio AGI, both spouses combined (NOT Social Security/railroad/uniformed-services amounts — those are deducted and never qualify) — drives the retirement income credit (max $200)
ok529ContributionsNoOK Schedule 511-C line 3: Oklahoma 529 College Savings Plan / OklahomaDream 529 contributions (incl. carryforwards and contributions through April 15) — the composer caps at $10,000 ($20,000 joint)
okGovRetirementYouNoOK Schedule 511-A line 5, TAXPAYER: Oklahoma-government / U.S. civil service retirement in the taxpayer's own name (OPERS, TRS, police, fire, judges, county/municipal systems) — excluded up to $10,000 per person (us.ok.retirement_exclusion)
okHomeschoolCreditNoOK line 29: Parental Choice Tax Credit for homeschool expenses from Form 591-D (refundable) — the composer caps at $1,000 × okHomeschoolStudents when the count is given
okOtherAdjustmentsNoOK Schedule 511-C lines 2, 4-6 total: disability modification expenses, foster care (≤ $5,000), Parental Choice payments, and the misc codes (MSA/HSA, ag processing, organ donation ≤ $10,000, poll-worker leave, homebuyer savings $5,000/$10,000, ABLE $10,000/$20,000, etc.) — transcribed
okOtherStateCreditNoOK line 16: Form 511-TX credit for tax paid to another state on PERSONAL-SERVICES income (agent-computed per the form's proportion; capped at the remaining tax by the composer)
okOutOfStateIncomeNoOK Form 511 line 4: income from real or tangible personal property or BUSINESS activity in another state (partnership/S-corp shares included) — NEVER wages, interest, dividends, pensions, unemployment, or gambling. When > 0 the composer prorates deductions and exemptions on Schedule 511-E and leaves lines 10-11 blank.
or2024TaxLiabilityNothe filer's 2024 total Oregon personal income tax liability (after the other-state credit, before all other credits/payments — 2024 OR-40 line 24 tax-before-credits MINUS the Schedule OR-ASC code 802/815 credit for taxes paid to another state, per Table 8 / Kicker worksheet Part A) — the composer computes the 9.863% kicker (us.or.kicker). Requires the 2024 return filed before the 2025 return. Prorate by 2024 Oregon-AGI share if the filing status changed (worksheet Parts B/C).
orCreditRecapturesNoOR-40 line 22: tax recaptures from Schedule OR-ASC line C5
orKidsObbbaAddbackNoKids Credit worksheet line 2: tips/overtime/vehicle-interest subtractions claimed (OR-ASC codes 390/391/392) — ADDED BACK to qualifying income
pa529ContributionsNoSchedule O code T: § 529 contributions, ALREADY capped at $19,000 per beneficiary per taxpayer-spouse (2025); no deduction for rollovers/beneficiary changes
paScheduleDcCreditNoPA-40 line 23 component: the Child and Dependent Care Enhancement credit — pass us.pa.cdcc's computed answer (= 100% of the federal Form 2441 line 9a tentative credit; refundable)
scDependentsUnder6NoSC line t: dependents under age 6 on December 31 — the SAME $4,930 again each (on top of their line w exemption)
scOtherWithholdingNoSC1040 line 20: other SC withholding from 1099s (W-2 amounts go in the shared stateWithholding for line 16)
vaItemizedCasualtyNoVA Sch A casualty/theft losses (protected from the overall limitation)
vaItemizedGamblingNoVA Sch A gambling losses (§ 165(d), limited to winnings; protected from the overall limitation)
wiOtherStateCreditNoForm 1 line 20: net income tax paid to another state (Schedule OS, agent-computed)
wiRentHeatIncludedNo2025 rent on the principal Wisconsin residence with heat INCLUDED (line 16a; 2.4% via the printed table's $100-row midpoints)
yonkersWithholdingNoNY line 74 Yonkers withholding (W-2 box 19 with a Yonkers locality)
alAppliedToNextYearNoForm 40 line 33: overpayment applied to 2026 estimated tax
alInterestDividendsNoForm 40 line 6: interest and dividend income (Schedule B attached if over $1,500)
ctAbleContributionsNoCT Schedule 1 line 48d: contributions to ABLE accounts — the composer caps at $5,000 ($10,000 MFJ/QSS)
ctAppliedToNextYearNoCT-1040 line 23: overpayment applied to 2026 estimated tax (irrevocable)
ctChetContributionsNoCT Schedule 1 line 48: contributions to Connecticut Higher Education Trust (CHET) 529 accounts made during the year plus allowed carryforward — the composer caps at $5,000 ($10,000 MFJ/QSS); the excess carries forward five years
gaMilitaryExclusionNoGA military retirement exclusion for under-62 retirees (Schedule 1 page 3 worksheet: $17,500 + additional $17,500 when GA earned income exceeds $17,500 — hand-computed, per qualifying spouse)
mdChildCareExpensesNoMD line 9: child and dependent care EXPENSES from federal Form 2441 line 6 — an income subtraction in Maryland (separate from any 502CR Part B credit); the composer caps it at $3,000 ($6,000 when mdChildCareTwoOrMoreDependents)
mnAppliedToNextYearNoM1 line 30: refund applied to 2026 estimated tax
mnMfsSpouseItemizesNoMFS only: the other spouse claims Minnesota itemized deductions — bars the standard deduction (the composer then requires mnItemized)
moAppliedToNextYearNoMO-1040 line 50: overpayment applied to 2026 estimated tax
moBusinessIncomeYouNothe primary's MISSOURI-SOURCE net business income per the p.16 worksheet (Schedule C line 31 + Schedule E line 32 + Schedule F/4835 profits, losses netted, MINUS agricultural disaster relief payments already on MO-A line 16; $0 if net loss) — the composer takes the 20% § 143.022 deduction (MO-A line 17Y)
moCapitalGainSpouseNothe spouse's share of federal capital gains for the 100% subtraction
moEnterpriseZoneYouNoMO-1040 line 28Y: enterprise zone / rural empowerment zone income modification
moOtherFederalTax10NoMO-1040 line 10 'Other federal tax': Schedule 2 Part 1 line 3 + Part 2 lines 8/14/15 + recapture in line 21 + Schedule 3 Part 1 line 1 (attach 4255/8611/8828 for recapture)
moPayrollTaxAddbackNoMO-A Part 2 lines 2-7 total: the 2025 employee Social Security tax (capped $10,918 per spouse), Railroad Retirement Tier I+II (capped $17,327 per spouse, net of employer refunds), Medicare tax (with Form 8959 adjustments), and self-employment tax (Schedule 2 line 4 − Schedule 1 line 15 + Form 8959 line 13) — Missouri ADDS payroll taxes into itemized deductions
moPrivatePensionYouNothe primary's PRIVATE-source taxable pension/annuity/IRA/401(k) (1040 lines 4b+5b share) — Section B caps each spouse at $6,000 and phases out by income
moPropertyTaxCreditNoMO-1040 line 43: Form MO-PTS property tax credit (refundable circuit breaker — actual property tax up to $1,100 owners / 20%-of-rent up to $750 renters, from the printed chart; net household income gates $30,000 owners / $27,200 renters; agent-computed from MO-PTS with disclosure)
moRequiredToItemizeNothe filer was REQUIRED to itemize federally (e.g. MFS with an itemizing spouse) — Missouri then requires itemizing even when the standard deduction is larger
moResidentCreditYouNoMO-1040 line 31Y: Form MO-CR credit for taxes paid to other states (agent-computed; the composer caps at line 30Y)
njCollegeDependentsNoline 12 count: dependents under 22 attending college full-time (five months, half support) — $1,000 each ON TOP of the $1,500 line 10/11 exemption (use the shared dependents input for the $1,500 count)
njPensionExcludableNoNJ-1040 line 20b excludable (previously-taxed) pension/annuity/IRA amounts — display only
njPropertyTaxesPaidNoNJ-1040 line 40a: property taxes due and paid on the principal residence (homeowners; after Worksheet G proration). Tenants: use njRentPaid instead and the composer applies the 18% conversion.
njSeHealthInsuranceNoself-employed health insurance deduction (Worksheet F line 5)
njTaxExemptInterestNoNJ-1040 line 16b tax-exempt interest (reported, never taxed)
ohNonresidentCreditNoOH Schedule of Credits line 38 nonresident credit (Ohio IT NRC, hand-computed)
okAppliedToNextYearNoOK line 35: overpayment applied to 2026 estimated tax (original return only)
orAppliedToNextYearNoOR-40 line 48: refund applied to 2026 estimated tax
orFederal1040Line22Nofederal Form 1040 LINE 22 (tax after nonrefundable credits) — the federal tax subtraction worksheet's line 1 (from compute_return, verbatim)
orRegularExemptionsNoregular exemption count: 'yourself' + 'spouse' credit boxes (6a/6b) + dependents (6c) — $256 each, $0 cliff above $100,000 federal AGI (single/MFS) or $200,000 (others)
orTaxMethodOverrideNoOR-40 line 20 alternate-method tax: farm income averaging (OR-FIA-40, box 20a), farm capital gain (Worksheet FCG, box 20b), or the IRREVOCABLE Oregon PTE reduced rate (OR-PTE-FY, box 20c) — agent-computed; wins over the table/chart tax
paAbleContributionsNoSchedule O code A: PA ABLE contributions, capped at the federal gift-tax exclusion ($19,000 for 2025)
paGrossCompensationNoPA-40 line 1a: W-2 BOX 16 total (NOT Box 1 — 401(k)/elective deferrals are PA-taxable; eligible retirement distributions are exempt and excluded). Falls back to the shared wages input when omitted (composer discloses). Include taxable early-distribution amounts under the cost-recovery method.
paPenaltiesInterestNoPA-40 line 27: penalties and interest incl. estimated-underpayment penalty (REV-1630)
paScheduleOcCreditsNoPA-40 line 23 component: Schedule OC restricted credits total (transcribed; no oracle target)
paSpouseBusinessNetNoPA-40 line 4, SPOUSE's own net business income or loss (kept separate: PA never nets one spouse's loss against the other's income)
paSpousePropertyNetNoPA-40 line 5, spouse's own net property gain/loss
scAppliedToNextYearNoSC1040 line 27: amount of the line 24 overpayment credited to 2026 estimated tax
scSubtractionsOtherNoSC subtraction lines f/g/h/j/k/l/m/n/v total (state tax refund, total-and-permanent disability retirement, out-of-state non-personal-service income, volunteer firefighter/EMS/police $6,000 (2025), Future Scholar 529 (unlimited), ACTIVE TRADE OR BUSINESS income electing the I-335 3% flat tax (line l — must pair with scActiveTradeTax), US government interest, nontaxable Guard/Reserve pay, other) — EXCLUDING the composer-computed lines i/o/p/q/r/s/t/u/w
vaAgeQualifyingFullNocount of filers (taxpayer/spouse) born ON OR BEFORE January 1, 1939 — each gets the UNCONDITIONAL $12,000 age deduction (no income test)
vaYourAgeBlindBoxesNoSTA worksheet Part 1 line 2: PRIMARY taxpayer's 65+/blind box count (0-2) — per-spouse exemption = boxes x $800 + $930
wiAppliedToNextYearNoForm 1 line 42: overpayment applied to 2026 estimated tax
wiPropertyTaxesPaidNoproperty taxes on the principal residence (line 16b; 12% via the printed $25-wide-row table — a different granularity from the $100-row rent tables) — combined 16a+16b credit caps at $300 ($150 MFS or married-HOH); not claimable with the line 34 veterans credit
wiScheduleUInterestNoForm 1 line 44: Schedule U underpayment interest
alFederalTaxPlusNiitNofederal Form 1040 LINE 22 tax PLUS Form 8960 line 17 NIIT — the line 12 worksheet's gross federal tax (from compute_return, verbatim; NEVER the W-2 federal withholding)
alItemizedDeductionsNoAlabama Schedule A total — differs from federal: FICA/Medicare/SE taxes ARE deductible, medical floor is 4% of AGI, NO federal income tax here (it's line 12), NEW 2025 vehicle-loan interest ≤$10,000 phased out $200 per $1,000 ceil-step of AGI over $100,000/$200,000-MFJ. The composer takes the larger of this or the AGI-phased standard deduction.
alScheduleCpPaymentsNoForm 40 line 26: payments from Schedule CP, Section B line 1 (composite payments)
caAb5NetLossAdditionNonet losses from businesses where the worker is an employee for California (intake ca_form540_schca.add_net_loss) — the federal Schedule C loss is disallowed for CA: Schedule CA BUSINESS addition, col C
caItemizedDeductionsNoCA itemized deduction total (Schedule CA Part II, line 29) — agent-computed per Schedule CA's own itemized rules WITH disclosure (differs from the federal Schedule A: no SALT cap, mortgage/medical add-backs, etc.). Form 540 line 18 takes the GREATER of this or the CA standard deduction; omit to use the standard deduction only.
ctClaimOfRightCreditNoCT-1040 line 20b: claim of right credit from Form CT-1040 CRC line 6 (repayment over $3,000 under IRC § 1341; refundable)
ctMilitaryRetirementNoCT Schedule 1 line 44: military retirement pay included in federal AGI (retired armed forces / National Guard member or survivor-option beneficiary; NOT a former spouse's court-ordered share) — 100% subtracted; also excluded from ctPensionAnnuityIncome
ctRailroadRetirementNoCT Schedule 1 line 43: Tier 1 and Tier 2 Railroad Retirement benefits, supplemental annuities, and RRB unemployment/sickness benefits included in federal AGI (excluding any Tier 1 already covered by the line 41 Social Security adjustment) — subtracted; also excluded from ctPensionAnnuityIncome
ctTeachersRetirementNoCT Schedule 1 line 45: income from the Connecticut Teachers' Retirement System (Form 1099-R from the Teachers' Retirement Board) — the composer subtracts 50%; a teacher under the pension AGI threshold may instead include it in ctPensionAnnuityIncome (never both)
gaFederalCdccAllowedNofederal Form 2441 line 11 allowed credit — GA IND-CR 202 pays 50% of it (us.ga.cdcc)
mdEicQualifyingChildNothe filer has at least one EIC qualifying child — with married filers this routes line 22 to 50% of the federal EIC (Worksheet 18A) and line 44 to the 45% refundable worksheet (21A); childless single/HOH/QSS filers instead get 100% refundable (18A.1). Also drives the Form 502 EIC checkboxes.
mdSsRrBenefitsSpouseNospouse's TOTAL SS/RR benefits for their 13A column
moActiveDutyMilitaryNoMO-1040 line 18: active duty military income deduction (100%, incl. annual training and — NEW 2025 — National Guard/reserve signing bonuses)
moSubtractionsSpouseNothe spouse's MO-A subtractions on the same terms
moTrustFundDonationsNoMO-1040 line 51: trust fund donations total (51a-51l)
ncMilitaryRetirementNoNC Schedule S line 21: military retirement pay / SBP payments for members with 20+ years of service OR Chapter 61 medical retirement — never severance, never double-claimed with Bailey
ncQualifyingChildrenNoD-400 line 10a: count of qualifying children for whom the federal § 24 child tax credit was ALLOWED (under 17; ODC-only dependents never count) — drives the AGI-tiered child deduction (us.nc.child_deduction)
nonrefundableCreditsNostate NONREFUNDABLE credits without an oracle target — capped at the state tax due by the composer (an excess never creates a refund). VA: do NOT put the low-income credit or any VA EITC election here — passing it forces a legacy capped path; instead pass federalEITC (+ vaFamilyVagi if testing the low-income credit) and the composer computes and SELECTS the Form 760 line 23 credit itself (TY2025 refundable VA EITC = 20% of federal EIC, uncapped — it dominates whenever federal EITC > 0). IL: pass ICR raw inputs instead where fields exist.
ohFederalCdccAllowedNofederal Form 2441 line 11 (liability-limited allowed credit) — the Ohio CDCC pays 25% of it when MAGI is $20,000-$39,999
ohOtherCreditsPreJfcNoOH Schedule of Credits lines 3+5+7+8 (lump sum retirement, lump sum distribution, displaced worker training, campaign contribution) — transcribed; they subtract BEFORE the joint filing credit's line-11 base
okHomeschoolStudentsNoOK line 29: number of eligible homeschool students claimed (one Form 591-D each)
okMilitaryRetirementNoOK Schedule 511-A line 4: military retirement benefits included in federal AGI (100% excluded)
okOtherRetirementYouNoOK Schedule 511-A line 6, TAXPAYER: other qualified plan / IRA / 403(b) / 457 / lump-sum retirement income — the $10,000 per-person cap is shared with line 5
okRailroadRetirementNoOK Schedule 511-A line 7: U.S. Railroad Retirement Board benefits included in federal AGI (excluded)
orItemizedDeductionsNoSchedule OR-A line 23 OREGON itemized deductions (Oregon's own computation — never the federal Schedule A total). The composer takes the larger of this and the standard deduction.
scConsumerProtectionNoSC line u: identity-theft/consumer protection services purchased after a security breach notification — the composer caps at $300 (individual) / $1,000 (joint or with dependents)
scNetLtcgAfterLossesNonet LONG-TERM capital gain held over one year, AFTER netting ALL capital losses (short-term included — the printed example nets an ST loss against the LT gain first) — the composer takes the 44% deduction (line i)
vaItemizedCharitableNoVA Sch A charitable contributions (federal Schedule A amount)
vaItemizedOtherTaxesNoVA Sch A line 6 other taxes (foreign income tax etc.)
vaItemizedSalesTaxesNoVA Sch A line 5a when the general SALES tax election was made federally — capped at the Virginia SALT cap ($40,000; $20,000 MFS for TY2025)
wiItemizedComponentsNoForm 1 Schedule 1 lines 1-4 total: federal Schedule A medical + interest (EXCLUDING out-of-state second homes, boat residences, and U.S.-security carrying interest) + charity + casualty — the composer takes 5% of the excess over the line 8 standard deduction
wiRetirement67IncomeNoqualified-plan/IRA retirement income of the 67+ individual(s) for the NEW 2025 Act 15 subtraction (SB line 16, $24,000/$48,000 cap) — CAUTION: claiming it FORFEITS every credit on lines 13-20, 30-35, and Schedule CR (the composer enforces this); compare both ways before passing
ctEitcQualifyingChildNoat least one qualifying child listed on federal Schedule EIC (Schedule CT-EITC lines 4-5) — adds the flat $250 to the 40% Connecticut EITC (PA 25-168, TY2025+)
ctHistoricHomesCreditNoCT-1040 line 20d: Historic Homes Rehabilitation Tax Credit voucher amount (refundable)
ctSsProvisionalExcessNofederal Social Security Benefits Worksheet line 9 (provisional income over the $25,000/$32,000 base) — or line 7 for a married-filing-separately filer who lived with the spouse — CT worksheet line B
gaItemizedAdjustmentsNoForm 500 line 12b: state income taxes in the federal Schedule A total plus the disallowed-SALT proration when the $10,000/$5,000 cap bound (printed formula, hand-computed)
gaSpouseExclusionTierNospouse's GA retirement-exclusion tier (each spouse qualifies separately; never shared)
mnAdvanceCtcRepaymentNoM1 line 14b: repayment of 2025 ADVANCE Child Tax Credit payments elected on the 2024 return (reconciliation, NEW for 2025)
mnNetInvestmentIncomeNoSchedule NIIT Minnesota net investment income (federal 8960 concept minus class 2a agricultural-land gains) — the composer evaluates us.mn.niit (1% over $1,000,000) into line 14a
mnSsAlternativeMethodNothe M1M Worksheet ALTERNATIVE-method Social Security subtraction (steps 9-28, agent-computed, NET of the Tier 1 RR offset) — the composer takes the GREATER of this and the oracle simplified method when AGI exceeds the full-subtraction threshold (2025 alternative maxes: $5,840 MFJ/QSS, $4,560 single/HOH, $2,920 MFS)
mnUnderpaymentPenaltyNoM1 line 27: Schedule M15 underpayment penalty
moNetStateIncomeTaxesNoMO-A Part 2 line 11: state/local income taxes from Schedule A line 5a MINUS Kansas City/St. Louis earnings taxes (which stay deductible) — or the Part 2 worksheet result when SALT exceeded $40,000/$20,000-MFS or FAGI exceeded $500,000/$250,000-MFS
moPublicPensionSpouseNothe spouse's public-source pension for their Section A column
moUnderpaymentPenaltyNoMO-1040 line 55: Form MO-2210 underpayment penalty (90% / 66⅔%-farmer safe harbors)
ncPartnershipPaymentsNoD-400 line 21c: NC tax paid by a partnership on the filer's behalf
njNjbestContributionsNoNJ-1040 line 37a NJBEST 529 contributions (composer caps at $10,000; all three 37a-c require gross income ≤ $200,000)
okEicEarnedIncome2024NoForm 511-EIC line 15 (Tax Year 2024 column): the PRIOR year's total earned income — Oklahoma lets the filer use 2024 or 2025 earned income; when given (with okEicAgi2024) the composer computes both columns and keeps the larger (line 20). Omit if the filer had no 2024 Oklahoma filing requirement.
okEicEarnedIncome2025NoForm 511-EIC line 15 (Tax Year 2025 column): total earned income — 1040 line 1z wages less excluded Medicaid waiver payments, plus elected nontaxable combat pay, plus net self-employment earnings (Schedule SE line 3 + 4b + 5a − line 13, statutory employee Schedule C line 1). The composer looks it up in the printed 2020 EIC table (us.ok.eic_2020_rules) with federalAGI as line 17.
okFederalSaltDeductedNostate and local income OR sales taxes from Schedule A line 5a to the extent included in line 5e after the SALT cap (Schedule 511-D line 2 add-back)
okGovRetirementSpouseNoOK Schedule 511-A line 5, SPOUSE: the spouse's own government retirement (separate $10,000 cap)
okSpecialExemptions65Nocount of 65-or-older boxes (taxpayer/spouse, 0-2) — $1,000 each ONLY when federal AGI less Roth conversions is at or under $15,000 single / $25,000 joint / $12,500 MFS / $19,000 HOH (not listed for QSS — the composer denies it and discloses)
orCarryforwardCreditsNoOR-40 line 30: Schedule OR-ASC line E9 carryforward credits used this year (capped at the remaining tax by the composer)
orCharitableCheckoffsNoOR-40 line 49: Schedule OR-DONATE charitable checkoffs (reduce the refund)
orExcessAptcRepaymentNoexcess advance premium tax credit repayment (1040 Schedule 2 line 1a) — SUBTRACTED in the worksheet (floor 0)
orInstallmentInterestNoOR-40 line 21: interest on installment-sale deferred tax liability (9% annual rate for 2025)
paEligibilityAddbacksNoSchedule SP Section III nontaxable add-backs (gifts, inheritances, insurance proceeds, non-PA income, nontaxable military pay, excluded home-sale gain, educational assistance, outside cash support). NOT Social Security, eligible retirement benefits, child support, or workers' comp.
paMsaHsaContributionsNoSchedule O codes M/H: MSA + HSA contributions at the federally-allowed amounts
paSpDependentChildrenNoSchedule SP dependent CHILDREN count (child/stepchild/adopted; grandchild of a grandparent; foster child of a foster parent — never other relatives) claimable as federal dependents; each adds $9,500 to the Tax Forgiveness eligibility-income threshold
paStudentLoanInterestNoSchedule O code S: student loan interest PAID (new deduction for 2025; the composer caps at $2,500 — pass the uncapped amount)
scRetirementIncomeYouNoprimary taxpayer's qualified retirement income (401(k)/403(b)/457, IRA, Keogh — EXCLUDING military retirement, which goes in scMilitaryRetirementYou) — the composer caps at $3,000 under 65 / $10,000 at 65+ (line p-1; us.sc.retirement_deduction)
scUnderpaymentPenaltyNoSC1040 line 33: underpayment of estimated tax penalty (SC2210 attached)
taxableSocialSecurityNofederally TAXABLE social security (Form 1040 line 6b, from compute_return). REQUIRED whenever nonzero: VA (760 line 5 subtraction), CA (Schedule CA line 6 col B), and NY (IT-201 line 27) all subtract it — the composer applies the subtraction automatically; do NOT also fold it into the generic subtractions total.
vaAgeQualifyingTestedNocount of filers born January 2, 1939 - January 1, 1961 (65+ for 2025 but income-tested): the composer computes $12,000 each, reduced dollar-for-dollar by AFAGI over $50,000 single / $75,000 married — where AFAGI = federal AGI MINUS the federally taxable social security (the SS exclusion is the step agents miss; Va. Code § 58.1-322.03(2))
vaSpouseAgeBlindBoxesNoSTA worksheet Part 1 line 2: spouse's 65+/blind box count (0-2)
vaSpouseTaxAdjustmentNoOVERRIDE ONLY — the composer now computes the VA Spouse Tax Adjustment worksheet itself when vaYourVagi/vaSpouseVagi are provided. If passed, this amount wins.
wiBlindWorkerExpensesNoblind worker transportation services qualifying expenses (Form 1 line 15 credits 50%)
wiRentHeatNotIncludedNorent with heat NOT included (line 16a; 3.0% table)
alTaxableRetirementYouNoprimary taxpayer's OTHERWISE-TAXABLE retirement income (IRA/401(k)/SEP/Keogh/403(b) distributions after basis recovery) — defined-BENEFIT pensions, Social Security, Railroad Retirement, military, and US/AL government retirement are 100% EXEMPT and never entered. The composer applies the 65+ $6,000 Schedule RS exclusion (us.al.retirement_exclusion).
caDepreciationAdditionNoCA depreciation-difference addition: federal depreciation (with § 168(k) bonus, which California NEVER conforms to) minus CA depreciation (plain MACRS on the same asset). Positive = CA income addition (Schedule CA col C on the business/rents line). Compute per-asset and disclose.
ctCharityContributionsNoCT-1040 line 24a: contributions of the refund to designated charities from Schedule 5 line 70 (limited to the refund; irrevocable)
ctPensionAnnuityIncomeNoForm 1040 line 5b taxable pensions and annuities MINUS military retirement pay, Railroad Retirement, and Connecticut teachers' retirement (the composer runs the Pension and Annuity Worksheet: 100% of this + 75% of ctIraDistributions in TY2025, × the federal-AGI phase-out decimal → Schedule 1 line 48b)
ctPropertyTaxResidenceNoCT Schedule 3 line 60: property tax paid in the year to a Connecticut town on the PRIMARY RESIDENCE (bills due and paid in the year, incl. prepaid installments; no late payments, interest or fees)
ctUnderpaymentInterestNoCT-1040 line 29: interest on underpayment of estimated tax from Form CT-2210 (applies when line 14 less withholding and PE credit is $1,000 or more; leave blank to let DRS bill it)
mnWildlifeContributionNoM1 line 18: Nongame Wildlife Fund contribution (reduces the refund)
moBusinessIncomeSpouseNothe spouse's net business income for the 20% deduction (17S)
moEnterpriseZoneSpouseNoMO-1040 line 28S
moInactiveDutyMilitaryNoMO-1040 line 19: inactive duty (drill) military income deduction
moPrivatePensionSpouseNothe spouse's private-source pension for Section B
moResidentCreditSpouseNoMO-1040 line 31S (capped at 30S)
ncUnderpaymentInterestNoD-400 line 26e: interest on the underpayment of estimated income tax (Form D-422)
ncUsObligationInterestNoNC Schedule S line 18: interest from US obligations (Treasuries, savings bonds) included in FAGI — fully deducted
njUnderpaymentInterestNoNJ-1040 line 52 interest on underpayment of estimated tax (Form NJ-2210)
ohFederalCdccTentativeNofederal Form 2441 line 9c (tentative credit before the federal liability limit) — the Ohio CDCC pays 100% of it when MAGI < $20,000
okFederalItemizedTotalNofederal Schedule A line 17 total itemized deductions (Schedule 511-D line 1)
okGrossHouseholdIncomeNoForms 538-S / 538-H: TOTAL gross household income of everyone in the household, taxable or not — wages incl. nontaxable W-2 amounts, interest, dependents' income, full Social Security incl. Medicare premiums, pensions/IRAs, alimony, unemployment, EIC received, public assistance, child support, workers' comp, gross rents/business receipts; NOT deferred 401(k)/IRA contributions or gifts
okRothConversionIncomeNoRoth IRA conversion income included in federal AGI — excluded from AGI for the special 65+ exemption limits only (attach Form 8606)
okUnderpaymentInterestNoOK line 40: underpayment-of-estimated-tax interest from Form OW-8-P (none when the income tax liability is under $1,000; when there is also an overpayment the composer nets it against the refund per the printed instruction)
orDisabilityExemptionsNosevere-disability boxes (6a/6b) + children with a qualifying disability (6d) — $256 each, $0 cliff above $100,000 federal AGI for EVERY filing status
paSpouseRentRoyaltyNetNoPA-40 line 6, spouse's own net rent/royalty amount
paUnreimbursedExpensesNoPA-40 line 1b: Schedule UE unreimbursed employee business expenses (a compensation-class expense, never a line-10 deduction)
scFederalTaxableIncomeNoREQUIRED for SC: federal Form 1040 line 15 TAXABLE income (from compute_return, verbatim) — the SC1040 line 1 starting point (NOT federal AGI). A NEGATIVE amount is allowed: the composer enters $0 on line 1 and preserves the loss on subtraction line r per the printed instructions.
spouseStateWithholdingNoVA line 19b spouse withholding (spouse's own W-2/1099/VK-1 boxes + spouse's half of jointly-issued documents' withholding, odd dollar to the primary)
wiScheduleIAdjustmentsNoForm 1 line 2: Schedule I net adjustment (may be negative) converting federal AGI to Wisconsin's IRC — Wisconsin conforms to the Code as of December 31, 2022, so post-2022 federal changes (incl. the 2025 OBBBA) need Schedule I conversion per its instructions
mdNetCapitalGainSubjectNoForm 502CG line 9: net capital gain subject to the H.B. 352 2% surtax (line 1c gain minus the six exempt classes — primary-residence sale under $1.5M, retirement-plan assets, livestock, easement land, trade-or-business property, nonprofit affordable housing). The composer zeroes it (with a note) unless FAGI exceeds $350,000.
mnDependentEarnedIncomeNodependent-claimed filer's earned income for the dependent standard-deduction worksheet (lesser of the table amount or max($1,250, earned + $350))
ncClaimOfRightRepaymentNoNC Schedule A line 8: claim-of-right repayments over $3,000 (deducted in full)
njOrganDonationExpensesNoNJ-1040 line 36 organ/bone-marrow donation expenses (composer caps at $10,000)
njPensionEligibleAmountNojoint returns where only ONE spouse is 62+/disabled: that spouse's share of line 20a (the exclusion never covers the ineligible spouse's pension). Defaults to all of line 20a.
okEicQualifyingChildrenNoEIC qualifying children under the 2020 federal rules (0, 1, 2, or 3+)
okFederalChildTaxCreditNofederal child tax credit PLUS additional child tax credit allowed (1040 line 19 + line 28, Schedule 8812) — Oklahoma allows 5% (line 15, greater-of test). Line 19 includes the $500 § 24(h)(4) other-dependent credit; the packet names only the CTC/ACTC — include it (it is part of § 24) and disclose when present
okNaturalDisasterCreditNoOK line 26: Natural Disaster Tax Credit from Form 576 (refundable; transcribed)
okOtherRetirementSpouseNoOK Schedule 511-A line 6, SPOUSE: the spouse's own other retirement income
orDependentEarnedIncomeNodependent-claimed filer's earned income — the standard deduction is limited to max($1,350, earned + $450), capped at the Table 5 amount
scMilitaryRetirementYouNoprimary taxpayer's military retirement income — 100% deductible since TY2022 (line p-4); per the printed worksheet it REDUCES the same person's retirement-deduction CAP and age-65 deduction (instructions Example 5: $16,000 military at 65+ leaves $0 on lines p-1 and q-1) — the composer handles the interplay
vaScheduleAdjDeductionsNoSchedule ADJ line 9 total deductions (deduction CODES like 105 continuing-teacher-education, 199 other) — prints on Form 760 line 13; these are DEDUCTIONS from VAGI, never income subtractions on line 7
wiDependentEarnedIncomeNoa dependent-claimed filer's earned income for the Standard Deduction Worksheet for Dependents (deduction = smaller of the table amount or max($1,350, earned + $450))
wiEicQualifyingChildrenNofederal-EIC qualifying children — Wisconsin EIC = 4%/11%/34% of the federal credit for 1/2/3+ children (NO childless credit; MFS ineligible; full-year residents only)
caAb5GrossIncomeAdditionNogross income from businesses where the worker is classified as an EMPLOYEE for California (AB 5/Dynamex reclassification; the intake's ca_form540_schca.add_gross_income field) — Schedule CA WAGE addition, col C
caHsaTaxableDistributionNoHSA distribution amount taxed federally (Form 8889 line 16) — not income for California: the composer SUBTRACTS it for CA
ctChetRefundContributionNoCT-1040 line 24: overpayment contributed to CHET accounts from Schedule CT-CHET line 4 (irrevocable)
gaEligibleItemizerCreditNoForm 500 line 19: Georgia Eligible Itemizer Tax Credit (NEW 2025; up to $300 per taxpayer, itemizers with 183+ GA days or resident at year end) — TRANSCRIBE the worksheet-computed amount, never assume the full $300; composer caps at $300/$600
gaRetirementEarnedIncomeNoprimary taxpayer's earned income — at most $5,000 counts inside the exclusion (Schedule 1 worksheet)
gaSpouseRetirementIncomeNospouse's unearned retirement income for the exclusion
moWftcInvestmentOver4400NoForm MO-WFTC question 3: investment income exceeds $4,400 — denies the credit. The MO credit follows EIC law FROZEN as of January 1, 2021 (MO-1040 instructions p.10), so this is the indexed pre-ARPA limit; compute investment income the pre-2021 way (taxable AND tax-exempt interest, dividends, positive net capital gain per the MO-WFTC instructions), NOT the current federal $11,950 gate.
okFarmIncomeAveragingTaxNoOVERRIDE for line 14a: Form 573 farm income averaging tax (box 1) — agent-computed; replaces the table tax
okFederalChildCareCreditNofederal child and dependent care credit allowed (Schedule 3 line 2 / Form 2441) — Oklahoma allows 20% (line 15, greater-of test; $100,000 federal AGI cliff)
orPoliticalContributionsNo2025 cash contributions to qualified Oregon political parties/candidates/PACs — the composer caps at $50 ($100 joint) and denies above $75,000/$150,000 federal AGI
orPoliticalPartyCheckoffNoOR-40 line 50: political party $3 checkoff from the refund
scRetirementIncomeSpouseNospouse's qualified retirement income for line p-2 (each spouse's own cap; joint returns)
unemploymentCompensationNounemployment compensation included in federal AGI (Schedule 1 line 7). REQUIRED whenever nonzero: VA fully subtracts it (Va. Code § 58.1-322.02(9), Schedule ADJ) and CA excludes it (Schedule CA line 7 col B) — the composer subtracts automatically for those states; do NOT also fold it into the generic subtractions total. IL and NY tax it (no subtraction).
wiCapitalGainSubtractionNoSchedule SB line 5 capital gain/loss subtraction from Schedule WD (30% net long-term gain exclusion, 60% farm assets; capital loss limit $3,000/$1,500-MFS since TY2023; simple mutual-fund/REIT distributions may take 30% directly)
alTaxableRetirementSpouseNospouse's otherwise-taxable retirement income (Schedule RS Part III)
ctOtherJurisdictionIncomeNoCT Schedule 2 line 53: income included in Connecticut AGI that was also taxed by ONE qualifying jurisdiction (another state, DC, or their political subdivisions — from the Schedule 2 Worksheet column 2); the composer computes lines 54-58 (ratio to four decimals ≤ 1.0000 × (line 6 − line 11), limited to the tax actually paid). Attach the other return.
mdItemizedStateLocalTaxesNoMD line 17b: state and local INCOME taxes claimed in the federal Schedule A (plus preservation-easement contributions claimed as a credit) — subtracted from 17a
njOtherRetirementEligibleNoline 28b Worksheet D gate: filer is 62 or older (the composer auto-computes the unclaimed exclusion when earned income ≤ $3,000 and line 27 ≤ $100,000)
njShelteredWorkshopCreditNoNJ-1040 line 46 Sheltered Workshop Tax Credit (GIT-317)
okAmendedPriorOverpaymentNoOK line 32 (amended return only): overpayment shown on the original / prior amended return or as previously adjusted
orFederalOtherIncomeTaxesNoother INCOME taxes from Schedule 2 lines 8, 16, 17 (income-tax recaptures only — never SE tax, SS/Medicare tip tax, household employment taxes, penalties, or excise)
vaItemizedRealEstateTaxesNoVA Sch A line 5b real estate taxes — NOT subject to the SALT cap for Virginia
alFederalRefundableCreditsNothe line 12 worksheet's refundable-credit subtraction: 1040 line 27a EIC + line 28 ACTC + line 29 AOC + line 30 refundable adoption + Schedule 3 Part II line 13a Form 2439 credits
caEducatorExpensesDeductedNofederal educator-expense deduction claimed (§ 62(a)(2)(D)) — California does NOT conform: the composer ADDS it back on Schedule CA (line 11 col C). Pass the federal amount actually deducted (both spouses' combined).
caTaxableEarlyDistributionNoretirement-plan early distribution amount subject to the FEDERAL § 72(t) additional tax — California imposes its own 2.5% additional tax on the same base (R&TC § 17085(c)(1), FTB 3805P); the composer computes 2.5% and prints it on Form 540 line 63
ctOtherJurisdictionTaxPaidNoCT Schedule 2 line 57: income tax actually paid to that qualifying jurisdiction
mdTwoIncomeLesserSpouseNetNoWorksheet 13D line 6: the LESSER-income spouse's net Maryland income (their FAGI share + additions share − subtractions share) — the composer caps it at $1,200 for line 14 (joint returns only)
njConservationContributionNoNJ-1040 line 33 qualified conservation contribution (NJ land, federal amount)
njOrganDonorEmployerCreditNoNJ-1040 line 48 employer of organ/bone-marrow donor credit (25% of salary, up to 30 days)
njOtherRetirementExclusionNoOVERRIDE: hand-computed Worksheet D line 9 unclaimed exclusion (required for the $100,001-$150,000 percentage tiers)
scMilitaryRetirementSpouseNospouse's military retirement income (line p-5)
vaItemizedMortgageInterestNoVA Sch A home mortgage interest and points (federal Schedule A amount)
moStandardDeductionOverrideNodependent-claimed filers: the federal DEPENDENT standard deduction limit (greater of $1,350 or earned income + $450, capped at the full amount) — replaces the composer's full standard deduction
orFederalRefundableAdoptionNorefundable adoption credit (1040 line 30) — subtracted
priorYearOverpaymentCreditedNoprior-year state overpayment applied toward this year's estimated tax. VA 760 line 21 (its own printed line — never fold into line 20 estimated payments). Other states: folded into the estimated-payments line.
scLowerQualifiedEarnedIncomeNothe LESSER-earning spouse's SC qualified earned income per the Two Wage Earner worksheet (earned income minus attributable federal adjustments) — line 12 credit = 0.7% capped at $50,000 base / $350 credit; MFJ only (us.sc.two_wage_earner_credit)
vaItemizedInvestmentInterestNoVA Sch A investment interest (protected from the overall limitation)
wiFederalRetirementPenaltiesNothe FEDERAL penalties on IRAs/retirement plans/MSAs etc. — Wisconsin charges 33% of them on line 25 ('x .33' printed)
wiLowerQualifiedEarnedIncomeNothe LESSER-earning spouse's Schedule 2 line 5 qualified earned income (earned income minus the listed federal Schedule 1 adjustments) — married couple credit = 3% up to $480 (joint returns, both spouses employed)
alFederalTaxDeductionOverrideNoOVERRIDE for Form 40 line 12: the RATIOED federal tax for joint-federal/separate-Alabama returns (by each spouse's FAGI share) or part-year residents (AL-AGI/FAGI ratio) — wins over the composer's oracle computation
ohBothSpousesQualifyingIncomeNojoint filing credit gate: EACH spouse has $500+ of qualifying income included in Ohio AGI (not interest/dividends/capital gains/rents, and not BID-deducted business income or deducted Social Security/retirement)
orFederalTaxLiabilityOverrideNoOVERRIDE for the worksheet line 10 result (amended federal returns, foreign income tax, 1040-NR, recapture situations — Publication OR-17 worksheets); the Table 4 AGI cap still applies via the oracle
gaSpouseRetirementEarnedIncomeNospouse's earned income for the exclusion worksheet
mdChildCareTwoOrMoreDependentsNotwo or more care dependents — raises the MD line 9 expense cap from $3,000 to $6,000
vaItemizedPersonalPropertyTaxesNoVA Sch A line 5c personal property taxes — NOT subject to the SALT cap for Virginia
vaItemizedStateLocalIncomeTaxesNoVA Sch A line 5a when INCOME taxes are claimed (mutually exclusive with sales taxes)

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral transparency burden and meets it: it reveals determinism, whole-dollar rounding, oracle-target internals, state-specific bases (federal AGI vs PA/NJ class/category vs SC federal taxable income), automatic subtractions, and composer-enforced caps/forfeitures. It also warns against hand-assembling line numbers and explains interactions such as the military-retirement reduction of other SC deductions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely long, but it is organized by jurisdiction with the general workflow and ALWAYS rules up front, and nearly every sentence carries a distinct state-specific rule or limitation. It is not scannable by a human, but it avoids tautology and repetition; the density is justified by 463 parameters and 18 jurisdictions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description still tells the agent what is produced (a deterministic printed-form line set), how to use it, and what not to compose. It covers state-specific base rules, required inputs, automatic computations, caps, and exclusions for all 18 jurisdictions, making it sufficient for correct invocation despite the enormous parameter surface.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 99%, so the baseline is 3; the description adds real value by routing the agent to the right parameters per jurisdiction and stating when they are required (e.g., taxableSocialSecurity/unemploymentCompensation whenever nonzero, scFederalTaxableIncome for SC). It does not need to redefine individual schema-documented parameters, but it does supply cross-parameter workflow guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Identifies a specific action—deterministically composing a state return's printed-form line set—and enumerates the 18 jurisdictions. It distinguishes itself from siblings by directing the agent to 'run compute_return first for the federal substrate,' making clear it is the state-layer composer, not a federal or generic calculation tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit workflow: run compute_return first, compute state-specific components, call this tool once, and report the line set verbatim. It supplies per-state input requirements (e.g., pass vaYourVagi/vaSpouseVagi for VA MFJ, mdSubdivision for MD), and names unsupported cases (Maryland part-year returns, Kansas City/St. Louis 1% earnings taxes) so the agent knows when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

determine_dependentAInspect

Determine whether ONE candidate person is the taxpayer's § 152 dependent — qualifying child or qualifying relative, including multiple-support agreements and the divorced-parents release — as a proof-backed yes/no with citations. Feed the result into calculate_tax's credits group (qualifyingChildren / otherDependents).

ParametersJSON Schema
NameRequiredDescriptionDefault
asOfNoREQUIRED for computation: the law-in-force date — use the intended tax year's year-end (e.g. "2025-12-31" for TY2025). Omitting it is an error, never a default.
depAgeNoCandidate's age at the end of the year (§ 152(c)(3)).
targetNorule to derive (default: us.federal.dependent.is_dependent). Other targets: us.federal.dependent.qualifying_child, us.federal.dependent.qualifying_relative
depGrossIncomeNoCandidate's gross income for the year (§ 152(d)(1)(B) limit: $5,200 TY2025 / $5,300 TY2026). In dollars.
depFilesJointReturnNoCandidate files a joint return with a spouse (other than a refund-only claim) (§ 152(c)(1)(E)).
depIsFullTimeStudentNoCandidate was a full-time student for at least 5 months (§ 152(f)(2)).
depRelationshipChildNoCandidate is the taxpayer's child, stepchild, foster child, sibling, step-sibling, or a descendant of any of them (§ 152(c)(2)).
depDivorcedParentsRuleNo§ 152(e) applies to the candidate child: the parents are divorced, separated, or lived apart the last 6 months of the year; the child received over half their support from the parents and was in their custody over half the year.
depPermanentlyDisabledNoCandidate is permanently and totally disabled (§ 152(c)(3)(B)).
depYoungerThanTaxpayerNoCandidate is younger than the taxpayer (§ 152(c)(3)(A)).
depRelationshipRelativeNoCandidate bears a § 152(d)(2) relationship to the taxpayer (parent, grandparent, sibling, in-law, etc.) or lived in the household all year.
taxpayerIsCustodialParentNoThe taxpayer is the custodial parent (the parent with whom the child resided the greater number of nights, § 152(e)(4)(A)).
hasMultipleSupportAgreementNoA § 152(d)(3) multiple-support agreement is in place for the candidate: the group together provided over half the support, no one person provided over half, each member could otherwise claim the candidate, and every other over-10% contributor signed a Form 2120 waiver.
custodialParentReleasedClaimNoThe custodial parent signed a written declaration (Form 8332) releasing the claim to the child for this year (§ 152(e)(2)).
depIsQualifyingChildOfAnotherNoCandidate is the qualifying child of the taxpayer or any other taxpayer (§ 152(d)(1)(D)).
depProvidedOwnSupportOverHalfNoCandidate provided more than half of their own support (§ 152(c)(1)(D)).
taxpayerProvidedOverHalfSupportNoThe taxpayer provided more than half of the candidate's support (§ 152(d)(1)(C)).
depLivedWithTaxpayerOverHalfYearNoCandidate had the same principal residence as the taxpayer for more than half the year (§ 152(c)(1)(B)).
taxpayerProvidedOver10PercentSupportNoThe taxpayer contributed over 10 percent of the candidate's support (§ 152(d)(3)(D) — the support test under a multiple-support agreement).

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. The description states it returns a 'proof-backed yes/no with citations,' but does not disclose behavioral traits such as side effects, required inputs, error handling, or any limitations. For a tool with 19 parameters and no output schema, more behavioral context is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose and scope, followed by usage guidance. Every sentence adds value, and there is no wasted verbiage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (19 parameters, no output schema), the description explains what the tool does and how to use the result, but does not fully cover the return format beyond 'yes/no with citations' or guide on parameter usage. The schema descriptions handle parameter details, but the description could be more complete by elaborating on the output structure and input expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter already has a description. The tool description does not add any parameter-level details beyond what the schema provides. Baseline is 3, and the description does not compensate for any gaps or add extra meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: determine if a candidate is a dependent under §152, specifying 'qualifying child or qualifying relative' and mentioning special cases like multiple-support agreements and divorced-parents release. It also states the output is a 'proof-backed yes/no with citations' and provides guidance to feed into calculate_tax. This is specific and distinguishes from sibling tools like calculate_tax.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking dependency status before tax calculation by saying 'Feed the result into calculate_tax's credits group.' It provides clear context when to use it, but does not explicitly state when not to use it or mention alternatives among siblings like verify_fact or verify_tax_claim, which might handle similar claims.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explain_ruleAInspect

Get a tax rule's statutory citation, verbatim excerpt, validity window, parameters, and dependencies. Use to quote the actual law behind an answer.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleIdYese.g. "us.federal.standard_deduction" — list via calculate_tax proof or corpus

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It fully discloses the return fields (citation, excerpt, validity window, parameters, dependencies), which implies a read-only, non-destructive operation. It does not mention prerequisites or side effects, but given the tool's explanatory nature, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at two sentences. The first sentence front-loads the purpose and outputs, and the second provides the usage context. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (1 required parameter, no output schema, no enums, no nesting), the description adequately covers the tool's purpose, outputs, and use case. It does not mention error conditions, but that is not necessary for a straightforward explanatory tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema coverage is 100% with a helpful description for ruleId (example value and source). The description adds value by explaining what the tool returns, which helps the agent understand how the parameter contributes to the output. Since coverage is high, the description meaningfully supplements the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: 'Get a tax rule's statutory citation, verbatim excerpt, validity window, parameters, and dependencies.' It also specifies the use case: 'Use to quote the actual law behind an answer.' This distinguishes it from siblings like search_tax_rules (finding rules) and calculate_tax (computing taxes).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear context for when to use the tool ('to quote the actual law behind an answer'), but does not explicitly mention when not to use it or compare with siblings. However, the context is sufficient for an agent to infer appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_tax_cliffsBInspect

Find exact dollar amounts where one more cent of an input costs MORE than a cent of tax (marginal rate over 100%) — e.g. the EITC investment-income kill switch, CTC phase-out steps. Every probe is a real evaluation.

ParametersJSON Schema
NameRequiredDescriptionDefault
varyYesmoney fact to vary, e.g. "wages" or "taxableInterest"
factsYesfacts 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.
toDollarsYes
fromDollarsYes
stepDollarsNocoarse scan step, default 1000

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided. The description mentions 'every probe is a real evaluation,' suggesting actual tax calculations, but does not disclose performance, side effects, authentication needs, or rate limits. Lacks rich behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with a parenthetical, no fluff, and front-loads the core purpose. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and moderate complexity, the description fails to explain what the tool returns, how the facts object is structured, or the scanning logic beyond 'real evaluation.' Incomplete for agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 60%, but the tool description adds no additional meaning beyond schema. The parameters (vary, facts, fromDollars, toDollars, stepDollars) are not elaborated. For example, stepDollars default is only in schema. Description does not compensate for uncovered parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool finds exact dollar amounts where marginal tax rate exceeds 100% (tax cliffs), with specific examples like EITC and CTC. It distinctively identifies unique functionality among siblings, which are mostly calculation or fact tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for finding tax cliffs but provides no explicit guidance on when to use or avoid this tool versus alternatives like calculate_tax or search_tax_rules. No when-not-to guidelines.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

is_tipped_occupationAInspect

Determine whether a job is on the Treasury Tipped Occupation list (Treas. Reg. § 1.224-1, final Apr 2026) for the § 224 'no tax on tips' deduction. Fuzzy-matches the job name; returns the official listing (name, TTC code, category) or a definitive 'not listed'.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobYese.g. "bartender", "software engineer", "DJ"

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the fuzzy-matching nature and the return value (official listing or 'not listed'). It does not mention side effects or permissions, but as a read-only query, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences. It front-loads the purpose and regulatory reference, then details the behavior. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one parameter, no output schema), the description is complete. It explains the input and output sufficiently. No additional context like rate limits is expected for such a tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters with examples. The description adds value by explaining fuzzy matching on the job name, which goes beyond the schema's static description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: checking if a job is on the Treasury Tipped Occupation list for the §224 deduction. It specifies the regulation, the fuzzy-matching behavior, and the output format, distinguishing it from sibling tools that focus on calculations or other lookups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (to determine tip deduction eligibility) and implies it's a lookup. It does not explicitly mention when not to use it or list alternatives, but the context of sibling tools provides implicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_input_factsAInspect

Discover every input the tax corpus understands: id, type, whether required, and its documented default. Call this if unsure what information to collect from the user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It describes the output as listing inputs, which is clear, but does not disclose potential side effects, authentication needs, or performance considerations. For a read-only listing, this is adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first defines purpose and output, second gives usage guidance. No redundant or vague language. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no parameters and no output schema, but the description fully explains its function and return contents. It tells the agent to use it for user data collection, providing complete context for a simple listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so baseline is 4. The description adds meaning by specifying what attributes are returned (id, type, required, default), which helps the agent understand the tool's output beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool discovers every input the tax corpus understands, listing specific attributes (id, type, required, default). This distinguishes it from sibling tools that calculate, verify, or search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises to call this when unsure what information to collect from the user, providing a direct usage context. It could be improved by mentioning when not to use it, but the guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_tax_parameterAInspect

Look up the current-law dollar amounts behind a question ('standard deduction', 'CTC phase-out threshold', 'tips deduction cap') with their statutory citations and validity windows. Use this to fact-check ANY tax number before stating it — your training data likely predates the OBBBA.

ParametersJSON Schema
NameRequiredDescriptionDefault
asOfNo
queryYesplain-English search, e.g. 'standard deduction'

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description discloses that it returns current-law amounts, statutory citations, and validity windows. It also warns about outdated training data, which is helpful. It does not mention error handling or read-only nature, but the intended behavior is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: the first clearly defines purpose and output, the second provides usage guidance. Every sentence is valuable and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple lookup tool with 2 parameters and no output schema, the description covers what it returns (citations, windows) and when to use it. It lacks details on what happens for missing queries or the exact format of citations, but it is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (query has description, asOf only has pattern). The description adds value by explaining query as 'plain-English search' with an example. However, the asOf parameter lacks semantic explanation beyond the date pattern, leaving ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool looks up current-law dollar amounts behind specific tax questions, provides examples like 'standard deduction' and 'CTC phase-out threshold', and explicitly says it returns statutory citations and validity windows. This distinguishes it from sibling tools like verify_fact or search_tax_rules.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises to 'fact-check ANY tax number before stating it' because training data may be outdated. It implies the primary use case but does not explicitly mention when not to use it or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_tax_rulesAInspect

Full-text search over the encoded tax-law corpus ('kiddie tax', 'NIIT threshold', 'california renters credit'). Returns matching rules: id, title, statutory citation, effective window, and a verbatim excerpt of the law text. A hit means the engine computes this; zero hits means it is outside the corpus — say so rather than guessing. Follow up with explain_rule for a hit's full formula, or lookup_tax_parameter for its dollar amounts.

ParametersJSON Schema
NameRequiredDescriptionDefault
asOfNo
limitNo
queryYesplain-English search, e.g. 'kiddie tax'

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description effectively conveys the read-only search behavior, what a hit means, and the return format. However, it does not mention any rate limits, authentication needs, or performance characteristics, leaving minor gaps in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two succinct sentences followed by a single directive sentence. All information is front-loaded and relevant, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, no output schema), the description provides sufficient context: purpose, return fields, interpretation of results, and links to sibling tools. It is complete enough for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 33% (only query described). The description adds a plain-English example for the query parameter but does not clarify the purpose or format of asOf and limit. The baseline compensation is minimal, leaving these parameters under-documented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it performs full-text search over a tax-law corpus, provides example queries, and details the return fields (id, title, citation, window, excerpt). It distinguishes itself from sibling tools by specifying follow-up tools like explain_rule.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells the agent to interpret zero hits as meaning the query is outside the corpus and not to guess. Also directs to use explain_rule or lookup_tax_parameter for further details, providing clear actionable guidance on when to use which tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_factAInspect

Fact-check a claimed dollar amount about tax law ('the 2026 MFJ standard deduction is $32,200', 'CTC is $2,000 per child') against the corpus. Returns verified / refuted (with the correct value and citation) / unknown. Never states a verdict it cannot ground.

ParametersJSON Schema
NameRequiredDescriptionDefault
asOfNo
queryYeswhat the amount is, e.g. 'standard deduction'
filingStatusNo
claimedAmountYesdollars, e.g. 50000 or "1234.56"

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It clearly states return values (verified/refuted with correct value and citation, unknown) and the grounding constraint, providing good transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. Front-loaded with verb and resource, then return types and behavioral rule. Efficient and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has 4 params, no output schema. Description explains purpose, output types, and a behavioral rule. Missing details on optional parameters (asOf, filingStatus) and how they affect results, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (2 of 4 params have descriptions). The description adds no extra meaning to parameters like 'asOf' or 'filingStatus' beyond examples. It does not compensate for missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fact-checks a claimed dollar amount about tax law, with examples. It distinguishes from sibling 'verify_tax_claim' but not explicitly, and is specific about the resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for fact-checking dollar amounts but lacks explicit when-to-use or alternatives. It includes a behavioral rule ('Never states a verdict it cannot ground') but no guidance on when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_tax_claimAInspect

Verify a claimed tax amount (yours, a user's, or another tool's) against the law. Returns verdict 'verified' or 'refuted' with the correct value. Use this as a self-check before presenting any tax number. Put asOf (and target, if any) INSIDE the facts object — e.g. facts: {..., "asOf": "2025-12-31"} — otherwise the claim is checked under today's law.

ParametersJSON Schema
NameRequiredDescriptionDefault
factsYesfacts 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.
claimedAmountYesthe amount to verify (negative = refund)
toleranceDollarsNodefault 1

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses the return values (verdict and correct value), the fact that unknown keys are rejected (not silently dropped), and implies that without 'asOf', the law as of today is used. This is sufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: two sentences and a usage note. Every sentence adds value, and the critical placement rule is front-loaded. No redundant or vague phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (3 params, nested objects, 14 siblings), the description covers purpose, usage, parameter semantics, and behavioral constraints. It lacks details on error handling or invalid facts, but overall is sufficient for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds meaning beyond schema: explains that 'facts' can be flat IDs or group objects, notes 'negative = refund' for claimedAmount, and gives default toleranceDollars=1. It also clarifies that 'asOf' and 'target' must be inside facts, enhancing parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Verify a claimed tax amount against the law.' It explicitly specifies the return values ('verified' or 'refuted' with correct value) and distinguishes itself from sibling tools like verify_fact by targeting tax claims specifically. The scope (yours, a user's, or another tool's) is also clarified.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises: 'Use this as a self-check before presenting any tax number,' providing clear context. It also gives critical placement instructions for 'asOf' and 'target' inside the facts object. However, it does not explicitly state when not to use this tool or compare it to alternatives like verify_fact.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • Changedcalculate_tax13 fields changed
      • addedInput schema / properties / state / properties / ctAgi
        Added value: +{
        +  "description": "Connecticut adjusted gross income (Form CT-1040 line 5 = federal AGI + Schedule 1 additions − subtractions) — the single key to the whole Tax Calculation Schedule: Table A exemption, Table B rates, the Table C 2% add-back, Table D recapture, and the Table E credit percentage (us.ct.income_tax, us.ct.personal_exemption), and to the property tax credit phase-out (us.ct.property_tax_credit). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctEitcJointFagi
        Added value: +{
        +  "description": "The joint federal AGI (Form 1040 line 11; Schedule CT-EITC line 13) when the Connecticut return is married filing separately but the federal return was joint — the proration denominator (us.ct.eitc). 0 = no proration. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctEitcQualifyingChild
        Added value: +{
        +  "description": "Filer listed at least one qualifying child on federal Schedule EIC (Schedule CT-EITC lines 4-5) — adds the flat $250 (PA 25-168 § 371, TY2025+) to the Connecticut EITC (us.ct.eitc).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / ctEitcSeparateFagi
        Added value: +{
        +  "description": "For a joint FEDERAL filer who must file married-filing-separately for Connecticut: this spouse's separate federal AGI (Schedule CT-EITC line 12) — the 40% credit is multiplied by separate ÷ joint federal AGI to four decimals, not more than 1.0000 (us.ct.eitc). Leave 0 (with ctEitcJointFagi 0) when no proration applies. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctFederalAgi
        Added value: +{
        +  "description": "Federal adjusted gross income (Form CT-1040 line 1 = federal Form 1040 line 11a, as the 2025 CT form prints it) — keys the Social Security adjustment thresholds ($75,000 single/MFS; $100,000 MFJ/QSS/HOH) and the pension/annuity/IRA phase-out (us.ct.social_security_adjustment, us.ct.pension_annuity_subtraction). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctFederalEic
        Added value: +{
        +  "description": "Federal earned income credit claimed and allowed (Form 1040 line 27a; Schedule CT-EITC line 8) — us.ct.eitc pays 40% of it plus $250 with a qualifying child. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctIraDistributions
        Added value: +{
        +  "description": "Taxable IRA distributions other than Roth (Form 1040 line 4b) — 75% enters the Pension and Annuity Worksheet line 2 for TY2025, 100% for TY2026 (us.ct.pension_annuity_subtraction). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctPensionAnnuityIncome
        Added value: +{
        +  "description": "Taxable pensions and annuities (Form 1040 line 5b) MINUS military retirement pay, Tier 1/Tier 2 Railroad Retirement, and Connecticut Teachers' Retirement income (each subtracted on its own Schedule 1 line) — the 100% component of the Pension and Annuity Worksheet line 2 (us.ct.pension_annuity_subtraction). Exclude disability pensions before minimum retirement age and corrective distributions. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctPropertyTaxPaid
        Added value: +{
        +  "description": "Qualifying Connecticut property tax paid during the year on the primary residence and eligible motor vehicle(s) (Schedule 3 line 63: one vehicle for single/MFS/HOH, two for MFJ/QSS; bills due and paid in the year; no late payments, interest, or fees) — us.ct.property_tax_credit caps it at $300 and phases it out by Connecticut AGI. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctSsProvisionalExcess
        Added value: +{
        +  "description": "Federal Social Security Benefits Worksheet line 9 — the excess of provisional income over the § 86(c) base amount ($25,000 / $32,000) — or line 7 for a married-filing-separately filer who lived with the spouse (line B of the Connecticut worksheet; us.ct.social_security_adjustment). May be zero or negative (then no adjustment). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctSsTotalBenefits
        Added value: +{
        +  "description": "Total Social Security benefits received (federal Social Security Benefits Worksheet line 1 = Form SSA-1099 box 5 total) — line A of the Connecticut Social Security Benefit Adjustment Worksheet (us.ct.social_security_adjustment). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctTaxableSs
        Added value: +{
        +  "description": "Federally taxable Social Security benefits (Form 1040 line 6b; federal worksheet line 18) — line E of the Connecticut worksheet; fully subtracted below the AGI threshold (us.ct.social_security_adjustment). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctUseTaxTable
        Added value: +{
        +  "description": "Use the DRS printed tax tables' method (Connecticut AGI at or under $102,000: the schedule evaluated at the $50 row midpoint, rounded once) instead of the Tax Calculation Schedule with its line-level whole-dollar rounding — Form CT-1040 line 6 allows either (us.ct.income_tax). Above $102,000 the schedule is used regardless.",
        +  "type": "boolean"
        +}
    • Changedcompute_return13 fields changed
      • addedInput schema / properties / state / properties / ctAgi
        Added value: +{
        +  "description": "Connecticut adjusted gross income (Form CT-1040 line 5 = federal AGI + Schedule 1 additions − subtractions) — the single key to the whole Tax Calculation Schedule: Table A exemption, Table B rates, the Table C 2% add-back, Table D recapture, and the Table E credit percentage (us.ct.income_tax, us.ct.personal_exemption), and to the property tax credit phase-out (us.ct.property_tax_credit). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctEitcJointFagi
        Added value: +{
        +  "description": "The joint federal AGI (Form 1040 line 11; Schedule CT-EITC line 13) when the Connecticut return is married filing separately but the federal return was joint — the proration denominator (us.ct.eitc). 0 = no proration. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctEitcQualifyingChild
        Added value: +{
        +  "description": "Filer listed at least one qualifying child on federal Schedule EIC (Schedule CT-EITC lines 4-5) — adds the flat $250 (PA 25-168 § 371, TY2025+) to the Connecticut EITC (us.ct.eitc).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / ctEitcSeparateFagi
        Added value: +{
        +  "description": "For a joint FEDERAL filer who must file married-filing-separately for Connecticut: this spouse's separate federal AGI (Schedule CT-EITC line 12) — the 40% credit is multiplied by separate ÷ joint federal AGI to four decimals, not more than 1.0000 (us.ct.eitc). Leave 0 (with ctEitcJointFagi 0) when no proration applies. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctFederalAgi
        Added value: +{
        +  "description": "Federal adjusted gross income (Form CT-1040 line 1 = federal Form 1040 line 11a, as the 2025 CT form prints it) — keys the Social Security adjustment thresholds ($75,000 single/MFS; $100,000 MFJ/QSS/HOH) and the pension/annuity/IRA phase-out (us.ct.social_security_adjustment, us.ct.pension_annuity_subtraction). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctFederalEic
        Added value: +{
        +  "description": "Federal earned income credit claimed and allowed (Form 1040 line 27a; Schedule CT-EITC line 8) — us.ct.eitc pays 40% of it plus $250 with a qualifying child. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctIraDistributions
        Added value: +{
        +  "description": "Taxable IRA distributions other than Roth (Form 1040 line 4b) — 75% enters the Pension and Annuity Worksheet line 2 for TY2025, 100% for TY2026 (us.ct.pension_annuity_subtraction). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctPensionAnnuityIncome
        Added value: +{
        +  "description": "Taxable pensions and annuities (Form 1040 line 5b) MINUS military retirement pay, Tier 1/Tier 2 Railroad Retirement, and Connecticut Teachers' Retirement income (each subtracted on its own Schedule 1 line) — the 100% component of the Pension and Annuity Worksheet line 2 (us.ct.pension_annuity_subtraction). Exclude disability pensions before minimum retirement age and corrective distributions. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctPropertyTaxPaid
        Added value: +{
        +  "description": "Qualifying Connecticut property tax paid during the year on the primary residence and eligible motor vehicle(s) (Schedule 3 line 63: one vehicle for single/MFS/HOH, two for MFJ/QSS; bills due and paid in the year; no late payments, interest, or fees) — us.ct.property_tax_credit caps it at $300 and phases it out by Connecticut AGI. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctSsProvisionalExcess
        Added value: +{
        +  "description": "Federal Social Security Benefits Worksheet line 9 — the excess of provisional income over the § 86(c) base amount ($25,000 / $32,000) — or line 7 for a married-filing-separately filer who lived with the spouse (line B of the Connecticut worksheet; us.ct.social_security_adjustment). May be zero or negative (then no adjustment). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctSsTotalBenefits
        Added value: +{
        +  "description": "Total Social Security benefits received (federal Social Security Benefits Worksheet line 1 = Form SSA-1099 box 5 total) — line A of the Connecticut Social Security Benefit Adjustment Worksheet (us.ct.social_security_adjustment). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctTaxableSs
        Added value: +{
        +  "description": "Federally taxable Social Security benefits (Form 1040 line 6b; federal worksheet line 18) — line E of the Connecticut worksheet; fully subtracted below the AGI threshold (us.ct.social_security_adjustment). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ctUseTaxTable
        Added value: +{
        +  "description": "Use the DRS printed tax tables' method (Connecticut AGI at or under $102,000: the schedule evaluated at the $50 row midpoint, rounded once) instead of the Tax Calculation Schedule with its line-level whole-dollar rounding — Form CT-1040 line 6 allows either (us.ct.income_tax). Above $102,000 the schedule is used regardless.",
        +  "type": "boolean"
        +}
    • Changedcompute_state_return29 fields changed
      • addedInput schema / properties / ctAbleContributions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT Schedule 1 line 48d: contributions to ABLE accounts — the composer caps at $5,000 ($10,000 MFJ/QSS)"
        +}
      • addedInput schema / properties / ctAmt
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT-1040 line 9: Connecticut alternative minimum tax from Form CT-6251 line 23 (required when federal AMT was paid — agent-computed, transcribed)"
        +}
      • addedInput schema / properties / ctAppliedToNextYear
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT-1040 line 23: overpayment applied to 2026 estimated tax (irrevocable)"
        +}
      • addedInput schema / properties / ctCharityContributions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT-1040 line 24a: contributions of the refund to designated charities from Schedule 5 line 70 (limited to the refund; irrevocable)"
        +}
      • addedInput schema / properties / ctChetContributions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT Schedule 1 line 48: contributions to Connecticut Higher Education Trust (CHET) 529 accounts made during the year plus allowed carryforward — the composer caps at $5,000 ($10,000 MFJ/QSS); the excess carries forward five years"
        +}
      • addedInput schema / properties / ctChetRefundContribution
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT-1040 line 24: overpayment contributed to CHET accounts from Schedule CT-CHET line 4 (irrevocable)"
        +}
      • addedInput schema / properties / ctClaimOfRightCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT-1040 line 20b: claim of right credit from Form CT-1040 CRC line 6 (repayment over $3,000 under IRC § 1341; refundable)"
        +}
      • addedInput schema / properties / ctEitcJointFagi
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Schedule CT-EITC line 13: the JOINT federal AGI when the filer filed jointly federally but must file married-filing-separately for Connecticut — the composer prorates the 40% credit by federalAGI (this spouse's separate AGI, line 12) ÷ this amount to four decimals"
        +}
      • addedInput schema / properties / ctEitcQualifyingChild
        Added value: +{
        +  "description": "at least one qualifying child listed on federal Schedule EIC (Schedule CT-EITC lines 4-5) — adds the flat $250 to the 40% Connecticut EITC (PA 25-168, TY2025+)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / ctHistoricHomesCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT-1040 line 20d: Historic Homes Rehabilitation Tax Credit voucher amount (refundable)"
        +}
      • addedInput schema / properties / ctIraDistributions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 1040 line 4b taxable IRA distributions other than Roth — 75% (TY2025) / 100% (TY2026) enters the pension and annuity subtraction"
        +}
      • addedInput schema / properties / ctLate
        Added value: +{
        +  "description": "return/payment is late — the composer applies the 10% late payment penalty to line 26 (line 27); pass ctLateInterest for line 28",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / ctLateInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT-1040 line 28: late payment interest — 1% of line 26 per month or fraction of a month from the due date (agent-computed)"
        +}
      • addedInput schema / properties / ctMilitaryRetirement
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT Schedule 1 line 44: military retirement pay included in federal AGI (retired armed forces / National Guard member or survivor-option beneficiary; NOT a former spouse's court-ordered share) — 100% subtracted; also excluded from ctPensionAnnuityIncome"
        +}
      • addedInput schema / properties / ctOtherJurisdictionIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT Schedule 2 line 53: income included in Connecticut AGI that was also taxed by ONE qualifying jurisdiction (another state, DC, or their political subdivisions — from the Schedule 2 Worksheet column 2); the composer computes lines 54-58 (ratio to four decimals ≤ 1.0000 × (line 6 − line 11), limited to the tax actually paid). Attach the other return."
        +}
      • addedInput schema / properties / ctOtherJurisdictionTaxPaid
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT Schedule 2 line 57: income tax actually paid to that qualifying jurisdiction"
        +}
      • addedInput schema / properties / ctPensionAnnuityIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 1040 line 5b taxable pensions and annuities MINUS military retirement pay, Railroad Retirement, and Connecticut teachers' retirement (the composer runs the Pension and Annuity Worksheet: 100% of this + 75% of ctIraDistributions in TY2025, × the federal-AGI phase-out decimal → Schedule 1 line 48b)"
        +}
      • addedInput schema / properties / ctPropertyTaxAuto1
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT Schedule 3 line 61: property tax paid on one privately owned or leased (term over one year) motor vehicle"
        +}
      • addedInput schema / properties / ctPropertyTaxAuto2
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT Schedule 3 line 62: a second vehicle — MFJ / QSS ONLY (the composer ignores it for other statuses with a note)"
        +}
      • addedInput schema / properties / ctPropertyTaxResidence
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT Schedule 3 line 60: property tax paid in the year to a Connecticut town on the PRIMARY RESIDENCE (bills due and paid in the year, incl. prepaid installments; no late payments, interest or fees)"
        +}
      • addedInput schema / properties / ctPteCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT-1040 line 20c: pass-through entity tax credit from Schedule CT-PE line 1 (refundable; attach the schedule)"
        +}
      • addedInput schema / properties / ctRailroadRetirement
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT Schedule 1 line 43: Tier 1 and Tier 2 Railroad Retirement benefits, supplemental annuities, and RRB unemployment/sickness benefits included in federal AGI (excluding any Tier 1 already covered by the line 41 Social Security adjustment) — subtracted; also excluded from ctPensionAnnuityIncome"
        +}
      • addedInput schema / properties / ctSsProvisionalExcess
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "federal Social Security Benefits Worksheet line 9 (provisional income over the $25,000/$32,000 base) — or line 7 for a married-filing-separately filer who lived with the spouse — CT worksheet line B"
        +}
      • addedInput schema / properties / ctSsTotalBenefits
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "federal Social Security Benefits Worksheet line 1 (total benefits, SSA-1099 box 5) — with taxableSocialSecurity and ctSsProvisionalExcess the composer runs the CT Social Security Benefit Adjustment Worksheet (line 41) when federal AGI is at or above $75,000 (single/MFS) or $100,000 (MFJ/QSS/HOH); below the threshold the full taxable amount is subtracted automatically"
        +}
      • addedInput schema / properties / ctTeachersRetirement
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT Schedule 1 line 45: income from the Connecticut Teachers' Retirement System (Form 1099-R from the Teachers' Retirement Board) — the composer subtracts 50%; a teacher under the pension AGI threshold may instead include it in ctPensionAnnuityIncome (never both)"
        +}
      • addedInput schema / properties / ctUnderpaymentInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "CT-1040 line 29: interest on underpayment of estimated tax from Form CT-2210 (applies when line 14 less withholding and PE credit is $1,000 or more; leave blank to let DRS bill it)"
        +}
      • addedInput schema / properties / ctUseTaxTable
        Added value: +{
        +  "description": "compute line 6 the way the DRS printed tax tables do (CT AGI ≤ $102,000: schedule at the $50 row midpoint, one rounding) instead of the Tax Calculation Schedule's line-level rounding — both are allowed by the form; default is the schedule",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / federalAGI / description
        Previous value: -"federal Form 1040 line 11 (from compute_return, verbatim). REQUIRED for il/va/ca/ny/or/ok — the composer refuses without it. NOT used by PA (class-based: pass the pa* class fields instead)."New value: +"federal Form 1040 line 11 (from compute_return, verbatim). REQUIRED for il/va/ca/ny/or/ok/ct — the composer refuses without it. NOT used by PA (class-based: pass the pa* class fields instead)."
      • changedInput schema / properties / jurisdiction / enum
        Previous value: -[
        -  "il",
        -  "va",
        -  "ca",
        -  "ny",
        -  "pa",
        -  "nj",
        -  "oh",
        -  "nc",
        -  "ga",
        -  "md",
        -  "mo",
        -  "wi",
        -  "mn",
        -  "sc",
        -  "al",
        -  "or",
        -  "ok"
        -]New value: +[
        +  "il",
        +  "va",
        +  "ca",
        +  "ny",
        +  "pa",
        +  "nj",
        +  "oh",
        +  "nc",
        +  "ga",
        +  "md",
        +  "mo",
        +  "wi",
        +  "mn",
        +  "sc",
        +  "al",
        +  "or",
        +  "ok",
        +  "ct"
        +]
  2. 3 tool updates
    • Changedcalculate_tax28 fields changed
      • addedInput schema / properties / state / properties / okAgi
        Added value: +{
        +  "description": "Oklahoma adjusted gross income (Form 511 line 7) — the proration numerator when it is below federal AGI (Schedules 511-F and 511-G: credit x line 7 / line 1, not more than 100%). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okBasicExemptions
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Count of Oklahoma exemptions with NO income test: 'yourself' + 'spouse' regular boxes, legally-blind boxes, and dependents (Form 511 page 1) — $1,000 each (us.ok.exemptions). A filer claimable as someone's dependent enters 0 for 'yourself'."
        +}
      • addedInput schema / properties / state / properties / okEic2020Amount
        Added value: +{
        +  "description": "The federal earned income credit computed under 2020 rules on Form 511-EIC line 20 (the larger of the 2024 and 2025 columns — each is us.ok.eic_2020_rules) — us.ok.eic pays 5% of it, prorated by Oklahoma AGI over federal AGI. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okEicAgi
        Added value: +{
        +  "description": "Federal AGI (Form 1040 line 11) for the SAME year as okEicEarnedIncome — Form 511-EIC line 17: when it reaches the table's phase-out row ($8,800 no children / $19,350 with children; $14,700 / $25,250 married filing jointly) the credit is the SMALLER of the table amounts at earned income and at AGI (us.ok.eic_2020_rules). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okEicEarnedIncome
        Added value: +{
        +  "description": "Total earned income on Form 511-EIC line 15 (wages less excluded Medicaid waiver payments, plus elected nontaxable combat pay, plus net self-employment earnings) for the year being computed — Oklahoma lets the filer use 2025 OR 2024 earned income (us.ok.eic_2020_rules; run once per year and keep the larger). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okEicEligible
        Added value: +{
        +  "description": "Filer meets the FEDERAL 2020-law EIC requirements Oklahoma freezes to (68 O.S. § 2357.43): work-valid SSNs, not married filing separately, investment income $3,650 or less, and — with no qualifying child — age 25 to 64 and not a dependent (us.ok.eic_2020_rules). Unattested = $0.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / okEicQualifyingChildren
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Number of EIC qualifying children under the 2020 federal rules (0, 1, 2, or 3-or-more — the table caps at 3) for us.ok.eic_2020_rules."
        +}
      • addedInput schema / properties / state / properties / okFederalAgi
        Added value: +{
        +  "description": "Federal adjusted gross income (Form 511 line 1 = Form 1040 line 11) — keys the $100,000 child care/child tax credit cliff and the Schedule 511-F/511-G proration denominators (us.ok.child_care_child_tax_credit, us.ok.eic), the special 65+ exemption income limits (us.ok.exemptions, after removing Roth conversion income), and the use tax table (us.ok.use_tax). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okFederalCharity
        Added value: +{
        +  "description": "Gifts to charity deducted on federal Schedule A line 14 (Schedule 511-D lines 5 and 10) — exempt from Oklahoma's $17,000 itemized cap (us.ok.itemized_deductions). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okFederalChildCareCredit
        Added value: +{
        +  "description": "Federal credit for child and dependent care expenses allowed (Form 2441 / Schedule 3 line 2) — Oklahoma allows 20% of it (us.ok.child_care_child_tax_credit, the greater-of test). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okFederalChildTaxCredit
        Added value: +{
        +  "description": "Federal child tax credit PLUS additional child tax credit allowed (Form 1040 line 19 + line 28 from Schedule 8812) — Oklahoma allows 5% of the total (us.ok.child_care_child_tax_credit, the greater-of test). NOTE: line 19 also carries the $500 § 24(h)(4) credit for other dependents; the packet names only the CTC and ACTC — the ODC is part of § 24 (\"the child tax credit allowed under the IRC\"), so include it but disclose when one is present. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okFederalItemizedTotal
        Added value: +{
        +  "description": "Federal Schedule A line 17 total itemized deductions (Schedule 511-D line 1) — the starting point for Oklahoma itemized deductions (us.ok.itemized_deductions). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okFederalMedical
        Added value: +{
        +  "description": "Medical and dental expenses deducted on federal Schedule A line 4 (Schedule 511-D lines 4 and 9) — exempt from Oklahoma's $17,000 itemized cap (us.ok.itemized_deductions). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okFederalSaltDeducted
        Added value: +{
        +  "description": "State and local income OR general sales taxes from federal Schedule A line 5a to the extent actually included in line 5e after the SALT cap (Schedule 511-D line 2) — Oklahoma adds them back (us.ok.itemized_deductions). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okGovRetirementSpouse
        Added value: +{
        +  "description": "SPOUSE's Oklahoma-government or federal civil service retirement benefits included in federal AGI (Schedule 511-A line 5) — the $10,000 limit is per individual, in that person's name (us.ok.retirement_exclusion). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okGovRetirementYou
        Added value: +{
        +  "description": "TAXPAYER's Oklahoma-government or federal civil service retirement benefits included in federal AGI (Schedule 511-A line 5 systems: OPERS, TRS, OLERS, firefighters, police, judges, county/municipal systems, US civil service other than CSRS-in-lieu-of-SS) — excluded up to $10,000 per person (us.ok.retirement_exclusion). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okGrossHouseholdIncome
        Added value: +{
        +  "description": "Total GROSS household income of everyone in the household, taxable or not (Form 538-S Part 3 line 14: wages incl. nontaxable W-2 amounts, interest, dependents' income, full Social Security incl. Medicare, pensions, alimony, unemployment, EIC received, public assistance, child support, workers' comp, gross rents/business receipts; NOT deferred 401(k)/IRA contributions) — the $20,000/$50,000 sales tax relief limits (us.ok.sales_tax_relief_credit) and the $12,000 property tax relief limit (us.ok.property_tax_relief_credit). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okOtherRetirementSpouse
        Added value: +{
        +  "description": "SPOUSE's other qualifying retirement income included in federal AGI (Schedule 511-A line 6) — same per-person $10,000 combined limit (us.ok.retirement_exclusion). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okOtherRetirementYou
        Added value: +{
        +  "description": "TAXPAYER's other qualifying retirement income included in federal AGI (Schedule 511-A line 6: IRC 401 plans, 457 plans, 408 IRAs/SEPs, 403(a)/(b) annuities, 402(e) lump sums) — excluded up to $10,000 per person MINUS the same person's line 5 exclusion (us.ok.retirement_exclusion). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okPropertyTaxPaid
        Added value: +{
        +  "description": "Ad valorem property taxes paid on the homestead occupied during the year (Form 538-H) — the property tax relief credit is the amount paid, capped at $200 (us.ok.property_tax_relief_credit). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okPtrEligible
        Added value: +{
        +  "description": "Filer is 65 or older OR totally disabled, is the head of a household, and was an Oklahoma resident domiciled in the state for the ENTIRE preceding calendar year (Form 538-H / Form 511 line 24) — the property tax relief credit also requires gross household income of $12,000 or less (us.ok.property_tax_relief_credit). Unattested = $0.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / okRothConversionIncome
        Added value: +{
        +  "description": "Income from converting a traditional IRA to a Roth IRA that is included in federal AGI — excluded from federal AGI ONLY for the special 65+ exemption income limits (68 O.S. § 2358(E)(1)(c); Form 511 exemption instructions). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okSpecialExemptions65
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Count of Oklahoma SPECIAL exemption boxes (taxpayer and/or spouse 65 or older at year end, 0-2) — $1,000 each ONLY when federal AGI (less Roth conversion income) is at or under $15,000 single / $25,000 joint / $12,500 MFS / $19,000 head of household (us.ok.exemptions)."
        +}
      • addedInput schema / properties / state / properties / okStrDisabled
        Added value: +{
        +  "description": "Filer or spouse has a physical disability constituting a substantial handicap to employment (proof required with Form 538-S) — raises the sales tax relief gross household income limit to $50,000 (us.ok.sales_tax_relief_credit).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / okStrEligible
        Added value: +{
        +  "description": "Filer meets the Form 538-S gates: Oklahoma resident (domiciled) for the ENTIRE year, not an inmate in DOC custody during the year after a felony conviction, received no TANF in any month, not living in Oklahoma under a visa, and the return is filed by the due date (us.ok.sales_tax_relief_credit). Unattested = $0.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / okStrExemptions
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Qualified exemptions for the sales tax relief credit (Form 538-S Box D: yourself, spouse, and each federally-claimed dependent who was an Oklahoma resident all year; a deceased taxpayer/spouse or a TANF recipient does not count) — $40 each (us.ok.sales_tax_relief_credit)."
        +}
      • addedInput schema / properties / state / properties / okStrHasDependent
        Added value: +{
        +  "description": "Filer can claim an exemption for a dependent — raises the sales tax relief gross household income limit from $20,000 to $50,000 (us.ok.sales_tax_relief_credit).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / okStrIs65
        Added value: +{
        +  "description": "Filer or spouse is 65 or older by December 31 of the tax year — raises the sales tax relief gross household income limit to $50,000 (us.ok.sales_tax_relief_credit).",
        +  "type": "boolean"
        +}
    • Changedcompute_return28 fields changed
      • addedInput schema / properties / state / properties / okAgi
        Added value: +{
        +  "description": "Oklahoma adjusted gross income (Form 511 line 7) — the proration numerator when it is below federal AGI (Schedules 511-F and 511-G: credit x line 7 / line 1, not more than 100%). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okBasicExemptions
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Count of Oklahoma exemptions with NO income test: 'yourself' + 'spouse' regular boxes, legally-blind boxes, and dependents (Form 511 page 1) — $1,000 each (us.ok.exemptions). A filer claimable as someone's dependent enters 0 for 'yourself'."
        +}
      • addedInput schema / properties / state / properties / okEic2020Amount
        Added value: +{
        +  "description": "The federal earned income credit computed under 2020 rules on Form 511-EIC line 20 (the larger of the 2024 and 2025 columns — each is us.ok.eic_2020_rules) — us.ok.eic pays 5% of it, prorated by Oklahoma AGI over federal AGI. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okEicAgi
        Added value: +{
        +  "description": "Federal AGI (Form 1040 line 11) for the SAME year as okEicEarnedIncome — Form 511-EIC line 17: when it reaches the table's phase-out row ($8,800 no children / $19,350 with children; $14,700 / $25,250 married filing jointly) the credit is the SMALLER of the table amounts at earned income and at AGI (us.ok.eic_2020_rules). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okEicEarnedIncome
        Added value: +{
        +  "description": "Total earned income on Form 511-EIC line 15 (wages less excluded Medicaid waiver payments, plus elected nontaxable combat pay, plus net self-employment earnings) for the year being computed — Oklahoma lets the filer use 2025 OR 2024 earned income (us.ok.eic_2020_rules; run once per year and keep the larger). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okEicEligible
        Added value: +{
        +  "description": "Filer meets the FEDERAL 2020-law EIC requirements Oklahoma freezes to (68 O.S. § 2357.43): work-valid SSNs, not married filing separately, investment income $3,650 or less, and — with no qualifying child — age 25 to 64 and not a dependent (us.ok.eic_2020_rules). Unattested = $0.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / okEicQualifyingChildren
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Number of EIC qualifying children under the 2020 federal rules (0, 1, 2, or 3-or-more — the table caps at 3) for us.ok.eic_2020_rules."
        +}
      • addedInput schema / properties / state / properties / okFederalAgi
        Added value: +{
        +  "description": "Federal adjusted gross income (Form 511 line 1 = Form 1040 line 11) — keys the $100,000 child care/child tax credit cliff and the Schedule 511-F/511-G proration denominators (us.ok.child_care_child_tax_credit, us.ok.eic), the special 65+ exemption income limits (us.ok.exemptions, after removing Roth conversion income), and the use tax table (us.ok.use_tax). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okFederalCharity
        Added value: +{
        +  "description": "Gifts to charity deducted on federal Schedule A line 14 (Schedule 511-D lines 5 and 10) — exempt from Oklahoma's $17,000 itemized cap (us.ok.itemized_deductions). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okFederalChildCareCredit
        Added value: +{
        +  "description": "Federal credit for child and dependent care expenses allowed (Form 2441 / Schedule 3 line 2) — Oklahoma allows 20% of it (us.ok.child_care_child_tax_credit, the greater-of test). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okFederalChildTaxCredit
        Added value: +{
        +  "description": "Federal child tax credit PLUS additional child tax credit allowed (Form 1040 line 19 + line 28 from Schedule 8812) — Oklahoma allows 5% of the total (us.ok.child_care_child_tax_credit, the greater-of test). NOTE: line 19 also carries the $500 § 24(h)(4) credit for other dependents; the packet names only the CTC and ACTC — the ODC is part of § 24 (\"the child tax credit allowed under the IRC\"), so include it but disclose when one is present. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okFederalItemizedTotal
        Added value: +{
        +  "description": "Federal Schedule A line 17 total itemized deductions (Schedule 511-D line 1) — the starting point for Oklahoma itemized deductions (us.ok.itemized_deductions). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okFederalMedical
        Added value: +{
        +  "description": "Medical and dental expenses deducted on federal Schedule A line 4 (Schedule 511-D lines 4 and 9) — exempt from Oklahoma's $17,000 itemized cap (us.ok.itemized_deductions). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okFederalSaltDeducted
        Added value: +{
        +  "description": "State and local income OR general sales taxes from federal Schedule A line 5a to the extent actually included in line 5e after the SALT cap (Schedule 511-D line 2) — Oklahoma adds them back (us.ok.itemized_deductions). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okGovRetirementSpouse
        Added value: +{
        +  "description": "SPOUSE's Oklahoma-government or federal civil service retirement benefits included in federal AGI (Schedule 511-A line 5) — the $10,000 limit is per individual, in that person's name (us.ok.retirement_exclusion). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okGovRetirementYou
        Added value: +{
        +  "description": "TAXPAYER's Oklahoma-government or federal civil service retirement benefits included in federal AGI (Schedule 511-A line 5 systems: OPERS, TRS, OLERS, firefighters, police, judges, county/municipal systems, US civil service other than CSRS-in-lieu-of-SS) — excluded up to $10,000 per person (us.ok.retirement_exclusion). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okGrossHouseholdIncome
        Added value: +{
        +  "description": "Total GROSS household income of everyone in the household, taxable or not (Form 538-S Part 3 line 14: wages incl. nontaxable W-2 amounts, interest, dependents' income, full Social Security incl. Medicare, pensions, alimony, unemployment, EIC received, public assistance, child support, workers' comp, gross rents/business receipts; NOT deferred 401(k)/IRA contributions) — the $20,000/$50,000 sales tax relief limits (us.ok.sales_tax_relief_credit) and the $12,000 property tax relief limit (us.ok.property_tax_relief_credit). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okOtherRetirementSpouse
        Added value: +{
        +  "description": "SPOUSE's other qualifying retirement income included in federal AGI (Schedule 511-A line 6) — same per-person $10,000 combined limit (us.ok.retirement_exclusion). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okOtherRetirementYou
        Added value: +{
        +  "description": "TAXPAYER's other qualifying retirement income included in federal AGI (Schedule 511-A line 6: IRC 401 plans, 457 plans, 408 IRAs/SEPs, 403(a)/(b) annuities, 402(e) lump sums) — excluded up to $10,000 per person MINUS the same person's line 5 exclusion (us.ok.retirement_exclusion). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okPropertyTaxPaid
        Added value: +{
        +  "description": "Ad valorem property taxes paid on the homestead occupied during the year (Form 538-H) — the property tax relief credit is the amount paid, capped at $200 (us.ok.property_tax_relief_credit). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okPtrEligible
        Added value: +{
        +  "description": "Filer is 65 or older OR totally disabled, is the head of a household, and was an Oklahoma resident domiciled in the state for the ENTIRE preceding calendar year (Form 538-H / Form 511 line 24) — the property tax relief credit also requires gross household income of $12,000 or less (us.ok.property_tax_relief_credit). Unattested = $0.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / okRothConversionIncome
        Added value: +{
        +  "description": "Income from converting a traditional IRA to a Roth IRA that is included in federal AGI — excluded from federal AGI ONLY for the special 65+ exemption income limits (68 O.S. § 2358(E)(1)(c); Form 511 exemption instructions). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / okSpecialExemptions65
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Count of Oklahoma SPECIAL exemption boxes (taxpayer and/or spouse 65 or older at year end, 0-2) — $1,000 each ONLY when federal AGI (less Roth conversion income) is at or under $15,000 single / $25,000 joint / $12,500 MFS / $19,000 head of household (us.ok.exemptions)."
        +}
      • addedInput schema / properties / state / properties / okStrDisabled
        Added value: +{
        +  "description": "Filer or spouse has a physical disability constituting a substantial handicap to employment (proof required with Form 538-S) — raises the sales tax relief gross household income limit to $50,000 (us.ok.sales_tax_relief_credit).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / okStrEligible
        Added value: +{
        +  "description": "Filer meets the Form 538-S gates: Oklahoma resident (domiciled) for the ENTIRE year, not an inmate in DOC custody during the year after a felony conviction, received no TANF in any month, not living in Oklahoma under a visa, and the return is filed by the due date (us.ok.sales_tax_relief_credit). Unattested = $0.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / okStrExemptions
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Qualified exemptions for the sales tax relief credit (Form 538-S Box D: yourself, spouse, and each federally-claimed dependent who was an Oklahoma resident all year; a deceased taxpayer/spouse or a TANF recipient does not count) — $40 each (us.ok.sales_tax_relief_credit)."
        +}
      • addedInput schema / properties / state / properties / okStrHasDependent
        Added value: +{
        +  "description": "Filer can claim an exemption for a dependent — raises the sales tax relief gross household income limit from $20,000 to $50,000 (us.ok.sales_tax_relief_credit).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / okStrIs65
        Added value: +{
        +  "description": "Filer or spouse is 65 or older by December 31 of the tax year — raises the sales tax relief gross household income limit to $50,000 (us.ok.sales_tax_relief_credit).",
        +  "type": "boolean"
        +}
    • Changedcompute_state_return52 fields changed
      • changedInput schema / properties / federalAGI / description
        Previous value: -"federal Form 1040 line 11 (from compute_return, verbatim). REQUIRED for il/va/ca/ny/or — the composer refuses without it. NOT used by PA (class-based: pass the pa* class fields instead)."New value: +"federal Form 1040 line 11 (from compute_return, verbatim). REQUIRED for il/va/ca/ny/or/ok — the composer refuses without it. NOT used by PA (class-based: pass the pa* class fields instead)."
      • changedInput schema / properties / jurisdiction / enum
        Previous value: -[
        -  "il",
        -  "va",
        -  "ca",
        -  "ny",
        -  "pa",
        -  "nj",
        -  "oh",
        -  "nc",
        -  "ga",
        -  "md",
        -  "mo",
        -  "wi",
        -  "mn",
        -  "sc",
        -  "al",
        -  "or"
        -]New value: +[
        +  "il",
        +  "va",
        +  "ca",
        +  "ny",
        +  "pa",
        +  "nj",
        +  "oh",
        +  "nc",
        +  "ga",
        +  "md",
        +  "mo",
        +  "wi",
        +  "mn",
        +  "sc",
        +  "al",
        +  "or",
        +  "ok"
        +]
      • addedInput schema / properties / ok529Contributions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK Schedule 511-C line 3: Oklahoma 529 College Savings Plan / OklahomaDream 529 contributions (incl. carryforwards and contributions through April 15) — the composer caps at $10,000 ($20,000 joint)"
        +}
      • addedInput schema / properties / okAdditionalTax
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK line 14b: HSA non-qualified withdrawal 10% additional tax (box 2), Oklahoma Affordable Housing credit recapture (box 3), or IRC § 965(h) installment (box 4)"
        +}
      • addedInput schema / properties / okAmendedPaid
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK line 30 (amended return only): amount paid with the original return plus additional payments after it was filed"
        +}
      • addedInput schema / properties / okAmendedPriorOverpayment
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK line 32 (amended return only): overpayment shown on the original / prior amended return or as previously adjusted"
        +}
      • addedInput schema / properties / okAppliedToNextYear
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK line 35: overpayment applied to 2026 estimated tax (original return only)"
        +}
      • addedInput schema / properties / okBlindExemptions
        Added value: +{
        +  "description": "count of legally-blind boxes (taxpayer/spouse) — $1,000 each, added to the shared `exemptions` count (self + spouse + dependents)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / okCsrsRetirement
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK Schedule 511-A line 3: Federal Civil Service Retirement System benefits paid in lieu of Social Security (100% excluded; CSA/CSF 1099-R claim number required — FERS does not qualify except the CSRS component or the FERS annuity supplement)"
        +}
      • addedInput schema / properties / okDonations
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK line 36: Schedule 511-H donations from the refund (CASA programs, Wildlife Diversity Fund — $2/$5/other)"
        +}
      • addedInput schema / properties / okEicAgi2024
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 511-EIC line 17 (Tax Year 2024 column): 2024 federal AGI — REQUIRED with okEicEarnedIncome2024 (the composer skips the 2024 column without it, since the line 19 AGI look-up cannot run)"
        +}
      • addedInput schema / properties / okEicEarnedIncome2024
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 511-EIC line 15 (Tax Year 2024 column): the PRIOR year's total earned income — Oklahoma lets the filer use 2024 or 2025 earned income; when given (with okEicAgi2024) the composer computes both columns and keeps the larger (line 20). Omit if the filer had no 2024 Oklahoma filing requirement."
        +}
      • addedInput schema / properties / okEicEarnedIncome2025
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 511-EIC line 15 (Tax Year 2025 column): total earned income — 1040 line 1z wages less excluded Medicaid waiver payments, plus elected nontaxable combat pay, plus net self-employment earnings (Schedule SE line 3 + 4b + 5a − line 13, statutory employee Schedule C line 1). The composer looks it up in the printed 2020 EIC table (us.ok.eic_2020_rules) with federalAGI as line 17."
        +}
      • addedInput schema / properties / okEicEligible
        Added value: +{
        +  "description": "Form 511-EIC eligibility under the FEDERAL 2020 rules attested: work-valid SSNs, not married filing separately, investment income $3,650 or less, and with no qualifying child age 25-64 and not a dependent — enables the Oklahoma EIC (line 28)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / okEicQualifyingChildren
        Added value: +{
        +  "description": "EIC qualifying children under the 2020 federal rules (0, 1, 2, or 3+)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / okFarmIncomeAveragingTax
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OVERRIDE for line 14a: Form 573 farm income averaging tax (box 1) — agent-computed; replaces the table tax"
        +}
      • addedInput schema / properties / okFederalCharity
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "federal Schedule A line 14 gifts to charity — exempt from the $17,000 Oklahoma cap"
        +}
      • addedInput schema / properties / okFederalChildCareCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "federal child and dependent care credit allowed (Schedule 3 line 2 / Form 2441) — Oklahoma allows 20% (line 15, greater-of test; $100,000 federal AGI cliff)"
        +}
      • addedInput schema / properties / okFederalChildTaxCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "federal child tax credit PLUS additional child tax credit allowed (1040 line 19 + line 28, Schedule 8812) — Oklahoma allows 5% (line 15, greater-of test). Line 19 includes the $500 § 24(h)(4) other-dependent credit; the packet names only the CTC/ACTC — include it (it is part of § 24) and disclose when present"
        +}
      • addedInput schema / properties / okFederalItemized
        Added value: +{
        +  "description": "taxpayer ITEMIZED on the federal return — Oklahoma then REQUIRES Oklahoma itemized deductions (Schedule 511-D) even if smaller than the standard deduction; a federal standard-deduction filer must take the Oklahoma standard deduction",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / okFederalItemizedTotal
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "federal Schedule A line 17 total itemized deductions (Schedule 511-D line 1)"
        +}
      • addedInput schema / properties / okFederalMedical
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "federal Schedule A line 4 medical and dental (after the 7.5% floor) — exempt from the $17,000 Oklahoma cap"
        +}
      • addedInput schema / properties / okFederalSaltDeducted
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "state and local income OR sales taxes from Schedule A line 5a to the extent included in line 5e after the SALT cap (Schedule 511-D line 2 add-back)"
        +}
      • addedInput schema / properties / okForm578Credit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK line 27: refundable credit for electricity generated by zero-emission facilities from Form 578 (85% of face; transcribed)"
        +}
      • addedInput schema / properties / okGovRetirementSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK Schedule 511-A line 5, SPOUSE: the spouse's own government retirement (separate $10,000 cap)"
        +}
      • addedInput schema / properties / okGovRetirementYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK Schedule 511-A line 5, TAXPAYER: Oklahoma-government / U.S. civil service retirement in the taxpayer's own name (OPERS, TRS, police, fire, judges, county/municipal systems) — excluded up to $10,000 per person (us.ok.retirement_exclusion)"
        +}
      • addedInput schema / properties / okGrossHouseholdIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Forms 538-S / 538-H: TOTAL gross household income of everyone in the household, taxable or not — wages incl. nontaxable W-2 amounts, interest, dependents' income, full Social Security incl. Medicare premiums, pensions/IRAs, alimony, unemployment, EIC received, public assistance, child support, workers' comp, gross rents/business receipts; NOT deferred 401(k)/IRA contributions or gifts"
        +}
      • addedInput schema / properties / okHomeschoolCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK line 29: Parental Choice Tax Credit for homeschool expenses from Form 591-D (refundable) — the composer caps at $1,000 × okHomeschoolStudents when the count is given"
        +}
      • addedInput schema / properties / okHomeschoolStudents
        Added value: +{
        +  "description": "OK line 29: number of eligible homeschool students claimed (one Form 591-D each)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / okInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK line 41b: delinquent payment interest (1.25% per month from the original due date)"
        +}
      • addedInput schema / properties / okMilitaryPay
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK Schedule 511-C line 1: active-duty, Reserve, and National Guard military pay included in federal AGI (100% excluded)"
        +}
      • addedInput schema / properties / okMilitaryRetirement
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK Schedule 511-A line 4: military retirement benefits included in federal AGI (100% excluded)"
        +}
      • addedInput schema / properties / okNaturalDisasterCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK line 26: Natural Disaster Tax Credit from Form 576 (refundable; transcribed)"
        +}
      • addedInput schema / properties / okOtherAdjustments
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK Schedule 511-C lines 2, 4-6 total: disability modification expenses, foster care (≤ $5,000), Parental Choice payments, and the misc codes (MSA/HSA, ag processing, organ donation ≤ $10,000, poll-worker leave, homebuyer savings $5,000/$10,000, ABLE $10,000/$20,000, etc.) — transcribed"
        +}
      • addedInput schema / properties / okOtherRetirementSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK Schedule 511-A line 6, SPOUSE: the spouse's own other retirement income"
        +}
      • addedInput schema / properties / okOtherRetirementYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK Schedule 511-A line 6, TAXPAYER: other qualified plan / IRA / 403(b) / 457 / lump-sum retirement income — the $10,000 per-person cap is shared with line 5"
        +}
      • addedInput schema / properties / okOtherStateCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK line 16: Form 511-TX credit for tax paid to another state on PERSONAL-SERVICES income (agent-computed per the form's proportion; capped at the remaining tax by the composer)"
        +}
      • addedInput schema / properties / okOutOfStateIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK Form 511 line 4: income from real or tangible personal property or BUSINESS activity in another state (partnership/S-corp shares included) — NEVER wages, interest, dividends, pensions, unemployment, or gambling. When > 0 the composer prorates deductions and exemptions on Schedule 511-E and leaves lines 10-11 blank."
        +}
      • addedInput schema / properties / okPenalty
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK line 41a: delinquent payment penalty (5% of line 39 minus line 19 after the original due date)"
        +}
      • addedInput schema / properties / okPropertyTaxPaid
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 538-H line 15: 2025 real estate (ad valorem) taxes paid on the homestead (no personal property taxes) — credit = amount over 1% of gross household income, max $200"
        +}
      • addedInput schema / properties / okPtrEligible
        Added value: +{
        +  "description": "Form 538-H gates attested: 65 or older OR totally disabled, head of a household (owner who maintained the home — the 538-H definition, not the filing status), domiciled in Oklahoma the entire year — enables the property tax relief credit (line 24; also needs gross household income ≤ $12,000)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / okRailroadRetirement
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK Schedule 511-A line 7: U.S. Railroad Retirement Board benefits included in federal AGI (excluded)"
        +}
      • addedInput schema / properties / okRothConversionIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Roth IRA conversion income included in federal AGI — excluded from AGI for the special 65+ exemption limits only (attach Form 8606)"
        +}
      • addedInput schema / properties / okSpecialExemptions65
        Added value: +{
        +  "description": "count of 65-or-older boxes (taxpayer/spouse, 0-2) — $1,000 each ONLY when federal AGI less Roth conversions is at or under $15,000 single / $25,000 joint / $12,500 MFS / $19,000 HOH (not listed for QSS — the composer denies it and discloses)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / okStrDisabled
        Added value: +{
        +  "description": "taxpayer or spouse has a physical disability constituting a substantial handicap to employment (proof attached) — raises the sales tax relief limit to $50,000",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / okStrEligible
        Added value: +{
        +  "description": "Form 538-S gates attested: Oklahoma resident (domiciled) the ENTIRE year, no TANF in any month, not a DOC inmate during the year after a felony conviction, not living in Oklahoma under a visa, and the return is filed by the due date — enables the sales tax relief credit (line 25)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / okStrExemptions
        Added value: +{
        +  "description": "Form 538-S Box D qualified exemptions (yourself + spouse + federally-claimed dependents who were Oklahoma residents all year; the 65+/blind boxes NEVER count) — $40 each; defaults to the shared `exemptions` count",
        +  "type": "integer"
        +}
      • addedInput schema / properties / okStrHasDependent
        Added value: +{
        +  "description": "filer can claim a dependent — raises the sales tax relief gross household income limit from $20,000 to $50,000",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / okStrIs65
        Added value: +{
        +  "description": "taxpayer or spouse 65 or older by December 31 — raises the sales tax relief limit to $50,000",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / okUnderpaymentInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK line 40: underpayment-of-estimated-tax interest from Form OW-8-P (none when the income tax liability is under $1,000; when there is also an overpayment the composer nets it against the refund per the printed instruction)"
        +}
      • addedInput schema / properties / okUsInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OK Schedule 511-A line 1: interest on U.S. government obligations included in federal AGI (not FNMA/GNMA)"
        +}
      • addedInput schema / properties / okUseTaxEstimate
        Added value: +{
        +  "description": "filer kept no records of out-of-state purchases and elects the printed Use Tax Table estimate on federal AGI for line 19 (us.ok.use_tax — the 2025 table; for a TY2026 return the estimate REFUSES until the 2026 packet publishes, pass useTax instead) — otherwise pass useTax (worksheet amount) or nothing (certify no use tax is due)",
        +  "type": "boolean"
        +}
  3. 3 tool updates
    • Changedcalculate_tax11 fields changed
      • addedInput schema / properties / state / properties / or2024TaxLiability
        Added value: +{
        +  "description": "The 2024 total Oregon personal income tax liability: 2024 OR-40 line 24 tax-before-credits MINUS the Schedule OR-ASC code 802/815 credit for taxes paid to another state (Kicker worksheet Part A — NOT line 31, which is after the exemption and other credits) — us.or.kicker pays 9.863% of it on the 2025 return. Requires the 2024 return filed before the 2025 return. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / orAgi
        Added value: +{
        +  "description": "Federal adjusted gross income (Form OR-40 line 7) — keys the federal tax subtraction Table 4 phase-out (us.or.federal_tax_subtraction) and the exemption credit cliffs (us.or.exemption_credit: $100,000 single/MFS, $200,000 others; disability exemptions $100,000 for all). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / orDependentEarnedIncome
        Added value: +{
        +  "description": "A dependent-claimed filer's earned income for Oregon's dependent standard-deduction limit (larger of $1,350 or earned + $450, capped at the Table 5 amount). Only used when isClaimedAsDependent. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / orDisabilityExemptions
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Oregon severe-disability exemption boxes (6a/6b) plus children with a qualifying disability (line 6d) — $256 each, $0 above $100,000 federal AGI for EVERY filing status (us.or.exemption_credit)."
        +}
      • addedInput schema / properties / state / properties / orFederalEic
        Added value: +{
        +  "description": "The federal earned income credit (Form 1040 line 27a) — us.or.eic pays 9% of it (12% when the youngest dependent is under 3). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / orFederalTaxLiability
        Added value: +{
        +  "description": "The Oregon federal tax liability worksheet line 10 result: 1040 line 22 minus excess-APTC repayment (floor 0), plus Schedule 2 lines 8/16/17 income taxes, minus AOC + refundable adoption + Form 8962 line 24 PTC (floor 0 — the EITC and ACTC are NOT subtracted) — us.or.federal_tax_subtraction caps it at $8,500/$4,250-MFS with the Table 4 AGI phase-out. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / orKidsQualifyingIncome
        Added value: +{
        +  "description": "Oregon Kids Credit worksheet line 4 qualifying income: OR-40 line 15 income-after-subtractions + OR-ASC code 390/391/392 (tips/overtime/vehicle-interest) addbacks + the Part B loss-and-exclusion addback (losses beyond $20,000 and all excluded foreign earned income) — us.or.kids_credit phases out $26,550-$31,550. May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / orKidsUnder6
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Dependents age 5 or younger at the end of 2025 for the Oregon Kids Credit — $1,050 each, capped at 5 children by us.or.kids_credit (refundable; MFS denied; released-exemption children do not count)."
        +}
      • addedInput schema / properties / state / properties / orRegularExemptions
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Oregon regular exemption count (OR-40 boxes 6a/6b 'regular' + line 6c dependents) — $256 each for 2025, $0 above the $100,000/$200,000 federal AGI cliff (us.or.exemption_credit)."
        +}
      • addedInput schema / properties / state / properties / orStdBoxes
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Count of Oregon standard-deduction boxes 17a-d (you/spouse turned 65 by January 1, 2026, and/or blind) — each adds $1,200 (single/HOH) or $1,000 (other statuses) (us.or.standard_deduction)."
        +}
      • addedInput schema / properties / state / properties / orYoungestUnder3
        Added value: +{
        +  "description": "The filer's youngest dependent was younger than 3 at the end of the tax year — raises the Oregon EIC percentage from 9% to 12% of the federal EITC (us.or.eic, Table 9).",
        +  "type": "boolean"
        +}
    • Changedcompute_return11 fields changed
      • addedInput schema / properties / state / properties / or2024TaxLiability
        Added value: +{
        +  "description": "The 2024 total Oregon personal income tax liability: 2024 OR-40 line 24 tax-before-credits MINUS the Schedule OR-ASC code 802/815 credit for taxes paid to another state (Kicker worksheet Part A — NOT line 31, which is after the exemption and other credits) — us.or.kicker pays 9.863% of it on the 2025 return. Requires the 2024 return filed before the 2025 return. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / orAgi
        Added value: +{
        +  "description": "Federal adjusted gross income (Form OR-40 line 7) — keys the federal tax subtraction Table 4 phase-out (us.or.federal_tax_subtraction) and the exemption credit cliffs (us.or.exemption_credit: $100,000 single/MFS, $200,000 others; disability exemptions $100,000 for all). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / orDependentEarnedIncome
        Added value: +{
        +  "description": "A dependent-claimed filer's earned income for Oregon's dependent standard-deduction limit (larger of $1,350 or earned + $450, capped at the Table 5 amount). Only used when isClaimedAsDependent. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / orDisabilityExemptions
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Oregon severe-disability exemption boxes (6a/6b) plus children with a qualifying disability (line 6d) — $256 each, $0 above $100,000 federal AGI for EVERY filing status (us.or.exemption_credit)."
        +}
      • addedInput schema / properties / state / properties / orFederalEic
        Added value: +{
        +  "description": "The federal earned income credit (Form 1040 line 27a) — us.or.eic pays 9% of it (12% when the youngest dependent is under 3). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / orFederalTaxLiability
        Added value: +{
        +  "description": "The Oregon federal tax liability worksheet line 10 result: 1040 line 22 minus excess-APTC repayment (floor 0), plus Schedule 2 lines 8/16/17 income taxes, minus AOC + refundable adoption + Form 8962 line 24 PTC (floor 0 — the EITC and ACTC are NOT subtracted) — us.or.federal_tax_subtraction caps it at $8,500/$4,250-MFS with the Table 4 AGI phase-out. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / orKidsQualifyingIncome
        Added value: +{
        +  "description": "Oregon Kids Credit worksheet line 4 qualifying income: OR-40 line 15 income-after-subtractions + OR-ASC code 390/391/392 (tips/overtime/vehicle-interest) addbacks + the Part B loss-and-exclusion addback (losses beyond $20,000 and all excluded foreign earned income) — us.or.kids_credit phases out $26,550-$31,550. May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / orKidsUnder6
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Dependents age 5 or younger at the end of 2025 for the Oregon Kids Credit — $1,050 each, capped at 5 children by us.or.kids_credit (refundable; MFS denied; released-exemption children do not count)."
        +}
      • addedInput schema / properties / state / properties / orRegularExemptions
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Oregon regular exemption count (OR-40 boxes 6a/6b 'regular' + line 6c dependents) — $256 each for 2025, $0 above the $100,000/$200,000 federal AGI cliff (us.or.exemption_credit)."
        +}
      • addedInput schema / properties / state / properties / orStdBoxes
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Count of Oregon standard-deduction boxes 17a-d (you/spouse turned 65 by January 1, 2026, and/or blind) — each adds $1,200 (single/HOH) or $1,000 (other statuses) (us.or.standard_deduction)."
        +}
      • addedInput schema / properties / state / properties / orYoungestUnder3
        Added value: +{
        +  "description": "The filer's youngest dependent was younger than 3 at the end of the tax year — raises the Oregon EIC percentage from 9% to 12% of the federal EITC (us.or.eic, Table 9).",
        +  "type": "boolean"
        +}
    • Changedcompute_state_return36 fields changed
      • changedInput schema / properties / federalAGI / description
        Previous value: -"federal Form 1040 line 11 (from compute_return, verbatim). REQUIRED for il/va/ca/ny — the composer refuses without it. NOT used by PA (class-based: pass the pa* class fields instead)."New value: +"federal Form 1040 line 11 (from compute_return, verbatim). REQUIRED for il/va/ca/ny/or — the composer refuses without it. NOT used by PA (class-based: pass the pa* class fields instead)."
      • changedInput schema / properties / jurisdiction / enum
        Previous value: -[
        -  "il",
        -  "va",
        -  "ca",
        -  "ny",
        -  "pa",
        -  "nj",
        -  "oh",
        -  "nc",
        -  "ga",
        -  "md",
        -  "mo",
        -  "wi",
        -  "mn",
        -  "sc",
        -  "al"
        -]New value: +[
        +  "il",
        +  "va",
        +  "ca",
        +  "ny",
        +  "pa",
        +  "nj",
        +  "oh",
        +  "nc",
        +  "ga",
        +  "md",
        +  "mo",
        +  "wi",
        +  "mn",
        +  "sc",
        +  "al",
        +  "or"
        +]
      • addedInput schema / properties / or2024TaxLiability
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the filer's 2024 total Oregon personal income tax liability (after the other-state credit, before all other credits/payments — 2024 OR-40 line 24 tax-before-credits MINUS the Schedule OR-ASC code 802/815 credit for taxes paid to another state, per Table 8 / Kicker worksheet Part A) — the composer computes the 9.863% kicker (us.or.kicker). Requires the 2024 return filed before the 2025 return. Prorate by 2024 Oregon-AGI share if the filing status changed (worksheet Parts B/C)."
        +}
      • addedInput schema / properties / or529Deposits
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 51: Oregon 529 deposits from Schedule OR-529 (reduce the refund)"
        +}
      • addedInput schema / properties / orAdditions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 8: Schedule OR-ASC line A5 additions (non-Oregon municipal interest, federal-state depreciation differences, 529 recapture)"
        +}
      • addedInput schema / properties / orAppliedToNextYear
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 48: refund applied to 2026 estimated tax"
        +}
      • addedInput schema / properties / orCarryforwardCredits
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 30: Schedule OR-ASC line E9 carryforward credits used this year (capped at the remaining tax by the composer)"
        +}
      • addedInput schema / properties / orCharitableCheckoffs
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 49: Schedule OR-DONATE charitable checkoffs (reduce the refund)"
        +}
      • addedInput schema / properties / orCreditRecaptures
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 22: tax recaptures from Schedule OR-ASC line C5"
        +}
      • addedInput schema / properties / orDependentEarnedIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "dependent-claimed filer's earned income — the standard deduction is limited to max($1,350, earned + $450), capped at the Table 5 amount"
        +}
      • addedInput schema / properties / orDisabilityExemptions
        Added value: +{
        +  "description": "severe-disability boxes (6a/6b) + children with a qualifying disability (6d) — $256 each, $0 cliff above $100,000 federal AGI for EVERY filing status",
        +  "type": "integer"
        +}
      • addedInput schema / properties / orExcessAptcRepayment
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "excess advance premium tax credit repayment (1040 Schedule 2 line 1a) — SUBTRACTED in the worksheet (floor 0)"
        +}
      • addedInput schema / properties / orFederal1040Line22
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "federal Form 1040 LINE 22 (tax after nonrefundable credits) — the federal tax subtraction worksheet's line 1 (from compute_return, verbatim)"
        +}
      • addedInput schema / properties / orFederalAoc
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "American Opportunity Credit (1040 line 29) — subtracted in the federal tax worksheet"
        +}
      • addedInput schema / properties / orFederalOtherIncomeTaxes
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "other INCOME taxes from Schedule 2 lines 8, 16, 17 (income-tax recaptures only — never SE tax, SS/Medicare tip tax, household employment taxes, penalties, or excise)"
        +}
      • addedInput schema / properties / orFederalPtc
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "premium tax credit from Form 8962 LINE 24 (the full allowable credit regardless of advance payments) — subtracted. NOTE: the EITC and additional child tax credit are NOT subtracted."
        +}
      • addedInput schema / properties / orFederalRefundableAdoption
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "refundable adoption credit (1040 line 30) — subtracted"
        +}
      • addedInput schema / properties / orFederalTaxLiabilityOverride
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OVERRIDE for the worksheet line 10 result (amended federal returns, foreign income tax, 1040-NR, recapture situations — Publication OR-17 worksheets); the Table 4 AGI cap still applies via the oracle"
        +}
      • addedInput schema / properties / orInstallmentInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 21: interest on installment-sale deferred tax liability (9% annual rate for 2025)"
        +}
      • addedInput schema / properties / orInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 44: interest on UNDERPAYMENT OF ESTIMATED TAX from Form OR-10 (boxes 44a/44b) — late-payment interest goes in line 43 instead"
        +}
      • addedInput schema / properties / orItemizedDeductions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Schedule OR-A line 23 OREGON itemized deductions (Oregon's own computation — never the federal Schedule A total). The composer takes the larger of this and the standard deduction."
        +}
      • addedInput schema / properties / orKickerDonate
        Added value: +{
        +  "description": "filer elects to donate the ENTIRE kicker to the State School Fund (irrevocable after the due date) — line 32 becomes $0 and box 55 is checked",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / orKidsLossAddback
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Kids Credit worksheet Part B: federal losses + OR-ASC loss-subtraction codes beyond the $20,000 allowance, plus ALL excluded foreign earned income — added back to qualifying income"
        +}
      • addedInput schema / properties / orKidsObbbaAddback
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Kids Credit worksheet line 2: tips/overtime/vehicle-interest subtractions claimed (OR-ASC codes 390/391/392) — ADDED BACK to qualifying income"
        +}
      • addedInput schema / properties / orKidsUnder6
        Added value: +{
        +  "description": "dependents age 5 or younger at the end of 2025 (max 5 count) — $1,050 each Oregon Kids Credit (us.or.kids_credit, refundable, MFS denied). A child claimed only via a RELEASED dependent exemption does not count.",
        +  "type": "integer"
        +}
      • addedInput schema / properties / orPenalty
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 43: penalty AND interest for filing or paying late (one combined printed line — 5% late-pay penalty, +20% over 3 months late, 100% for 3 consecutive unfiled years, plus the late-payment interest)"
        +}
      • addedInput schema / properties / orPoliticalContributions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "2025 cash contributions to qualified Oregon political parties/candidates/PACs — the composer caps at $50 ($100 joint) and denies above $75,000/$150,000 federal AGI"
        +}
      • addedInput schema / properties / orPoliticalPartyCheckoff
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 50: political party $3 checkoff from the refund"
        +}
      • addedInput schema / properties / orPtePayments
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 36: estimated payments from Schedule OR-K-1 line 20 (PTE owner payments via Form OR-19)"
        +}
      • addedInput schema / properties / orRegularExemptions
        Added value: +{
        +  "description": "regular exemption count: 'yourself' + 'spouse' credit boxes (6a/6b) + dependents (6c) — $256 each, $0 cliff above $100,000 federal AGI (single/MFS) or $200,000 (others)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / orSpouseItemizes
        Added value: +{
        +  "description": "MFS only: the other spouse itemizes — the Oregon standard deduction becomes $0",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / orStateRefund
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 12: OREGON state income tax refund from federal Schedule 1 line 1 (never other states' or local refunds)"
        +}
      • addedInput schema / properties / orStdBoxes
        Added value: +{
        +  "description": "OR-40 boxes 17a-d: count of 65-or-older (born before January 2, 1961... turned 65 by January 1, 2026) and blind boxes for you/spouse — each adds $1,200 (single/HOH) or $1,000 (other statuses) to the standard deduction",
        +  "type": "integer"
        +}
      • addedInput schema / properties / orSubtractions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 13: Schedule OR-ASC line B7 subtractions — including the OBBBA-conforming tips/overtime/passenger-vehicle-interest deductions (codes 390/391/392: Oregon lets you claim the same amounts as federal), US government interest, the federal pension percentage subtraction, OR-HOME first-time home buyer savings, tier 2 Railroad Retirement. Do NOT include Social Security (automatic via taxableSocialSecurity)."
        +}
      • addedInput schema / properties / orTaxMethodOverride
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OR-40 line 20 alternate-method tax: farm income averaging (OR-FIA-40, box 20a), farm capital gain (Worksheet FCG, box 20b), or the IRREVOCABLE Oregon PTE reduced rate (OR-PTE-FY, box 20c) — agent-computed; wins over the table/chart tax"
        +}
      • addedInput schema / properties / orYoungestUnder3
        Added value: +{
        +  "description": "the youngest dependent was younger than 3 at year end — raises the Oregon EIC from 9% to 12% of the federal EITC (us.or.eic)",
        +  "type": "boolean"
        +}
  4. 3 tool updates
    • Changedcalculate_tax7 fields changed
      • addedInput schema / properties / state / properties / alAgi
        Added value: +{
        +  "description": "Alabama adjusted gross income (Form 40 line 10) — keys the AGI-phased standard deduction chart (us.al.standard_deduction) and the dependent exemption tiers (us.al.dependent_exemption: $1,000 to $50,000, $500 to $100,000, $300 above). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / alDependents
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Alabama dependent count (Form 40 line 14 / Schedule DS) under Alabama's OWN relationship-and-support definition (§ 40-18-19 list + over-50% support; NOT federal § 152) — us.al.dependent_exemption pays $1,000/$500/$300 each by Alabama AGI."
        +}
      • addedInput schema / properties / state / properties / alFederalRefundableCredits
        Added value: +{
        +  "description": "The Alabama line 12 worksheet's refundable-credit subtraction: federal EIC (1040 line 27a) + Additional CTC (line 28) + American Opportunity Credit (line 29) + refundable adoption credit (line 30) + Form 2439 credits (Schedule 3 Part II line 13a). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / alFederalTaxPlusNiit
        Added value: +{
        +  "description": "Federal Form 1040 LINE 22 tax PLUS Form 8960 line 17 Net Investment Income Tax — the gross federal tax for Alabama's unlimited federal income tax deduction worksheet (us.al.federal_tax_deduction). NEVER the W-2 federal withholding. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / alIs65
        Added value: +{
        +  "description": "The person whose Alabama retirement exclusion is being computed was 65 or older — gates the $6,000 Schedule RS exclusion (us.al.retirement_exclusion). Still $6,000 for TY2026 (HB388's $12,000 increase DIED May 2025).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / alOvertimePremium
        Added value: +{
        +  "description": "One taxpayer's overtime PREMIUM (the amount above the base rate — W-2 Box 12 code TT) for the TY2026-2028 Alabama overtime premium deduction (us.al.overtime_premium_deduction, Act 2026-604, capped $1,000 per taxpayer). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / alTaxableRetirement
        Added value: +{
        +  "description": "One person's OTHERWISE-TAXABLE Alabama retirement income (IRA/401(k)/SEP/Keogh/403(b) distributions after basis recovery — defined-benefit pensions, Social Security, military, and US/AL government retirement are fully exempt and never enter) for the Schedule RS 65+ exclusion (us.al.retirement_exclusion, up to $6,000). Per person. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_return7 fields changed
      • addedInput schema / properties / state / properties / alAgi
        Added value: +{
        +  "description": "Alabama adjusted gross income (Form 40 line 10) — keys the AGI-phased standard deduction chart (us.al.standard_deduction) and the dependent exemption tiers (us.al.dependent_exemption: $1,000 to $50,000, $500 to $100,000, $300 above). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / alDependents
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Alabama dependent count (Form 40 line 14 / Schedule DS) under Alabama's OWN relationship-and-support definition (§ 40-18-19 list + over-50% support; NOT federal § 152) — us.al.dependent_exemption pays $1,000/$500/$300 each by Alabama AGI."
        +}
      • addedInput schema / properties / state / properties / alFederalRefundableCredits
        Added value: +{
        +  "description": "The Alabama line 12 worksheet's refundable-credit subtraction: federal EIC (1040 line 27a) + Additional CTC (line 28) + American Opportunity Credit (line 29) + refundable adoption credit (line 30) + Form 2439 credits (Schedule 3 Part II line 13a). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / alFederalTaxPlusNiit
        Added value: +{
        +  "description": "Federal Form 1040 LINE 22 tax PLUS Form 8960 line 17 Net Investment Income Tax — the gross federal tax for Alabama's unlimited federal income tax deduction worksheet (us.al.federal_tax_deduction). NEVER the W-2 federal withholding. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / alIs65
        Added value: +{
        +  "description": "The person whose Alabama retirement exclusion is being computed was 65 or older — gates the $6,000 Schedule RS exclusion (us.al.retirement_exclusion). Still $6,000 for TY2026 (HB388's $12,000 increase DIED May 2025).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / alOvertimePremium
        Added value: +{
        +  "description": "One taxpayer's overtime PREMIUM (the amount above the base rate — W-2 Box 12 code TT) for the TY2026-2028 Alabama overtime premium deduction (us.al.overtime_premium_deduction, Act 2026-604, capped $1,000 per taxpayer). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / alTaxableRetirement
        Added value: +{
        +  "description": "One person's OTHERWISE-TAXABLE Alabama retirement income (IRA/401(k)/SEP/Keogh/403(b) distributions after basis recovery — defined-benefit pensions, Social Security, military, and US/AL government retirement are fully exempt and never enter) for the Schedule RS 65+ exclusion (us.al.retirement_exclusion, up to $6,000). Per person. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_state_return20 fields changed
      • addedInput schema / properties / alAdjustments
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 40 line 9 / Part II total (per-spouse IRA deduction, Keogh/SEP, early-withdrawal penalty, alimony paid, adoption expenses, MOVING EXPENSES (Alabama kept them), SE health insurance, College Counts 529/PACT, small-employer health premiums, wind/flood retrofit, catastrophe savings, HSA, First/Second-Chance Home Buyer, firefighter insurance, ABLE)"
        +}
      • addedInput schema / properties / alAppliedToNextYear
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 40 line 33: overpayment applied to 2026 estimated tax"
        +}
      • addedInput schema / properties / alAtpOtherTaxes
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Schedule ATP Part I taxes OTHER than the use tax (which uses the shared useTax input): catastrophe-savings recapture (+2.5%), etc."
        +}
      • addedInput schema / properties / alCampaignCheckoff
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 40 line 20: $1/$2 Alabama Democratic/Republican party checkoffs — these ADD to the tax due (not fund-neutral like the federal checkoff)"
        +}
      • addedInput schema / properties / alDependents
        Added value: +{
        +  "description": "Form 40 line 14 dependent count — Alabama's OWN relationship list (§ 40-18-19: child/stepchild/parent/grandparent/sibling/in-laws/blood uncle-aunt-nephew-niece with over-50% support; NOT federal § 152) — $1,000/$500/$300 each by AL AGI (us.al.dependent_exemption); falls back to the shared dependents input",
        +  "type": "integer"
        +}
      • addedInput schema / properties / alDonations
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 40 line 34: Schedule DC donation check-offs total (reduces the refund)"
        +}
      • addedInput schema / properties / alFederalRefundableCredits
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the line 12 worksheet's refundable-credit subtraction: 1040 line 27a EIC + line 28 ACTC + line 29 AOC + line 30 refundable adoption + Schedule 3 Part II line 13a Form 2439 credits"
        +}
      • addedInput schema / properties / alFederalTaxDeductionOverride
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OVERRIDE for Form 40 line 12: the RATIOED federal tax for joint-federal/separate-Alabama returns (by each spouse's FAGI share) or part-year residents (AL-AGI/FAGI ratio) — wins over the composer's oracle computation"
        +}
      • addedInput schema / properties / alFederalTaxPlusNiit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "federal Form 1040 LINE 22 tax PLUS Form 8960 line 17 NIIT — the line 12 worksheet's gross federal tax (from compute_return, verbatim; NEVER the W-2 federal withholding)"
        +}
      • addedInput schema / properties / alInterestDividends
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 40 line 6: interest and dividend income (Schedule B attached if over $1,500)"
        +}
      • addedInput schema / properties / alIs65Spouse
        Added value: +{
        +  "description": "spouse was 65 or older — enables their own $6,000 exclusion",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / alIs65You
        Added value: +{
        +  "description": "primary taxpayer was 65 or older — enables their $6,000 retirement exclusion (NOTE: still $6,000 for 2026; the reported $12,000 increase was HB388, which died May 2025)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / alItemizedDeductions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Alabama Schedule A total — differs from federal: FICA/Medicare/SE taxes ARE deductible, medical floor is 4% of AGI, NO federal income tax here (it's line 12), NEW 2025 vehicle-loan interest ≤$10,000 phased out $200 per $1,000 ceil-step of AGI over $100,000/$200,000-MFJ. The composer takes the larger of this or the AGI-phased standard deduction."
        +}
      • addedInput schema / properties / alOtherIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 40 Part I lines 1-3 and 5-7 total EXCLUDING retirement (alimony received, business income/loss, gains — the 1/1/2025+ precious-metal-bullion gain is EXEMPT, rents/royalties/partnerships, farm; negative allowed). Retirement goes in the alTaxableRetirement* fields for the Schedule RS exclusion."
        +}
      • addedInput schema / properties / alPenalties
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 40 line 31: Schedule ATP Part II penalties (estimated-tax penalty Form 2210AL etc.) — added to an amount owed, or SUBTRACTED from the refund per the printed line 35 formula"
        +}
      • addedInput schema / properties / alScheduleCpPayments
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 40 line 26: payments from Schedule CP, Section B line 1 (composite payments)"
        +}
      • addedInput schema / properties / alTaxableRetirementSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "spouse's otherwise-taxable retirement income (Schedule RS Part III)"
        +}
      • addedInput schema / properties / alTaxableRetirementYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "primary taxpayer's OTHERWISE-TAXABLE retirement income (IRA/401(k)/SEP/Keogh/403(b) distributions after basis recovery) — defined-BENEFIT pensions, Social Security, Railroad Retirement, military, and US/AL government retirement are 100% EXEMPT and never entered. The composer applies the 65+ $6,000 Schedule RS exclusion (us.al.retirement_exclusion)."
        +}
      • addedInput schema / properties / alWages
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 40 line 5b: W-2 BOX 16 state wages from ALL states (Schedule W-2 col I+J; Alabama state wages often EXCEED federal Box 1 — deferrals are AL-taxable). Overtime earned Jan 1-Jun 30, 2025 is exempt and already EXCLUDED from Box 16 (W-2 Box 14 'EX OT WAGES'). Falls back to the shared wages input."
        +}
      • changedInput schema / properties / jurisdiction / enum
        Previous value: -[
        -  "il",
        -  "va",
        -  "ca",
        -  "ny",
        -  "pa",
        -  "nj",
        -  "oh",
        -  "nc",
        -  "ga",
        -  "md",
        -  "mo",
        -  "wi",
        -  "mn",
        -  "sc"
        -]New value: +[
        +  "il",
        +  "va",
        +  "ca",
        +  "ny",
        +  "pa",
        +  "nj",
        +  "oh",
        +  "nc",
        +  "ga",
        +  "md",
        +  "mo",
        +  "wi",
        +  "mn",
        +  "sc",
        +  "al"
        +]
  5. 3 tool updates
    • Changedcalculate_tax9 fields changed
      • addedInput schema / properties / state / properties / scAgi
        Added value: +{
        +  "description": "Federal adjusted gross income for the TY2026 South Carolina Income Adjusted Deduction phase-out (us.sc.income_adjusted_deduction: reduced by deduction x excess-over-$40,000/$60,000/$80,000 divided by $55,000/$82,500/$110,000, the reduction floored to $10s; H.4216). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / scCareChildren
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Count of qualifying children/dependents for the South Carolina Child and Dependent Care Credit — 2 or more raises the us.sc.cdcc cap from $210 to $420."
        +}
      • addedInput schema / properties / state / properties / scCareExpenses
        Added value: +{
        +  "description": "Federal Form 2441 child and dependent care EXPENSES (the expense amount, not the federal credit) — us.sc.cdcc pays 7% of it, capped $210/$420 (denied to married filing separately). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / scDependents
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "South Carolina dependent count for the exemption being computed (us.sc.dependent_exemption, $4,930 each for 2025): pass the FULL federal dependent count for the SC1040 line w exemption, or the under-age-6 count for the additional line t deduction (evaluate the target once per line)."
        +}
      • addedInput schema / properties / state / properties / scIs65
        Added value: +{
        +  "description": "The person whose South Carolina retirement deduction is being computed was 65 or older by December 31 — raises the us.sc.retirement_deduction cap from $3,000 to $10,000 (and gates the separate $15,000 age-65 deduction).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / scLowerQualifiedEarnedIncome
        Added value: +{
        +  "description": "The LESSER-earning spouse's South Carolina qualified earned income per the Two Wage Earner Credit worksheet (SC earned income minus the federal adjustments attributable to it) — us.sc.two_wage_earner_credit pays 0.7% of it capped at $50,000 (max $350; married filing jointly only). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / scMilitaryRetirementDeduction
        Added value: +{
        +  "description": "The SAME person's military retirement deduction (SC1040 line p-4/p-5, 100% since TY2022) — the printed worksheet REDUCES the us.sc.retirement_deduction CAP ($3,000/$10,000) by this amount before limiting to qualified retirement income (instructions Example 5). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / scQualifiedRetirementIncome
        Added value: +{
        +  "description": "One person's qualified retirement income for the South Carolina retirement deduction (401(k)/403(b)/457, IRA, Keogh — EXCLUDING military retirement, which is 100% deducted separately and reduces this deduction) — us.sc.retirement_deduction caps it at $3,000 (under 65) / $10,000 (65+). Per person; evaluate each spouse separately. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / scRetirementDeductionsClaimed
        Added value: +{
        +  "description": "The SAME person's South Carolina retirement deduction (line p-1/p-2) PLUS military retirement deduction (line p-4/p-5) already claimed — us.sc.age65_deduction reduces the $15,000 age-65 deduction by this amount per the printed worksheet. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_return9 fields changed
      • addedInput schema / properties / state / properties / scAgi
        Added value: +{
        +  "description": "Federal adjusted gross income for the TY2026 South Carolina Income Adjusted Deduction phase-out (us.sc.income_adjusted_deduction: reduced by deduction x excess-over-$40,000/$60,000/$80,000 divided by $55,000/$82,500/$110,000, the reduction floored to $10s; H.4216). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / scCareChildren
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Count of qualifying children/dependents for the South Carolina Child and Dependent Care Credit — 2 or more raises the us.sc.cdcc cap from $210 to $420."
        +}
      • addedInput schema / properties / state / properties / scCareExpenses
        Added value: +{
        +  "description": "Federal Form 2441 child and dependent care EXPENSES (the expense amount, not the federal credit) — us.sc.cdcc pays 7% of it, capped $210/$420 (denied to married filing separately). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / scDependents
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "South Carolina dependent count for the exemption being computed (us.sc.dependent_exemption, $4,930 each for 2025): pass the FULL federal dependent count for the SC1040 line w exemption, or the under-age-6 count for the additional line t deduction (evaluate the target once per line)."
        +}
      • addedInput schema / properties / state / properties / scIs65
        Added value: +{
        +  "description": "The person whose South Carolina retirement deduction is being computed was 65 or older by December 31 — raises the us.sc.retirement_deduction cap from $3,000 to $10,000 (and gates the separate $15,000 age-65 deduction).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / scLowerQualifiedEarnedIncome
        Added value: +{
        +  "description": "The LESSER-earning spouse's South Carolina qualified earned income per the Two Wage Earner Credit worksheet (SC earned income minus the federal adjustments attributable to it) — us.sc.two_wage_earner_credit pays 0.7% of it capped at $50,000 (max $350; married filing jointly only). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / scMilitaryRetirementDeduction
        Added value: +{
        +  "description": "The SAME person's military retirement deduction (SC1040 line p-4/p-5, 100% since TY2022) — the printed worksheet REDUCES the us.sc.retirement_deduction CAP ($3,000/$10,000) by this amount before limiting to qualified retirement income (instructions Example 5). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / scQualifiedRetirementIncome
        Added value: +{
        +  "description": "One person's qualified retirement income for the South Carolina retirement deduction (401(k)/403(b)/457, IRA, Keogh — EXCLUDING military retirement, which is 100% deducted separately and reduces this deduction) — us.sc.retirement_deduction caps it at $3,000 (under 65) / $10,000 (65+). Per person; evaluate each spouse separately. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / scRetirementDeductionsClaimed
        Added value: +{
        +  "description": "The SAME person's South Carolina retirement deduction (line p-1/p-2) PLUS military retirement deduction (line p-4/p-5) already claimed — us.sc.age65_deduction reduces the $15,000 age-65 deduction by this amount per the printed worksheet. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_state_return28 fields changed
      • changedInput schema / properties / jurisdiction / enum
        Previous value: -[
        -  "il",
        -  "va",
        -  "ca",
        -  "ny",
        -  "pa",
        -  "nj",
        -  "oh",
        -  "nc",
        -  "ga",
        -  "md",
        -  "mo",
        -  "wi",
        -  "mn"
        -]New value: +[
        +  "il",
        +  "va",
        +  "ca",
        +  "ny",
        +  "pa",
        +  "nj",
        +  "oh",
        +  "nc",
        +  "ga",
        +  "md",
        +  "mo",
        +  "wi",
        +  "mn",
        +  "sc"
        +]
      • addedInput schema / properties / scActiveTradeTax
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "SC1040 line 8: I-335 flat 3% tax on active trade or business income (agent-computed; the electing income must also appear in scSubtractionsOther as the line l subtraction)"
        +}
      • addedInput schema / properties / scAdditions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "SC1040 line 2 total additions (lines a-e: the state income/sales tax deducted in federal itemized deductions MUST be added back on line a; out-of-state rental/business losses; non-SC municipal bond interest; expenses on reserve/subsistence income). CRITICAL for TY2025: SC REJECTED OBBBA conformity (IRC conformity frozen at December 31, 2024) — line e must ADD BACK every OBBBA deduction in federal taxable income (tips exclusion, overtime premium, the $6,000 senior deduction, car-loan interest, OBBBA business items)."
        +}
      • addedInput schema / properties / scAppliedToNextYear
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "SC1040 line 27: amount of the line 24 overpayment credited to 2026 estimated tax"
        +}
      • addedInput schema / properties / scCareChildren
        Added value: +{
        +  "description": "count of qualifying care children/dependents — 2+ raises the SC CDCC cap from $210 to $420",
        +  "type": "integer"
        +}
      • addedInput schema / properties / scCareExpenses
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "federal Form 2441 child/dependent care EXPENSES (not the credit) — SC line 11 pays 7%, max $210/$420 (us.sc.cdcc); DENIED to married filing separately"
        +}
      • addedInput schema / properties / scCatastropheTax
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "SC1040 line 9: tax on excess Catastrophe Savings Account withdrawals"
        +}
      • addedInput schema / properties / scConsumerProtection
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "SC line u: identity-theft/consumer protection services purchased after a security breach notification — the composer caps at $300 (individual) / $1,000 (joint or with dependents)"
        +}
      • addedInput schema / properties / scContributions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "SC1040 line 28: check-off contributions total (I-330 attached; reduces the refund)"
        +}
      • addedInput schema / properties / scDependents
        Added value: +{
        +  "description": "SC line w dependent count (must equal the federal return's) — $4,930 each for 2025 (us.sc.dependent_exemption); falls back to the shared dependents input",
        +  "type": "integer"
        +}
      • addedInput schema / properties / scDependentsUnder6
        Added value: +{
        +  "description": "SC line t: dependents under age 6 on December 31 — the SAME $4,930 again each (on top of their line w exemption)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / scFederalTaxableIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "REQUIRED for SC: federal Form 1040 line 15 TAXABLE income (from compute_return, verbatim) — the SC1040 line 1 starting point (NOT federal AGI). A NEGATIVE amount is allowed: the composer enters $0 on line 1 and preserves the loss on subtraction line r per the printed instructions."
        +}
      • addedInput schema / properties / scI290Payments
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "SC1040 line 19: nonresident real estate withholding paid on Form I-290"
        +}
      • addedInput schema / properties / scIs65Spouse
        Added value: +{
        +  "description": "spouse was 65 or older by December 31 (lines p-2/q-2)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / scIs65You
        Added value: +{
        +  "description": "primary taxpayer was 65 or older by December 31 — raises the retirement cap to $10,000 and enables the $15,000 age-65 deduction (line q-1, reduced by the retirement + military deductions claimed)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / scLatePenalties
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "SC1040 line 32: late filing/late payment penalties and interest"
        +}
      • addedInput schema / properties / scLowerQualifiedEarnedIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the LESSER-earning spouse's SC qualified earned income per the Two Wage Earner worksheet (earned income minus attributable federal adjustments) — line 12 credit = 0.7% capped at $50,000 base / $350 credit; MFJ only (us.sc.two_wage_earner_credit)"
        +}
      • addedInput schema / properties / scLumpSumTax
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "SC1040 line 7: tax on lump-sum distribution (SC4972, agent-computed, attached)"
        +}
      • addedInput schema / properties / scMilitaryRetirementSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "spouse's military retirement income (line p-5)"
        +}
      • addedInput schema / properties / scMilitaryRetirementYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "primary taxpayer's military retirement income — 100% deductible since TY2022 (line p-4); per the printed worksheet it REDUCES the same person's retirement-deduction CAP and age-65 deduction (instructions Example 5: $16,000 military at 65+ leaves $0 on lines p-1 and q-1) — the composer handles the interplay"
        +}
      • addedInput schema / properties / scNetLtcgAfterLosses
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "net LONG-TERM capital gain held over one year, AFTER netting ALL capital losses (short-term included — the printed example nets an ST loss against the LT gain first) — the composer takes the 44% deduction (line i)"
        +}
      • addedInput schema / properties / scOtherWithholding
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "SC1040 line 20: other SC withholding from 1099s (W-2 amounts go in the shared stateWithholding for line 16)"
        +}
      • addedInput schema / properties / scRetirementIncomeSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "spouse's qualified retirement income for line p-2 (each spouse's own cap; joint returns)"
        +}
      • addedInput schema / properties / scRetirementIncomeYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "primary taxpayer's qualified retirement income (401(k)/403(b)/457, IRA, Keogh — EXCLUDING military retirement, which goes in scMilitaryRetirementYou) — the composer caps at $3,000 under 65 / $10,000 at 65+ (line p-1; us.sc.retirement_deduction)"
        +}
      • addedInput schema / properties / scSubsistenceDays
        Added value: +{
        +  "description": "SC line s: days as a full-time federal/state/local law enforcement officer, firefighter, or EMS worker — $16/day subsistence allowance",
        +  "type": "integer"
        +}
      • addedInput schema / properties / scSubtractionsOther
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "SC subtraction lines f/g/h/j/k/l/m/n/v total (state tax refund, total-and-permanent disability retirement, out-of-state non-personal-service income, volunteer firefighter/EMS/police $6,000 (2025), Future Scholar 529 (unlimited), ACTIVE TRADE OR BUSINESS income electing the I-335 3% flat tax (line l — must pair with scActiveTradeTax), US government interest, nontaxable Guard/Reserve pay, other) — EXCLUDING the composer-computed lines i/o/p/q/r/s/t/u/w"
        +}
      • addedInput schema / properties / scTuitionCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "SC1040 line 21: REFUNDABLE tuition tax credit (Form I-319: 50% of qualifying SC-institution tuition within the form's limits — agent-computed with disclosure, form attached)"
        +}
      • addedInput schema / properties / scUnderpaymentPenalty
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "SC1040 line 33: underpayment of estimated tax penalty (SC2210 attached)"
        +}
  6. 3 tool updates
    • Changedcalculate_tax7 fields changed
      • changedInput schema / properties / state / description
        Previous value: -"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md/us.mo/us.wi income_tax; parameters via lookup_tax_parameter)"New value: +"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md/us.mo/us.wi/us.mn income_tax; parameters via lookup_tax_parameter)"
      • addedInput schema / properties / state / properties / mnAgi
        Added value: +{
        +  "description": "Federal adjusted gross income (Minnesota Form M1 line 1) — keys the standard-deduction limitation (us.mn.standard_deduction: 3%/10% reduction over $238,950, 80% floor), the dependent-exemption phase-out (us.mn.exemptions), and the Social Security subtraction thresholds (us.mn.social_security_subtraction). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mnDependentEarnedIncome
        Added value: +{
        +  "description": "A dependent-claimed filer's earned income for the Minnesota dependent standard-deduction worksheet (deduction = lesser of the table amount or max($1,250, earned + $350)). Only used when isClaimedAsDependent. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mnDependents
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Number of dependents claimed on Minnesota Schedule M1DQC — $5,200 each for 2025 (us.mn.exemptions, phased 2% per $2,500 ceil-step of AGI over the filing-status threshold)."
        +}
      • addedInput schema / properties / state / properties / mnNetInvestmentIncome
        Added value: +{
        +  "description": "Minnesota net investment income per Schedule NIIT (the federal Form 8960 concept minus class 2a agricultural-land gains) — us.mn.niit charges 1% of the amount over $1,000,000 (TY2024+, Minn. Stat. § 290.033). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mnStdBoxes
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Count of Minnesota standard-deduction boxes checked (you/spouse 65-or-older — born before January 2, 1961 — and/or blind): each adds $2,000 (single/HOH) or $1,550 (MFJ/QSS/MFS) to the 2025 base (us.mn.standard_deduction)."
        +}
      • addedInput schema / properties / state / properties / mnTaxableSs
        Added value: +{
        +  "description": "Federally taxable Social Security benefits (Form 1040 line 6b) for the Minnesota Social Security subtraction (us.mn.social_security_subtraction — simplified method; compute the M1M alternative method separately and take the greater when AGI exceeds the full-subtraction threshold). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_return7 fields changed
      • changedInput schema / properties / state / description
        Previous value: -"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md/us.mo/us.wi income_tax; parameters via lookup_tax_parameter)"New value: +"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md/us.mo/us.wi/us.mn income_tax; parameters via lookup_tax_parameter)"
      • addedInput schema / properties / state / properties / mnAgi
        Added value: +{
        +  "description": "Federal adjusted gross income (Minnesota Form M1 line 1) — keys the standard-deduction limitation (us.mn.standard_deduction: 3%/10% reduction over $238,950, 80% floor), the dependent-exemption phase-out (us.mn.exemptions), and the Social Security subtraction thresholds (us.mn.social_security_subtraction). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mnDependentEarnedIncome
        Added value: +{
        +  "description": "A dependent-claimed filer's earned income for the Minnesota dependent standard-deduction worksheet (deduction = lesser of the table amount or max($1,250, earned + $350)). Only used when isClaimedAsDependent. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mnDependents
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Number of dependents claimed on Minnesota Schedule M1DQC — $5,200 each for 2025 (us.mn.exemptions, phased 2% per $2,500 ceil-step of AGI over the filing-status threshold)."
        +}
      • addedInput schema / properties / state / properties / mnNetInvestmentIncome
        Added value: +{
        +  "description": "Minnesota net investment income per Schedule NIIT (the federal Form 8960 concept minus class 2a agricultural-land gains) — us.mn.niit charges 1% of the amount over $1,000,000 (TY2024+, Minn. Stat. § 290.033). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mnStdBoxes
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Count of Minnesota standard-deduction boxes checked (you/spouse 65-or-older — born before January 2, 1961 — and/or blind): each adds $2,000 (single/HOH) or $1,550 (MFJ/QSS/MFS) to the 2025 base (us.mn.standard_deduction)."
        +}
      • addedInput schema / properties / state / properties / mnTaxableSs
        Added value: +{
        +  "description": "Federally taxable Social Security benefits (Form 1040 line 6b) for the Minnesota Social Security subtraction (us.mn.social_security_subtraction — simplified method; compute the M1M alternative method separately and take the greater when AGI exceeds the full-subtraction threshold). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_state_return19 fields changed
      • changedInput schema / properties / jurisdiction / enum
        Previous value: -[
        -  "il",
        -  "va",
        -  "ca",
        -  "ny",
        -  "pa",
        -  "nj",
        -  "oh",
        -  "nc",
        -  "ga",
        -  "md",
        -  "mo",
        -  "wi"
        -]New value: +[
        +  "il",
        +  "va",
        +  "ca",
        +  "ny",
        +  "pa",
        +  "nj",
        +  "oh",
        +  "nc",
        +  "ga",
        +  "md",
        +  "mo",
        +  "wi",
        +  "mn"
        +]
      • addedInput schema / properties / mnAdditions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "M1 line 2: Schedule M1M line 10 + M1MB line 9 additions (non-MN municipal bond interest, federal bonus-depreciation/§ 179 addbacks, positive M1NC adjustments — Minnesota's IRC is frozen at May 1, 2023, so 2025 OBBBA items convert on Schedule M1NC)"
        +}
      • addedInput schema / properties / mnAdvanceCtcRepayment
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "M1 line 14b: repayment of 2025 ADVANCE Child Tax Credit payments elected on the 2024 return (reconciliation, NEW for 2025)"
        +}
      • addedInput schema / properties / mnAmt
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "M1 line 11: Schedule M1MT alternative minimum tax (6.75% broadened base, agent-computed — REQUIRED whenever AMT preference items exist; disclose)"
        +}
      • addedInput schema / properties / mnAppliedToNextYear
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "M1 line 30: refund applied to 2026 estimated tax"
        +}
      • addedInput schema / properties / mnDependentEarnedIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "dependent-claimed filer's earned income for the dependent standard-deduction worksheet (lesser of the table amount or max($1,250, earned + $350))"
        +}
      • addedInput schema / properties / mnDependents
        Added value: +{
        +  "description": "dependents on Schedule M1DQC — $5,200 each (2025), phased 2% per $2,500 ceil-step of AGI over $358,550 MFJ/QSS, $239,050 single, $298,800 HOH, $179,275 MFS (gone once the excess passes $122,500/$61,250-MFS); $0 for dependent-claimed filers",
        +  "type": "integer"
        +}
      • addedInput schema / properties / mnItemized
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Schedule M1SA Minnesota itemized deductions AFTER M1SA's own 3%/10%/80% limitation — the composer takes the larger of this or the computed standard deduction (MFS: standard barred when the spouse itemizes; pass mnMfsSpouseItemizes)"
        +}
      • addedInput schema / properties / mnMfsSpouseItemizes
        Added value: +{
        +  "description": "MFS only: the other spouse claims Minnesota itemized deductions — bars the standard deduction (the composer then requires mnItemized)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / mnNetInvestmentIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Schedule NIIT Minnesota net investment income (federal 8960 concept minus class 2a agricultural-land gains) — the composer evaluates us.mn.niit (1% over $1,000,000) into line 14a"
        +}
      • addedInput schema / properties / mnOtherTaxes14a
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "M1 line 14a: M1HOME/M1529 recapture, M1LS lump-sum tax, and the Schedule NIIT amount if computed outside the composer"
        +}
      • addedInput schema / properties / mnPenaltyInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "M1 line 28: late-filing/late-payment penalty and interest (agent-computed per the instructions)"
        +}
      • addedInput schema / properties / mnRrTier1Offset
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Tier 1 Railroad Retirement benefits already subtracted on M1M line 17 — the SS worksheet (steps 25-29) reduces the simplified-method subtraction by this amount (no double subtraction)"
        +}
      • addedInput schema / properties / mnSsAlternativeMethod
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the M1M Worksheet ALTERNATIVE-method Social Security subtraction (steps 9-28, agent-computed, NET of the Tier 1 RR offset) — the composer takes the GREATER of this and the oracle simplified method when AGI exceeds the full-subtraction threshold (2025 alternative maxes: $5,840 MFJ/QSS, $4,560 single/HOH, $2,920 MFS)"
        +}
      • addedInput schema / properties / mnStateRefund
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "M1 line 6: state income tax refund from federal Schedule 1 line 1 (its own subtraction line)"
        +}
      • addedInput schema / properties / mnStdBoxes
        Added value: +{
        +  "description": "65-or-older (born before January 2, 1961) and blind boxes for you/spouse — each adds $2,000 (single/HOH) or $1,550 (married statuses) to the standard deduction",
        +  "type": "integer"
        +}
      • addedInput schema / properties / mnSubtractions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "M1 line 7 subtractions (M1M line 40 + M1MB line 22) EXCLUDING the composer-computed Social Security subtraction: U.S. government interest, K-12 education expenses, charitable over $500 for non-itemizers (50% of the excess), bonus-depreciation recovery, M1R age-65+/disabled, M1QPEN public pension, military items, the new 2025 items (coerced debt, consumer enforcement, foreign service, SEIU stipends)"
        +}
      • addedInput schema / properties / mnUnderpaymentPenalty
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "M1 line 27: Schedule M15 underpayment penalty"
        +}
      • addedInput schema / properties / mnWildlifeContribution
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "M1 line 18: Nongame Wildlife Fund contribution (reduces the refund)"
        +}
  7. 3 tool updates
    • Changedcalculate_tax10 fields changed
      • changedInput schema / properties / state / description
        Previous value: -"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md/us.mo income_tax; parameters via lookup_tax_parameter)"New value: +"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md/us.mo/us.wi income_tax; parameters via lookup_tax_parameter)"
      • addedInput schema / properties / state / properties / wiBothSpouses67
        Added value: +{
        +  "description": "BOTH spouses on a joint Wisconsin return were at least 67 on December 31 — raises the Act 15 retirement subtraction cap from $24,000 to $48,000 regardless of which spouse received the income.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / wiFederalEicForWi
        Added value: +{
        +  "description": "The federal earned income credit AS COMPUTED UNDER WISCONSIN'S IRC (Schedule I Part III recomputation when Part I adjustments exist; otherwise Form 1040 line 27) — the us.wi.eic base. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / wiIncome
        Added value: +{
        +  "description": "Wisconsin income (Form 1 line 7 = federal AGI as adjusted by Schedule I, plus Schedule AD additions, minus Schedule SB subtractions) — drives the sliding standard deduction (us.wi.standard_deduction). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / wiLowerQualifiedEarnedIncome
        Added value: +{
        +  "description": "The LESSER-earning spouse's qualified earned income from Form 1 Schedule 2 line 5 (earned income minus the listed federal Schedule 1 adjustments and any Wisconsin disability exclusion) — us.wi.married_couple_credit takes 3% up to $480. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / wiPropertyTaxesPaid
        Added value: +{
        +  "description": "2025 property taxes paid on the principal Wisconsin residence (Form 1 line 16b) — credited at 12% via the printed table; the combined 16a+16b credit caps at $300 ($150 MFS). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / wiQualifyingChildren
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Number of federal-EIC qualifying children for the Wisconsin earned income credit (us.wi.eic: 1 → 4%, 2 → 11%, 3+ → 34% of the federal credit; zero children → no Wisconsin credit)."
        +}
      • addedInput schema / properties / state / properties / wiRentHeatIncluded
        Added value: +{
        +  "description": "2025 rent paid on the principal Wisconsin residence where HEAT WAS INCLUDED in rent (Form 1 line 16a) — credited at 2.4% via the printed table's $100-row midpoints (us.wi.school_property_tax_credit). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / wiRentHeatNotIncluded
        Added value: +{
        +  "description": "2025 rent paid where heat was NOT included (Form 1 line 16a) — credited at 3.0% via the printed table. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / wiRetirementIncome67
        Added value: +{
        +  "description": "Federally taxable qualified-plan/IRA retirement income of the 67+ individual(s) NOT already subtracted on Schedule SB lines 12-15 — the NEW 2025 Act 15 subtraction (us.wi.retirement_subtraction_67, $24,000/$48,000 cap). CAUTION: claiming it forfeits every Form 1 credit (lines 13-20, 30-35, Schedule CR). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_return10 fields changed
      • changedInput schema / properties / state / description
        Previous value: -"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md/us.mo income_tax; parameters via lookup_tax_parameter)"New value: +"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md/us.mo/us.wi income_tax; parameters via lookup_tax_parameter)"
      • addedInput schema / properties / state / properties / wiBothSpouses67
        Added value: +{
        +  "description": "BOTH spouses on a joint Wisconsin return were at least 67 on December 31 — raises the Act 15 retirement subtraction cap from $24,000 to $48,000 regardless of which spouse received the income.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / wiFederalEicForWi
        Added value: +{
        +  "description": "The federal earned income credit AS COMPUTED UNDER WISCONSIN'S IRC (Schedule I Part III recomputation when Part I adjustments exist; otherwise Form 1040 line 27) — the us.wi.eic base. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / wiIncome
        Added value: +{
        +  "description": "Wisconsin income (Form 1 line 7 = federal AGI as adjusted by Schedule I, plus Schedule AD additions, minus Schedule SB subtractions) — drives the sliding standard deduction (us.wi.standard_deduction). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / wiLowerQualifiedEarnedIncome
        Added value: +{
        +  "description": "The LESSER-earning spouse's qualified earned income from Form 1 Schedule 2 line 5 (earned income minus the listed federal Schedule 1 adjustments and any Wisconsin disability exclusion) — us.wi.married_couple_credit takes 3% up to $480. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / wiPropertyTaxesPaid
        Added value: +{
        +  "description": "2025 property taxes paid on the principal Wisconsin residence (Form 1 line 16b) — credited at 12% via the printed table; the combined 16a+16b credit caps at $300 ($150 MFS). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / wiQualifyingChildren
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Number of federal-EIC qualifying children for the Wisconsin earned income credit (us.wi.eic: 1 → 4%, 2 → 11%, 3+ → 34% of the federal credit; zero children → no Wisconsin credit)."
        +}
      • addedInput schema / properties / state / properties / wiRentHeatIncluded
        Added value: +{
        +  "description": "2025 rent paid on the principal Wisconsin residence where HEAT WAS INCLUDED in rent (Form 1 line 16a) — credited at 2.4% via the printed table's $100-row midpoints (us.wi.school_property_tax_credit). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / wiRentHeatNotIncluded
        Added value: +{
        +  "description": "2025 rent paid where heat was NOT included (Form 1 line 16a) — credited at 3.0% via the printed table. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / wiRetirementIncome67
        Added value: +{
        +  "description": "Federally taxable qualified-plan/IRA retirement income of the 67+ individual(s) NOT already subtracted on Schedule SB lines 12-15 — the NEW 2025 Act 15 subtraction (us.wi.retirement_subtraction_67, $24,000/$48,000 cap). CAUTION: claiming it forfeits every Form 1 credit (lines 13-20, 30-35, Schedule CR). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_state_return27 fields changed
      • changedInput schema / properties / jurisdiction / enum
        Previous value: -[
        -  "il",
        -  "va",
        -  "ca",
        -  "ny",
        -  "pa",
        -  "nj",
        -  "oh",
        -  "nc",
        -  "ga",
        -  "md",
        -  "mo"
        -]New value: +[
        +  "il",
        +  "va",
        +  "ca",
        +  "ny",
        +  "pa",
        +  "nj",
        +  "oh",
        +  "nc",
        +  "ga",
        +  "md",
        +  "mo",
        +  "wi"
        +]
      • addedInput schema / properties / wi2441Credit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Schedule WI-2441 line 14 — Wisconsin's additional child and dependent care credit (its own recomputation; transcribe the schedule's result)"
        +}
      • addedInput schema / properties / wiAge65Boxes
        Added value: +{
        +  "description": "count of 65-or-older boxes (taxpayer/spouse) — $250 each on line 10b (Wisconsin has no blindness exemption; the $700 line 10a exemptions come from the shared `exemptions` count)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / wiAppliedToNextYear
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 1 line 42: overpayment applied to 2026 estimated tax"
        +}
      • addedInput schema / properties / wiBlindWorkerExpenses
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "blind worker transportation services qualifying expenses (Form 1 line 15 credits 50%)"
        +}
      • addedInput schema / properties / wiBothSpouses67
        Added value: +{
        +  "description": "both spouses 67+ on December 31 (joint returns) — raises the SB-16 cap to $48,000",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / wiCapitalGainSubtraction
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Schedule SB line 5 capital gain/loss subtraction from Schedule WD (30% net long-term gain exclusion, 60% farm assets; capital loss limit $3,000/$1,500-MFS since TY2023; simple mutual-fund/REIT distributions may take 30% directly)"
        +}
      • addedInput schema / properties / wiDependentEarnedIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "a dependent-claimed filer's earned income for the Standard Deduction Worksheet for Dependents (deduction = smaller of the table amount or max($1,350, earned + $450))"
        +}
      • addedInput schema / properties / wiDonations
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 1 line 24: Schedule 3 fund donations total"
        +}
      • addedInput schema / properties / wiEicQualifyingChildren
        Added value: +{
        +  "description": "federal-EIC qualifying children — Wisconsin EIC = 4%/11%/34% of the federal credit for 1/2/3+ children (NO childless credit; MFS ineligible; full-year residents only)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / wiFarmlandCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 1 line 31: farmland preservation credit (Schedules FC/FC-A, transcribed)"
        +}
      • addedInput schema / properties / wiFederalEicForWi
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the federal EIC AS COMPUTED UNDER WISCONSIN'S IRC (Schedule I Part III recomputation when Part I adjustments exist) — defaults to the shared federalEITC when omitted"
        +}
      • addedInput schema / properties / wiFederalRetirementPenalties
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the FEDERAL penalties on IRAs/retirement plans/MSAs etc. — Wisconsin charges 33% of them on line 25 ('x .33' printed)"
        +}
      • addedInput schema / properties / wiHomesteadCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 1 line 33: homestead credit (Schedule H/H-EZ circuit breaker, agent-computed, refundable)"
        +}
      • addedInput schema / properties / wiItemizedComponents
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 1 Schedule 1 lines 1-4 total: federal Schedule A medical + interest (EXCLUDING out-of-state second homes, boat residences, and U.S.-security carrying interest) + charity + casualty — the composer takes 5% of the excess over the line 8 standard deduction"
        +}
      • addedInput schema / properties / wiLowerQualifiedEarnedIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the LESSER-earning spouse's Schedule 2 line 5 qualified earned income (earned income minus the listed federal Schedule 1 adjustments) — married couple credit = 3% up to $480 (joint returns, both spouses employed)"
        +}
      • addedInput schema / properties / wiMarriedHoh
        Added value: +{
        +  "description": "the Form 1 'Head of household, married' checkbox applies — shares the MFS $150 school property tax credit cap",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / wiOtherPenalties
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 1 line 26 other penalties (see instructions p.25)"
        +}
      • addedInput schema / properties / wiOtherStateCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 1 line 20: net income tax paid to another state (Schedule OS, agent-computed)"
        +}
      • addedInput schema / properties / wiPropertyTaxesPaid
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "property taxes on the principal residence (line 16b; 12% via the printed $25-wide-row table — a different granularity from the $100-row rent tables) — combined 16a+16b credit caps at $300 ($150 MFS or married-HOH); not claimable with the line 34 veterans credit"
        +}
      • addedInput schema / properties / wiRentHeatIncluded
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "2025 rent on the principal Wisconsin residence with heat INCLUDED (line 16a; 2.4% via the printed table's $100-row midpoints)"
        +}
      • addedInput schema / properties / wiRentHeatNotIncluded
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "rent with heat NOT included (line 16a; 3.0% table)"
        +}
      • addedInput schema / properties / wiRepaymentCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 1 line 32: repayment of income previously taxed credit"
        +}
      • addedInput schema / properties / wiRetirement67Income
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "qualified-plan/IRA retirement income of the 67+ individual(s) for the NEW 2025 Act 15 subtraction (SB line 16, $24,000/$48,000 cap) — CAUTION: claiming it FORFEITS every credit on lines 13-20, 30-35, and Schedule CR (the composer enforces this); compare both ways before passing"
        +}
      • addedInput schema / properties / wiScheduleIAdjustments
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 1 line 2: Schedule I net adjustment (may be negative) converting federal AGI to Wisconsin's IRC — Wisconsin conforms to the Code as of December 31, 2022, so post-2022 federal changes (incl. the 2025 OBBBA) need Schedule I conversion per its instructions"
        +}
      • addedInput schema / properties / wiScheduleUInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 1 line 44: Schedule U underpayment interest"
        +}
      • addedInput schema / properties / wiVeteransCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 1 line 34: eligible veterans and surviving spouses property tax credit"
        +}
  8. 3 tool updates
    • Changedcalculate_tax7 fields changed
      • changedInput schema / properties / state / description
        Previous value: -"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md income_tax; parameters via lookup_tax_parameter)"New value: +"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md/us.mo income_tax; parameters via lookup_tax_parameter)"
      • addedInput schema / properties / state / properties / moBusinessIncome
        Added value: +{
        +  "description": "ONE spouse's net business income per the MO-1040 p.16 worksheet (Schedule C/E/F + pass-through business income, losses netted — enter 0 if a combined net loss) — us.mo.business_income_deduction subtracts 20% (R.S.Mo. § 143.022, MO-A Part 1 line 17). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / moFederalEic
        Added value: +{
        +  "description": "Federal earned income credit (Form 1040 line 27a) for the Missouri Working Family Tax Credit (us.mo.wftc = 20% for 2025, nonrefundable; MFS and dependent-claimed filers denied; the printed MO-WFTC question 3 gates investment income at $4,400 — see the rule's form-vs-statute disclosure). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / moFederalTaxTotal
        Added value: +{
        +  "description": "MO-1040 line 11 total federal tax: line 9 (federal 1040 line 22 minus lines 27a/29, minus Schedule 2 Part 1 line 3, minus Schedule 3 Part 2 line 9 — never withholding) plus line 10 other federal tax (Schedule 2 Part 1 line 3; Part 2 lines 8, 14, 15; recapture in 21; Schedule 3 Part 1 line 1). Feeds us.mo.federal_tax_deduction. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / moMagi
        Added value: +{
        +  "description": "COMBINED Missouri adjusted gross income (MO-1040 line 6 = both spouses' line 5 amounts) — keys the federal tax deduction percentage tiers (us.mo.federal_tax_deduction: 35/25/15/5/0%). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / moPublicPension
        Added value: +{
        +  "description": "ONE spouse's taxable pension from PUBLIC sources (any federal/state/local government pension, federal 1040 line 5b share) for the Missouri public pension exemption (us.mo.public_pension_exemption, MO-A Part 3 Section A: capped at $47,633 for 2025, reduced by that spouse's SS/SSD exemption). Military retirement is a separate 100% subtraction — exclude it here. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / moSsSameSpouseExemption
        Added value: +{
        +  "description": "The SAME spouse's Social Security / SS Disability exemption from MO-A Part 3 Section C (their taxable SS, exempted 100% when 62+ by December 31 or on SSD) — displaces the public pension exemption dollar-for-dollar (Section A line 3). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_return7 fields changed
      • changedInput schema / properties / state / description
        Previous value: -"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md income_tax; parameters via lookup_tax_parameter)"New value: +"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md/us.mo income_tax; parameters via lookup_tax_parameter)"
      • addedInput schema / properties / state / properties / moBusinessIncome
        Added value: +{
        +  "description": "ONE spouse's net business income per the MO-1040 p.16 worksheet (Schedule C/E/F + pass-through business income, losses netted — enter 0 if a combined net loss) — us.mo.business_income_deduction subtracts 20% (R.S.Mo. § 143.022, MO-A Part 1 line 17). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / moFederalEic
        Added value: +{
        +  "description": "Federal earned income credit (Form 1040 line 27a) for the Missouri Working Family Tax Credit (us.mo.wftc = 20% for 2025, nonrefundable; MFS and dependent-claimed filers denied; the printed MO-WFTC question 3 gates investment income at $4,400 — see the rule's form-vs-statute disclosure). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / moFederalTaxTotal
        Added value: +{
        +  "description": "MO-1040 line 11 total federal tax: line 9 (federal 1040 line 22 minus lines 27a/29, minus Schedule 2 Part 1 line 3, minus Schedule 3 Part 2 line 9 — never withholding) plus line 10 other federal tax (Schedule 2 Part 1 line 3; Part 2 lines 8, 14, 15; recapture in 21; Schedule 3 Part 1 line 1). Feeds us.mo.federal_tax_deduction. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / moMagi
        Added value: +{
        +  "description": "COMBINED Missouri adjusted gross income (MO-1040 line 6 = both spouses' line 5 amounts) — keys the federal tax deduction percentage tiers (us.mo.federal_tax_deduction: 35/25/15/5/0%). May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / moPublicPension
        Added value: +{
        +  "description": "ONE spouse's taxable pension from PUBLIC sources (any federal/state/local government pension, federal 1040 line 5b share) for the Missouri public pension exemption (us.mo.public_pension_exemption, MO-A Part 3 Section A: capped at $47,633 for 2025, reduced by that spouse's SS/SSD exemption). Military retirement is a separate 100% subtraction — exclude it here. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / moSsSameSpouseExemption
        Added value: +{
        +  "description": "The SAME spouse's Social Security / SS Disability exemption from MO-A Part 3 Section C (their taxable SS, exempted 100% when 62+ by December 31 or on SSD) — displaces the public pension exemption dollar-for-dollar (Section A line 3). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_state_return43 fields changed
      • changedInput schema / properties / jurisdiction / enum
        Previous value: -[
        -  "il",
        -  "va",
        -  "ca",
        -  "ny",
        -  "pa",
        -  "nj",
        -  "oh",
        -  "nc",
        -  "ga",
        -  "md"
        -]New value: +[
        +  "il",
        +  "va",
        +  "ca",
        +  "ny",
        +  "pa",
        +  "nj",
        +  "oh",
        +  "nc",
        +  "ga",
        +  "md",
        +  "mo"
        +]
      • addedInput schema / properties / mo529Deposit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 52: refund deposited to a Missouri 529 (MOST) account (minimum $25, Form 5632)"
        +}
      • addedInput schema / properties / moActiveDutyMilitary
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 18: active duty military income deduction (100%, incl. annual training and — NEW 2025 — National Guard/reserve signing bonuses)"
        +}
      • addedInput schema / properties / moAdditionsSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-A Part 1 line 7S: the spouse's additions"
        +}
      • addedInput schema / properties / moAdditionsYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-A Part 1 line 7Y: the primary's additions (non-Missouri state/local bond interest, PTE/NOL addbacks, nonqualified 529/ABLE distributions, food pantry, nonresident property tax)"
        +}
      • addedInput schema / properties / moAppliedToNextYear
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 50: overpayment applied to 2026 estimated tax"
        +}
      • addedInput schema / properties / moBusinessIncomeSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the spouse's net business income for the 20% deduction (17S)"
        +}
      • addedInput schema / properties / moBusinessIncomeYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the primary's MISSOURI-SOURCE net business income per the p.16 worksheet (Schedule C line 31 + Schedule E line 32 + Schedule F/4835 profits, losses netted, MINUS agricultural disaster relief payments already on MO-A line 16; $0 if net loss) — the composer takes the 20% § 143.022 deduction (MO-A line 17Y)"
        +}
      • addedInput schema / properties / moCapitalGainSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the spouse's share of federal capital gains for the 100% subtraction"
        +}
      • addedInput schema / properties / moCapitalGainYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the primary's share of federally reported capital gains (Form 1040 line 7a) — the composer subtracts 100% (MO-A line 18, H.B. 594, NEW for TY2025; a negative amount enters as $0)"
        +}
      • addedInput schema / properties / moEnterpriseZoneSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 28S"
        +}
      • addedInput schema / properties / moEnterpriseZoneYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 28Y: enterprise zone / rural empowerment zone income modification"
        +}
      • addedInput schema / properties / moFagiSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 1S: the spouse's share of federal AGI (combined returns). 1Y + 1S must equal the federal AGI. A NEGATIVE share triggers the 12 CSR 10-2.710 zeroing the composer applies (negative spouse $0, other spouse the netted joint FAGI; both $0 when combined FAGI is negative)."
        +}
      • addedInput schema / properties / moFagiYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 1Y: the PRIMARY taxpayer's share of federal AGI — Missouri combined returns SPLIT total FAGI between spouses per the AGI worksheet (each spouse's own income; joint items allocated). Defaults to the full federalAGI when omitted (one-income couple)."
        +}
      • addedInput schema / properties / moFederalItemized
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-A Part 2 line 1: total federal itemized deductions (federal Schedule A total) plus any approved cultural contributions (literary/musical/scholastic/artistic donations, § 143.141)"
        +}
      • addedInput schema / properties / moFederalTax9
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 9 'Tax from federal return': federal 1040 line 22 MINUS lines 27a and 29, MINUS Schedule 2 Part 1 line 3, MINUS Schedule 3 Part 2 line 9 — never withholding; the EIC must be subtracted"
        +}
      • addedInput schema / properties / moHcsmDeduction
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 17: health care sharing ministry contributions not deducted federally"
        +}
      • addedInput schema / properties / moInactiveDutyMilitary
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 19: inactive duty (drill) military income deduction"
        +}
      • addedInput schema / properties / moItemizing
        Added value: +{
        +  "description": "taxpayer itemized FEDERALLY and wants Missouri itemized deductions — the composer computes MO-A Part 2 (federal itemized + payroll-tax addback − net state income taxes) and takes the LARGER of that or the standard deduction unless moRequiredToItemize",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / moLtcDeduction
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 16: qualified long-term care insurance premiums (12+ month policies, net of federally deducted amounts, per the worksheet)"
        +}
      • addedInput schema / properties / moNetStateIncomeTaxes
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-A Part 2 line 11: state/local income taxes from Schedule A line 5a MINUS Kansas City/St. Louis earnings taxes (which stay deductible) — or the Part 2 worksheet result when SALT exceeded $40,000/$20,000-MFS or FAGI exceeded $500,000/$250,000-MFS"
        +}
      • addedInput schema / properties / moNrPayments
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 lines 39+40: MO-2NR/MO-2ENT nonresident partner/entertainer payments"
        +}
      • addedInput schema / properties / moOtherDeductions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 lines 21-24 bucket: beginning farmer, transport facility, foster parent deductions (agent-transcribed)"
        +}
      • addedInput schema / properties / moOtherFederalTax10
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 10 'Other federal tax': Schedule 2 Part 1 line 3 + Part 2 lines 8/14/15 + recapture in line 21 + Schedule 3 Part 1 line 1 (attach 4255/8611/8828 for recapture)"
        +}
      • addedInput schema / properties / moOtherTaxesSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 34S"
        +}
      • addedInput schema / properties / moOtherTaxesYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 34Y: 10% of the Federal Form 4972 lump-sum distribution tax, and/or recapture of the low income housing credit (Form 8611) — the printed checkboxes. (Form 4970 trust accumulation amounts are a SUBTRACTION, not a line 34 tax.)"
        +}
      • addedInput schema / properties / moPayrollTaxAddback
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-A Part 2 lines 2-7 total: the 2025 employee Social Security tax (capped $10,918 per spouse), Railroad Retirement Tier I+II (capped $17,327 per spouse, net of employer refunds), Medicare tax (with Form 8959 adjustments), and self-employment tax (Schedule 2 line 4 − Schedule 1 line 15 + Form 8959 line 13) — Missouri ADDS payroll taxes into itemized deductions"
        +}
      • addedInput schema / properties / moPrivatePensionSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the spouse's private-source pension for Section B"
        +}
      • addedInput schema / properties / moPrivatePensionYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the primary's PRIVATE-source taxable pension/annuity/IRA/401(k) (1040 lines 4b+5b share) — Section B caps each spouse at $6,000 and phases out by income"
        +}
      • addedInput schema / properties / moPropertyTaxCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 43: Form MO-PTS property tax credit (refundable circuit breaker — actual property tax up to $1,100 owners / 20%-of-rent up to $750 renters, from the printed chart; net household income gates $30,000 owners / $27,200 renters; agent-computed from MO-PTS with disclosure)"
        +}
      • addedInput schema / properties / moPublicPensionSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the spouse's public-source pension for their Section A column"
        +}
      • addedInput schema / properties / moPublicPensionYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the primary's PUBLIC-source pension (federal/state/local government, 1040 line 5b share) — the composer runs MO-A Part 3 Section A (min(pension, $47,633) less their Section C exemption). Military retirement goes in moSubtractionsYou instead (100%, MO-A line 10)."
        +}
      • addedInput schema / properties / moRequiredToItemize
        Added value: +{
        +  "description": "the filer was REQUIRED to itemize federally (e.g. MFS with an itemizing spouse) — Missouri then requires itemizing even when the standard deduction is larger",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / moResidentCreditSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 31S (capped at 30S)"
        +}
      • addedInput schema / properties / moResidentCreditYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 31Y: Form MO-CR credit for taxes paid to other states (agent-computed; the composer caps at line 30Y)"
        +}
      • addedInput schema / properties / moSsExemptSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the spouse's Section C SS/SSD exemption on the same gates"
        +}
      • addedInput schema / properties / moSsExemptYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the primary's MO-A Section C exemption: their TAXABLE Social Security/SSD (1040 line 6b share), 100% exempt — pass ONLY if 62+ by December 31 (the MO-1040 age box) or on Social Security Disability (attested)"
        +}
      • addedInput schema / properties / moStandardDeductionOverride
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "dependent-claimed filers: the federal DEPENDENT standard deduction limit (greater of $1,350 or earned income + $450, capped at the full amount) — replaces the composer's full standard deduction"
        +}
      • addedInput schema / properties / moSubtractionsSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the spouse's MO-A subtractions on the same terms"
        +}
      • addedInput schema / properties / moSubtractionsYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-A subtractions for the primary EXCLUDING the composer-computed capital gain (line 18) and business income deduction (line 17): exempt federal-obligation interest, state refund, military retirement (100%), railroad retirement, 529/ABLE contributions ($8,000/taxpayer), qualified health insurance premiums, depreciation adjustments, agriculture disaster relief"
        +}
      • addedInput schema / properties / moTrustFundDonations
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 51: trust fund donations total (51a-51l)"
        +}
      • addedInput schema / properties / moUnderpaymentPenalty
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MO-1040 line 55: Form MO-2210 underpayment penalty (90% / 66⅔%-farmer safe harbors)"
        +}
      • addedInput schema / properties / moWftcInvestmentOver4400
        Added value: +{
        +  "description": "Form MO-WFTC question 3: investment income exceeds $4,400 — denies the credit. The MO credit follows EIC law FROZEN as of January 1, 2021 (MO-1040 instructions p.10), so this is the indexed pre-ARPA limit; compute investment income the pre-2021 way (taxable AND tax-exempt interest, dividends, positive net capital gain per the MO-WFTC instructions), NOT the current federal $11,950 gate.",
        +  "type": "boolean"
        +}
  9. 3 tool updates
    • Changedcalculate_tax12 fields changed
      • changedInput schema / properties / state / description
        Previous value: -"state taxable income for the state tax targets (us.ca/us.va/us.il.income_tax; parameters via lookup_tax_parameter)"New value: +"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md income_tax; parameters via lookup_tax_parameter)"
      • addedInput schema / properties / state / properties / mdDependentTaxpayer
        Added value: +{
        +  "description": "Maryland Filing Status 6 — the filer can be claimed as a dependent on another person's return: every Chart 10A exemption is $0 and the poverty level credit is denied (us.md.exemption_amount / us.md.poverty_level_credit).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / mdEarnedIncome
        Added value: +{
        +  "description": "Earned income for the Maryland poverty level credit (Form 502 line 1b / Worksheet 18B line 2): wages, salaries, tips, other employee compensation plus net self-employment profit — do NOT net farm/business losses. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mdExemptionCount
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Maryland exemption COUNT: Form 502 Exemptions areas A (self + spouse) plus C (dependents from Form 502B line 3) — each worth the Chart 10A phased amount via us.md.exemption_amount. Do NOT include the age-65+/blind area-B boxes (those are a separate unphased $1,000 each)."
        +}
      • addedInput schema / properties / state / properties / mdFagi
        Added value: +{
        +  "description": "Federal adjusted gross income (Maryland Form 502 line 1) — keys the exemption phase-out chart (us.md.exemption_amount), the child tax credit phase-out (us.md.ctc), and the $350,000 Form 502CG surtax gate. May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mdFagiPlusAdditions
        Added value: +{
        +  "description": "Maryland Form 502 line 7 (federal AGI + Maryland additions) for the poverty level credit gate (Worksheet 18B line 1; MFS filers who filed a joint federal return use the JOINT federal AGI + additions). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mdHouseholdSize
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Number of persons in the family/household from the federal return, for the Maryland poverty income guideline (2025: $15,650 for 1 + $5,500 each additional person — printed-chart exact through 8)."
        +}
      • addedInput schema / properties / state / properties / mdNetCapitalGainSubject
        Added value: +{
        +  "description": "Form 502CG line 9 — net capital gain income SUBJECT to Maryland's 2% additional tax (line 1c gain minus the six 502CG exempt classes: primary-residence sale under $1.5M, retirement-plan assets, livestock, easement land, trade-or-business property, nonprofit affordable housing). Only nonzero when federal AGI exceeds $350,000. Feeds us.md.capital_gains_surtax (Form 502 lines 20a/21b). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mdQualifiedChildren
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Number of Maryland CTC qualified children on Form 502B: dependents UNDER 6 at year end, or over 5 and under 17 WITH a disability (assessment attached) — us.md.ctc ($500 each, H.B. 352 phase-out over $15,000 FAGI, gone above $24,000)."
        +}
      • addedInput schema / properties / state / properties / mdQualifyingPension
        Added value: +{
        +  "description": "ONE person's qualifying pension/retirement annuity in federal AGI for the Maryland pension exclusion (Worksheet 13A line 1): § 401(a)/403/457(b) employee-retirement-system income only — IRAs (traditional/Roth/rollover), SEP, Keogh, ineligible deferred comp, and foreign retirement income do NOT qualify; the person must be 65+ or totally disabled (or have a totally disabled spouse). Evaluate us.md.pension_exclusion once per qualifying spouse. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mdSsRrBenefits
        Added value: +{
        +  "description": "The SAME person's TOTAL Social Security and Railroad Retirement benefits (Tier I + Tier II), whether or not federally taxable — Worksheet 13A line 3 reduces the $41,200 maximum dollar-for-dollar. On a joint return count only the pension-receiving spouse's benefits. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mdSubdivision
        Added value: +{
        +  "description": "Maryland taxing subdivision — the county (or Baltimore City) where the filer resided on the LAST day of the tax year (Form 502 political-subdivision box), driving the us.md.local_tax rate (2025 chart: 2.25%-3.30%; Anne Arundel and Frederick are bracketed/tiered by filing status). Use nonresident for the Tax-Gen. § 10-106.1 special 2.25% nonresident rate.",
        +  "enum": [
        +    "baltimore_city",
        +    "allegany",
        +    "anne_arundel",
        +    "baltimore_county",
        +    "calvert",
        +    "caroline",
        +    "carroll",
        +    "cecil",
        +    "charles",
        +    "dorchester",
        +    "frederick",
        +    "garrett",
        +    "harford",
        +    "howard",
        +    "kent",
        +    "montgomery",
        +    "prince_georges",
        +    "queen_annes",
        +    "st_marys",
        +    "somerset",
        +    "talbot",
        +    "washington",
        +    "wicomico",
        +    "worcester",
        +    "nonresident"
        +  ],
        +  "type": "string"
        +}
    • Changedcompute_return12 fields changed
      • changedInput schema / properties / state / description
        Previous value: -"state taxable income for the state tax targets (us.ca/us.va/us.il.income_tax; parameters via lookup_tax_parameter)"New value: +"state taxable income for the state tax targets (us.ca/us.va/us.il/us.ny/us.oh/us.nc/us.ga/us.md income_tax; parameters via lookup_tax_parameter)"
      • addedInput schema / properties / state / properties / mdDependentTaxpayer
        Added value: +{
        +  "description": "Maryland Filing Status 6 — the filer can be claimed as a dependent on another person's return: every Chart 10A exemption is $0 and the poverty level credit is denied (us.md.exemption_amount / us.md.poverty_level_credit).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / mdEarnedIncome
        Added value: +{
        +  "description": "Earned income for the Maryland poverty level credit (Form 502 line 1b / Worksheet 18B line 2): wages, salaries, tips, other employee compensation plus net self-employment profit — do NOT net farm/business losses. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mdExemptionCount
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Maryland exemption COUNT: Form 502 Exemptions areas A (self + spouse) plus C (dependents from Form 502B line 3) — each worth the Chart 10A phased amount via us.md.exemption_amount. Do NOT include the age-65+/blind area-B boxes (those are a separate unphased $1,000 each)."
        +}
      • addedInput schema / properties / state / properties / mdFagi
        Added value: +{
        +  "description": "Federal adjusted gross income (Maryland Form 502 line 1) — keys the exemption phase-out chart (us.md.exemption_amount), the child tax credit phase-out (us.md.ctc), and the $350,000 Form 502CG surtax gate. May be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mdFagiPlusAdditions
        Added value: +{
        +  "description": "Maryland Form 502 line 7 (federal AGI + Maryland additions) for the poverty level credit gate (Worksheet 18B line 1; MFS filers who filed a joint federal return use the JOINT federal AGI + additions). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mdHouseholdSize
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Number of persons in the family/household from the federal return, for the Maryland poverty income guideline (2025: $15,650 for 1 + $5,500 each additional person — printed-chart exact through 8)."
        +}
      • addedInput schema / properties / state / properties / mdNetCapitalGainSubject
        Added value: +{
        +  "description": "Form 502CG line 9 — net capital gain income SUBJECT to Maryland's 2% additional tax (line 1c gain minus the six 502CG exempt classes: primary-residence sale under $1.5M, retirement-plan assets, livestock, easement land, trade-or-business property, nonprofit affordable housing). Only nonzero when federal AGI exceeds $350,000. Feeds us.md.capital_gains_surtax (Form 502 lines 20a/21b). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mdQualifiedChildren
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Number of Maryland CTC qualified children on Form 502B: dependents UNDER 6 at year end, or over 5 and under 17 WITH a disability (assessment attached) — us.md.ctc ($500 each, H.B. 352 phase-out over $15,000 FAGI, gone above $24,000)."
        +}
      • addedInput schema / properties / state / properties / mdQualifyingPension
        Added value: +{
        +  "description": "ONE person's qualifying pension/retirement annuity in federal AGI for the Maryland pension exclusion (Worksheet 13A line 1): § 401(a)/403/457(b) employee-retirement-system income only — IRAs (traditional/Roth/rollover), SEP, Keogh, ineligible deferred comp, and foreign retirement income do NOT qualify; the person must be 65+ or totally disabled (or have a totally disabled spouse). Evaluate us.md.pension_exclusion once per qualifying spouse. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mdSsRrBenefits
        Added value: +{
        +  "description": "The SAME person's TOTAL Social Security and Railroad Retirement benefits (Tier I + Tier II), whether or not federally taxable — Worksheet 13A line 3 reduces the $41,200 maximum dollar-for-dollar. On a joint return count only the pension-receiving spouse's benefits. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / mdSubdivision
        Added value: +{
        +  "description": "Maryland taxing subdivision — the county (or Baltimore City) where the filer resided on the LAST day of the tax year (Form 502 political-subdivision box), driving the us.md.local_tax rate (2025 chart: 2.25%-3.30%; Anne Arundel and Frederick are bracketed/tiered by filing status). Use nonresident for the Tax-Gen. § 10-106.1 special 2.25% nonresident rate.",
        +  "enum": [
        +    "baltimore_city",
        +    "allegany",
        +    "anne_arundel",
        +    "baltimore_county",
        +    "calvert",
        +    "caroline",
        +    "carroll",
        +    "cecil",
        +    "charles",
        +    "dorchester",
        +    "frederick",
        +    "garrett",
        +    "harford",
        +    "howard",
        +    "kent",
        +    "montgomery",
        +    "prince_georges",
        +    "queen_annes",
        +    "st_marys",
        +    "somerset",
        +    "talbot",
        +    "washington",
        +    "wicomico",
        +    "worcester",
        +    "nonresident"
        +  ],
        +  "type": "string"
        +}
    • Changedcompute_state_return26 fields changed
      • changedInput schema / properties / jurisdiction / enum
        Previous value: -[
        -  "il",
        -  "va",
        -  "ca",
        -  "ny",
        -  "pa",
        -  "nj",
        -  "oh",
        -  "nc",
        -  "ga"
        -]New value: +[
        +  "il",
        +  "va",
        +  "ca",
        +  "ny",
        +  "pa",
        +  "nj",
        +  "oh",
        +  "nc",
        +  "ga",
        +  "md"
        +]
      • addedInput schema / properties / md502crPartBB
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MD line 31: local tax credit from Form 502CR Part BB line 1"
        +}
      • addedInput schema / properties / mdBusinessCredits
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MD line 25: business tax credits (Form 500CR — e-file only; transcribed)"
        +}
      • addedInput schema / properties / mdChildCareExpenses
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MD line 9: child and dependent care EXPENSES from federal Form 2441 line 6 — an income subtraction in Maryland (separate from any 502CR Part B credit); the composer caps it at $3,000 ($6,000 when mdChildCareTwoOrMoreDependents)"
        +}
      • addedInput schema / properties / mdChildCareTwoOrMoreDependents
        Added value: +{
        +  "description": "two or more care dependents — raises the MD line 9 expense cap from $3,000 to $6,000",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / mdContributions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MD lines 35-39: voluntary fund contributions total (reduces the refund)"
        +}
      • addedInput schema / properties / mdCtcChildren
        Added value: +{
        +  "description": "Maryland CTC qualified children (dependents under 6, or over 5 and under 17 with a disability) — the composer evaluates us.md.ctc ($500/child, phased out $50 per $1,000 of FAGI over $15,000, $0 above $24,000; refundable via 502CR Part CC into line 45)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / mdEarnedIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MD line 1b earned income (wages + net SE profit, no loss netting) — the poverty level credit base (us.md.poverty_level_credit) and the local poverty credit (19C)"
        +}
      • addedInput schema / properties / mdEicQualifyingChild
        Added value: +{
        +  "description": "the filer has at least one EIC qualifying child — with married filers this routes line 22 to 50% of the federal EIC (Worksheet 18A) and line 44 to the 45% refundable worksheet (21A); childless single/HOH/QSS filers instead get 100% refundable (18A.1). Also drives the Form 502 EIC checkboxes.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / mdFederalItemized
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MD line 17a: total federal itemized deductions (federal Schedule A line 17)"
        +}
      • addedInput schema / properties / mdHomebuyerPenalty
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MD line 51a: first-time homebuyer savings account 10% withdrawal penalty"
        +}
      • addedInput schema / properties / mdHouseholdSize
        Added value: +{
        +  "description": "persons in the family/household from the federal return — enables the poverty level credit computation (2025 guideline $15,650 + $5,500 each additional person)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / mdInterestCharges
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MD line 51: Form 502UP interest / late-filing interest"
        +}
      • addedInput schema / properties / mdItemizedStateLocalTaxes
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MD line 17b: state and local INCOME taxes claimed in the federal Schedule A (plus preservation-easement contributions claimed as a credit) — subtracted from 17a"
        +}
      • addedInput schema / properties / mdItemizing
        Added value: +{
        +  "description": "taxpayer itemized FEDERALLY and elects Maryland itemized deductions — the composer computes 17a−17b−17c (with the H.B. 352 7.5% phase-out over $200,000/$100,000-MFS FAGI) and still takes the standard deduction if larger (Maryland allows either)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / mdMw506nrs
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MD line 42: tax withheld on Form MW506NRS (nonresident real property sale)"
        +}
      • addedInput schema / properties / mdNetCapitalGainSubject
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 502CG line 9: net capital gain subject to the H.B. 352 2% surtax (line 1c gain minus the six exempt classes — primary-residence sale under $1.5M, retirement-plan assets, livestock, easement land, trade-or-business property, nonprofit affordable housing). The composer zeroes it (with a note) unless FAGI exceeds $350,000."
        +}
      • addedInput schema / properties / mdPensionSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "spouse's qualifying pension for their own 13A column (same gates)"
        +}
      • addedInput schema / properties / mdPensionYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "primary taxpayer's qualifying § 401(a)/403/457(b) pension in FAGI for the Worksheet 13A pension exclusion — ONLY if 65+/totally disabled (or spouse totally disabled); IRAs/SEP/Keogh never qualify. The composer evaluates us.md.pension_exclusion per spouse."
        +}
      • addedInput schema / properties / mdRangerPension
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MD line 10b: Retired Forest/Park/Wildlife Ranger pension exclusion (Worksheet 13E, agent-computed, disclosed)"
        +}
      • addedInput schema / properties / mdRecapturedCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MD line 21a: recaptured credit from Form 502CR Part DD line 1"
        +}
      • addedInput schema / properties / mdSsRrBenefitsSpouse
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "spouse's TOTAL SS/RR benefits for their 13A column"
        +}
      • addedInput schema / properties / mdSsRrBenefitsYou
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "primary taxpayer's TOTAL Social Security + Railroad Retirement benefits (taxable or not) — reduces the $41,200 cap in the primary's 13A column"
        +}
      • addedInput schema / properties / mdStateRefunds
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "MD line 8: taxable state/local income tax refunds included in federal AGI (subtraction)"
        +}
      • addedInput schema / properties / mdSubdivision
        Added value: +{
        +  "description": "REQUIRED for MD: the taxing county where the filer resided on the LAST day of the tax year (Form 502 political-subdivision box) — one of baltimore_city, allegany, anne_arundel, baltimore_county, calvert, caroline, carroll, cecil, charles, dorchester, frederick, garrett, harford, howard, kent, montgomery, prince_georges, queen_annes, st_marys, somerset, talbot, washington, wicomico, worcester, nonresident. Drives the mandatory local tax (line 28: flat 2.25%-3.30%; Anne Arundel bracketed with its own printed table; Frederick tiered on the WHOLE income with real cliffs).",
        +  "type": "string"
        +}
      • addedInput schema / properties / mdTwoIncomeLesserSpouseNet
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Worksheet 13D line 6: the LESSER-income spouse's net Maryland income (their FAGI share + additions share − subtractions share) — the composer caps it at $1,200 for line 14 (joint returns only)"
        +}
  10. 3 tool updates
    • Changedcalculate_tax17 fields changed
      • addedInput schema / properties / state / properties / gaDependentCount
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Form 500 line 7c total dependents (7a qualified + 7b unborn-with-heartbeat; never self/spouse) — each worth the $4,000 Georgia dependent exemption (us.ga.dependent_exemption)."
        +}
      • addedInput schema / properties / state / properties / gaExclusionTier
        Added value: +{
        +  "description": "Primary taxpayer's Georgia retirement-exclusion tier (O.C.G.A. § 48-7-27(a)(5)(D)): 62-64 during any part of the year or permanently and totally disabled → $35,000 cap; 65+ during any part of the year → $65,000 cap.",
        +  "enum": [
        +    "none",
        +    "62to64OrDisabled",
        +    "65plus"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / state / properties / gaFederalAgi
        Added value: +{
        +  "description": "Federal adjusted gross income (Form 500 line 8, Form 1040 line 11 verbatim — never federal taxable income) — keys the Low Income Credit table. Can be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / gaFederalCdccAllowed
        Added value: +{
        +  "description": "The federal § 21 child and dependent care credit CLAIMED AND ALLOWED (Form 2441 line 11, liability-limited) — Georgia's IND-CR 202 credit is 50% of it (us.ga.cdcc). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / gaLic65Count
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "GA Low Income Credit Worksheet line 3: 1 if filer or spouse is 65+, 2 if both (the statute's 65+ double credit as extra exemptions)."
        +}
      • addedInput schema / properties / state / properties / gaLicExemptions
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "GA Low Income Credit Worksheet line 2 exemptions: self + spouse + natural/legally adopted children ONLY (never other dependents, never unborn dependents)."
        +}
      • addedInput schema / properties / state / properties / gaRetirementEarnedIncome
        Added value: +{
        +  "description": "Primary taxpayer's earned income (wages/salaries/business) — the exclusion counts at most $5,000 of it (Schedule 1 page 2 worksheet 'Maximum Earned Income'). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / gaRetirementIncome
        Added value: +{
        +  "description": "Primary taxpayer's UNEARNED retirement income for the Georgia exclusion (pensions, annuities, interest, dividends, net rents, capital gains, royalties, military retirement — jointly-owned property income at 50%; NEVER Social Security/RRB, which subtract separately, and never lottery/gambling). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / gaSpouseExclusionTier
        Added value: +{
        +  "description": "Spouse's Georgia retirement-exclusion tier (each spouse qualifies separately; the exclusion is never shared).",
        +  "enum": [
        +    "none",
        +    "62to64OrDisabled",
        +    "65plus"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / state / properties / gaSpouseRetirementEarnedIncome
        Added value: +{
        +  "description": "Spouse's earned income for the exclusion worksheet (at most $5,000 counts). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / gaSpouseRetirementIncome
        Added value: +{
        +  "description": "Spouse's unearned retirement income for the Georgia exclusion (same definition, own items + 50% of joint). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ncCharitable
        Added value: +{
        +  "description": "NC Schedule A charitable contributions allowed under IRC § 170 for the year (federal AGI-percentage limits apply; NO NC dollar cap and no § 68 overall limitation). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ncClaimOfRightRepayment
        Added value: +{
        +  "description": "NC Schedule A line 8 repayment of claim-of-right income (repayments over $3,000 deducted in full — supply only qualifying amounts). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ncFederalAgi
        Added value: +{
        +  "description": "Federal adjusted gross income (D-400 line 6, Form 1040 line 11 verbatim) — keys the NC child-deduction table tiers and the Schedule A 7.5% medical floor. Can be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ncMedicalExpenses
        Added value: +{
        +  "description": "NC Schedule A line 7a qualified medical and dental expenses BEFORE the floor — the rule subtracts 7.5% of ncFederalAgi (D-400 Schedule A lines 7b-7d). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ncMortgageInterest
        Added value: +{
        +  "description": "NC Schedule A qualified home mortgage interest (IRC § 163(h)) — combined with real estate property taxes under the $20,000 NC cap (both spouses combined, MFJ or MFS). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ncRealEstateTaxes
        Added value: +{
        +  "description": "NC Schedule A real estate property taxes (IRC § 164 real property portion only — NC allows NO state/local income tax deduction) — inside the $20,000 combined cap with mortgage interest. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_return17 fields changed
      • addedInput schema / properties / state / properties / gaDependentCount
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Form 500 line 7c total dependents (7a qualified + 7b unborn-with-heartbeat; never self/spouse) — each worth the $4,000 Georgia dependent exemption (us.ga.dependent_exemption)."
        +}
      • addedInput schema / properties / state / properties / gaExclusionTier
        Added value: +{
        +  "description": "Primary taxpayer's Georgia retirement-exclusion tier (O.C.G.A. § 48-7-27(a)(5)(D)): 62-64 during any part of the year or permanently and totally disabled → $35,000 cap; 65+ during any part of the year → $65,000 cap.",
        +  "enum": [
        +    "none",
        +    "62to64OrDisabled",
        +    "65plus"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / state / properties / gaFederalAgi
        Added value: +{
        +  "description": "Federal adjusted gross income (Form 500 line 8, Form 1040 line 11 verbatim — never federal taxable income) — keys the Low Income Credit table. Can be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / gaFederalCdccAllowed
        Added value: +{
        +  "description": "The federal § 21 child and dependent care credit CLAIMED AND ALLOWED (Form 2441 line 11, liability-limited) — Georgia's IND-CR 202 credit is 50% of it (us.ga.cdcc). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / gaLic65Count
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "GA Low Income Credit Worksheet line 3: 1 if filer or spouse is 65+, 2 if both (the statute's 65+ double credit as extra exemptions)."
        +}
      • addedInput schema / properties / state / properties / gaLicExemptions
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "GA Low Income Credit Worksheet line 2 exemptions: self + spouse + natural/legally adopted children ONLY (never other dependents, never unborn dependents)."
        +}
      • addedInput schema / properties / state / properties / gaRetirementEarnedIncome
        Added value: +{
        +  "description": "Primary taxpayer's earned income (wages/salaries/business) — the exclusion counts at most $5,000 of it (Schedule 1 page 2 worksheet 'Maximum Earned Income'). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / gaRetirementIncome
        Added value: +{
        +  "description": "Primary taxpayer's UNEARNED retirement income for the Georgia exclusion (pensions, annuities, interest, dividends, net rents, capital gains, royalties, military retirement — jointly-owned property income at 50%; NEVER Social Security/RRB, which subtract separately, and never lottery/gambling). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / gaSpouseExclusionTier
        Added value: +{
        +  "description": "Spouse's Georgia retirement-exclusion tier (each spouse qualifies separately; the exclusion is never shared).",
        +  "enum": [
        +    "none",
        +    "62to64OrDisabled",
        +    "65plus"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / state / properties / gaSpouseRetirementEarnedIncome
        Added value: +{
        +  "description": "Spouse's earned income for the exclusion worksheet (at most $5,000 counts). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / gaSpouseRetirementIncome
        Added value: +{
        +  "description": "Spouse's unearned retirement income for the Georgia exclusion (same definition, own items + 50% of joint). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ncCharitable
        Added value: +{
        +  "description": "NC Schedule A charitable contributions allowed under IRC § 170 for the year (federal AGI-percentage limits apply; NO NC dollar cap and no § 68 overall limitation). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ncClaimOfRightRepayment
        Added value: +{
        +  "description": "NC Schedule A line 8 repayment of claim-of-right income (repayments over $3,000 deducted in full — supply only qualifying amounts). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ncFederalAgi
        Added value: +{
        +  "description": "Federal adjusted gross income (D-400 line 6, Form 1040 line 11 verbatim) — keys the NC child-deduction table tiers and the Schedule A 7.5% medical floor. Can be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ncMedicalExpenses
        Added value: +{
        +  "description": "NC Schedule A line 7a qualified medical and dental expenses BEFORE the floor — the rule subtracts 7.5% of ncFederalAgi (D-400 Schedule A lines 7b-7d). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ncMortgageInterest
        Added value: +{
        +  "description": "NC Schedule A qualified home mortgage interest (IRC § 163(h)) — combined with real estate property taxes under the $20,000 NC cap (both spouses combined, MFJ or MFS). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ncRealEstateTaxes
        Added value: +{
        +  "description": "NC Schedule A real estate property taxes (IRC § 164 real property portion only — NC allows NO state/local income tax deduction) — inside the $20,000 combined cap with mortgage interest. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_state_return34 fields changed
      • addedInput schema / properties / gaDependentCount
        Added value: +{
        +  "description": "Form 500 line 7c total dependents (7a qualified + 7b unborn-with-heartbeat; never self/spouse) — $4,000 each (us.ga.dependent_exemption)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / gaEligibleItemizerCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 500 line 19: Georgia Eligible Itemizer Tax Credit (NEW 2025; up to $300 per taxpayer, itemizers with 183+ GA days or resident at year end) — TRANSCRIBE the worksheet-computed amount, never assume the full $300; composer caps at $300/$600"
        +}
      • addedInput schema / properties / gaExclusionTier
        Added value: +{
        +  "description": "primary taxpayer's GA retirement-exclusion tier: 62-64 during any part of the year or permanently/totally disabled ($35,000 cap) vs 65+ ($65,000 cap) (us.ga.retirement_exclusion)",
        +  "enum": [
        +    "none",
        +    "62to64OrDisabled",
        +    "65plus"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / gaFederalCdccAllowed
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "federal Form 2441 line 11 allowed credit — GA IND-CR 202 pays 50% of it (us.ga.cdcc)"
        +}
      • addedInput schema / properties / gaFederalItemized
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 500 line 12a: federal Schedule A total. Supplying this FORCES Georgia itemizing ('Leave Line 11 blank if you itemize deductions on your Federal return') — a federal standard-deduction filer must omit it."
        +}
      • addedInput schema / properties / gaIndCrCredits
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 500 line 20: IND-CR Summary total OTHER than the CDCC (the composer adds us.ga.cdcc itself from gaFederalCdccAllowed)"
        +}
      • addedInput schema / properties / gaItemizedAdjustments
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 500 line 12b: state income taxes in the federal Schedule A total plus the disallowed-SALT proration when the $10,000/$5,000 cap bound (printed formula, hand-computed)"
        +}
      • addedInput schema / properties / gaLic65Count
        Added value: +{
        +  "description": "Low Income Credit Worksheet line 3: 1 if filer or spouse is 65+, 2 if both",
        +  "type": "integer"
        +}
      • addedInput schema / properties / gaLicExemptions
        Added value: +{
        +  "description": "Low Income Credit Worksheet line 2: self + spouse + natural/legally adopted children (never other dependents or unborn) (us.ga.low_income_credit)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / gaMilitaryExclusion
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "GA military retirement exclusion for under-62 retirees (Schedule 1 page 3 worksheet: $17,500 + additional $17,500 when GA earned income exceeds $17,500 — hand-computed, per qualifying spouse)"
        +}
      • addedInput schema / properties / gaNolUtilized
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 500 line 15b: Georgia NOL utilized (Schedule 4; cannot exceed line 15a or the 80% limitation — composer caps at 15a)"
        +}
      • addedInput schema / properties / gaOtherStateCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 500 line 18: other state(s) tax credit (printed worksheet, hand-computed; other-state return copy required)"
        +}
      • addedInput schema / properties / gaOtherWithholding
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 500 line 25: GA tax withheld on G2-A / G2-FL / G2-LP / G2-RP statements (never W-2/1099 amounts — those go in the shared stateWithholding for line 24)"
        +}
      • addedInput schema / properties / gaRetirementEarnedIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "primary taxpayer's earned income — at most $5,000 counts inside the exclusion (Schedule 1 worksheet)"
        +}
      • addedInput schema / properties / gaRetirementIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "primary taxpayer's UNEARNED retirement income for the exclusion (pensions, interest, dividends, net rents, capital gains, royalties, military retirement; joint property at 50%; NEVER Social Security — that subtracts automatically)"
        +}
      • addedInput schema / properties / gaSpouseExclusionTier
        Added value: +{
        +  "description": "spouse's GA retirement-exclusion tier (each spouse qualifies separately; never shared)",
        +  "enum": [
        +    "none",
        +    "62to64OrDisabled",
        +    "65plus"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / gaSpouseRetirementEarnedIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "spouse's earned income for the exclusion worksheet"
        +}
      • addedInput schema / properties / gaSpouseRetirementIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "spouse's unearned retirement income for the exclusion"
        +}
      • addedInput schema / properties / gaUetPenalty
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Form 500 line 42: Form 500 UET estimated tax penalty"
        +}
      • changedInput schema / properties / jurisdiction / enum
        Previous value: -[
        -  "il",
        -  "va",
        -  "ca",
        -  "ny",
        -  "pa",
        -  "nj",
        -  "oh"
        -]New value: +[
        +  "il",
        +  "va",
        +  "ca",
        +  "ny",
        +  "pa",
        +  "nj",
        +  "oh",
        +  "nc",
        +  "ga"
        +]
      • addedInput schema / properties / ncBaileyRetirement
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NC Schedule S line 20: Bailey settlement retirement benefits (NC/local government or US government incl. military retirees with 5+ years of creditable service as of Aug 12, 1989; state 401(k)/457 contributed before that date) — fully deducted; enclose the 1099-R"
        +}
      • addedInput schema / properties / ncCharitable
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NC Schedule A: IRC § 170 charitable contributions allowed for the year (no NC dollar cap)"
        +}
      • addedInput schema / properties / ncClaimOfRightRepayment
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NC Schedule A line 8: claim-of-right repayments over $3,000 (deducted in full)"
        +}
      • addedInput schema / properties / ncMedicalExpenses
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NC Schedule A line 7a: medical/dental expenses BEFORE the floor — the composer subtracts 7.5% of federal AGI"
        +}
      • addedInput schema / properties / ncMilitaryRetirement
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NC Schedule S line 21: military retirement pay / SBP payments for members with 20+ years of service OR Chapter 61 medical retirement — never severance, never double-claimed with Bailey"
        +}
      • addedInput schema / properties / ncMortgageInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NC Schedule A: qualified mortgage interest — the composer applies the $20,000 combined cap with real estate taxes and takes itemized only when it beats the standard deduction"
        +}
      • addedInput schema / properties / ncPartnershipPayments
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "D-400 line 21c: NC tax paid by a partnership on the filer's behalf"
        +}
      • addedInput schema / properties / ncQualifyingChildren
        Added value: +{
        +  "description": "D-400 line 10a: count of qualifying children for whom the federal § 24 child tax credit was ALLOWED (under 17; ODC-only dependents never count) — drives the AGI-tiered child deduction (us.nc.child_deduction)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / ncRealEstateTaxes
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NC Schedule A: real estate property taxes (NC allows NO income/sales tax deduction) — inside the $20,000 combined cap"
        +}
      • addedInput schema / properties / ncScorpPayments
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "D-400 line 21d: NC tax paid by an S corporation on the filer's behalf"
        +}
      • addedInput schema / properties / ncTaxCredits
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "D-400 line 16: D-400TC total (other-state credit worksheet, historic rehab) — hand-computed; the composer caps at the line 15 tax. NC has NO EITC and NO child/dependent care credit."
        +}
      • addedInput schema / properties / ncUnderpaymentInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "D-400 line 26e: interest on the underpayment of estimated income tax (Form D-422)"
        +}
      • addedInput schema / properties / ncUsObligationInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NC Schedule S line 18: interest from US obligations (Treasuries, savings bonds) included in FAGI — fully deducted"
        +}
      • addedInput schema / properties / ncUseTaxEstimate
        Added value: +{
        +  "description": "use the printed no-receipts consumer use tax table (keyed to line 14 taxable income, us.nc.use_tax) instead of the useTax input",
        +  "type": "boolean"
        +}
  11. 3 tool updates
    • Changedcalculate_tax17 fields changed
      • addedInput schema / properties / state / properties / njChildrenUnder6
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Count of dependents claimed on NJ-1040 lines 10/11 who were age 5 or younger on the last day of the tax year (born 2020 or later for TY2025) — the NJ Child Tax Credit multiplier (us.nj.ctc)."
        +}
      • addedInput schema / properties / state / properties / njEitcAgeDecoupled
        Added value: +{
        +  "description": "NJ flat-$260 EITC eligibility attested (2025 NJ-1040 line 58): no qualifying child, at least 18 years old, met ALL federal EIC requirements except the age requirement (NJ eliminated both the under-25 floor and the 65+ ceiling), and not claimed as a dependent on another return.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / njFederalCdcc
        Added value: +{
        +  "description": "The federal child and dependent care credit (Form 2441) — Worksheet J line 1 input for us.nj.cdcc. Where the federal liability limit zeroed an otherwise-allowable credit, NJ's mock-return guidance supports the credit the filer WOULD have been eligible for; disclose which 2441 amount was supplied. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / njGrossIncome
        Added value: +{
        +  "description": "New Jersey gross income (NJ-1040 line 29: total category income minus the pension/retirement exclusions, BEFORE exemptions and deductions) — keys the Estimated Use Tax Chart (us.nj.use_tax) and the $10,000/$20,000 filing threshold. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / njMfsSameHome
        Added value: +{
        +  "description": "Married filing separately AND both spouses maintained the SAME principal residence — halves the NJ property tax deduction cap ($7,500) and the credit/threshold amounts ($25).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / njPensionEligible
        Added value: +{
        +  "description": "NJ pension-exclusion age/disability gate attested: the filer (or spouse on a joint return) was age 62 or older OR blind/disabled per Social Security guidelines on the last day of the tax year (2025 NJ-1040 line 28a).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / njPensionIncome
        Added value: +{
        +  "description": "NJ-1040 line 20a taxable pension/annuity/IRA income ELIGIBLE for the line 28a exclusion — on a joint return where only one spouse is 62+/disabled, ONLY that spouse's pension income (the ineligible spouse's share never excludes). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / njPropertyTaxesPaid
        Added value: +{
        +  "description": "NJ-1040 line 40a: property taxes due and paid on the principal residence (homeowners), or 18% of rent paid (tenants; 18% of site fees for mobile-home owners), after any Worksheet G multi-owner/multi-unit proration. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / njTotalIncome
        Added value: +{
        +  "description": "NJ-1040 line 27 total income (all categories, before the pension exclusion) — the pension-exclusion chart tier and $150,000 cliff key on this amount. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ohBothSpousesHaveQualifyingIncome
        Added value: +{
        +  "description": "Ohio joint filing credit gate attested: each spouse has at least $500 of QUALIFYING income included in Ohio AGI — not interest, dividends/distributions, capital gains, or rents/royalties, and not amounts deducted on the Schedule of Adjustments (deducted business income, Social Security, uniformed-services retirement never qualify).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / ohEligibleRetirementIncome
        Added value: +{
        +  "description": "Retirement income received on account of retirement and still INCLUDED in Ohio AGI (both spouses combined) — the us.oh.retirement_income_credit Table 2 input. Excludes everything deducted on the Schedule of Adjustments (Social Security, railroad, uniformed-services retirement). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ohExemptionCount
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "IT 1040 line 4 exemption count: self (unless claimable as a dependent on another return), spouse if filing jointly, plus federal dependents (Schedule of Dependents)."
        +}
      • addedInput schema / properties / state / properties / ohFederalCdccAllowed
        Added value: +{
        +  "description": "Federal Form 2441 line 11 (the liability-LIMITED child and dependent care credit actually allowed federally) — the Ohio CDCC's 25% base when MAGI is $20,000-$39,999. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ohFederalCdccTentative
        Added value: +{
        +  "description": "Federal Form 2441 line 9c (the tentative child and dependent care credit BEFORE the federal liability limit; equals line 9a absent prior-year-expense amounts) — the Ohio CDCC's 100% base when MAGI is under $20,000. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ohModifiedAgi
        Added value: +{
        +  "description": "Ohio modified adjusted gross income (MAGI): Ohio adjusted gross income (IT 1040 line 3) PLUS the business income deduction (Schedule of Adjustments line 13) — the base for the exemption tiers and most credit gates (2025 booklet p. 8). Can be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ohTaxLessCredits
        Added value: +{
        +  "description": "Ohio Schedule of Credits line 11 (line 8c tax less the line 2-9 credits) — the joint filing credit's percentage base. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ohTaxableBusinessIncome
        Added value: +{
        +  "description": "IT 1040 line 6 taxable business income (Schedule of Business Income line 15: business income remaining after the $250,000/$125,000 Business Income Deduction, limited to the line 5 Ohio income tax base) — taxed flat 3% by us.oh.business_income_tax. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_return17 fields changed
      • addedInput schema / properties / state / properties / njChildrenUnder6
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "Count of dependents claimed on NJ-1040 lines 10/11 who were age 5 or younger on the last day of the tax year (born 2020 or later for TY2025) — the NJ Child Tax Credit multiplier (us.nj.ctc)."
        +}
      • addedInput schema / properties / state / properties / njEitcAgeDecoupled
        Added value: +{
        +  "description": "NJ flat-$260 EITC eligibility attested (2025 NJ-1040 line 58): no qualifying child, at least 18 years old, met ALL federal EIC requirements except the age requirement (NJ eliminated both the under-25 floor and the 65+ ceiling), and not claimed as a dependent on another return.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / njFederalCdcc
        Added value: +{
        +  "description": "The federal child and dependent care credit (Form 2441) — Worksheet J line 1 input for us.nj.cdcc. Where the federal liability limit zeroed an otherwise-allowable credit, NJ's mock-return guidance supports the credit the filer WOULD have been eligible for; disclose which 2441 amount was supplied. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / njGrossIncome
        Added value: +{
        +  "description": "New Jersey gross income (NJ-1040 line 29: total category income minus the pension/retirement exclusions, BEFORE exemptions and deductions) — keys the Estimated Use Tax Chart (us.nj.use_tax) and the $10,000/$20,000 filing threshold. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / njMfsSameHome
        Added value: +{
        +  "description": "Married filing separately AND both spouses maintained the SAME principal residence — halves the NJ property tax deduction cap ($7,500) and the credit/threshold amounts ($25).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / njPensionEligible
        Added value: +{
        +  "description": "NJ pension-exclusion age/disability gate attested: the filer (or spouse on a joint return) was age 62 or older OR blind/disabled per Social Security guidelines on the last day of the tax year (2025 NJ-1040 line 28a).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / njPensionIncome
        Added value: +{
        +  "description": "NJ-1040 line 20a taxable pension/annuity/IRA income ELIGIBLE for the line 28a exclusion — on a joint return where only one spouse is 62+/disabled, ONLY that spouse's pension income (the ineligible spouse's share never excludes). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / njPropertyTaxesPaid
        Added value: +{
        +  "description": "NJ-1040 line 40a: property taxes due and paid on the principal residence (homeowners), or 18% of rent paid (tenants; 18% of site fees for mobile-home owners), after any Worksheet G multi-owner/multi-unit proration. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / njTotalIncome
        Added value: +{
        +  "description": "NJ-1040 line 27 total income (all categories, before the pension exclusion) — the pension-exclusion chart tier and $150,000 cliff key on this amount. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ohBothSpousesHaveQualifyingIncome
        Added value: +{
        +  "description": "Ohio joint filing credit gate attested: each spouse has at least $500 of QUALIFYING income included in Ohio AGI — not interest, dividends/distributions, capital gains, or rents/royalties, and not amounts deducted on the Schedule of Adjustments (deducted business income, Social Security, uniformed-services retirement never qualify).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / state / properties / ohEligibleRetirementIncome
        Added value: +{
        +  "description": "Retirement income received on account of retirement and still INCLUDED in Ohio AGI (both spouses combined) — the us.oh.retirement_income_credit Table 2 input. Excludes everything deducted on the Schedule of Adjustments (Social Security, railroad, uniformed-services retirement). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ohExemptionCount
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "IT 1040 line 4 exemption count: self (unless claimable as a dependent on another return), spouse if filing jointly, plus federal dependents (Schedule of Dependents)."
        +}
      • addedInput schema / properties / state / properties / ohFederalCdccAllowed
        Added value: +{
        +  "description": "Federal Form 2441 line 11 (the liability-LIMITED child and dependent care credit actually allowed federally) — the Ohio CDCC's 25% base when MAGI is $20,000-$39,999. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ohFederalCdccTentative
        Added value: +{
        +  "description": "Federal Form 2441 line 9c (the tentative child and dependent care credit BEFORE the federal liability limit; equals line 9a absent prior-year-expense amounts) — the Ohio CDCC's 100% base when MAGI is under $20,000. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ohModifiedAgi
        Added value: +{
        +  "description": "Ohio modified adjusted gross income (MAGI): Ohio adjusted gross income (IT 1040 line 3) PLUS the business income deduction (Schedule of Adjustments line 13) — the base for the exemption tiers and most credit gates (2025 booklet p. 8). Can be negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ohTaxLessCredits
        Added value: +{
        +  "description": "Ohio Schedule of Credits line 11 (line 8c tax less the line 2-9 credits) — the joint filing credit's percentage base. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / ohTaxableBusinessIncome
        Added value: +{
        +  "description": "IT 1040 line 6 taxable business income (Schedule of Business Income line 15: business income remaining after the $250,000/$125,000 Business Income Deduction, limited to the line 5 Ohio income tax base) — taxed flat 3% by us.oh.business_income_tax. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_state_return65 fields changed
      • changedInput schema / properties / jurisdiction / enum
        Previous value: -[
        -  "il",
        -  "va",
        -  "ca",
        -  "ny",
        -  "pa"
        -]New value: +[
        +  "il",
        +  "va",
        +  "ca",
        +  "ny",
        +  "pa",
        +  "nj",
        +  "oh"
        +]
      • addedInput schema / properties / njAbcaAdjustment
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 35 Alternative Business Calculation Adjustment (Schedule NJ-BUS-2 line 11 — the only cross-category loss softener, 20-year carryforward)"
        +}
      • addedInput schema / properties / njAlimonyPaid
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 32 court-ordered alimony PAID (still deductible for NJ; never child support)"
        +}
      • addedInput schema / properties / njAlimonyReceived
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 25 alimony received (NJ did not adopt the TCJA repeal — still NJ income)"
        +}
      • addedInput schema / properties / njArcherMsa
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Archer MSA contributions (federal Form 8853; NJ has NO HSA deduction — never enter HSA amounts)"
        +}
      • addedInput schema / properties / njBaitCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 63 pass-through Business Alternative Income Tax credit (PTE-K-1)"
        +}
      • addedInput schema / properties / njBlindCount
        Added value: +{
        +  "description": "line 8 count (0-2): filer/spouse blind or disabled — $1,000 each",
        +  "type": "integer"
        +}
      • addedInput schema / properties / njBusinessNet
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 18 net profits from business (Schedule NJ-BUS-1 Part I; negative allowed — the composer suppresses a net category loss per the printed rule)"
        +}
      • addedInput schema / properties / njChildrenUnder6
        Added value: +{
        +  "description": "count of line 10/11 dependents age 5 or younger on 12/31 (born 2020 or later for TY2025) — the line 65 NJ Child Tax Credit multiplier ($1,000→$200 each by taxable income ≤ $80,000; MFS ineligible)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / njCojCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 44 credit for income taxes paid to other jurisdictions (Schedule NJ-COJ, hand-computed; composer caps at the line 43 tax). NO credit for Pennsylvania-reciprocal WAGES (the PA/NJ agreement) — Philadelphia wage tax DOES qualify."
        +}
      • addedInput schema / properties / njCollegeDependents
        Added value: +{
        +  "description": "line 12 count: dependents under 22 attending college full-time (five months, half support) — $1,000 each ON TOP of the $1,500 line 10/11 exemption (use the shared dependents input for the $1,500 count)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / njConservationContribution
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 33 qualified conservation contribution (NJ land, federal amount)"
        +}
      • addedInput schema / properties / njDispositionNet
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 19 net gains from disposition of property (Schedule NJ-DOP; NO capital-gain preference, NO loss carryover; negative allowed — suppressed)"
        +}
      • addedInput schema / properties / njDividends
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 17 dividends"
        +}
      • addedInput schema / properties / njDomesticPartner
        Added value: +{
        +  "description": "registered NJ domestic partner claimed as a line 6 regular exemption (+$1,000)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / njEitcAgeDecoupled
        Added value: +{
        +  "description": "flat-$260 NJEITC attested: 18+, no qualifying child, met all federal EIC requirements except age, not claimed as a dependent (NJ eliminated both federal age limits)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / njEitcOverride
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OVERRIDE: us.nj.eitc oracle answer — wins over the composer's 40%-of-federalEITC / $260 computation"
        +}
      • addedInput schema / properties / njExcessDi
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 60 excess disability insurance withheld (over $380.42; NJ-2450)"
        +}
      • addedInput schema / properties / njExcessFli
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 61 excess family leave insurance withheld (over $545.82; NJ-2450)"
        +}
      • addedInput schema / properties / njExcessUiWfSwf
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 59 excess UI/WF/SWF withheld (two+ employers over $184.02; Form NJ-2450)"
        +}
      • addedInput schema / properties / njFederalCdcc
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "the federal Form 2441 child and dependent care credit — enables the line 64 NJ CDCC (us.nj.cdcc: 50%→10% of it by NJ taxable income, $150,000 cap)"
        +}
      • addedInput schema / properties / njGamblingNet
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 24 net gambling winnings (losses net WITHIN the category; NJ Lottery prizes of $10,000 or less are exempt)"
        +}
      • addedInput schema / properties / njGoldStarCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 47 Gold Star Family Counseling Credit (hours × TRICARE rate)"
        +}
      • addedInput schema / properties / njHezDeduction
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 34 Health Enterprise Zone deduction (TB-56)"
        +}
      • addedInput schema / properties / njMedicalExpenses
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "unreimbursed medical expenses (Worksheet F line 1) — the composer applies the 2%-of-line-29 floor"
        +}
      • addedInput schema / properties / njMfsSameHome
        Added value: +{
        +  "description": "MFS and both spouses maintained the SAME main home — halves the property-tax deduction cap ($7,500) and credit ($25)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / njNjbestContributions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 37a NJBEST 529 contributions (composer caps at $10,000; all three 37a-c require gross income ≤ $200,000)"
        +}
      • addedInput schema / properties / njNjclassPaid
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 37b NJCLASS loan principal+interest paid (composer caps at $2,500)"
        +}
      • addedInput schema / properties / njOrganDonationExpenses
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 36 organ/bone-marrow donation expenses (composer caps at $10,000)"
        +}
      • addedInput schema / properties / njOrganDonorEmployerCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 48 employer of organ/bone-marrow donor credit (25% of salary, up to 30 days)"
        +}
      • addedInput schema / properties / njOtherIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 26 other income"
        +}
      • addedInput schema / properties / njOtherRetirementEligible
        Added value: +{
        +  "description": "line 28b Worksheet D gate: filer is 62 or older (the composer auto-computes the unclaimed exclusion when earned income ≤ $3,000 and line 27 ≤ $100,000)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / njOtherRetirementExclusion
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OVERRIDE: hand-computed Worksheet D line 9 unclaimed exclusion (required for the $100,001-$150,000 percentage tiers)"
        +}
      • addedInput schema / properties / njPartnershipNet
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 21 distributive share of partnership income (NJK-1; negative suppressed)"
        +}
      • addedInput schema / properties / njPension
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 20a TAXABLE pension/annuity/IRA distributions (NJ three-year rule / general rule basis recovery already applied; Social Security and Railroad Retirement are exempt and never entered)"
        +}
      • addedInput schema / properties / njPensionEligible
        Added value: +{
        +  "description": "line 28a gate: filer (or spouse if joint) was 62+ OR blind/disabled per Social Security guidelines on the last day of the year — enables the pension exclusion (us.nj.pension_exclusion)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / njPensionEligibleAmount
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "joint returns where only ONE spouse is 62+/disabled: that spouse's share of line 20a (the exclusion never covers the ineligible spouse's pension). Defaults to all of line 20a."
        +}
      • addedInput schema / properties / njPensionExcludable
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 20b excludable (previously-taxed) pension/annuity/IRA amounts — display only"
        +}
      • addedInput schema / properties / njPropertyTaxesPaid
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 40a: property taxes due and paid on the principal residence (homeowners; after Worksheet G proration). Tenants: use njRentPaid instead and the composer applies the 18% conversion."
        +}
      • addedInput schema / properties / njRentPaid
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "rent paid on the NJ principal residence (tenants) — the composer enters 18% of it on line 40a"
        +}
      • addedInput schema / properties / njRentRoyaltyNet
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 23 net rents/royalties/patents/copyrights (negative suppressed)"
        +}
      • addedInput schema / properties / njScorpNet
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 22 net pro rata share of S corporation income (NJ-K-1; negative suppressed)"
        +}
      • addedInput schema / properties / njSeHealthInsurance
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "self-employed health insurance deduction (Worksheet F line 5)"
        +}
      • addedInput schema / properties / njSeniorCount
        Added value: +{
        +  "description": "line 7 count (0-2): filer/spouse 65 or older (born 1960 or earlier for TY2025) — $1,000 each",
        +  "type": "integer"
        +}
      • addedInput schema / properties / njShelteredWorkshopCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 46 Sheltered Workshop Tax Credit (GIT-317)"
        +}
      • addedInput schema / properties / njSpecialExclusion
        Added value: +{
        +  "description": "line 28b Special Exclusion attested: filer (and spouse if joint) will NEVER be eligible for Social Security/Railroad Retirement because the employer did not participate — adds $6,000 (MFJ/HOH/QSS) / $3,000 (single/MFS)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / njSrp
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 53c Shared Responsibility Payment (Worksheet L/Schedule NJ-HCC, hand-computed from coverage months; composer zeroes it below the filing threshold)"
        +}
      • addedInput schema / properties / njTaxExemptInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 16b tax-exempt interest (reported, never taxed)"
        +}
      • addedInput schema / properties / njTaxableInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 16a taxable interest (NJ-exempt: federal obligations, NJ municipal bonds — exclude here, report on 16b)"
        +}
      • addedInput schema / properties / njTuitionPaid
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 37c NJ-institution tuition paid (composer caps at $10,000)"
        +}
      • addedInput schema / properties / njUnderpaymentInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 52 interest on underpayment of estimated tax (Form NJ-2210)"
        +}
      • addedInput schema / properties / njVeteranCount
        Added value: +{
        +  "description": "line 9 count (0-2): filer/spouse honorably-discharged veterans — $6,000 each",
        +  "type": "integer"
        +}
      • addedInput schema / properties / njWages
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 15: W-2 BOX 16 state wages total (falls back to the shared wages input; NJ taxes cafeteria/125 benefits and some items federal Box 1 excludes)"
        +}
      • addedInput schema / properties / njWwcCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "NJ-1040 line 62 Wounded Warrior Caregivers Credit (Schedule NJ-WWC; gross income ≤ $100,000 MFJ/HOH/QSS, ≤ $50,000 single/MFS)"
        +}
      • addedInput schema / properties / ohAge65OrOlder
        Added value: +{
        +  "description": "filer (or spouse) was 65 or older at year end — $50 senior citizen credit (once per return; NOT available if the lump sum distribution credit was ever taken)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / ohBothSpousesQualifyingIncome
        Added value: +{
        +  "description": "joint filing credit gate: EACH spouse has $500+ of qualifying income included in Ohio AGI (not interest/dividends/capital gains/rents, and not BID-deducted business income or deducted Social Security/retirement)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / ohBusinessIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OH Schedule of Business Income Part 1 line 10: total business income (Schedule B/C/D/E/F + guaranteed payments to 20%+ owners + § 4797) — the composer runs the $250,000/$125,000 Business Income Deduction and the flat-3% line 6/8b arithmetic from it"
        +}
      • addedInput schema / properties / ohEicOverride
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OVERRIDE: us.oh.eic oracle answer — wins over the composer's 30%-of-federalEITC line 13 computation"
        +}
      • addedInput schema / properties / ohFederalCdccAllowed
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "federal Form 2441 line 11 (liability-limited allowed credit) — the Ohio CDCC pays 25% of it when MAGI is $20,000-$39,999"
        +}
      • addedInput schema / properties / ohFederalCdccTentative
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "federal Form 2441 line 9c (tentative credit before the federal liability limit) — the Ohio CDCC pays 100% of it when MAGI < $20,000"
        +}
      • addedInput schema / properties / ohInterestPenalty
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "IT 1040 line 11 interest penalty on underpayment of estimated tax (Ohio IT/SD 2210)"
        +}
      • addedInput schema / properties / ohNonresidentCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OH Schedule of Credits line 38 nonresident credit (Ohio IT NRC, hand-computed)"
        +}
      • addedInput schema / properties / ohOtherCreditsPreJfc
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OH Schedule of Credits lines 3+5+7+8 (lump sum retirement, lump sum distribution, displaced worker training, campaign contribution) — transcribed; they subtract BEFORE the joint filing credit's line-11 base"
        +}
      • addedInput schema / properties / ohResidentCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "OH Schedule of Credits line 39 resident credit for taxes paid other states (Ohio IT RC, hand-computed)"
        +}
      • addedInput schema / properties / ohRetirementIncome
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "retirement income received on account of retirement still INCLUDED in Ohio AGI, both spouses combined (NOT Social Security/railroad/uniformed-services amounts — those are deducted and never qualify) — drives the retirement income credit (max $200)"
        +}
  12. 3 tool updates
    • Changedcalculate_tax18 fields changed
      • addedInput schema / properties / state / properties / pa529Contributions
        Added value: +{
        +  "description": "PA Schedule O § 529 tuition-program contribution deduction, ALREADY capped by the caller at $19,000 per beneficiary per taxpayer-spouse (2025) — the corpus cannot see per-beneficiary detail. No deduction for 529-to-529 rollovers or beneficiary changes. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paAbleContributions
        Added value: +{
        +  "description": "PA Schedule O § 529A ABLE contribution deduction, capped by the caller at the annual federal gift-tax exclusion ($19,000 for 2025). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paBusinessNetIncome
        Added value: +{
        +  "description": "Taxpayer's own net income or LOSS from business/profession/farm (PA-40 line 4 class, after within-class netting of the taxpayer's own activities). Negative allowed; a loss never offsets other classes or the spouse. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paCompensationAdjustment
        Added value: +{
        +  "description": "PA compensation adjustment: W-2 Box 16 total MINUS Box 1 total (PA taxes 401(k)/elective deferrals as compensation; active-duty pay outside PA and other exempt items reduce it). May be negative. Default 0 assumes Box 16 = Box 1. Taxable early retirement-plan/IRA distributions under PA's cost-recovery method also go here. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paDividendIncome
        Added value: +{
        +  "description": "PA-taxable dividend income (PA-40 line 3, gross class) INCLUDING mutual-fund capital gains distributions, which PA classifies as dividends. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paEligibilityIncomeAddbacks
        Added value: +{
        +  "description": "PA Schedule SP Section III nontaxable add-backs to eligibility income: nontaxable interest/dividends/gains, alimony received, insurance proceeds and inheritances (incl. 1099-R code-4 box 1), gifts/awards/prizes (incl. noncash PA Lottery), non-PA income, nontaxable military pay (not combat), excluded home-sale gain, nontaxable educational assistance, outside cash support. Do NOT add Social Security/RRB, eligible retirement benefits, child support, military pensions, workers' comp, personal-injury damages, or sick/disability pay. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paEstateTrustIncome
        Added value: +{
        +  "description": "PA-taxable income from estates or trusts (PA-40 line 7, Schedule J) — an estate or trust cannot distribute a loss, so this is never negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paGamblingWinnings
        Added value: +{
        +  "description": "PA-taxable gambling and lottery winnings (PA-40 line 8, Schedule T) net of wager costs (PA Lottery ticket costs deductible only for tickets bought on/after 1/1/2016); noncash PA Lottery prizes are exempt. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paInterestIncome
        Added value: +{
        +  "description": "PA-taxable interest income (PA-40 line 2, gross class — no expenses; forfeited-interest penalties may offset within the class before entry). Includes commercial-annuity income taxable as PA interest. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paMsaHsaContributions
        Added value: +{
        +  "description": "PA Schedule O Medical Savings Account + Health Savings Account contribution deductions — limited to the amounts allowed for FEDERAL income tax purposes (supply the federal-allowed total). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paPropertyGainNet
        Added value: +{
        +  "description": "Taxpayer's own net gain or LOSS from sale/exchange/disposition of property (PA-40 line 5 class). Negative allowed; no carryover, no cross-class or spousal offset. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paRentRoyaltyNet
        Added value: +{
        +  "description": "Taxpayer's own net income or LOSS from rents/royalties/patents/copyrights (PA-40 line 6 class). Negative allowed; short-term rentals (<30 days) belong in the business class instead. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paResidentCredit
        Added value: +{
        +  "description": "PA resident credit for income tax paid to other states (PA-40 line 22, Schedule G-L; not allowed for reciprocal-state compensation: IN, MD, NJ, OH, VA, WV). Subtracts from tax BEFORE Tax Forgiveness per Schedule SP Section IV. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paSpDependentChildren
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "PA Schedule SP dependent CHILDREN count (natural/adopted/step; grandchild of a grandparent; foster child of a foster parent — never aunts/uncles/unrelated persons) claimable as federal dependents; adult qualifying children count. Raises the Tax Forgiveness eligibility-income threshold $9,500 each."
        +}
      • addedInput schema / properties / state / properties / paSpouseBusinessNetIncome
        Added value: +{
        +  "description": "Spouse's own net income or LOSS from business/profession/farm (PA-40 line 4 class). Negative allowed; never netted against the taxpayer's. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paSpousePropertyGainNet
        Added value: +{
        +  "description": "Spouse's own net gain or LOSS from disposition of property (PA-40 line 5 class). Negative allowed; never netted against the taxpayer's. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paSpouseRentRoyaltyNet
        Added value: +{
        +  "description": "Spouse's own net income or LOSS from rents/royalties/patents/copyrights (PA-40 line 6 class). Negative allowed; never netted against the taxpayer's. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paUnreimbursedBusinessExpenses
        Added value: +{
        +  "description": "PA Schedule UE unreimbursed employee business expenses (PA-40 line 1b) — a compensation-class expense, not a line-10 deduction. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_return18 fields changed
      • addedInput schema / properties / state / properties / pa529Contributions
        Added value: +{
        +  "description": "PA Schedule O § 529 tuition-program contribution deduction, ALREADY capped by the caller at $19,000 per beneficiary per taxpayer-spouse (2025) — the corpus cannot see per-beneficiary detail. No deduction for 529-to-529 rollovers or beneficiary changes. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paAbleContributions
        Added value: +{
        +  "description": "PA Schedule O § 529A ABLE contribution deduction, capped by the caller at the annual federal gift-tax exclusion ($19,000 for 2025). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paBusinessNetIncome
        Added value: +{
        +  "description": "Taxpayer's own net income or LOSS from business/profession/farm (PA-40 line 4 class, after within-class netting of the taxpayer's own activities). Negative allowed; a loss never offsets other classes or the spouse. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paCompensationAdjustment
        Added value: +{
        +  "description": "PA compensation adjustment: W-2 Box 16 total MINUS Box 1 total (PA taxes 401(k)/elective deferrals as compensation; active-duty pay outside PA and other exempt items reduce it). May be negative. Default 0 assumes Box 16 = Box 1. Taxable early retirement-plan/IRA distributions under PA's cost-recovery method also go here. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paDividendIncome
        Added value: +{
        +  "description": "PA-taxable dividend income (PA-40 line 3, gross class) INCLUDING mutual-fund capital gains distributions, which PA classifies as dividends. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paEligibilityIncomeAddbacks
        Added value: +{
        +  "description": "PA Schedule SP Section III nontaxable add-backs to eligibility income: nontaxable interest/dividends/gains, alimony received, insurance proceeds and inheritances (incl. 1099-R code-4 box 1), gifts/awards/prizes (incl. noncash PA Lottery), non-PA income, nontaxable military pay (not combat), excluded home-sale gain, nontaxable educational assistance, outside cash support. Do NOT add Social Security/RRB, eligible retirement benefits, child support, military pensions, workers' comp, personal-injury damages, or sick/disability pay. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paEstateTrustIncome
        Added value: +{
        +  "description": "PA-taxable income from estates or trusts (PA-40 line 7, Schedule J) — an estate or trust cannot distribute a loss, so this is never negative. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paGamblingWinnings
        Added value: +{
        +  "description": "PA-taxable gambling and lottery winnings (PA-40 line 8, Schedule T) net of wager costs (PA Lottery ticket costs deductible only for tickets bought on/after 1/1/2016); noncash PA Lottery prizes are exempt. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paInterestIncome
        Added value: +{
        +  "description": "PA-taxable interest income (PA-40 line 2, gross class — no expenses; forfeited-interest penalties may offset within the class before entry). Includes commercial-annuity income taxable as PA interest. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paMsaHsaContributions
        Added value: +{
        +  "description": "PA Schedule O Medical Savings Account + Health Savings Account contribution deductions — limited to the amounts allowed for FEDERAL income tax purposes (supply the federal-allowed total). In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paPropertyGainNet
        Added value: +{
        +  "description": "Taxpayer's own net gain or LOSS from sale/exchange/disposition of property (PA-40 line 5 class). Negative allowed; no carryover, no cross-class or spousal offset. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paRentRoyaltyNet
        Added value: +{
        +  "description": "Taxpayer's own net income or LOSS from rents/royalties/patents/copyrights (PA-40 line 6 class). Negative allowed; short-term rentals (<30 days) belong in the business class instead. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paResidentCredit
        Added value: +{
        +  "description": "PA resident credit for income tax paid to other states (PA-40 line 22, Schedule G-L; not allowed for reciprocal-state compensation: IN, MD, NJ, OH, VA, WV). Subtracts from tax BEFORE Tax Forgiveness per Schedule SP Section IV. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paSpDependentChildren
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ],
        +  "description": "PA Schedule SP dependent CHILDREN count (natural/adopted/step; grandchild of a grandparent; foster child of a foster parent — never aunts/uncles/unrelated persons) claimable as federal dependents; adult qualifying children count. Raises the Tax Forgiveness eligibility-income threshold $9,500 each."
        +}
      • addedInput schema / properties / state / properties / paSpouseBusinessNetIncome
        Added value: +{
        +  "description": "Spouse's own net income or LOSS from business/profession/farm (PA-40 line 4 class). Negative allowed; never netted against the taxpayer's. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paSpousePropertyGainNet
        Added value: +{
        +  "description": "Spouse's own net gain or LOSS from disposition of property (PA-40 line 5 class). Negative allowed; never netted against the taxpayer's. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paSpouseRentRoyaltyNet
        Added value: +{
        +  "description": "Spouse's own net income or LOSS from rents/royalties/patents/copyrights (PA-40 line 6 class). Negative allowed; never netted against the taxpayer's. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / state / properties / paUnreimbursedBusinessExpenses
        Added value: +{
        +  "description": "PA Schedule UE unreimbursed employee business expenses (PA-40 line 1b) — a compensation-class expense, not a line-10 deduction. In dollars.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
    • Changedcompute_state_return85 fields changed
      • changedInput schema / properties / additions / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caAb5GrossIncomeAddition / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caAb5NetLossAddition / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caAmt / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caAmtTaxesAddback / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caBhst / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caCalEITC / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caDepreciationAddition / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caEducatorExpensesDeducted / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caHsaDeduction / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caHsaTaxableDistribution / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caIsoPreference / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caItemizedDeductions / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caRentersCredit / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caTaxableEarlyDistribution / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / caYCTC / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / cityWithholding / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / estimatedPayments / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / extensionPayment / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / federalAGI / description
        Previous value: -"federal Form 1040 line 11 (from compute_return, verbatim)"New value: +"federal Form 1040 line 11 (from compute_return, verbatim). REQUIRED for il/va/ca/ny — the composer refuses without it. NOT used by PA (class-based: pass the pa* class fields instead)."
      • addedInput schema / properties / federalEITC / $ref
        Added value: +"#/properties/federalAGI"
      • removedInput schema / properties / federalEITC / type
        Removed value: -"number"
      • changedInput schema / properties / ilEitcOverride / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / ilK12Expenses / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / ilPropertyTaxPaid / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / ilTeacherExpenses / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / jurisdiction / enum
        Previous value: -[
        -  "il",
        -  "va",
        -  "ca",
        -  "ny"
        -]New value: +[
        +  "il",
        +  "va",
        +  "ca",
        +  "ny",
        +  "pa"
        +]
      • changedInput schema / properties / nonrefundableCredits / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / nyHouseholdCredit / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / nycHouseholdCredit / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / nycTaxableIncome / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • addedInput schema / properties / pa529Contributions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Schedule O code T: § 529 contributions, ALREADY capped at $19,000 per beneficiary per taxpayer-spouse (2025); no deduction for rollovers/beneficiary changes"
        +}
      • addedInput schema / properties / paAbleContributions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Schedule O code A: PA ABLE contributions, capped at the federal gift-tax exclusion ($19,000 for 2025)"
        +}
      • addedInput schema / properties / paBusinessNet
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 4, TAXPAYER's own net business/profession/farm income or LOSS (negative allowed; within-class netting of the taxpayer's own activities only — a loss never crosses classes or spouses)"
        +}
      • addedInput schema / properties / paDividends
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 3: PA-taxable dividends INCLUDING mutual-fund capital-gain distributions (PA classifies them as dividends, not gains)"
        +}
      • addedInput schema / properties / paEligibilityAddbacks
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Schedule SP Section III nontaxable add-backs (gifts, inheritances, insurance proceeds, non-PA income, nontaxable military pay, excluded home-sale gain, educational assistance, outside cash support). NOT Social Security, eligible retirement benefits, child support, or workers' comp."
        +}
      • addedInput schema / properties / paEstateTrust
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 7: estate/trust income (PA Schedule J; an estate or trust cannot distribute a loss — never negative)"
        +}
      • addedInput schema / properties / paGambling
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 8: gambling and lottery winnings net of wager costs (noncash PA Lottery prizes exempt; cash prizes taxable)"
        +}
      • addedInput schema / properties / paGrossCompensation
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 1a: W-2 BOX 16 total (NOT Box 1 — 401(k)/elective deferrals are PA-taxable; eligible retirement distributions are exempt and excluded). Falls back to the shared wages input when omitted (composer discloses). Include taxable early-distribution amounts under the cost-recovery method."
        +}
      • addedInput schema / properties / paInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 2: PA-taxable interest (gross class — no expenses; includes commercial-annuity interest taxable as PA interest)"
        +}
      • addedInput schema / properties / paMsaHsaContributions
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Schedule O codes M/H: MSA + HSA contributions at the federally-allowed amounts"
        +}
      • addedInput schema / properties / paNrk1Withholding
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 17: nonresident tax withheld from PA Schedule(s) NRK-1"
        +}
      • addedInput schema / properties / paPenaltiesInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 27: penalties and interest incl. estimated-underpayment penalty (REV-1630)"
        +}
      • addedInput schema / properties / paPropertyNet
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 5, taxpayer's own net gain/loss from sale/exchange/disposition of property (negative allowed; no carryover)"
        +}
      • addedInput schema / properties / paRentRoyaltyNet
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 6, taxpayer's own net rents/royalties/patents/copyrights (short-term rentals under 30 days are BUSINESS income, line 4)"
        +}
      • addedInput schema / properties / paResidentCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 22: resident credit for tax paid other states (Schedule G-L; not for reciprocal-state compensation: IN/MD/NJ/OH/VA/WV). Subtracts BEFORE Tax Forgiveness — the composer handles the ordering."
        +}
      • addedInput schema / properties / paScheduleDcCredit
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 23 component: the Child and Dependent Care Enhancement credit — pass us.pa.cdcc's computed answer (= 100% of the federal Form 2441 line 9a tentative credit; refundable)"
        +}
      • addedInput schema / properties / paScheduleOcCredits
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 23 component: Schedule OC restricted credits total (transcribed; no oracle target)"
        +}
      • addedInput schema / properties / paSpDependentChildren
        Added value: +{
        +  "description": "Schedule SP dependent CHILDREN count (child/stepchild/adopted; grandchild of a grandparent; foster child of a foster parent — never other relatives) claimable as federal dependents; each adds $9,500 to the Tax Forgiveness eligibility-income threshold",
        +  "type": "integer"
        +}
      • addedInput schema / properties / paSpouseBusinessNet
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 4, SPOUSE's own net business income or loss (kept separate: PA never nets one spouse's loss against the other's income)"
        +}
      • addedInput schema / properties / paSpousePropertyNet
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 5, spouse's own net property gain/loss"
        +}
      • addedInput schema / properties / paSpouseRentRoyaltyNet
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 6, spouse's own net rent/royalty amount"
        +}
      • addedInput schema / properties / paStudentLoanInterest
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "Schedule O code S: student loan interest PAID (new deduction for 2025; the composer caps at $2,500 — pass the uncapped amount)"
        +}
      • addedInput schema / properties / paUnreimbursedExpenses
        Added value: +{
        +  "$ref": "#/properties/federalAGI",
        +  "description": "PA-40 line 1b: Schedule UE unreimbursed employee business expenses (a compensation-class expense, never a line-10 deduction)"
        +}
      • changedInput schema / properties / priorYearOverpaymentCredited / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / refundableCredits / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / spouseStateWithholding / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / stateWithholding / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / subtractions / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / taxableSocialSecurity / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / unemploymentCompensation / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / useTax / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaAgeDeduction / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaFamilyVagi / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaItemizedCasualty / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaItemizedCharitable / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaItemizedGambling / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaItemizedInvestmentInterest / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaItemizedMedical / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaItemizedMortgageInterest / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaItemizedOther / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaItemizedOtherTaxes / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaItemizedPersonalPropertyTaxes / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaItemizedRealEstateTaxes / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaItemizedSalesTaxes / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaItemizedStateLocalIncomeTaxes / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaRefundableEitc / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaScheduleAdjDeductions / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaSpouseTaxAdjustment / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaSpouseVagi / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / vaYourVagi / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / wages / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / yonkersSurcharge / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / properties / yonkersWithholding / $ref
        Previous value: -"#/properties/federalEITC"New value: +"#/properties/federalAGI"
      • changedInput schema / required
        Previous value: -[
        -  "jurisdiction",
        -  "federalAGI",
        -  "asOf"
        -]New value: +[
        +  "jurisdiction",
        +  "asOf"
        +]
  13. 15 tool updates
    • First observedcalculate_business_tax
    • First observedcalculate_fiduciary_tax
    • First observedcalculate_tax
    • First observedcompare_filing_statuses
    • First observedcompute_return
    • First observedcompute_state_return
    • First observeddetermine_dependent
    • First observedexplain_rule
    • First observedfind_tax_cliffs
    • First observedis_tipped_occupation
    • First observedlist_input_facts
    • First observedlookup_tax_parameter
    • First observedsearch_tax_rules
    • First observedverify_fact
    • First observedverify_tax_claim

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Open-source, accountant-verified tax computation skills for AI agents. 261+ skills across 172+ jurisdictions covering income tax, VAT/GST, payroll, corporate tax, crypto, and cross-border planning. Every skill is verified section-by-section by licensed CPAs and chartered accountants. 3 tools (list_skills, get_skill, get_skill_sections) and 1 prompt (skill-review).
    3
    362
    AGPL 3.0
  • F
    license
    Not graded
    quality
    B
    maintenance
    24 free personal-finance and macro tools (mortgage, paycheck, tax, FRED, BLS) for LLM agents. Zero API keys, stdio transport, source-cited from IRS, Federal Reserve, BLS, Treasury, and Freddie Mac.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4/5.0
Disambiguation3/5

The compute tools are well-routed — calculate_tax explicitly directs business entities and fiduciaries to their own calculators — but verify_fact and verify_tax_claim are near-duplicates that differ only in whether the number being checked is a law parameter or a computed tax amount, and calculate_tax versus compute_return both accept the same individual-return input, distinguished only by output granularity. These two pairs create real misselection risk despite the detailed descriptions.

Naming Consistency5/5

Every tool uses a snake_case verb-first pattern: calculate_*, compute_*, compare_*, determine_*, explain_*, find_*, list_*, lookup_*, search_*, verify_*. The single outlier, is_tipped_occupation, still follows the verb-first snake_case convention, so there is no mixing of styles.

Tool Count5/5

Fifteen tools is at the top of the well-scoped band, but the domain is enormous — federal individual, business, and fiduciary computation, an 18-state return composer, and a citation-backed tax-law corpus with search, explanation, and verification utilities. Each tool has a distinct job, and the count feels lean rather than bloated for the stated scope.

Completeness4/5

The computational lifecycle is well covered: individual liability, the full 1040 line set, entity and fiduciary variants, state returns, filing-status comparison, dependent determination, and self-verification of any produced number. Minor gaps remain — only 18 of 50 states are modeled, and transfer taxes (Forms 706/709), payroll/FICA, and international forms are absent — but the tools refuse loudly on unmodeled territory rather than failing silently.

Resources