Skip to content
CostPerJob
Guide

Estimate vs actual: how to run it on every job.

The bid was a promise. The actual is the job. The variance is the only number that teaches the next bid.

Invoice software is good at getting paid. It is quiet about whether the hours and the supply house ticket matched the estimate. That hole is why shops repeat a losing bid.

Run it on every closed job

  1. Copy the estimate lines onto the actual sheet — same names.
  2. Enter actual materials and actual hours at a burdened rate.
  3. Read variance on each line, then the job total.
  4. Change the pricebook before you bid that job type again.

Keep the same lines

If the estimate said condenser, line set, labor, permit — the actual should say the same four lines. Mixing a lump actual against a detailed bid hides which line slipped.

Use the template, then the shop OS

The estimate vs actual template is a browser table you can print or CSV out. No account. For the hourly rate, use the labor burden calculator.

Do not wait for a platform

You do not need dispatch or a CRM to compare estimate and actual. You need the bid, the hours, the materials, and a scorecard. That is v1. More on job costing and kit vs platform.

This is a sketch. CostPerJob keeps estimate + costs on one job.

See which jobs made money.

Most tools help you get the job and get paid. CostPerJob helps you see if the job made money.