Skip to main content

Your quote already knows what the film cost you.

Service VIN prices every line from the actual roll on your rack — not a list price typed in once. Margin $ and Margin % move as you build the quote, and once your installers' rates and hours are in, that is margin after labour too.

Start a free trial

Free for 14 days · card required · cancel anytime

  • Costed from your own rolls
  • Margin after materials and after labour
  • From $79/mo
Quotes · Live marginLiveSample data

Quote Q-4471 · Tesla Model Y

  • Full front$1,850film $374.10
  • Rocker panels$380film $90.30
Margin after materials and labour72%

$1,604.80 on a $2,230 job · film $404.20 · installer 6.5 h

Worked example

One full front, costed from the roll it comes off.

Watch the number rather than read about it. A roll goes on the shelf at what you paid; two lines draw film off it; the offcut goes back; then the installer's hours land on top. The margin moves four times, and only the last figure is the one that matters.

An example: a Gloss PPF · 60in × 100ft roll received into inventory at $2,150, which is $21.50 a foot. A full front at $1,850 draws 17.4 feet; rocker panels at $380 draw 4.2 more. A 2.8-foot offcut goes back on the shelf, so the job carries $404.20 of film rather than $464.40, and margin after materials is 82%. 6.5 hours of installer time at $34 an hour takes it to 72% — $1,604.80 on a $2,230 job. Illustrative prices and pay rate, not a rate card.

Quote Q-4471 · Tesla Model YSample data

Inventory · the shelf

Roll R-1041

100 ft received

Gloss PPF · 60in × 100ft

What you paid
$2,150
Cost per foot
$21.50
On the roll81.2 ft

The remnant is usable stock again, so it stops being this job's cost.

Quote builder

Quote total$2,230
Materials, from the roll
−$404.20
Installer time
−$221

72%

Margin after materials and labour · $1,604.80

  1. Roll received
  2. Full front
  3. Rockers
  4. Offcut shelved
  5. After labour
Illustrative prices and one illustrative pay rate — your film, your rates and your hours are your own. Margin here is what is left after materials and installer pay; it is not net profit, and carries no rent, overhead or card fees.
Start a free trial

14-day free trial — card required, nothing charged for 14 days, cancel anytime

Where the number comes from

A roll of film is a four-figure asset that leaves the shop eighteen inches at a time.

That is the whole reason a quote can know its own cost. The shelf is the record: what the roll cost, how much of it is left, and which job took the rest.

  • A roll costs what you paid for it

    Every physical roll carries its own cost, length, lot number and rack location from the moment you receive it. Not a list price typed in once a year — the invoice in your hand.

    A list price you typed once

    What you actually paid

  • It draws down by the foot

    Log the work against the roll and it comes off foot by foot, attributed to the job it went on. Each install ends up carrying its true material cost, with no end-of-month archaeology.

  • Offcuts go back on the shelf

    Shelve a usable remnant as stock that still carries its real value, so it stops being that job's cost and starts being the next one's film. Waste gets logged with a reason and a cost instead of a shrug.

  • The shelf warns you mid-quote

    On-hand availability is visible while you build, and a reorder point per product fires the reorder list while there is still time to ship film — not the morning of the install.

    Gloss PPF · on hand19%

Receive the roll once; the quote reads it forever

Add your film products with cost, sell price and a reorder point, then receive rolls with their length, real cost, lot and location. Seconds each — and from then on every quote and every job is costed against them.

  • On-hand valuation and 30-day COGS from what you actually paid, not a list price
  • Waste logged with a reason and a cost, reported as a share of your COGS
  • Vendor and lot number on every roll, so a defect callback is a lookup

See the whole film inventory

app.servicevin.com/inventory
The inventory screen listing film products and physical rolls with their remaining length, real cost and rack location
The real inventory screen. Rolls carry their own cost, length, lot and location.
The other half of the cost

Margin after materials is not margin.

Film is the cost that is easy to see. People are the cost that decides the job. Assign the work and the installer's own pay rate and hours flow into it — so the figure on the quote is after your crew as well as after your film.

Roster → job → margin

The person you assign is the cost you carry

When a job hits the board you pick the installer by skill and availability, and their rate becomes the job's labour cost. Hours come off the clock and the per-item stopwatch the crew already runs, so the labour on the job is what the job took — not what somebody estimated it would take.

  • Pay rate per installer, and a per-job payout for a rostered contractor with no login at all
  • Real hours from clock-in and the per-item stopwatch, scored against the expected minutes you set
  • Film cost plus labour, live — so you know what each job, and each mix of people, actually makes
Job J-2208 · CostSample data
Quoted$2,230
Film, from the roll−$404.20
Marcus · 6.5 h @ $34/hr−$221.00
Margin after labour72%

Sample dataAn illustration of the job cost card, with an example pay rate — not a customer's account and not a rate card.

Managers onlyEnforced at the row

Pay rates are not a thing the shop floor sees. The team area lives behind the owner and admin boundary, so rates, HR fields and the full roster are invisible to technicians — by role, at the route and at the row. The installer app never loads a quote, an invoice, a line-item price or a job's margin at all, because those columns are never queried for a worker in the first place.

See the whole roster, and what it costs into a job

Start a free trial

14-day free trial — card required, nothing charged for 14 days, cancel anytime

Would rather be walked through it on your own numbers? Request a demo.

Before you hit send

A thin job is obvious while you can still fix it.

Most quoting tools show the customer-facing total and stop. The number this page is about is for you, and it is only worth anything while the quote is still open.

It moves while you type

As you add lines and nudge prices, Margin $ and Margin % update in real time and the read-out colours itself green, amber or red. You find out a job is thin before you commit to it, not when you reconcile the month.

  • Healthy, thin and losing-money read out at a glance
  • The server re-computes the same math on save, so the number you watched is the number that gets stored
  • An accepted quote becomes an invoice and a job costed from the same figures — nothing is re-typed
app.servicevin.com/quotes/new
Not a mock-up — the builder, recorded. The margin read-out changes as each line lands.

And it is still there tomorrow

Margin is not a number you see once during the build and then lose. It sits on the quotes list beside the status, so the question 'which of the jobs I have out are actually worth winning' has an answer you can read down a column.

HealthyThinLosing moneyon every quote in the list

See the whole quote builder

app.servicevin.com/quotes
The quotes list with status badges and colour-coded margin on every quote
The quotes list. Margin is a column, coloured, on every quote you have out.
The honest part

“So I’d have to enter all my costs first.”

Some of them, yes. We are not going to tell you this is free. What we will tell you is where the work actually is, so you can decide before you start rather than after.

01

The film cost is a step you already take

It arrives when you receive a roll — length, real cost, lot, rack location. You do it with the supplier invoice in your hand, once per roll, in seconds. The quote reads that same shelf from then on.

02

Services and rates are set once

Your price list and your team roster hold the sell prices and the pay rates. Both are set-up-once records, not something you re-enter per job, and a rostered contractor can carry a per-job payout with no login at all.

03

The figure gets honest as you go

You can quote on day one with nothing entered — the quote still works, the margin figure is just uninformed. Every roll you receive and every rate you set makes it truer. Nothing has to be complete before it is useful.

Moving from another system? Send us the CSV export and our team maps, dry-runs and loads it for you — customers, vehicles, invoice and job history and open leads, with a go-live target of 48 hours from the moment your file lands with us. Importing never texts or emails your customers. How the migration works.

Card required

The questions an owner actually asks.

How does Service VIN know what my film actually costs?

Every physical roll you receive into inventory carries its own real cost, length, lot number and rack location, and it draws down foot by foot as you log work against it. The quote builder reads that same shelf, so a film line is costed from the roll on your rack rather than from a list price somebody typed in once. Margin $ and Margin % update as you build.

Do I have to enter all my costs before I can quote anything?

No, and the honest answer is that the number is exactly as good as what you have entered. The cost arrives when you receive a roll into inventory — its length, its real cost, its lot and where it sits on the rack — which is a step you take once per roll, at the moment you already have the supplier invoice in your hand. Services and pay rates are set once in your price list and your team roster. You can quote on day one with nothing entered; the margin figure becomes trustworthy as the shelf and the roster fill in.

Is the margin after labour, or only after materials?

Both, and Service VIN shows the difference. Materials come off the film roll. Labour arrives when you assign the job to an installer: their pay rate and the hours on the job flow into the job's cost, so you see margin after your people as well as after your film. On a labour-heavy job that second number is the one that decides whether it made money.

What if I price by package rather than by the foot?

Either works. Build the quote the way a customer buys it — hood, fenders, mirrors and rockers a la carte, or a full-front or full-body coverage package as a single line — and the cost side still comes off the roll and the roster behind it. Options and add-ons live on the same quote.

Is the margin I watched the margin that gets saved?

Yes. The server re-computes the same math when the quote is saved, so the number you watched while you built it is exactly the number that gets stored. When a customer approves, the job created from that quote is costed from the same math, so there is no drift between what you quoted, what you billed and what you are building.

Who on my team can see margin and pay rates?

Only managers. The whole team area sits behind the owner and admin boundary, so pay rates, HR fields and the full roster are invisible to technicians — enforced at the route and at the row, not hidden in a menu. The installer app goes further: it never loads a quote, an invoice, a line-item price or a job's margin at all, because those columns are never queried for a worker in the first place.

Which plan do I need for this?

Live-margin quoting and film-roll inventory are both on Essentials, the entry plan at $79/mo, along with invoices, the jobs board and the booking storefront. The team roster that costs installer pay into a job is on every plan; Essentials includes 3 team logins and Growth makes them unlimited. Every plan starts on the same 14-day free trial — card required, nothing charged for 14 days, cancel anytime.

Know what the job makes before you send it.

Build one quote and see whether the number changes how you price.

Receive one roll at what you paid for it, build a full front against it, and look at the margin before you send. If the figure tells you nothing you did not already know, you have lost an afternoon.

14-day free trial — card required, nothing charged for 14 days, cancel anytime