Reference Source

Vehicle trade-in sales tax credit rules by state -- full price taxed, or only the difference

When you trade a car in, does the state charge sales tax on the full price of the new car, or only on the price left after the trade-in is deducted? On a $40,000 car with a $15,000 trade-in, that choice is about $900 in a 6% state. This covers 47 states, each taken from that state's own Department of Revenue, DMV or statute, with the sentence that states the rule quoted on every record. Most states deduct the trade-in in full. Four charge tax on the whole price: California, Virginia, Oklahoma and Oregon. Four allow the deduction only in part, and these are the ones commonly reported wrongly -- Michigan caps it in dollars, Ohio allows it on new vehicles but not used, Georgia allows it on dealer sales but not private-party sales, and Rhode Island allows it on passenger vehicles, motorcycles and motor homes only. Alaska, Delaware and Montana charge no state sales tax on a vehicle at all. Four places are missing, for two different reasons. Hawaii and the District of Columbia are missing because neither one writes such a rule down: Hawaii has no sales tax for a trade-in to be deducted from, and the District taxes a car on its NADA book value rather than on what you actually paid, so a trade-in never enters the sum. Mississippi and New Hampshire are missing only because their government websites would not open for us. We would rather show a gap than copy a figure out of a second-hand reproduction of the law.

Records47
Sources47
Verified
Review by
LicenceFacts taken from official state government (DOR/DMV/Treasury) pages, cited with short attributed quotes. Facts are not copyrightable (Feist, 1991); no state tax guidance page's text is reproduced beyond a short quote.

The data

StateTrade-in credit allowedStatute or regulation citationCredit cap, if any
Alabamafull creditAdministrative Rule 810-6-1-.22
Alaskano state sales tax
Arizonafull credit
Arkansasfull credit
Californiano creditRegulation 1654(b)(1)
Coloradofull credit
Connecticutfull credit
Delawareno state sales tax
Floridafull credit
Georgiacapped creditwhen the sale was made by a dealer, but not when the sale was made by a private individual
Idahofull credit
Illinoisfull credit
Indianafull credit
Iowafull creditIowa Code section 321.105A(2)“a”(2)
Kansasfull credit
Kentuckyfull creditKRS 138.450(16)
Louisianafull credit
Mainefull credit36 M.R.S. § 1765
Marylandfull credit
Massachusettsfull credit
Michigancapped credit$12,000 or the agreed-upon value of a motor vehicle (whichever is less)
Minnesotafull credit
Missourifull credit
Montanano state sales tax
Nebraskafull credit
Nevadafull creditNRS 372.025 and 374.030
New Jerseyfull credit
New Mexicofull credit
New Yorkfull credit
North Carolinafull credit
North Dakotafull credit
Ohiocapped creditNew Motor Vehicles: Tax base reduced by trade-in value. Used Vehicles: No reduction.
Oklahomano credit
Oregonno credit
Pennsylvaniafull credit
Rhode Islandcapped creditpassenger vehicles, motorcycles, and motor homes only
South Carolinafull creditCode Section 12-36-90
South Dakotafull credit
Tennesseefull credit
Texasfull credit
Utahfull credit
Vermontfull credit
Virginiano credit
Washingtonfull credit
West Virginiafull credit
Wisconsinfull credit
Wyomingfull credit

Where this came from

Every record above links the page it was taken from and quotes the sentence that states it. These are the 47 sources this dataset was assembled from.

Machine-readable

From your own code

Same records, same quotes, without scraping the page: refsource is on PyPI and npm. Each value comes back carrying the URL it was read from and the sentence on that page that states it — .source and .quote sit on the value itself rather than in a side channel, so the checking step is available instead of skipped.

pip install refsource
refsource lookup vehicle-trade-in-sales-tax-credit-by-state state=Alabama

npx -y refsource lookup vehicle-trade-in-sales-tax-credit-by-state state=Alabama

Set your AI assistant up to use this

Two files and no account. Put this in .mcp.json at the root of your project — Claude Code, Cursor, Windsurf, VS Code and Codex all read that file — and your assistant can look this dataset up instead of recalling it. The server is remote, keyless and read-only.

{
  "mcpServers": {
    "referencesource": {
      "type": "http",
      "url": "https://referencesource.org/mcp"
    }
  }
}

Add to Cursor · or, on the command line: claude mcp add --transport http referencesource https://referencesource.org/mcp --scope project

Then one line in the project's CLAUDE.md or AGENTS.md, so the assistant knows when to reach for it:

When a question needs "Vehicle trade-in sales tax credit rules by state -- full price taxed, or only the difference", call the referencesource MCP server at https://referencesource.org/mcp (tool `search_records`, dataset_slug `vehicle-trade-in-sales-tax-credit-by-state`) instead of answering from memory — every record it returns carries its source URL and a verbatim quote from that page.

What each tool does, and the servers built over single registers: Connect your AI assistant.

47 records. last verified against source . due for re-check by .

Licence. Facts taken from official state government (DOR/DMV/Treasury) pages, cited with short attributed quotes. Facts are not copyrightable (Feist, 1991); no state tax guidance page's text is reproduced beyond a short quote.