The sticker is not the check.
Taxes. Title. Fees. Total.
The lines between the sticker and the check usually appear for the first time at signing. This page posts them first — exact tax, title, DMV, and doc fees for any VIN, zip, and price, all 50 states. Free. No account.
An agent shopping for you runs this same sheet, and what it brings back is the posted stack you’re reading now.
A VIN is 17 characters and never uses I, O, or Q.
7MMVABDM3RN163785
- 01Agreed priceyour number, as entered — the only line you have already seen · yours · you set itposts as typed
- 02Sales taxthe governing state for your zip · state revenue code · rate · source · timestamp · set by statute · not negotiableposts live
- 03Titlethe state’s charge to put the car in your name · state DMV fee schedule · set by statute · not negotiableposts live
- 04DMV & registrationregistration, plates, local add-ons — one per line, never rolled up · state DMV fee schedule · set by statute · not negotiableposts live
- 05Doc feestatute cap — or its absence: an uncapped line says “Reported, not yet verified” and posts the observed range · dealer-set · negotiableposts live
Figures render live at the address. This page states structure, not prices — the only numbers that fill a slot here are the ones you type.
taxes.vin fee: $0 · every VIN, every zip, every visit · no account
Paste a VIN and the breakdown attaches to a deal record at buy.vin/7MMVABDM3RN163785 — the same fee engine that posts these lines prices the real transaction there.
Each line, named before it stacks.
The gap between the sticker and the check is these lines. Every one posts as value · source · timestamp — itemized, not estimated — and every one says who set it.
- 01Agreed priceThe number you negotiated. The stack builds on it and never inside it — nothing below changes this line.
- 02Sales taxSet by the governing state for your zip — usually where you register, not where you buy. The rate, the state revenue code behind it, and the governing rule post on the line.
- 03TitleThe state’s charge to record you as the owner. Fixed on the state DMV fee schedule; the schedule is the source on the line.
- 04DMV & registrationRegistration, plates, and local add-ons, itemized one per line — never a single rolled-up “government fees” number.
- 05Doc feeThe dealer’s paperwork charge. Capped by statute in some states, uncapped in others. An uncapped line posts the observed range and says so — an open finding, stated, never hidden.
- =Out the doorThe last line of the buyer’s order, posted before the desk prints it. Change the price or the zip and the sheet recomputes.
Any state, same engine.
One VIN, one price, 50 states side by side — before an out-of-state purchase, not after.
Buying where you live
your zip decides
The sheet reads your zip and posts the governing state on every line — the rate, the statute, and the timestamp it was observed. The shape differs by state and the sheet says so: a handful of states post no sales-tax line at all, Georgia posts a one-time title ad valorem tax where the sales-tax line would sit, and the District’s excise rides the title line.
the governing state · the rate · the observed date
Buying across a state line
the registration state governs, in most cases
Tax usually follows where you register, not where you buy. The sheet posts the governing state per line, and the difference between any two states posts signed and sourced — including whether a trade-in credits against the taxable price, which some states, California and Virginia among them, don’t allow.
state A · state B · the signed delta
The stack a buyer reads is the stack the dealer’s desk prints from. Same lines, same sources, both sides.
Questions with posted answers.
Which state’s tax applies when I buy out of state?
The registration state, in most cases. The breakdown posts the governing state per line, with source and timestamp, for your zip — the rule itself is a posted line, not an assumption.
Which lines can I negotiate?
Every line says who set it. Tax, title, and DMV read “set by statute · not negotiable” — arguing them at the desk is theater. The doc fee reads “dealer-set · negotiable”, and the agreed price is yours before the stack starts.
Why might the dealer’s buyer’s order differ from this page?
Doc fees. They are capped by statute in some states and uncapped in others. Uncapped lines here are marked “Reported, not yet verified” with the observed range — an open finding, stated, never hidden.
Is this the final number?
It is the posted number for these inputs at this timestamp. Change the price or the zip and the record recomputes; carry it to buy.vin and the same engine runs the deal.
What does it cost?
The sheet posts its own price like every other number — taxes.vin fee: $0. Every VIN, every zip, every visit — no account.
The sheet carries.
The out-the-door number is not the end of the record — it is the first line of the deal. The breakdown attaches to a deal record, and the same fee engine prices the real transaction.
buy.vin/7MMVABDM3RN163785carry this sheet to the close — same engine, real deal
Agents read the same sheet.
An agent can run this sheet on its own account — that motion is b2a.vin. It reads posted lines, not quoted ones: the stack an agent prices from is the stack printed on this page.
- The sheet at taxes.vin/{VIN} — the page you are reading
- The same lines as typed JSON at the same address, via Accept negotiation
- One MCP server for the whole platform: apis.vin/mcp
Where an agent prices a car for a person, the breakdown it returns is this page’s stack, unchanged — everything it does here survives being shown to you.
// tools/call · out_the_door_price { "type": "vin.otd", "vin": "7MMVABDM3RN163785", "inputs": { "zip": <5 digits>, "price": <integer, USD cents> }, "lines": [ { "line": "sales_tax", "amount": <integer, USD cents>, "set_by": "statute", "negotiable": false, "source": <state revenue code>, "as_of": <RFC 3339 timestamp> }, { "line": "doc_fee", "set_by": "dealer", "negotiable": true, "verified": false, "range": <observed low · high> } ], "out_the_door": <integer, USD cents> }
For the agent you send
The agent reads the same record you do. Same two routes, three representations — the numbers never differ between them.
motions: B2A
- B2A — the buyer is an agent — no human leaf; discover, bind, pay, worst-case cost posted before the call
curl https://taxes.vin/ -H 'accept: text/markdown' → the markdown twin of this page
curl https://taxes.vin/{VIN} -H 'accept: application/json' → the record as typed evidence objects
curl https://taxes.vin/{VIN} -H 'accept: text/markdown' → the record's markdown twinMachine surfaces on this host: /llms.txt · /icp.json · /.well-known/agents.json · one estate MCP server — apis.vin/mcp (every door a lens; tool results carry the door URL).
Attribution: X-Client-Type: html | md | json | mcp — read for agent-led demand attribution; it never changes the record.
No gate on this door's two routes — keyless reads, no account. Gated actions elsewhere on the estate return a typed OFFER (posted price · hard ceiling) or a NEEDS_HUMAN handoff, never a dead end.