River
Y CombinatorBacked by Y Combinator

Free template

Job Estimate Template for Contractors

A job estimate format with assumptions and terms, plus sheets for your true hourly labor cost, the margin each markup keeps and actual job costs.

Free download · No account needed

What you get

Pack of 7 files: 4 documents, 3 spreadsheets

Job Estimate Template for Contractors
  • Estimate FormatDocument
  • Assumptions and ExclusionsDocument
  • Terms NoteDocument
  • Where the Estimates Went WrongDocument
  • Cost BuildSpreadsheet
  • Margin CheckSpreadsheet
  • Estimate RegisterSpreadsheet
RiverJob Estimate Template for Contractors

Estimate Register

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

One row per bid. The left of the sheet is the estimate exactly as it was sent. The right of it is what the job actually cost once it closed, and the variance columns after that show 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 labor 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.

How to write a job estimate

A job estimate is the price you give a client before work starts, with the basis behind it. A good one describes the work in the order it will happen, and prices labor at what an hour really costs you and materials at today's supplier prices. It also says what the price assumes and leaves out, how long it holds and how changes are agreed.

Get one number right before anything else: what an hour of labor really costs you. If it's wrong, the labor on every estimate is off by the same percentage, however carefully you count the hours.

An electrician in a neon yellow work shirt and cap using a screwdriver on an electrical panel mounted on the outside wall of a house
An hour on site costs you far more than the wage you pay for it. Photo: Raze Solar on Unsplash

What a job estimate includes

Use the same layout for every job, so each estimate can be checked against what the job really cost.

The parts of a job estimate

PartWhat goes in itWhy it's there
HeaderClient, site, bid number, dates, job type and estimatorLets you compare jobs later
ScopeThe work in the order it will happen, in plain wordsThe client can check it
PriceOne total, with labor hours, materials, permits and subcontract beneath itShows what the client pays for
AssumptionsConditions the price depends on, and what happens if one failsSurprises become priced changes
ExclusionsWork a client might expect that isn't includedHeads off "I thought that was included"
TermsPrice validity, payment stages, change orders and warrantySets the rules before money moves

Work out what an hour of labor costs

Wages are only part of what an employee costs. In June 2026, benefits made up 30.0% of private employers' compensation costs per hour worked1, according to the US Bureau of Labor Statistics.

Cost one field employee for a full year, counting wages for every paid hour, holidays and vacation included. The IRS puts the employer's share of Social Security and Medicare at 6.2% and 1.45% of wages2. Federal unemployment tax is 6.0% of each employee's first $7,000, or 0.6% after the maximum state credit3. Add state unemployment, workers' compensation, benefits, and the van, tools and insurance that follow the person.

Divide by billable hours: paid hours less holidays, vacation, travel between jobs, training, warranty callbacks and shop time. Take them from a year of timesheets, since every billable hour you overcount makes an hour look cheaper than it is.

One field technician's year, costed

LineBasisPer year
Wages2,080 paid hours at $40.00$83,200
Social Security and Medicare7.65% of wages$6,365
Unemployment taxesFederal $42 (0.6% of $7,000) plus your state's$312
Workers' compensation$4.00 per $100 of payroll$3,328
Health and retirementWhat you pay$6,000
Van, tools, phone, insuranceCash cost for the year$20,000
Total costAll of the above$119,205
Billable hours2,080 less 120 paid leave and 400 unbillable1,560
Cost per billable hour$119,205 divided by 1,560$76.41

Illustrative figures. Use your own payroll, policy rates and timesheets.

Divide that $119,205 by all 2,080 paid hours and an hour seems to cost $57.31, a quarter less than it really does. If your estimates use $65 an hour, you're $11.41 short on every hour you bill: about $17,800 a year for this one technician.

Weighing a subcontractor against a hire? A contractor vs employee cost comparison prices both per hour of real work.

Estimate hours and materials from past jobs

Estimate labor task by task, then multiply by your hours factor for that job type. The factor is the actual hours on finished jobs of that type divided by the hours you estimated for them.

Keep one factor per job type. In the template's made-up electrical firm, nine service calls ran 23.6% over their estimated hours, and six panel upgrades ran 2.5% over. A service call is priced before anyone knows the fault, while a panel upgrade is specified first. One blanket uplift would underprice the calls and overprice the upgrades.

Treat a factor from fewer than five jobs as provisional. Price materials from current supplier quotes, with a waste allowance where the material needs one, and mark any figure you had to guess.

Add markup, and know the margin it keeps

Markup is a percentage added to cost. Margin is the share of the price left after the job's costs. You get it by dividing markup by one plus markup, so a 30% markup keeps 23.1%. Markup is margin divided by one minus margin, so keeping 30% takes a 42.9% markup.

Markup and margin are different numbers

PercentageMargin a markup this size keepsMarkup needed to keep this margin
20%16.7%25.0%
30%23.1%42.9%
40%28.6%66.7%
50%33.3%100.0%

Your markup has to cover what the hourly cost leaves out, such as the office, software, advertising and your time on estimates, plus profit. To reach a lower price, cut the markup, never the hours, so your cost records stay true.

Write the assumptions, exclusions and terms

An assumption is a condition your price depends on. It needs three parts: the condition, what happens to the price if it fails, and who checks it and when. "Price subject to site conditions" has none. "Assumes the meter base is sound, which our electrician checks on the first morning; a replacement is quoted separately" has all three.

Exclusions name work a client might expect that isn't included, such as patching and painting after you open walls, hazardous materials and structural work. In a US home built before 1978, ask whether the job will disturb paint. The EPA generally requires anyone paid for that work to be certified in lead-safe work practices4.

Give the price an end date with a reason, such as the supplier quote behind it that expires first. Tie payments to stages of the job, not calendar dates, and check deposit limits where you work. In California, the Contractors State License Board says a home improvement down payment can't exceed $1,000 or 10% of the contract price, whichever is less5.

Agree every change and its price on a written change order before doing the work. If you sign jobs in clients' homes, the FTC's Cooling-Off Rule gives buyers three days to cancel certain sales of $25 or more made at home6. You must tell them about that right at the time of sale. Put the binding terms in a service agreement the client signs.

Check your terms with a lawyer

Deposit limits, cancellation rights and licensing rules vary by state. Have a lawyer review your standard terms for each state you work in. This guide is not legal advice.

Before you send an estimate

  • The job type and estimator are on it
  • Labor is priced at your true cost per billable hour
  • Hours include the factor for this job type
  • Each assumption has a condition, a price consequence and a check
  • The expiry date, payment stages and change-order rule are stated
  • Your copy shows both the markup and the margin

Close every job against its estimate

When a job finishes, put its actual hours, materials and permits beside the estimate. Count signed change orders as part of the estimate, not as overruns.

Then split the labor difference, because each part has its own fix. The hours error is the extra hours times the rate you estimated with. The rate error is the gap between your true hourly cost and that rate, times the hours worked. Together they make up the whole labor difference.

ExampleClosing out one service callAn illustrative example written for this guide.

Estimate: 8 hours at $65.00 an hour plus $400.00 of materials, $920.00 in all. A 25% markup made the price $1,150.00, a 20.0% margin.

Actual: 10 hours at a true $76.41 an hour plus $430.00 of materials, $1,194.10 in all. The job lost $44.10.

Hours error: 2 extra hours at $65.00 is $130.00. Rate error: 10 hours at $11.41 short is $114.10. Materials: $30.00 over. Total: $274.10.

  • Hours error. Fixed with an hours factor for service calls, measured over several jobs.
  • Rate error. Fixed once, in the hourly cost, because it's on every job you price.

Log every bid, won or lost, with its markup. A bid is worth the win rate at its markup times the margin a win brings. In the template's made-up firm, bids at a 40% markup won a third of the time, so each was worth about $657 in margin, against $876 at 20%. The bids at each markup mix job types, though, and win rates measured at old prices are a guide, not a forecast.

The template on this page has the layout, notes and sheets described here. Edit with AI opens it in River, which builds your hourly cost first.

How to use this template

Use the files as they are, or open them in River. The sheets arrive filled in for a made-up electrical contractor, so you can see how each one works before clearing it. With Edit with AI, River first asks for a year of payroll for one field employee and the van, tools and insurance behind them. It also asks for a timesheet split into billable and unbillable hours.

River works out what one billable hour really costs and compares it with the rate on your estimates. It then asks for about 20 finished jobs, each with its estimate and actual cost. It splits every overrun into a rate error and an hours error, and sets an hours factor for each job type. With fewer than 10 jobs, it marks the results provisional.

  1. Download it or open it in River

    Download the four Word documents and three CSV sheets free, or open them in River to work through your numbers with AI.

  2. Cost one billable hour

    Fill in the Cost Build from one field employee's payroll, costs and timesheets, or send them to River to build it.

  3. Price and send each estimate

    Write it in the Estimate Format with your assumptions and terms, and note the markup and the margin it keeps.

  4. Close each job afterward

    Log every bid in the Estimate Register, add actual costs when a job ends, and update the hours factors in Margin Check.

What's in the template

One electrical contractor, two quarters, and $14,682 never charged forThe cost build, the closed jobs, the variance split and the win rate by markup band.
Job Estimate Template for Contractors
RiverWhat an hour costs

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
Wages2,080 paid hours at $49.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 
Hours worked2,080 paid hours less 80 holiday and 40 paid time off1,960—
Less travel, training, warranty, shopTimesheet, twelve months-320—
Billable hours, the divisor—1,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. Three hundred and twenty hours of the year, and every hour left out of that subtraction makes the rate come out too low.

RiverTwenty-four closed jobs

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 labor 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.

RiverTwo errors, two fixes

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 labor miss exactly.

CauseAmountShare of the missWhere it is fixedHow often
Labor, rate: the hourly figure was wrong$5,70951.0%The cost buildOnce
Labor, 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.

RiverForty-one bids

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.

  • Estimate FormatThe layout of an estimate, part by part, with the reason each field is there.
  • Assumptions and ExclusionsHow to write assumptions with a condition, a price consequence and a check, plus common exclusions.
  • Terms NotePlain-language notes on validity, payment stages, change orders and warranty. Binding terms belong in your agreement.
  • Where the Estimates Went WrongA quarterly review that ranks why jobs cost more than estimated, and what to fix first.
  • Cost Build sheetOne field employee's full-year cost divided by billable hours, beside the rate your estimates use.
  • Margin Check sheetMarkup converted to margin, expected against actual margin by job type, hours factors and win rate by markup.
  • Estimate Register sheetEvery bid, won or lost, with its markup, and for won jobs the actual cost and variance split.

Common questions

What should a job estimate include?

A job estimate names the client and site, describes the work in the order it will happen, and gives one price with its basis. The basis is labor hours, materials, permits and subcontract. It also states assumptions, exclusions, an expiry date, payment stages and how changes get agreed. Keep the markup and margin on your own copy.

What is the difference between an estimate and a quote?

An estimate is usually an expected price that can change as the work becomes clear. A quote is usually a fixed price for a set scope, good until a stated date. People use the words loosely, so say on the document which one you mean. Either way, the written scope, assumptions and exclusions show what the price covers.

How do I calculate my labor rate as a contractor?

Total what one field employee costs for a year, then divide by the hours you can bill. The year includes wages for all paid hours, employer payroll taxes, workers' compensation, benefits, and their van, tools and insurance. Billable hours leave out holidays, vacation, travel, training, callbacks and shop time. Markup goes on top of that cost.

How much should a contractor mark up a job?

There is no standard markup: yours has to cover your overhead and your profit. Work out last year's overhead (office, software, advertising, your admin time) as a share of sales, then add the profit you want. That total is the margin you need. To turn it into a markup, divide it by one minus the margin, so a 25% margin needs a 33.3% markup.

How long should an estimate be valid?

No longer than the prices behind it. If a supplier's quote for the main materials expires in 14 days, give the estimate the same date, or accept the risk of a price rise. Write the expiry as a calendar date rather than a number of days, and say which price sets it.

Is this job estimate template free?

Yes. Download the four Word documents and three CSV sheets with no signup. The sheets hold a made-up electrical contractor's numbers, so you can see how they work before entering yours. Edit with AI opens the same template in a free River workspace.

What does Edit with AI do?

It opens the template in a free River workspace. River asks for a year of payroll and costs for one field employee, then your recent finished jobs with their estimates and actual costs. It works out your true hourly cost, splits each overrun into rate and hours, and sets an hours factor per job type. Pricing decisions stay yours.

Sources

  1. U.S. Bureau of Labor Statistics. “Employer Costs for Employee Compensation News Release - 2026 Q02 Results.” bls.gov (opens in a new tab)

  2. IRS. “Topic no. 751, Social Security and Medicare withholding rates.” irs.gov (opens in a new tab)

  3. IRS. “Topic no. 759, Form 940, Employers Annual Federal Unemployment (FUTA) Tax Return – filing and deposit requirements.” irs.gov (opens in a new tab)

  4. US EPA. “Lead Renovation, Repair and Painting Program.” epa.gov (opens in a new tab)

  5. Contractors State License Board. “What is a Contract?” cslb.ca.gov (opens in a new tab)

  6. FTC. “Buyer’s Remorse: The FTC’s Cooling-Off Rule May Help.” consumer.ftc.gov (opens in a new tab)

Written by

Chandler Supple

Co-founder & CEO, River

Chandler has spent the last six years working in AI, building tools for millions of users and Fortune 100 companies. In 2025, he co-founded River to build a new kind of operating system for AI agents.

Reviewed by

Brian Joseff, Co-founder, River