Calculation catalog › Taxes

Relocation lifetime state local tax

Sum over projection years of state plus local income tax for a relocation candidate (or the baseline).

Field: Lifetime state and local income tax Unit: US dollars Basis: nominal dollars Computed by: Engine Status: Complete chain

Appears in: relocation-page (Candidate table "State+local tax" column and the drivers panel total); insights (state-relocation evaluate reads stateTaxByYear per candidate)

Calculation records

  • Relocation lifetime state local tax Composition record, justified by derivation

    Purpose: Total one candidate row's recorded annual state and local income tax.

    Statement: projection/relocation.ts#compareRelocationCandidates sums a row's recorded nominal per-year state-plus-local income-tax lines over the complete projection to publish that candidate's lifetime state and local tax, with no stated rounding.

    Formula: lifetimeStateLocalTax = sum over years y of stateTaxByYear[y].tax

    • stateTaxByYear[y].tax: Recorded state plus local income tax for year y (unit: nominal USD) (domain: nonnegative)

    Timing: every recorded projection year of the row

    Rounding: none stated

    Limits:

    • Scope is income tax only: federal tax, property tax, sales tax and cost of living are outside this quantity, the annual lines are nominal and are never discounted, and dropping the split or baseline year understates the total. The worksheet's per-year lines are supplied by a deterministic state-tax calculator injected at the createStateTaxCalculator seam, so the recording, the row assembly and the sum are the real code path while the per-state tax data itself is not exercised here. The published total is the driver sum over every recorded line, and the per-year series is that recording restricted to the run horizon; the two agree when every recorded line lies inside the horizon, which the test’s scenario satisfies and which no known code path violates.

    Provenance: derived by codex, implemented by claude.

    Independent review: cursor

    Gates (6 of 6 pass): fixture registers a test: pass; pins resolve: pass; families exist: pass; worksheet exists: pass; mutation receipt exists: pass; provenance independent: pass

    Worksheet: relocation-lifetime-state-local-tax.md Mutation receipt: relocation-lifetime-state-local-tax.mutation.md

    Evidence tests: relocation.evidence.test.ts

    Implemented in: relocation.ts

    Is the number of: relocation-lifetime-state-local-tax

    Feeds: insight-state-relocation-lifetime-state-tax-savings, scenario-comparison-cell

Records that feed this number

  • State income tax figures already enacted for 2027 and later Data record, justified by derivation

    Purpose: Price 2027 and later years with the state income tax figures the states have already enacted for them without conditions, instead of the 2026 figures, and correct the 2026 figures the survey of every state found wrong.

    Statement: params/state/index.ts#stateParamsFor resolves a state for a year after the latest published state figures (2026) by applying every enacted year module at or before it in order (params/state/data/enacted2027.ts to enacted2033.ts): each field an entry names replaces the field for every filing status it carries, a field named as null ends, and a field no entry names keeps the 2026 figure. The fields a statute changes include the rate schedules, the standard deduction, retirement exclusions, surtax bands, state-specific blocks and whether a state taxes income at all. What is loaded, each with its own rule record: Indiana 2.9% from 2027; Mississippi 3.75%, 3.5%, 3.25% and 3% over 2027 to 2030; Montana 4.7% and 5.4% at 65,000, 97,500 and 130,000 from 2027; Nebraska 3.99% from 2027; North Carolina 3.49%, 3.24% from 2030 and 2.99% from 2033; the Hawaii Act 24 tables for 2027 and 2029 and its standard deduction steps in 2028, 2030 and 2031; New York’s five lowest rates cut 0.1 point for 2027 to 2032 and an 8.82% top rate from 2033; Rhode Island’s surtax over 1,000,000 dollars (1%, 2%, 3% over 2027 to 2029) and its Social Security modification without the age test from 2027; Virginia’s standard deduction steps in 2027, 2028 and 2030; Georgia’s 70,000 dollar retirement exclusion at 65 or older from 2027 and its military retirement exclusion of up to 65,000 dollars under 65 from 2027 (HB 266); Delaware’s military pension steps over 2027 to 2029; Illinois’s 1,000 dollar exemption from 2029; Maine’s standard deduction following the federal one from 2027; Maryland’s public-safety retirement subtraction steps to 2030; the end of Oregon’s retirement income credit from 2032; the end of Colorado’s under-55 military retirement subtraction from 2029; the end of California’s military exclusions from 2030 and of its top three bands from 2031; and Washington’s 9.9% tax above a 1,000,000 dollar deduction from 2028, the deduction indexed every second year from 2029 as its statute provides. The same change corrects 2026: Arkansas’s 3.7% top rate, the District of Columbia’s own deduction of 15,000 and 30,000 dollars for 2026 to 2029 under its permanent act, D.C. Law 26-189, in force from October 2, 2026 (indexed from 2027, federal from 2030), Maryland’s indexed deduction, capital gain surtax and public-safety subtraction, Virginia’s personal exemptions, Rhode Island’s 50,000 dollar pension cap and Social Security modification, California’s military exclusions, and the federal senior deduction carried into Arizona, Colorado and Idaho. This list is what has been verified against the statutes; the survey of all 51 jurisdictions, recorded state by state in DOCS/domain/state-tax-research/later-years-survey-2026-09-28.md, covers every other state. Each loaded figure is carried forward nominally until a later enacted step, except the standard deductions the code moves. Two are indexed by their own statutes and projected on those schedules at the plan’s inflation (tax/stateEnactedLaw.ts#statutorilyIndexedStandardDeduction): Washington’s, every second year from 2029, rounded to the nearest 1,000 dollars, and the District of Columbia’s, every year from 2027 to 2029, cumulative from a 2025 base and rounded down to a multiple of 50 dollars. A deduction loaded as the federal one, Maine’s from 2027 and the District of Columbia’s from 2030, moves with the federal deduction the projection carries (params/state/index.ts#conformStateStandardDeduction). The projection prices state tax for each year through tax/stateTax.ts#computeStateTaxYearResult, which reads stateParamsFor. Units: percent rates and nominal USD amounts. Rounding: the whole-dollar base taxes the Hawaii and New York tables print, and the two indexed deductions, Washington’s to the nearest 1,000 dollars and the District of Columbia’s down to a multiple of 50 dollars; nothing else.

    Formula: params(S, Y) = figures(S, latest published year) with, for each enacted year E with published year < E <= Y in ascending order, every field entry(E, S) names replaced (or removed when named as null); tax(S, Y) = state tax of params(S, Y) on the state base

    • S: State of residence for the year (unit: code) (domain: two letter code)
    • Y: Tax year (unit: year) (domain: integer)
    • E: An enacted year with figures for S (unit: year) (domain: 2027 to 2033, as listed in the statement)

    Timing: once per projection year and state of residence

    Rounding: none

    Limits:

    • Changes that apply only when a condition is met are not loaded, so the engine overstates the rate in any year one is triggered; each is decided on a known date and revisited then. Colorado’s TABOR temporary rate cut (C.R.S. 39-22-627): none for 2026, because the State Controller certified on September 8, 2026 that revenue fell $175.9 million short of the Referendum C cap; the next estimate is due October 1, 2027. Georgia’s rate cut, standard deduction and dependent exemption steps under HB 463: the Office of Planning and Budget’s determination as of December 1, 2026, and each December 1 after. Minnesota’s one-year first-tier cut: the commissioner, by December 15, 2026 (Minn. Stat. 290.036). Oklahoma’s quarter-point cuts: the State Board of Equalization, preliminary in December 2026 and final in February 2027, for 2028 at the earliest (68 O.S. 2355). Michigan’s one-year cut below 4.25%: the January 2027 revenue conference (MCL 206.51). South Carolina’s top-rate cut: the Board of Economic Advisors forecast in effect on February 15, 2027 (S.C. Code 12-6-510(C)(2)). Kansas’s rate cuts (the August 15 determination under K.S.A. 79-32,110c), Missouri’s top-rate cuts (RSMo 143.011.4) and West Virginia’s rate cut (the August 15, 2026 determination under W. Va. Code 11-21-4h): determinations not yet published. Indiana’s 0.05-point cuts from 2030 on a budget agency determination (IC 6-3-2-1(b)(9) to (15)); Mississippi’s cuts from 2031 when the reserve fund is full (2025 H.B. 1, section 2); North Carolina’s quarter-point cuts to 2.49% from 2035 when General Fund revenue exceeds its trigger (G.S. 105-153.7(a1)).
    • The District of Columbia’s own standard deduction for 2026 to 2029, loaded on 2026-09-28 under an emergency act, D.C. Act 26-416, rests from October 2, 2026 on the permanent D.C. Law 26-189, which ended its congressional review that day and applies from 2025: a basic deduction of 15,000 dollars single, 22,500 head of household and 30,000 joint plus the IRC 63(c)(3) addition, indexed from a 2025 base, and the federal deduction from 2030. The Office of Tax and Revenue’s 2026 D-40ES, written before the act, enters the federal 16,100, 24,150 and 32,200 dollars on its estimate worksheet; its 2026 D-40 booklet, due about January 2027, is checked against the loaded amounts.
    • Washington’s section 302(3) add-back is not modeled: a filer who owes the RCW 82.87 capital gains tax that year adds the Washington capital gains taxed under it, plus the RCW 82.87.060(1) deduction, back into the income-tax base, with the section 205 credit for the capital gains tax; the engine leaves every long-term gain out of the Washington base, as it leaves out the capital gains excise itself.
    • Two enacted changes have a vote pending and are loaded as current law, to be revisited when the vote is decided: Washington’s income tax from 2028, which Initiative 645 on the November 3, 2026 ballot would repeal, and the end of California’s top three bands from 2031, which Proposition 3 on the same ballot would prevent.
    • A figure a state statute indexes is held at its latest published amount in every later year, not projected at the plan’s inflation, so tax is overstated by more each year the projection runs: among the figures loaded here, Nebraska’s thresholds at their 2026 amounts from 2027 (the 2027 schedule is in draft only), Montana’s breaks at their 2027 amounts from 2028, Rhode Island’s surtax threshold at 1,000,000 dollars from 2028 and its Social Security limits at the 2025 amounts, Maryland’s deduction at its 2026 amounts from 2027, and Illinois’s exemption at 2,925 dollars for 2027 and 2028. This is the registered approximation neb-rev-stat-77-2715-03-3-indexed-brackets-held-nominal, which lists every figure the survey found indexed. Two deductions are the exception, each projected on its statute’s own schedule at the plan’s inflation: Washington’s (every second year from 2029, by one year’s inflation, rounded to 1,000 dollars) and the District of Columbia’s (every year from 2027 to 2029, cumulative from a 2025 base, rounded down to a multiple of 50 dollars, until the federal deduction returns in 2030).
    • The plan models single and married filing jointly. Head of household and qualifying surviving spouse need dependents, which the plan does not collect, so a state’s head-of-household schedule or deduction is used only on a state return whose filing status is set to head of household (in the planner, the state filing status under Assumptions, State tax worksheet facts), and Delaware’s new domicile test for the pension subtraction at 60 or older, which needs a domicile history the plan does not hold, is assumed to be met.
    • A state’s own rule for military retired pay and Survivor Benefit Plan annuities is modeled on a pension tagged Military retirement or Military survivor benefit: in full where the state’s rule is full (Alabama, Arizona, Arkansas, Connecticut, Hawaii, Illinois, Indiana, Iowa, Kansas, Louisiana, Maine, Massachusetts, Michigan, Minnesota, Mississippi, Nebraska, New Jersey, New York, North Dakota, Ohio, Oklahoma, Pennsylvania, Rhode Island, South Carolina, West Virginia and Wisconsin), capped or tested where it is (California, Colorado, Delaware, Georgia, Idaho, Maryland, Montana, New Mexico, Virginia and Vermont), as a credit in Utah, and for a survivor annuity in the District of Columbia and Missouri. What remains, each overstating tax unless it says otherwise. North Carolina’s full deduction for a retiree with 20 years of service or a medical retirement, or vested by August 12, 1989, and for that retiree’s survivor; Kentucky’s full exclusion of the share of a federal or military pension earned before 1998; and Oregon’s federal pension subtraction pro-rated by service before October 1, 1991: each turns on a service history the plan does not hold. Montana’s five-year window is read from the pension’s first payment, because the plan holds no residency start or claim history, and errs both ways (mt-mca-15-30-2120-3-n-military-retirement-subtraction). Georgia’s second $17,500 and Montana’s wage limit read earned income from wage streams only, as a recurring income names no person. A survivor annuity keeps the general retirement rule in Michigan, Oklahoma and Pennsylvania, and needs a plan code in Kansas, where the law does not plainly reach it; Nebraska excludes one in full through its public-pension flag although its statute does not name it, which may understate tax; Delaware’s treatment of one is not settled. A survivor’s share of a pension tagged Military retirement is priced as retired pay, not as a survivor annuity. New Mexico’s $30,000 is the 2025 law, and the 2026 session was not checked. An Idaho military retiree under 62 who is neither disabled nor working gets the lawful zero, but the year is marked incomplete. Vermont’s phase-out ratio is not rounded to two decimals as its worksheet rounds it, a difference of a few dollars. Railroad Retirement Act annuities are not a limit: every state subtracts them under 45 U.S.C. 231m (usc-45-231m-state-tax-bar).

    Provenance: derived by claude, implemented by claude-subagent.

    Independent review: codex

    Gates (6 of 6 pass): fixture registers a test: pass; pins resolve: pass; families exist: pass; worksheet exists: pass; mutation receipt exists: pass; provenance independent: pass

    Worksheet: state-enacted-tax-year-figures.md Mutation receipt: state-enacted-tax-year-figures.mutation.md

    Evidence tests: enacted2027.evidence.test.ts

    Implemented in: year2026.ts; enacted2027.ts; enacted2028.ts; enacted2029.ts; enacted2030.ts; enacted2031.ts; enacted2032.ts; enacted2033.ts; index.ts; stateTax.ts; stateEnactedLaw.ts

    Feeds: tax-total-annual, relocation-lifetime-state-local-tax

Engine source: engine/src/projection/relocation.ts (RelocationCandidateRow.lifetimeStateLocalTax)

The evidence links on this page (each record's worksheet, mutation receipt, evidence tests and implementation, and the source links) are pinned to engine commit 2624dbdba9fd, committed 2026-10-11. The live calculation index and output-family census links point at the repository's main branch, so you can check this snapshot against them.