Vehicles — your shop's catalog of everything you've ever wrapped
Who it's for
The owner or manager keeps the vehicle catalog tidy and can delete records. Front-desk staff add vehicles when they open a job or take down a customer's details. Designers open a vehicle to see what has already been measured and pinned on the reference photo before starting artwork. Production staff check the configuration and the shop's own install-hour note before pulling material. The built-in Installer role does not hold the Vehicles permission, so an installer sees the vehicle through the job rather than in this catalog.
Where it fits
Vehicles are the link between customers and jobs. A customer can have many vehicles; each vehicle can have many jobs.
A vehicle is optional almost everywhere. A job can be an Other Project with no vehicle at all, a quote for window tint, PPF or a service you named yourself keeps the vehicle behind an Add vehicle link instead of asking for one, and an approved quote with no vehicle still creates its job — the job just reads "vehicle to be confirmed" until you attach one. The one place a vehicle really earns its keep is a wrap quote priced with Estimate by area, which measures the vehicle to price film and hours.
That measurement does not come from the numbers stored on the vehicle record. It comes from Wraptor's bundled measurement dataset — 2,232 measured vehicles — matched on the vehicle's year, make, model and Wheelbase line. The Wheelbase has to name the body, not just the length: 148" on its own does not tell a low-roof Transit from a high-roof one, and the quote then stops to ask you which. See Quotes for the estimator and Customers for how vehicles sit on a customer's profile.
Overview
A vehicle in Wraptor is the physical thing you are working on — a cargo van, pickup, box truck, boat, trailer, or anything else. Each record stores the owner (customer), year, make, model, vehicle type, color, VIN, license plate, a Wheelbase line that doubles as the body configuration, free-text notes, three shop-entered planning values (full-wrap square feet, three-quarter-wrap square feet and install hours), and a measurement photo with labeled pins.
Wraptor ships with a built-in vehicle catalog you search whenever you add a vehicle from inside a job or a quote. It covers Ford, Mercedes-Benz, RAM, GMC, Chevrolet, Isuzu, Hino, Freightliner, Toyota, Nissan, Honda, Tesla, BMW, Dodge, Jeep, Rivian and BrightDrop, plus generic trailers, boats, motorcycles, golf carts, ATV/UTVs, buses and RVs. Picking a catalog entry fills the make, model and vehicle type, and lists that model's configurations — 148" · High Roof · T-250 (¾ Ton) on a Transit, Crew Cab (SuperCrew) · 5.5ft Box on an F-150. What it writes into the vehicle's Wheelbase field is only the size part of the configuration you picked: the whole cab-and-bed string on a pickup, but just 148" on a van, with the roof and trim dropped. It does not fill in square footage.
Square footage is a separate thing. There is no per-shop template table any more: automatic measurements come from the one bundled dataset the quote estimator reads, and the numbers on the vehicle record are labeled shop-entered because that is exactly what they are — your own reference values, typed by hand, never written by the estimator.
The catalog is reached from Customers → Vehicles, which is a cross-customer directory of every vehicle in the shop. You can also open any vehicle from its customer's profile.
Screens & navigation
Vehicles list (Customers → Vehicles, /customers?tab=vehicles)
Vehicles is the second tab of the Customers hub, beside Customers and Fleets. The old /vehicles address still works — it redirects here.
On desktop the hub bar shows four counters — fleet size, a count of your most common type (for example cargo vans), total jobs, and vin on file — plus an Add Vehicle button that opens the full form at /vehicles/new. Below that, each vehicle is a card showing the make-and-model initials, the year/make/model (click to open), the VIN in monospace (or No VIN), a colored type chip with a matching icon, a job-count chip, the customer name (click to open their profile), and the color (or No color).
- Search box — type to filter the cards as you type by year/make/model, customer name, vehicle type, or VIN. While you're searching, a small N of M count shows how many matched.
- Card menu — the three-dot menu on each card has Edit and Delete.
- The list loads up to 1,000 vehicles, newest first. Opening
/customers?tab=vehicles&search=sprinternarrows the list on the server, which is the path to take once you're past that. The server search is narrower than the box: it matches make, model, VIN and customer name only. - Empty state: No vehicles found, with either Add your first vehicle to get started or Try a different search term.
On a phone the same list appears as a Vehicles header with a count badge and a search icon, then tappable cards showing the year/make/model, the customer name and a truncated VIN, and a type badge. There is no Add Vehicle button on the phone list — add vehicles from the customer's profile, the New Job modal, or the New Quote sheet instead.
New vehicle form (/vehicles/new)
The full form. Fields in order: Customer (required — pick from the dropdown or use the + button beside it), Year, Make (required), Model (required), Wheelbase, Vehicle Type (required), Color, VIN (with a scan button and a Decode button), License Plate, then a Shop-entered planning values block — Shop-entered Full Wrap (sq ft), Shop-entered 3/4 Wrap (sq ft), Shop-planned Install Hours — and Notes. The block carries the reminder "These are manually maintained shop values, not automatic estimator or PVO results. Verify measurements before quoting." Click Create Vehicle and you land on the vehicle's profile; Cancel goes back.
Vehicle profile (/vehicles/[id])
The full record for one vehicle:
- Header — year, make and model as the title; the customer name (linked) and the vehicle type beneath; a three-dot menu with Edit and Delete.
- Vehicle Details card — Type always, then Wheelbase, Color, VIN (monospace) and License, each shown only when it has a value. Underneath, a Dimensions panel holding the shop-entered values with an Edit link.
- Jobs card — titled Jobs (N), listing every job on this vehicle with its job number, title and current stage badge, newest first. Click a job to open it. Empty state: No jobs yet.
- Measurements card — "Pin measurements and decal placement on a photo — saved to this vehicle and reused on every job."
Capabilities
Adding vehicles — where the doors are
- The full form (
/vehicles/new) — every field, including the customer picker and the shop-entered planning values. Reached from Add Vehicle on the Vehicles tab, from Add or Add Vehicle on a customer's profile (which pre-selects that customer), from the dashboard greeting line's New vehicle shortcut, and from the topbar Create → New vehicle menu on a paid plan. - The New Job modal — in Vehicle Wrap mode, the Vehicle row is a Select vehicle... dropdown of that customer's vehicles with + New Vehicle at the top. Choosing it swaps in the catalog search; picking an entry creates the vehicle when you create the job. A customer with no vehicles on file opens straight into the search.
- The New Quote sheet — step 3 · Vehicle — optional searches both the customer's own vehicles (On file) and the catalog (Catalog — added to {customer}), and offers Add "{what you typed}" as a custom vehicle. A catalog or custom pick shows a Year box and an Add vehicle button, and the vehicle is created on that customer.
- Rex — ask the assistant to add a vehicle to a customer and it asks Add this vehicle? before writing anything. See AI.
- The customer importer — a CSV with year, make, model, color, VIN and license-plate columns brings one vehicle per row across, typed as Car. See Imports.
VIN scan and decode
The full form is the only place you can work from a VIN — the New Job modal and the New Quote sheet search the catalog by name instead. On the full form the VIN field has two buttons:
- Scan VIN barcode (the barcode icon) — opens the device camera and reads the VIN barcode off the driver's-door jamb or the windshield corner. It reads Code 39, Code 128, DataMatrix and QR, and the browser asks for camera permission the first time. The dialog is titled Scan VIN and prompts "Point at the VIN barcode — driver's door jamb or the windshield corner." A read whose check digit passes is accepted immediately; otherwise Wraptor waits for three identical reads before committing. If the camera won't start you get "Couldn't start the camera. Allow camera access and try again, or type the VIN instead."
- Decode — looks the VIN up in the free federal NHTSA database. Year, Make and Model always fill in, because that is what you asked for by clicking. The Vehicle Type and the Wheelbase field (which receives the trim and series) fill in only when they are still empty — decode never overwrites something you typed. A successful decode toasts the decoded vehicle with its body class.
Decodes are free and unlimited — they cost no AI credits. Partial VINs down to 11 characters work. If a full VIN's check digit doesn't add up, Wraptor still decodes but adds "Check digit doesn't match — double-check the VIN." (a mistyped character is the usual cause; some imported vehicles legitimately fail it). A bad VIN gives "Enter a valid VIN (11–17 characters, no I/O/Q)."; if the federal service is down you get a Couldn't decode that VIN toast and can keep typing by hand — nothing blocks. Every decode is cached, so the second look-up of the same VIN is instant and keeps working through an outage.
Catalog search — filling in make, model, type and configuration
Inside the New Job modal the vehicle search is the built-in catalog. The box reads Search vehicle (e.g. Ford Transit, Trailer...); before you type it offers a Popular row of chips (Ford Transit, Sprinter, F-150, Silverado, Trailer, Box Truck, Tesla, Wrangler, Boat, Ram). Type and you get up to eight matches plus Use "{what you typed}" as custom at the top.
- A model with a single configuration is selected straight away.
- A model with several shows Select configuration: — a list of every configuration (
130" · Low Roof · T-150 (½ Ton),Crew Cab (SuperCrew) · 5.5ft Box, and so on), a Custom size... box with a Use button, and Skip — no specific configuration.
Only the size part of your pick lands in the vehicle's Wheelbase field — 130" from that first example, but the whole Crew Cab (SuperCrew) · 5.5ft Box from the second, because a pickup's configuration is its size. So a pickup comes out of the catalog ready to price, while a van still needs its roof height. Two ways to give it one: type the full configuration into Custom size... instead of picking from the list, or open the vehicle later and put it in Wheelbase by hand.
Vehicle type
Every vehicle has a Vehicle Type picked from a fixed list: Car, SUV, Pickup Truck, Cargo Van, Box Truck, Trailer, Bus, Boat, Motorcycle, Watercraft, Golf Cart, UTV, ATV, Snowmobile, RV, Other. A catalog pick or a VIN decode sets it for you; on the full form you choose it yourself. Wraptor draws a matching icon for cars, SUVs, pickups, box trucks and cargo vans, and a generic outline for everything else. Choosing a type does not pre-fill any square footage.
Shop-entered planning values (the Dimensions panel)
The Dimensions panel on the profile holds four numbers you maintain yourself: Shop-entered Full Sq Ft, Shop-entered 3/4 Sq Ft, Install Hours and Wheelbase. Click Edit (or Add shop-entered measurements when they're all blank) to open them inline, then Save or Cancel — no page navigation. The panel repeats the warning while you're editing: "Shop-entered reference values, not automatic PVO measurements. Verify them on the vehicle before quoting."
The two square-footage numbers price nothing. The Estimate by area panel measures the vehicle against the bundled dataset instead, and Inventory's material check works off the job's estimated square footage (the approved quote's snapshot, or a number entered on the job). Nothing outside this panel reads them, apart from Settings → Shop Settings → Export Your Data, which puts them in the vehicles CSV.
Install Hours is the exception, and it is worth filling in. The Jobs board's Crew view adds up the install hours of each person's assigned jobs and shows the total against a 40-hour week — 26/40h beside their name. As soon as one job in a lane carries hours the lane reads as a load meter instead of a job count, so leave a job's vehicle blank here and that person's load reads light. It takes the first number, so 10-12 counts as 10.
When the quote can't tell which vehicle this is
If the year, make, model and Wheelbase don't land on one measured row — a Transit with 148" and nothing else, say — the Estimate by area panel doesn't guess. Open Measure and it asks Which configuration is this vehicle? with a chip per measured template for that model ("These are the measured PVO templates for this model — pick one for an exact match"). Picking one prices that quote and nothing more: it does not write back to the customer's vehicle, so the next quote asks again. Put the configuration in the vehicle's Wheelbase field if you want it answered once.
If you measure by hand in the same panel instead, saving the quote stores the length, height and width for your shop against that make, model and configuration, and the next quote on a matching vehicle offers them back as a Use your saved measurement chip. That save happens on Save, not while you are trying numbers out.
Measurements — pinning a reference photo
The Measurements card on the profile keeps one annotated photo per vehicle. Tap Add a vehicle photo to measure on to upload one (images only, up to 25MB), then tap anywhere on the photo to drop a numbered pin and type its label — "Hood 58in · logo centered". Pins can be renamed or removed from the list beneath. Replace photo swaps the image and Save commits (the button reads Saved once there is nothing pending); you get a Measurements saved toast. The photo and its pins live on the vehicle and are reused on every job.
Editing a vehicle
To edit or update a vehicle's details — year, make, model, type, wheelbase, color, VIN, license plate, the shop-entered planning values or notes — open its edit form one of three ways:
- Edit on the Vehicle Details card of the vehicle's profile, or Edit in its three-dot menu.
- Edit in the Vehicle box of a job's side rail (the Info tab on a phone). Saving brings you straight back to that job.
Change what you need and press Update Vehicle. A cleared field is saved empty. The change shows everywhere the vehicle appears, including every job it is on. Notes show on the vehicle's profile and in the job's Vehicle box.
The Customer can be changed only while the vehicle has no jobs. Once it is on a job, the picker is locked ("This vehicle is on jobs for this customer, so it stays with them") because a job's vehicle must belong to the job's customer.
Re-importing the customer CSV is not an edit: it only lands on the same vehicle when the row carries a VIN — that is what the importer matches on; without one it matches on year, make, model and plate together, so a corrected row of those creates a second vehicle instead of fixing the first, and the vehicle type never comes from the CSV at all.
Reassigning a job or quote to a different vehicle is a separate thing — the job's Vehicle box has a Change link (with + Add a new vehicle for this customer under its list), and the quote's Details → Vehicle row is a picker.
Deleting a vehicle
Delete is in the three-dot menu on the card or the profile. The confirmation is titled Delete Vehicle, names the vehicle, and warns "This will permanently delete this vehicle and all associated jobs. This action cannot be undone."
Two server-side checks can stop it:
- The vehicle has an active job — anything not sitting on your board's completion stage. A job you parked on a cancelled stage still counts as active. Finish or delete those jobs first.
- Any of the vehicle's jobs has an invoice. Financial records are never deleted with a job, so void or delete those invoices first.
If either check stops the delete, the dialog still closes but nothing is removed — if the vehicle is still on the list afterwards, one of the two is the reason. When it does go through, Wraptor deletes the vehicle's completed jobs and everything hanging off them (files, notes, proof artwork, time entries), cancels their queued customer emails, calendar reservations and online bookings, and unlinks — but does not delete — any quote that referenced the vehicle.
Creating a customer on the fly
On the full form, the + button beside the Customer dropdown opens a compact new-customer dialog. The new customer is added to the dropdown and selected automatically.
Shop-wide directory vs. customer profile
The Vehicles tab shows every vehicle across all customers — useful when you remember the truck but not the company ("a red Sprinter, whose was it?"). A customer's profile shows only that customer's vehicles.
Step-by-step tasks
-
Add a vehicle from the catalog while starting a job
- Open the New Job modal and pick or create the customer.
- Leave the mode on Vehicle Wrap.
- In the Vehicle row, open the dropdown and click + New Vehicle (a customer with no vehicles opens here already).
- Type the make and model — for example "Ford Transit" — and pick the match.
- If it offers Select configuration:, type the full configuration into Custom size... and click Use —
148" High Roof T-250. Picking from the list instead keeps only the size, which is enough for a pickup but not for a van. - Finish creating the job. The vehicle is created on that customer with its make, model, type and whatever configuration step 5 left in Wheelbase.
-
Add a vehicle from a VIN
- Go to Customers → Vehicles → Add Vehicle.
- Select the Customer, or click + to create one.
- Click the barcode button beside VIN and point the camera at the door-jamb barcode — or type the VIN and click Decode.
- Check what came back: Year, Make and Model are filled in, and Vehicle Type and Wheelbase are filled in only if you left them empty.
- Add Color, License Plate and anything else you want on file.
- Click Create Vehicle. You land on the vehicle profile.
-
Add a vehicle by hand
- Open the new-vehicle form.
- Select the Customer and enter Year, Make and Model.
- Pick a Vehicle Type from the dropdown.
- Put the whole body configuration in Wheelbase —
148" Extended High Roof,Crew Cab · 6.5ft Box,20ft box— including the roof height on a van. This is what the quote estimator matches on, and a bare length is not enough to identify a van. - Fill in the Shop-entered planning values only if you keep your own reference numbers; they are not used to price anything.
- Click Create Vehicle.
-
Update the shop-entered values on a vehicle
- Open the vehicle profile.
- In the Dimensions panel, click Edit (or Add shop-entered measurements if it's empty).
- Update Shop-entered Full Wrap Sq Ft, Shop-entered 3/4 Wrap Sq Ft, Install Hours and Wheelbase.
- Click Save. The panel closes in place — no page reload.
-
Pin measurements to a photo
- Open the vehicle profile and scroll to Measurements.
- Click Add a vehicle photo to measure on and choose an image (up to 25MB).
- Tap the photo where a measurement belongs and type the label, for example "Hood 58in".
- Repeat for each pin; use the bin icon on a row to remove one.
- Click Save. Use Replace photo to swap the image later.
-
Find a vehicle
- Open Customers → Vehicles.
- Type into the search box — it matches year/make/model, customer name, vehicle type and VIN, and filters as you type.
- Click the vehicle name to open the profile.
-
Delete a vehicle
- Make sure the vehicle has no active job, and that none of its jobs carries an invoice.
- On the card or the profile, open the three-dot menu and click Delete.
- Confirm. The vehicle, its completed jobs and everything hanging off those jobs are permanently removed; quotes that referenced it are kept but lose the vehicle link.
Settings & permissions
Who can see and use Vehicles
Access is controlled by the Vehicles permission ("Vehicle database"). Among the built-in roles:
- Manager — has it, along with every other permission, including delete.
- Designer — has it; can view, add and delete.
- Production — has it; can view, add and delete.
- Installer — does not have it. Installers work from their assigned jobs instead.
Owners always have full access. Custom roles can be granted or denied the Vehicles permission under Settings → Team.
The permission is enforced on the screens and in the underlying actions: /vehicles/new and /vehicles/[id] both require it, and so does the Vehicles tab. It also covers creating a vehicle from anywhere else — the New Job modal hides its + New Vehicle option for a role without it, and the New Quote sheet's Add vehicle answers with a Couldn't add vehicle toast rather than a new record. Attaching a vehicle that already exists is different: the quote's Details → Vehicle picker only needs Billing & Quotes, so anyone who can fix a quote can point it at the right truck.
One footnote for custom roles: deleting a vehicle also needs the Jobs permission, because the check that looks for active jobs reads your workflow stages. All three built-in roles that hold Vehicles hold Jobs too, so this only bites a role you built by hand.
The Customers nav item appears for anyone holding Customers, Vehicles or Fleet, and the hub opens on the first tab that person is allowed to see — a vehicles-only role lands on Vehicles.
Plan tiers
Nothing about Vehicles is plan-gated. The whole catalog is open on every plan and during the 7-day free trial (no card required), with no cap on how many vehicles you store. There is no free plan; a shop without a plan lands on the plan picker, and canceling keeps every vehicle record. See Plans.
Tips & common pitfalls
- The Wheelbase field is the one that matters, and it needs the whole configuration. Year, make, model and Wheelbase are how the quote estimator finds the measured row for this vehicle. A 130" low-roof Transit and a 148" extended high-roof Transit are very different jobs, and a Wheelbase of
148"alone matches neither — the estimator will stop and ask you which. Write it out:148" High Roof T-250. - The square footage on the vehicle record does not price anything. The Shop-entered labels are literal: those numbers are your own notes. A quote priced with Estimate by area reads the bundled measurement dataset, and if the vehicle isn't in it the estimator asks you to Measure it or type the area on the quote. If a quote's area looks wrong, fix it on the quote — not here.
- Install Hours is the one shop-entered number that goes somewhere. The Jobs board's Crew view sums it per installer against a 40-hour week. Leave it blank and that lane falls back to counting jobs.
- Fix a wrong vehicle with Edit, not delete-and-re-add. Edit on the vehicle's profile or in a job's Vehicle box corrects make, model, year, type, color, VIN, plate and notes in place, and every job keeps its link. Deleting is blocked while the vehicle has active jobs anyway.
- Notes are for things about the vehicle itself. They show on the vehicle's profile and in the Vehicle box of every job it is on, so they follow it to the next job. Anything about this one job belongs in a job note.
- Deleting is permanent and cascades. Deleting a vehicle removes its completed jobs and everything attached to them — files, notes, proofs, time entries. Export or note anything you need first.
- Quotes are unlinked, not deleted. Unlike jobs, quotes that referenced a deleted vehicle survive; they stay on the customer's record with a blank vehicle field.
- A silent delete means a guard stopped it. Active jobs or an invoiced job both block the delete, and the dialog closes either way. If the vehicle is still on the list, check its jobs.
- Your first vehicle may not be yours. A new shop is seeded with a sample 2022 Ford Transit 250 under "Sample Customer (yours to delete)". Delete it once you have real work on the board.
- The list holds 1,000 vehicles. The search box filters what's loaded — the 1,000 newest. Past that, search from the URL (
/customers?tab=vehicles&search=…) so the filtering happens on the server. - Ask Rex for square footage. Rex measures vehicles from the same dataset the estimator uses — "how many sq ft to wrap a Sprinter high roof?" — and returns variants to pick from when the model is ambiguous. See AI.
Related modules
- Customers — every vehicle belongs to a customer; Vehicles is a tab of the Customers hub, and a customer's profile lists their vehicles.
- Jobs — a job can be tied to a vehicle or be an Other Project; the New Job modal creates or picks one.
- Quotes — the Estimate by area panel measures the quote's vehicle; the Details → Vehicle row attaches or swaps one.
- Fleets — a fleet account is a customer whose vehicles run as a parent job with a child job per vehicle.
- Imports — the customer CSV import brings vehicles across, one per row, and a re-upload updates the same vehicle when the row has a VIN.
- Workflow map — where vehicle setup sits in the lead-to-invoice flow.