QuantCalc QuantCalc State tax engine docs

State tax docs

State income tax engine documentation

The QuantCalc state tax engine computes a year of state income tax for all 50 states and the District of Columbia. It is one C module with no dependencies beyond the C standard library and libm, it is the same code the retirement planner and the state tax API run, and this documentation is generated from its own configuration. Tax year 2026; engine version 1.4.0 (versioning).

API reference

Every request field, the response, errors, access and examples.

The 51 jurisdictions

Each state's rules as the engine applies them, with sources.

Couples and income types

Per-spouse amounts and the income-type model, with worked examples.

Calculation order

Every step the engine takes, in order, with its code reference and sources.

Verification

How correctness is established, and each state's honest status.

Updates and versioning

The annual cycle, how changes are gated and released, the changelog.

Library and delivery

Running the engine inside your own application.

What the engine models

AreaStatusDetail
Rate schedulesModeledSingle and MFJ schedules for all 42 taxing jurisdictions; a distinct head-of-household schedule where the state has one (ID, CT, ME, MD, MN, MT, NE, NJ, NM, NY, ND, OK, VT); married filing separately by the state's own rule or by halving the MFJ thresholds.
Standard deductions, exemptions, creditsModeledStandard deductions, personal exemptions and their phase-outs, per-exemption and senior credits, and Utah's taxpayer credit, as each state page lists.
Social SecurityModeledNine statutory treatments; 8 jurisdictions tax some benefits (CO, UT, CT, MN, MT, NM, RI, VT).
Retirement-income exclusionsModeledFull exclusions (IL, PA, IA, MS), capped exclusions with age tiers, income limits and Social Security offsets (CO, KY, MI, AL, AR, CT, DE, GA, LA, ME, MD, MO, NJ, NY, OK, RI, SC, VA, WI).
Public vs private pensionsPartlySeparate public-pension treatment where the engine carries it (AZ, MA, AL, HI, KS, LA, MO, NY, WV); elsewhere public pensions follow the general retirement rules. See each state page.
Military retirement payModeledIts own income type (pensionMilitary), with each state's rule applied per retiree at their own age; fully exempt in 29 jurisdictions.
WagesModeledIts own income type (wages): ordinary income everywhere, plus the earned-income rules in GA, OH, WI.
CouplesModeledPer-spouse amounts and ages on joint returns: each age-conditioned rule is evaluated per person where the state applies it per person.
Roth conversionsModeledTaxed, excluded or drawing the retirement cap, by state.
Capital gainsModeledOrdinary treatment, inclusion ratios, flat exclusions, a two-rate schedule (MT), an alternative-rate cap (HI), a surcharge (MD), full exemption (MO) and Washington's excise.
Local income taxesPartlyCounty taxes in IN, MD (default average rate, overridable). City and school-district taxes elsewhere are not modeled.
Federal tax deductionModeledAL, OR, when the caller supplies the federal figure.
Surtaxes and recaptureModeledCalifornia's mental health services tax, the Massachusetts 4% surtax, New York's recapture and Connecticut's add-back and recapture.

What it does not model

Each state page lists what the engine does not calculate for that state; the calculation order page walks every step the engine does take.

Data you can download

How sources are kept current

Each source in the provenance file carries the figure or phrase it is cited for, exactly as the source prints it. A weekly job fetches every source (HTML and PDF), confirms that wording is still there, flags dead links and pages that now redirect elsewhere, and updates the checked dates shown on these pages. A build gate fails when a rule on a state page has no source, when a source has no checked date, or when the engine's value no longer matches the value a source was checked against. Details are on the verification page.