River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Job Estimate Template for Contractors

Four documents and three sheets, including a register that closes every estimate against what the job actually cost afterwards.

Free download  ·  No account needed

Estimate Register

[Company] — close-out, quarter ending [date]

One row per bid. The left of the sheet is the estimate, which every contractor template has. The right of it is what the job actually cost, which none of them has, and the four columns in between are where the difference went.

Job typeEst hrsAct hrsMarkupMargin impliedMargin returnedQty varianceRate variance
Book

Quantity variance is hours nobody estimated, priced at the rate that was used. Rate variance is the hourly figure being wrong, applied to the hours really worked. They add to the labour miss exactly, and they have completely different fixes.

Lost bids get a row too, with the markup they carried. A register holding only won work cannot compute a win rate, which is why “should I put my prices up” usually gets answered by nerve.

Every job estimate template a contractor can download is a builder. Line items, labour hours, materials, markup, overhead, tax, terms, exclusions, an expiry date. The good ones ship several layouts by job shape, or a calculator with trade presets, or price on margin instead of markup and explain the difference. All of them are forward-only. The quote goes out and nothing ever comes back to it, so a business that is systematically light on hours stays light on hours for as long as it uses one.

Marlow Electric is an invented four-electrician shop in Ohio, and its estimates use $72.00 an hour. One electrician costs $133,777 a year once wages, the employer's 7.65 per cent share of Social Security and Medicare, federal unemployment tax, state unemployment on Ohio's $9,000 wage base, workers' compensation and the van are all counted. Spread over the 1,640 hours a year that can genuinely be billed, rather than the 1,960 that get paid for, that is $81.57. The estimates are $9.57 short on every hour.

Twenty-four jobs closed over two quarters were quoted at markups implying 24.1 per cent and returned 16.2. The $11,190 gap splits into causes with different fixes. Half of it, 51.0 per cent, is that hourly rate, which is one number and one afternoon. Another 27.3 per cent is hours nobody estimated, and that error is concentrated: 23.6 per cent over on service work against 2.5 on panel upgrades, so a blanket uplift is the wrong correction. Repriced honestly, $14,682 of margin was never charged for.

One electrical contractor, two quarters, and $14,682 never charged for

The cost build, the closed jobs, the variance split and the win rate by markup band.

Cost Build: one electrician, one year, then divided

Marlow Electric, invented. Four electricians, residential and light commercial work in Ohio. The rate on their estimating template was set four years ago from a wage figure plus a round uplift and has never been rebuilt.

LineBasisAnnualPer billable hour
Wages1,960 paid hours at $52.00$101,920$62.15
Social Security and Medicare7.65% of wages, the employer share$7,797$4.75
Federal unemployment0.6% of the first $7,000$42$0.03
State unemployment2.7% of the first $9,000$243$0.15
Workers’ compensation$3.90 per $100 of payroll$3,975$2.42
Van, fuel, tools, phone, coverCash cost, not depreciation$19,800$12.07
Cost of one electrician for a year$133,777
HoursSourceHours 
Paid hours2,080 less 80 holiday and 40 paid time off1,960
Less travel, training, warranty, shopTimesheet, twelve months-400
Billable hours, the divisor1,640
True cost of one billable hour$133,777 over 1,640 hours$81.57
Rate on the estimatesSet four years ago$72.00
Short on every hour billed13.3 per cent$9.57$15,695 a quarter

The line owners get wrong is not a cost, it is the divisor. Travel between calls, code training, warranty callbacks and shop time are all paid for and none of them can be billed. Four hundred hours of the year, and every hour left out of that subtraction makes the rate come out too low.

Every job closed against the estimate that won it

Twenty-four jobs over two quarters. Actual hours from the timesheet, actual materials from supplier invoices, actual labour costed at $81.57 rather than at the $72.00 the estimate used.

Job typeJobsEst hrsAct hrsHours overMaterials overMargin impliedMargin returned
Service and troubleshooting95365.523.6%6.3%19.4%-0.8%
Panel upgrade6141144.52.5%2.9%21.0%14.3%
EV charger install44344.02.3%3.0%24.4%18.7%
Lighting retrofit3103105.52.4%4.0%25.5%20.5%
Whole-house rewire2214237.010.7%3.0%25.6%15.6%
Book24554596.57.7%3.6%24.1%16.2%
Across the twenty-fourAmount 
Quoted$141,045What the clients paid
Estimated cost$107,038What the estimates said the work would cost
Actual cost$118,22810.5 per cent over the estimate
Margin never charged for$14,682Repricing each job off its true cost, at its own markup

Service work returned minus 0.8 per cent against the 19.4 per cent its markup implied, and lighting retrofits returned 20.5 against 25.5. A twenty point spread across job types quoted at similar markups, which is the finding, because the markup is plainly not what is causing it.

The $11,190 miss, split into causes that have different fixes

Quantity variance is actual hours less estimated hours, times the estimated rate. Rate variance is the actual rate less the estimated rate, times the actual hours. They add to the labour miss exactly.

CauseAmountShare of the missWhere it is fixedHow often
Labour, rate: the hourly figure was wrong$5,70951.0%The cost buildOnce
Labour, quantity: hours nobody estimated$3,06027.3%An hours factor per job typePer type
Materials$2,26620.3%The waste allowance, by material classPer class
Permits, inspection and subcontract$1551.4%Nothing. Two one-off items
Total cost variance$11,190100%

The largest single cause did not happen on a job site. It is one number in the pricebook, wrong by the same 13.3 per cent on every job, and rebuilding it is an afternoon. The second largest is the opposite: concentrated, and destroyed by the correction owners actually reach for.

Job typeHours overA blanket 10.5% upliftIts own hours factorJobs behind it
Service and troubleshooting23.6%Still 13 points short1.24x9
Panel upgrade2.5%8 points of padding1.02x6
EV charger install2.3%8 points of padding1.02x4, provisional
Lighting retrofit2.4%8 points of padding1.02x3, provisional
Whole-house rewire10.7%About right, by luck1.11x2, provisional

A panel upgrade is specified before it is priced. A service call is a diagnostic job priced before anyone knows what is wrong. They are different estimating problems and one contingency percentage cannot serve both, which is why the blanket uplift column is wrong in every row but one.

Should the prices go up, answered from bids rather than nerve

Forty-one bids over the same two quarters, twenty-four won. Priced on the average closed job, which costs $4,926 to do, so the three bands are compared against the same work.

Markup quotedBidsWonWin ratePriceMargin when it landsExpected margin per bid
20 per cent9888.9%$5,911$985$876
30 per cent231356.5%$6,404$1,478$835
40 per cent9333.3%$6,897$1,970$657
All bands412458.5%

The top band earns twice what the bottom one does when it lands and returns least per bid, because it lands a third of the time. Two caveats belong beside that every time. The bands carry a job mix inside them, and the win rates were measured at the old prices, so they guide the next quarter rather than forecast it.

Then the arithmetic error underneath all of it, which is the one most often made in trade pricing.

Markup applied to costMargin it actually keepsMarkup needed to keep that number as margin
20%16.7%25.0%
30%23.1%42.9%
40%28.6%66.7%
50%33.3%100.0%

A business quoting a 30 per cent markup and reporting 30 per cent margin is out by seven points before a single job runs over. Marlow was out by that, and then out by another eight because the jobs ran over, which is how 30 became 16.2.

What's in the pack

01

Estimate Register sheet

Every bid, won or lost, with the markup it carried. The won rows carry actual hours, actual materials, actual cost, the margin returned against the margin the markup implied, and the variance split into four lines that reconcile. On a monthly retainer the same close-out runs against hours bought rather than against a bid.

02

Cost Build sheet

One field employee costed for a whole year, then divided by the hours that can actually be billed. Paid hours, payroll taxes, workers' compensation and the vehicle on one side; travel, training, warranty and shop time subtracted on the other. The payroll taxes in it have their own filing dates.

03

Margin Check sheet

Markup converted to margin at every band, then the margin each job type implied set against the margin it returned. Then the hours factor per type, with a job count beside it and a provisional flag where the count is thin.

04

Where the Estimates Went Wrong

The quarterly read. The four causes ranked by what each cost, why a blanket uplift is the wrong correction, and what the win rate by band does and does not prove. It ends on one paragraph naming what to change first.

05

Estimate Format

The layout, and the reason each field is on it. Two exist purely so the close-out works: the job type in the register's own words, and who estimated it. Neither is on a downloadable template, which is why neither gets recorded.

06

Assumptions and Exclusions

How a price stops being an opening position. Every assumption names a condition, a consequence with a figure, and who checks it on the day. They are written from the register's notes on jobs that already went wrong.

07

Terms Note and eight prompts

Validity, payment stages, change orders and warranty in plain language, plus the written method behind all of it. What the jobs actually earn by service line is the question after this one.

How it works

  1. 1

    Take the files or install the pack

    Four documents and three sheets as Word and CSV files with no account, or install the whole thing into a private Space with the agent already primed on the measurement method behind each sheet.

  2. 2

    Send one employee's year and twenty finished jobs

    Payroll, vehicle and insurance for one field employee, plus the timesheet split between billable and unbillable. Then finished jobs with the estimate as sent and the actual cost afterwards.

  3. 3

    Get the hourly rate first, then the split

    What one billable hour really costs against the rate on the estimates, per hour and per quarter. Then how much of the gap is that rate and how much is hours nobody estimated, ranked by what each cost.

  4. 4

    Set a factor per job type and reprice the pipeline

    One hours factor per type with its job count, then the live quotes rerun through the corrected cost base. A factor that never reaches a quote has changed nothing, so the difference gets reported in dollars.

Frequently asked questions

Is this template free?

Yes. Four documents, three sheets and eight prompts with no signup and no card, and they are the same files the agent works in. Editing with AI is the optional path, where your own payroll and job history become the hourly rate and the register is built on them rather than on worked examples.

What format are the downloaded files?

CSV for the Cost Build, the Margin Check and the Estimate Register, and Word for the four documents, zipped together. Excel, Numbers, Sheets, Word and Pages open them directly with nothing to install and nothing to convert first.

I have never tracked what jobs actually cost. Can I still use it?

Yes, and the cost build is worth doing on its own. It needs one employee's payroll and a timesheet, not job costing, and on the worked example it is 51.0 per cent of the miss. Start closing jobs out from today, alongside the four numbers you already watch, and the rest follows in a quarter.

Why split the overrun instead of using one percentage?

Because the two halves have different fixes. The rate error is the same on every job and is corrected once in the pricebook. The hours error is concentrated: 23.6 per cent on service work against 2.5 on panel upgrades, so a single figure underprices one and prices you out of the other.

Does this tell me to raise my prices?

No, and it argues against doing it first. On a cost base that is wrong, a higher markup makes the accurate work uncompetitive without fixing the inaccurate work. Fix the rate and the factors, then read the win rate by band on a quarter of bids priced properly.

What is markup versus margin, in one line?

Markup is added to cost, margin is the share of the price left over. A 30 per cent markup is a 23.1 per cent margin, and keeping 30 needs a markup of 42.9. Every quote here states both, because reporting one as the other is the commonest arithmetic error in trade pricing.

Does this replace my estimating software?

No. It reads what the estimates and invoices already hold and adds the loop none of them close. What the returned paperwork does to the start date is a different question, and when the money actually lands is another. Whether the week has the hours at all is the capacity model.

Find out what an hour of your own labour actually costs

Download the blank pack as Word and CSV files, or open it in River, send one employee's year and twenty finished jobs, and get the rate and the split back first.

Edit with AI