State tax docs / States / New York
New York state income tax: engine rules, 2026
How the QuantCalc engine computes New York tax for tax year 2026, rule by rule, with the official source for each rule. Verification status: Worksheet-tested (what this means).
On this page: How the tax is computed · Rate schedule · Deductions, exemptions and credits · Social Security · IRA, 401(k) and private pensions · Public pensions · Military retirement pay · Roth conversions · Capital gains · Surtaxes and recapture · Worked examples · Not calculated ·
Verification. Machine-readable: this state's entry in the
engine config and the provenance file
(key NY).
How the tax is computed
Every step the engine takes for New York, in the order it takes them. Steps marked with a filing status or household type apply only there. Each step links the section below that carries New York's figures and the official sources for it; the calculation order page describes every step for all jurisdictions.
What each filing status gets, read back from the engine for a household with $1 of income (so below every phase-out and income test):
| Single | Married filing jointly | Married filing separately | Head of household | |
|---|---|---|---|---|
| Rate schedule used | single schedule | joint schedule | joint schedule, thresholds halved | head-of-household schedule |
| Top rate | 10.9% from $25,000,000 | 10.9% from $25,000,000 | 10.9% from $12,500,000 | 10.9% from $25,000,000 |
| Standard deduction, under 65 | $8,000 | $16,050 | $8,025 | $11,200 |
| Standard deduction at 70 (joint: both 70) | $8,000 | $16,050 | $8,025 | $11,200 |
| Personal exemption | none | none | none | none |
| Age subtractions at 70 (joint: both 70) | none | none | none | none |
- Per-person mode joint returns with the spouse's age given On a joint return with the spouse's age given, every age test the state applies per taxpayer is evaluated for each spouse at their own age. Without it one household age applies to both.
engine step (compute_state_tax_detail). Engine convention, no external source: The engine cannot know the second spouse's age unless told. - Rate schedule and standard deduction by filing status Single uses the single schedule and deduction; married filing jointly the joint ones. Head of household and married filing separately follow the two steps below.
New York's values · engine step (select_brackets). Sources (Rate schedule): Instructions for Form IT-2105 Estimated Income Tax Payment Voucher for Individuals (2026) (checked 2026-09-27); Irs releases tax inflation adjustments for tax year 2026 including amendments from the one big beautiful bill (checked 2026-09-27) - Married filing separately Where the state publishes its own separate schedule, that one (with half the joint deduction unless a separate deduction is set). Where one schedule applies to every status, that schedule unscaled with the single deduction. Otherwise the joint schedule with every threshold and the deduction halved (computed as the joint tax on twice the income, halved).
New York's values · engine step (select_brackets). Sources (Rate schedule): Instructions for Form IT-2105 Estimated Income Tax Payment Voucher for Individuals (2026) (checked 2026-09-27); Irs releases tax inflation adjustments for tax year 2026 including amendments from the one big beautiful bill (checked 2026-09-27) - Head of household The state's head-of-household schedule where it has one, else the single schedule; the head-of-household deduction where set, else the single deduction.
New York's values · engine step (select_brackets). Sources (Rate schedule): Instructions for Form IT-2105 Estimated Income Tax Payment Voucher for Individuals (2026) (checked 2026-09-27); Irs releases tax inflation adjustments for tax year 2026 including amendments from the one big beautiful bill (checked 2026-09-27) - The income total every income test uses Other ordinary income + retirement distributions (before any exclusion) + conversion + federally taxable Social Security + long-term gains. It stands in for federal adjusted gross income in every threshold, cliff and phase-out below; state subtractions do not reduce it.
engine step (compute_state_tax_detail). Engine convention, no external source: The inputs are the federal AGI components, so their sum is federal AGI for these income types. - Attributing income to each spouse joint returns with each spouse's own amounts given With a caller's split (the API's
spouseobject), each spouse's own distributions, pension, public pension, conversion, wages and military pay; spouse 2's shares are clamped into the household totals and spouse 1 gets the rest. Without a split, in per-person mode, every item is divided 50/50. Social Security, other ordinary income and gains are always divided 50/50 where a rule needs a per-person amount. The split is used only where a state's rule is per taxpayer; household totals stay authoritative for the base and the income tests.
engine step (compute_state_tax_detail). Engine convention, no external source: Equal attribution is the neutral split when the owner of a dollar is not known. - Keeping the per-spouse shares inside the household joint returns with each spouse's own amounts given After the public-pension and employer-pension carve-outs, if the two spouses' remaining shares add up to more than the household's exclusion-eligible distributions (an inconsistent split), spouse 1's share is reduced so they do not.
engine step (compute_state_tax_detail). Engine convention, no external source: Input normalisation. - Military retirement pay The state's military rule runs first, on military pay alone, per taxpayer: each spouse's own pay at their own age when attributed, otherwise half each at the household age on a joint return. Exempt dollars leave the base; the rest become pension dollars for the general retirement rules.
New York's values · engine step (compute_state_tax_detail). Sources (Military retirement pay): It201i (checked 2026-09-27) - One taxpayer's military exemption Exempt: all of it (below the age split, up to the younger cap). Capped: up to the cap for the age tier, plus the earned-income bonus below the age split when the taxpayer's own wages exceed the threshold, less the taxpayer's own Social Security where the rule says so. Percentage: the percentage (below the age split, up to the younger cap). Then the income limit: above it the exemption is lost, or phased out over the range where one is set.
New York's values · engine step (military_exempt_one). Sources (Military retirement pay): It201i (checked 2026-09-27) - Public pension exemption Public-pension dollars leave the base, uncapped or up to the per-taxpayer cap (each spouse's own public pension against their own cap when attributed), without using up the general exclusion the remaining distributions may claim. Capped-out public dollars stay taxable and cannot draw the private exclusion.
New York's values · engine step (compute_state_tax_detail). Sources (Public pensions): Instructions for Form IT-201 Full-Year Resident Income Tax Return (2025) (checked 2026-09-27); Form IT-201 Resident Income Tax Return (2025) (checked 2026-09-27) - Social Security exempt None of the federally taxable benefit enters the base.
New York's values · engine step (ss_amount_in_state_base). Sources (Social Security): Form IT-201 Resident Income Tax Return (2025) (checked 2026-09-27) - Does a conversion draw the retirement cap? Where the state lets a conversion draw the capped exclusion, and the filer is at or above the conversion age, the conversion is pooled with distributions against the cap.
New York's values · engine step (compute_state_tax_detail). Sources (Roth conversions): TSB-M-98(7)I: Roth IRAs (Technical Services Bureau Memorandum, December 24, 1998) (checked 2026-09-27) - Retirement exclusion per spouse (both ages known) joint returns with the spouse's age given Full-exclusion states exclude each qualifying spouse's own dollars. Capped states give each spouse the single cap for their own age against their own eligible dollars (pension dollars only where the exclusion is pension-only; employer dollars only below the IRA age), less their military exclusion and half of any Social Security offset. Per-return states (and the pooled-if-both-qualify rule when both qualify) apply the joint cap to the couple's pooled eligible dollars when either spouse qualifies. The income tests then apply once to the summed deduction.
New York's values · engine step (compute_state_tax_detail). Sources (IRA, 401(k) and private pensions): Instructions for Form IT-201 Full-Year Resident Income Tax Return (2025) (checked 2026-09-27); Form IT-201 Resident Income Tax Return (2025) (checked 2026-09-27) - Conversion pooled with distributions The conversion joins the distributions against the one cap (with a spouse split in a per-taxpayer state, each spouse's own distributions and conversion against that spouse's cap). Nothing of the conversion is added separately.
New York's values · engine step (compute_state_tax_detail). Sources (Roth conversions): TSB-M-98(7)I: Roth IRAs (Technical Services Bureau Memorandum, December 24, 1998) (checked 2026-09-27) - Retirement exclusion (household) The distributions eligible for the exclusion go through the exclusion below. Taxable public-pension dollars left by a cap are not eligible; below the IRA age only employer-plan dollars are.
New York's values · engine step (compute_state_tax_detail). Sources (IRA, 401(k) and private pensions): Instructions for Form IT-201 Full-Year Resident Income Tax Return (2025) (checked 2026-09-27); Form IT-201 Resident Income Tax Return (2025) (checked 2026-09-27) - Conversion taxed or exempt In full-exclusion states a conversion is exempt at the qualifying age (at any age where the state says so). Elsewhere, unless pooled above, it is ordinary income taxed in full.
New York's values · engine step (compute_state_tax_detail). Sources (Roth conversions): TSB-M-98(7)I: Roth IRAs (Technical Services Bureau Memorandum, December 24, 1998) (checked 2026-09-27) - Cap by age tier The full cap at or above the exclusion age, the lower cap at or above the partial age, otherwise none. Joint returns use the joint cap; every other status the single cap.
New York's values · engine step (retirement_distributions_in_state_base). Sources (IRA, 401(k) and private pensions): Instructions for Form IT-201 Full-Year Resident Income Tax Return (2025) (checked 2026-09-27); Form IT-201 Resident Income Tax Return (2025) (checked 2026-09-27) - The capped deduction Deduction = the smaller of the eligible distributions and the cap, then reduced by the income limit above; the rest of the distributions stays in the base.
New York's values · engine step (retirement_distributions_in_state_base). Sources (IRA, 401(k) and private pensions): Instructions for Form IT-201 Full-Year Resident Income Tax Return (2025) (checked 2026-09-27); Form IT-201 Resident Income Tax Return (2025) (checked 2026-09-27) - One taxpayer's cap joint returns with the spouse's age given For per-spouse calculations, each spouse's cap is the single-column cap for their age tier.
New York's values · engine step (per_taxpayer_cap_single). Sources (IRA, 401(k) and private pensions): Instructions for Form IT-201 Full-Year Resident Income Tax Return (2025) (checked 2026-09-27); Form IT-201 Resident Income Tax Return (2025) (checked 2026-09-27) - Long-term gains in the base Where gains are taxed as ordinary income: net long-term gain less the flat exclusion (never below zero), times the inclusion share. Elsewhere none enters.
New York's values · engine step (compute_state_tax_detail). Sources (Capital gains): Form IT-201 Resident Income Tax Return (2025) (checked 2026-09-27) - State taxable income Other ordinary income + Social Security, retirement income, conversion and gains left in the base − standard deduction − personal exemption − age subtractions.
engine step (compute_state_tax_detail). Engine convention, no external source: The order of subtraction follows the state forms; each amount is sourced at its own step. - No tax at or below zero State taxable income at or below zero returns a tax of 0 (credits are not refundable and nothing below applies).
engine step (compute_state_tax_detail). Engine convention, no external source: Every credit the engine carries is nonrefundable, so nothing below can make a zero tax negative; each credit is sourced at its own step. - Separate-return scaling married filing separately For the halved-joint rule, taxable income is doubled before the schedule and the result halved.
New York's values · engine step (compute_state_tax_detail). Sources (Rate schedule): Instructions for Form IT-2105 Estimated Income Tax Payment Voucher for Individuals (2026) (checked 2026-09-27); Irs releases tax inflation adjustments for tax year 2026 including amendments from the one big beautiful bill (checked 2026-09-27) - The rate schedule Each bracket's rate on the part of taxable income inside it, summed. No rounding: the result is carried in full precision.
New York's values · engine step (apply_state_brackets). Sources (Rate schedule): Instructions for Form IT-2105 Estimated Income Tax Payment Voucher for Individuals (2026) (checked 2026-09-27); Irs releases tax inflation adjustments for tax year 2026 including amendments from the one big beautiful bill (checked 2026-09-27) - Tax-benefit recapture On state AGI (the income in the base before deductions) above the start, the recapture below is added.
New York's values · engine step (compute_state_tax_detail). Sources (Surtaxes and recapture): Instructions for Form IT-2105 Estimated Income Tax Payment Voucher for Individuals (2026) (checked 2026-09-27); It201i 2025 (checked 2026-09-27) - The recapture worksheets For each bracket below the filer's top one, its benefit (flat rate times the bracket bottom, less the schedule tax on it, less the lower brackets' benefit) is phased in over $50,000 of income above the larger of $107,650 and the bracket bottom. Fully phased in, all taxable income is taxed at the top rate. Where the first worksheet applies to taxable income below its bracket, the flat rate of that bracket applies to all of it, phased in the same way.
New York's values · engine step (ny_tax_benefit_recapture). Sources (Surtaxes and recapture): Instructions for Form IT-2105 Estimated Income Tax Payment Voucher for Individuals (2026) (checked 2026-09-27); It201i 2025 (checked 2026-09-27) - Credits cannot make the tax negative The credits are subtracted and the result floored at zero.
engine step (compute_state_tax_detail). Engine convention, no external source: Every credit the engine carries is nonrefundable; each credit is sourced at its own step.
Rate schedule
Single
| Taxable income from | to | Rate |
|---|---|---|
| $0 | $8,500 | 3.9% |
| $8,500 | $11,700 | 4.4% |
| $11,700 | $13,900 | 5.15% |
| $13,900 | $80,650 | 5.4% |
| $80,650 | $215,400 | 5.9% |
| $215,400 | $1,077,550 | 6.85% |
| $1,077,550 | $5,000,000 | 9.65% |
| $5,000,000 | $25,000,000 | 10.3% |
| $25,000,000 | and up | 10.9% |
Married filing jointly
| Taxable income from | to | Rate |
|---|---|---|
| $0 | $17,150 | 3.9% |
| $17,150 | $23,600 | 4.4% |
| $23,600 | $27,900 | 5.15% |
| $27,900 | $161,550 | 5.4% |
| $161,550 | $323,200 | 5.9% |
| $323,200 | $2,155,350 | 6.85% |
| $2,155,350 | $5,000,000 | 9.65% |
| $5,000,000 | $25,000,000 | 10.3% |
| $25,000,000 | and up | 10.9% |
Head of household
| Taxable income from | to | Rate |
|---|---|---|
| $0 | $12,800 | 3.9% |
| $12,800 | $17,650 | 4.4% |
| $17,650 | $20,900 | 5.15% |
| $20,900 | $107,650 | 5.4% |
| $107,650 | $269,300 | 5.9% |
| $269,300 | $1,616,450 | 6.85% |
| $1,616,450 | $5,000,000 | 9.65% |
| $5,000,000 | $25,000,000 | 10.3% |
| $25,000,000 | and up | 10.9% |
Married filing separately: the engine computes the MFJ tax on twice the income and halves it, which is the same as halving every MFJ threshold and the MFJ deduction.
- Instructions for Form IT-2105 Estimated Income Tax Payment Voucher for Individuals (2026), New York State Department of Taxation and Finance. The 2026 New York State tax rate schedules: nine rates from 3.90% to 10.9%, single thresholds $8,500 to $25,000,000 and a separate married-filing-jointly schedule from $17,150 to $25,000,000. Checked 2026-09-27.
- Irs releases tax inflation adjustments for tax year 2026 including amendments from the one big beautiful bill, irs.gov. irs.gov: "for heads of households, the standard deduction will be $24,150" Checked 2026-09-27.
Deductions, exemptions and credits
- Standard deduction (or the exemption the engine carries in its place): $8,000 single, $16,050 married filing jointly, $11,200 head of household.
- Instructions for Form IT-2105 Estimated Income Tax Payment Voucher for Individuals (2026), New York State Department of Taxation and Finance. The 2026 New York standard deduction is $8,000 single (not a dependent), $16,050 married filing jointly and $11,200 head of household. Checked 2026-09-27.
- Irs releases tax inflation adjustments for tax year 2026 including amendments from the one big beautiful bill, irs.gov. irs.gov: "for heads of households, the standard deduction will be $24,150" Checked 2026-09-27.
IRA, 401(k) and private pensions
- Pension, annuity and IRA/401(k) distributions: up to $20,000 excluded per taxpayer ($40,000 on a joint return) at age 59 or older.
- Joint returns: the cap is per taxpayer. With the spouse's age given (couples), each spouse's own dollars are tested against that spouse's own age and cap; without it one household age applies and the $40,000 joint cap covers pooled income.
Source differs from the engine.
The source shows 59½
; the engine carries age 59.
The engine's age test is a whole year (59); the statute's is 59½. This difference is open and listed on the verification page.
Source review notes (what the sources do not state outright, or what the engine does not carry):
- The engine pools both spouses' eligible income against a $40,000 MFJ cap; the source makes each spouse's $20,000 usable only against that spouse's own income.
- Instructions for Form IT-201 Full-Year Resident Income Tax Return (2025), New York State Department of Taxation and Finance. Filers who are 59½ or older may subtract up to $20,000 each of qualifying private pension, annuity and IRA income (line 29); married spouses each get their own $20,000 and cannot use the other's unused amount. Checked 2026-09-27.
- Form IT-201 Resident Income Tax Return (2025), New York State Department of Taxation and Finance. Form IT-201 starts from federal AGI (line 19) including IRA and pension distributions (lines 9-10) and subtracts the pension and annuity income exclusion on line 29. Checked 2026-09-27.
Public pensions
Public (government) pension dollars, entered as pensionPublic, are exempt with no dollar cap. They do not use up the capped exclusion that other retirement income may claim.
Source review notes (what the sources do not state outright, or what the engine does not carry):
- Other states' government pensions are not exempt in NY; the engine assumes the user's public pension is from a NY or federal employer.
- Instructions for Form IT-201 Full-Year Resident Income Tax Return (2025), New York State Department of Taxation and Finance. Pensions from New York State, New York local governments and the federal government are fully subtracted on line 26 with no cap or age test; pensions from other states' public employers do not qualify. Checked 2026-09-27.
- Form IT-201 Resident Income Tax Return (2025), New York State Department of Taxation and Finance. Form IT-201 line 26 subtracts pensions of New York State and local governments and the federal government. Checked 2026-09-27.
Military retirement pay
- Military retirement pay is fully exempt, at any age.
- Rules are applied per taxpayer at that person's own age when the spouse's age is given. API value:
rules.militaryRetirement.treatment: "exempt".
- It201i, New York State Department of Taxation and Finance. Pensions of the United States, including the military, are subtracted from New York income. Checked 2026-09-27.
Roth conversions
A conversion draws the retirement-income exclusion together with distributions from age 59; the part above the cap is taxed as ordinary income.
- TSB-M-98(7)I: Roth IRAs (Technical Services Bureau Memorandum, December 24, 1998), New York State Department of Taxation and Finance. New York follows the federal treatment of Roth conversions, and conversion income qualifies for the $20,000 pension and annuity exclusion if the taxpayer is 59½ at the time of the conversion. Checked 2026-09-27.
Capital gains
- Net long-term gain is taxed as ordinary income.
- Short-term gains are ordinary income.
- Form IT-201 Resident Income Tax Return (2025), New York State Department of Taxation and Finance. Capital gains enter New York income through federal AGI (IT-201 line 7) and are taxed on the regular rate schedule; New York has no separate capital-gain rate or exclusion. Checked 2026-09-27.
Surtaxes and recapture
- Tax-benefit recapture: above $107,650 of income, the benefit of the lower brackets is taken back, phased in over $50,000; fully phased in, all taxable income is taxed at the filer's top marginal rate. The first step applies the flat rate of the bracket just above the start to all taxable income up to that bracket's top, as the state worksheet does.
Source review notes (what the sources do not state outright, or what the engine does not carry):
- The statutory text (Tax Law §601(d-1)) could not be fetched: nysenate.gov returns HTTP 403 to the checker. The constants are sourced from the Department's 2026 worksheets instead.
- Instructions for Form IT-2105 Estimated Income Tax Payment Voucher for Individuals (2026), New York State Department of Taxation and Finance. For NYAGI over $107,650 New York tax is computed on worksheets that recapture the benefit of the lower brackets, phased in over $50,000 of NYAGI per tier, until the whole taxable income is taxed at the filer's top marginal rate (flat 10.9% above $25,000,000 NYAGI). Checked 2026-09-27.
- It201i 2025, New York State Department of Taxation and Finance. New York State Department of Taxation and Finance: "and your taxable income (line 38) is $269,300 or less, then you must calculate your tax using this worksheet" Checked 2026-09-27.
Worked examples
Computed by the engine for the fixed households below (the same ones for every state, so states compare directly). Federal tax is not supplied, so a federal-tax deduction is not taken; the income tests use the sum of the components as income.
| Household (engine inputs) | State tax |
|---|---|
| Single, 67: $30,000 private pension, $20,000 IRA, $10,000 interest, $24,000 Social Security ($17,000 federally taxable), $5,000 long-term gain | $1,833 |
| Married filing jointly, 70: $40,000 public pension, $40,000 IRA, $20,000 interest, $40,000 Social Security ($34,000 federally taxable), $10,000 long-term gain | $544.05 |
| Single, 60: $60,000 other ordinary income and a $50,000 Roth conversion | $4,269.75 |
| Married filing jointly, 66: $30,000 IRA, a $40,000 Roth conversion, $30,000 Social Security ($25,500 federally taxable) | $544.05 |
| Single, 58: $36,000 military retirement pay and $30,000 wages | $1,023 |
| Married filing jointly, ages 67 and 61: $50,000 IRA, $10,000 interest, $30,000 Social Security ($25,500 federally taxable), each spouse's age given | $154.05 |
Line by line
The intermediate lines the engine records while it computes each example (its detail record, printed as it comes out; lines that are zero are left out). The engine's documentation build checks that the lines add up to the taxable income and the tax, for every state, filing status and a grid of households. Each line links the engine step that produces it.
Single, 67: $30,000 private pension, $20,000 IRA, $10,000 interest, $24,000 Social Security ($17,000 federally taxable), $5,000 long-term gain: $1,833
| Line | Amount |
|---|---|
| Income total used by the income tests | $82,000 |
| Retirement income and conversions excluded (not in the base) | $20,000 |
| + Other ordinary income in the base | $10,000 |
| + Retirement income in the base | $30,000 |
| + Long-term gain in the base | $5,000 |
| − Standard deduction | $8,000 |
| = State taxable income | $37,000 |
| Tax from the rate schedule | $1,833 |
| = Tax before credits | $1,833 |
| = Tax | $1,833 |
Married filing jointly, 70: $40,000 public pension, $40,000 IRA, $20,000 interest, $40,000 Social Security ($34,000 federally taxable), $10,000 long-term gain: $544.05
| Line | Amount |
|---|---|
| Income total used by the income tests | $144,000 |
| Retirement income and conversions excluded (not in the base) | $80,000 |
| + Other ordinary income in the base | $20,000 |
| + Long-term gain in the base | $10,000 |
| − Standard deduction | $16,050 |
| = State taxable income | $13,950 |
| Tax from the rate schedule | $544.05 |
| = Tax before credits | $544.05 |
| = Tax | $544.05 |
Single, 60: $60,000 other ordinary income and a $50,000 Roth conversion: $4,269.75
| Line | Amount |
|---|---|
| Income total used by the income tests | $110,000 |
| Retirement income and conversions excluded (not in the base) | $20,000 |
| + Other ordinary income in the base | $60,000 |
| + Retirement income in the base | $30,000 |
| − Standard deduction | $8,000 |
| = State taxable income | $82,000 |
| Tax from the rate schedule | $4,269.75 |
| = Tax before credits | $4,269.75 |
| = Tax | $4,269.75 |
Married filing jointly, 66: $30,000 IRA, a $40,000 Roth conversion, $30,000 Social Security ($25,500 federally taxable): $544.05
| Line | Amount |
|---|---|
| Income total used by the income tests | $95,500 |
| Retirement income and conversions excluded (not in the base) | $40,000 |
| + Retirement income in the base | $30,000 |
| − Standard deduction | $16,050 |
| = State taxable income | $13,950 |
| Tax from the rate schedule | $544.05 |
| = Tax before credits | $544.05 |
| = Tax | $544.05 |
Single, 58: $36,000 military retirement pay and $30,000 wages: $1,023
| Line | Amount |
|---|---|
| Income total used by the income tests | $66,000 |
| Military pay excluded (not in the base) | $36,000 |
| + Other ordinary income in the base | $30,000 |
| − Standard deduction | $8,000 |
| = State taxable income | $22,000 |
| Tax from the rate schedule | $1,023 |
| = Tax before credits | $1,023 |
| = Tax | $1,023 |
Married filing jointly, ages 67 and 61: $50,000 IRA, $10,000 interest, $30,000 Social Security ($25,500 federally taxable), each spouse's age given: $154.05
| Line | Amount |
|---|---|
| Income total used by the income tests | $85,500 |
| Retirement income and conversions excluded (not in the base) | $40,000 |
| + Other ordinary income in the base | $10,000 |
| + Retirement income in the base | $10,000 |
| − Standard deduction | $16,050 |
| = State taxable income | $3,950 |
| Tax from the rate schedule | $154.05 |
| = Tax before credits | $154.05 |
| = Tax | $154.05 |
What the engine does not calculate, and known approximations
- The public-pension input is read as a New York or federal government pension; other states' government pensions do not qualify in New York.
What the engine does not calculate for any state (itemized deductions, credits beyond those listed, part-year residents, dependents, blindness and disability, and more) is listed on the calculation order page.
Verification
Worksheet-tested Engine 1.2.0 tests follow the 2026 IT-2105-I tax rate schedules and recapture worksheets, including the head-of-household schedule.
- Golden scenarios (hand-computed expected tax, asserted to within $1):
S08,H06,G26NYC,NYPUB1,NYPRV1,NYREC1,NYREC2,NY-public-vs-private. - State-specific unit tests:
test_ss_exempt_states_dont_tax_ss,test_capped_exclusion_states,test_v3_folds_v2,test_no_state_uses_placeholder_schedule,test_ny_conversion_and_1030_bracket,test_pension_income_inert_and_clamped,test_d5_public_pension_ny_hi,test_d11_ny_recapture,test_legacy_request_equals_v2,test_ny_per_spouse,test_ny_hoh_schedule_and_recapture. - Structural tests covering every state: 3.
- State forms and worksheets followed in the test derivations: IT-2105-I (2026) rate schedules and worksheets.
Social Security
Social Security benefits are fully exempt: none of the federally taxable amount enters the state base.
API value:
socialSecurityRule: "exempt". The engine's input is the federally taxable amount; income tests use the sum of the income components as the adjusted-gross-income proxy.