How to Bid a Construction Job: A Step-by-Step Guide
To bid a construction job, define the scope in writing, take off every material the work needs, estimate the crew-hours it will take at your loaded labor rate, add overhead, then price up to a target margin instead of a markup. Send a clear, itemized quote and track it until it is accepted. CRMb builds the quote from your material list and job labor, then checks the bid against real punched hours after the job, so each bid is tighter than the last.
A bid is a promise with a number attached. You are telling a customer what you will build and what it will cost, and betting that the price leaves a profit after everything the job consumes. Win too few bids and the pipeline dries up; win them at the wrong price and every job is work you lose money on. The goal is not the lowest number. It is the right number, sent fast, in a form the customer trusts.
This walks through the bid from scope to signature.
Step 1: Nail the scope before you price anything
You cannot price work you have not defined. Before a single number, write down exactly what is included: the deliverables, the finishes, who supplies what, and the conditions you are assuming. A vague scope is how a fixed-price bid turns into an argument three weeks in.
A written scope of work does two jobs at once. It tells the customer what they are buying, and it draws the line for every change order later, because anything outside that line is billable. Walk the site, measure, photograph, and note access, disposal, and anything that could surprise you. For the full method, see how to write a scope of work.
Step 2: Take off the materials
With the scope fixed, list every material the job needs and the quantity of each, the takeoff. Cost each line at what you actually pay, not what you charge. If you are pulling from your own stock, use average cost so the bid reflects true spend rather than a sticker price.
The trap here is estimating materials in your head. A missed run of pipe or an underestimated square footage comes straight out of your margin. Build the takeoff as a real list, price it, and keep it, because it becomes the purchase order you send suppliers once you win. In CRMb, the material takeoff that priced the bid converts into a purchase order with no re-typing.
Step 3: Estimate crew-hours at your loaded rate
Labor is the line most bids get wrong, because it is the hardest to see. Estimate the crew-hours each phase will take, then multiply by your loaded labor rate, the wage plus payroll taxes, workers' comp, and benefits, which usually adds 15% to 30% over the base wage. Bidding at the bare wage understates cost on every hour.
Be honest about hours. Optimism is not a discount; it is a bill you pay later out of profit. If your last three jobs of this type ran long, bid the real number, not the hopeful one. This is where history pays off: CRMb pulls the actual labor cost per job from crew hours punched in Punch, the time-tracking app it shares a backend with, so you are estimating against what similar jobs truly took, not a guess.
Step 4: Add overhead so the job carries its share
Materials and labor are the direct costs. Overhead, the truck, the insurance, the phone, the office, the software, is real too, and every job has to carry a slice of it or the business quietly runs at a loss while each individual bid "looks" profitable.
A simple method: divide your monthly overhead by your billable labor hours to get an overhead rate per hour, then apply that rate to the hours in this bid. If overhead runs $18 per labor hour and the job is 120 crew-hours, that is $2,160 the price has to cover before profit. For the full calculation, see how to calculate your overhead rate.
Step 5: Price to a margin, not a markup
Now you have a cost: materials, loaded labor, and overhead added up. Turn it into a price by targeting a gross margin, and use the margin formula, not a markup on top of cost. They are not the same, and confusing them underprices the bid.
Price = total cost ÷ (1 − target margin)
At $20,000 of total cost and a 25% target margin, you price at 20,000 ÷ 0.75 = $26,667, not 20,000 × 1.25 = $25,000. That $1,667 gap is margin you would have handed away by "adding 25%." The difference between markup and margin is the single most expensive rounding error in contracting.
Step 6: Send a clean, itemized quote and follow up
A winning bid is easy to say yes to. Present it as a clear, itemized quote, scope, materials or allowances, labor, and a single price the customer understands, on a professional document rather than a texted number. Ambiguity reads as risk, and risk loses bids.
Send it fast, while you are still the contractor they remember meeting. CRMb quotes go out with a public share link the customer can open and accept with a signature, no account, no printing, and every quote stays visible in your pipeline until it is won or lost. Then work the ones still open, because a quote that is never followed up is a bid you talked yourself out of, see how to follow up on a quote.
Step 7: Compare the bid to the real job, then bid better
The bid is not finished when you win it. It is finished when the job is done and you know whether the margin you promised actually showed up. Compare estimated cost to actual: did materials come in on the takeoff, did labor land near the hours you bid, did the margin survive?
This is the loop that turns bidding from guesswork into a skill. CRMb Reports put estimated margin next to the real margin from punched hours and average-cost materials, so a job that ran 20 hours over tells you to bid that job type higher next time. A post-job profitability review done on every job is how good estimators get good.
How to decide which jobs to bid on
Learning how to bid on construction jobs is half estimating and half choosing. Every bid costs you a site visit, a takeoff, and an evening at the desk, so bidding everything is a way to be busy and broke at the same time. Decide before you price, not after.
Three questions make the call. Do you have the crew-hours free in the window the customer wants? Is the work close enough to your trade that your hour estimates are trustworthy? And do you win enough of this job type to justify the effort? If you win one in three deck jobs and one in ten commercial fit-outs, your estimating time is worth three times as much on decks. Track it, do not guess — see quote win rate for contractors.
Capacity is the constraint people skip. Bidding work you cannot staff wins you a job you deliver late, and late is how a good margin turns into overtime and callbacks. CRMb Capacity shows scheduled crew hours against the weeks ahead, so you can see whether the job you are about to bid has anywhere to live before you price it. Your open bids sit in the pipeline as their own stage, which is also how you see how much work is riding on quotes that have not come back yet — see how to measure job backlog.
How to bid small construction jobs
Bidding small construction jobs uses the same seven steps, but two things change: the fixed costs hurt more, and there is no room to absorb a mistake.
On a two-day deck or a single concrete pour, mobilization is a real percentage of the job. Loading the trailer, driving out, setting up, and cleaning up can be four hours on a sixteen-hour job — a quarter of the labor — and it does not shrink just because the job did. Price that time in explicitly rather than hoping it hides in the number. The same goes for travel; see how to charge for drive time.
Set a minimum job price and hold it. Below some figure, the truck, the paperwork, the invoice, and the follow-up cost more than the work earns, and the job is a favor with a receipt. Work out what that floor is from your overhead rate per hour and refuse to bid under it.
Overhead still applies. Small jobs are where contractors quietly drop the overhead line because the total "looks like a lot already" — and a year of those is a year of running the truck for free. Apply the same per-hour overhead rate you use on a $200,000 build.
Trade specifics sit on top of the same math: how to bid a deck job, how to bid concrete jobs, fencing, and roofing each carry their own waste factors and crew sizes.
Learn how to bid construction jobs: a worked example
If you have never priced a bid on paper, the whole thing is four numbers stacked in order. Here is a small job end to end.
A 320 sq ft deck rebuild. Materials take off at $4,800 — framing, decking, fasteners, footings, plus a 10% waste allowance already inside that figure. Labor: two carpenters, three days, eight hours each, so 48 crew-hours. Your loaded rate is $42 an hour (a $32 wage plus payroll taxes, workers' comp, and benefits), so labor is 48 × 42 = $2,016. Overhead runs $18 per labor hour, so the job's share is 48 × 18 = $864.
Total cost: 4,800 + 2,016 + 864 = $7,680.
Now price to a margin, not a markup. At a 30% target: 7,680 ÷ 0.70 = $10,971, call it $10,975. Adding 30% on top instead would have given you $9,984 — the same job, $991 poorer, which is the mistake this one formula prevents.
That is the entire method. Everything else — bigger jobs, phased schedules, allowances, subs — is more lines in the same four buckets. Bid it, win it, then check the finished job against those numbers so the next estimate starts from evidence instead of memory.
How to write a quote for a job once the bid is priced
The bid is the math. The quote is the document the customer actually reads, and it is a separate piece of work — many contractors get the number right and then lose the job to a cleaner-looking page.
Write it in the customer's language, not your estimating shorthand. A quote for a job needs the scope in plain sentences, the price broken into lines a non-builder can follow, what is excluded, what the price assumes, and how long it stands. Line items beat a single lump sum: a customer who can see where the money goes argues with the scope instead of the total, and that is a conversation you can win.
Say what happens next. Deposit terms, the start window, payment terms, and the fact that anything added later is a change order all belong on the page, because every one of them is a dispute you are heading off — see how to write a scope of work and how to handle change orders.
A quoting process only counts as professional when it is repeatable. Pricing a job from a saved material list and a known loaded rate, sending the same clean document every time, and knowing which quotes are still open is the whole discipline — see how to create a professional quote and, when the customer is choosing between options, good-better-best quotes. In CRMb the quote is built from the job's materials and labor, sends as a link the customer opens and signs without an account, and converts to the invoice when the work is done, so nothing is re-typed between the bid and getting paid.
How to bid out a construction job to subcontractors
"Bidding out" a job runs the process in reverse: instead of pricing work for a customer, you ask subcontractors to price part of it for you, then carry their numbers into your own bid. Get it wrong and a sub's missing line becomes your loss.
- Package the scope. Send every sub the same thing: the written scope for their trade, drawings or photos, measurements, the schedule window, site access, and who supplies what. Different packages produce bids you cannot compare.
- Ask at least two or three subs, with a due date. One price is a quote, not a market. Set the deadline a few days before your own bid is due so you have time to read what comes back.
- Level the bids before you compare totals. Line up each bid's inclusions and exclusions. A lower number that leaves out cleanup, permits, or a material is not lower. Ask the sub to fill the gap or price it yourself.
- Carry the sub price with a markup. You coordinate the sub, carry the risk if they are late, and stand behind their work to the customer. That costs money, so the sub line carries a markup like your materials do; how much to mark up materials covers typical subcontractor markup.
- Get the winning price in writing. Confirm the scope, price, and schedule with the sub before your customer signs, so the number you bid is the number you pay.
Once the job starts, track what you actually pay each sub against what you carried in the bid. How to track subcontractor costs walks through it.
The construction bidding process for beginners
If you are bidding your first jobs, the whole process fits on one page. Do these in order, every time:
- Visit the site. Measure, photograph, and note access, disposal, and anything hidden.
- Write the scope. What is included, what is not, who supplies what.
- Take off materials. Every item, every quantity, at what you pay.
- Estimate crew-hours. By phase, honestly, at your loaded labor rate.
- Get sub prices. For any trade you are not doing yourself.
- Add overhead. Your overhead rate per labor hour, times the hours.
- Price to a margin.
Price = total cost ÷ (1 − target margin). - Write the quote. Itemized, plain language, with terms and an expiry date.
- Send it fast and follow up. Within a day or two of the visit if you can.
- Compare the finished job to the bid. Then adjust your numbers for the next one.
Nothing on that list requires special software or a construction degree. It requires doing every step on every bid, including the small ones, which is where beginners most often skip overhead and underprice labor. The worked example above is the same list with numbers in it.
Frequently asked questions
What is the difference between a bid, an estimate, and a quote? In everyday use they overlap, but roughly: an estimate is your best approximation of cost, a bid is the price you submit to compete for the work, and a quote is a firm, itemized price you are committing to. On fixed-price construction work the quote is the number you are held to, so build it from a real takeoff and honest hours, not a round guess.
How much profit margin should I build into a construction bid?
It depends on trade, risk, and market, but many contractors target a 20% to 40% gross margin after materials, loaded labor, and overhead. Riskier or more custom work carries a higher margin because more can go wrong. The key is pricing to that margin with the cost ÷ (1 − margin) formula, not adding the percentage as a markup.
Why do I keep losing money on jobs I bid? Usually one of three leaks: labor hours estimated too low, overhead never added to the price, or markup used where margin was intended. Comparing every finished job's actual cost to the bid surfaces which leak is yours. When labor is the culprit, bidding against real punched hours instead of memory fixes it fastest.
Should I bid fixed-price or time-and-materials? Fixed-price suits well-defined scopes where you can predict cost; time-and-materials suits open-ended or discovery-heavy work where a firm price would force you to pad heavily. Many contractors use both depending on the job, see time and materials vs fixed price.
How fast should I send a bid after the site visit? As fast as the estimate is solid. Speed is a competitive edge, the contractor who quotes in a day often beats the one who quotes in a week, but never at the cost of accuracy. Building the bid from a saved material list and known labor rates is how you move fast without cutting corners.
How do you find construction jobs to bid on? Most small contractors fill the bid list from three places: past customers and referrals, general contractors who already sub work out to trades like yours, and public or commercial bid boards for the larger jobs. Referrals convert best and cost least, which is why keeping past clients and their job history in one place is worth more than it looks — see client onboarding for a service business.
How do I bid a small construction job without underpricing it? Add mobilization time explicitly, keep the same overhead rate per hour you use on big jobs, and hold a minimum job price. Small jobs go wrong when setup, travel, and paperwork get treated as free because the total already feels large relative to the work.
How many jobs do I have to bid to win one? It varies by trade and lead source, but a win rate between 25% and 50% is common for residential work, and lower for competitive commercial bidding. The number matters less than knowing yours — it tells you how much work to have out on quotes to keep the crew booked, and which job types are worth the estimating hours.
Do I charge for estimates? Straightforward quotes are usually free, because the estimate is how you win the work. Detailed design, engineering, or a multi-day investigation is different, and charging for it — then crediting the fee against the job if they sign — filters out the tire-kickers without costing you real customers.
What does it mean to bid out a construction job? It means asking subcontractors or suppliers to price parts of the job so you can build your own bid from their numbers. Send each one the same scope package, compare bids line by line rather than by total, and carry the winning price into your bid with a markup for coordination and risk.
What is the construction bidding process, step by step? Visit the site, write the scope, take off materials, estimate crew-hours at your loaded rate, collect sub prices, add overhead, price to a target margin, send an itemized quote, follow up, and compare the finished job to the bid. The beginners' checklist above lists it in order.
How do you bid a deck job? The same way as any construction bid: take off the framing, decking, railing, and fasteners with a waste allowance, estimate crew-hours by phase, add overhead, and price to a margin. The worked example in this guide is a deck rebuild; how to price a deck building job adds deck-specific rates and pitfalls.
How do you bid concrete jobs? Measure the area and thickness to get cubic yards, add waste, and price the concrete, base, forms, and reinforcement. Then estimate crew-hours for prep, pour, and finish, plus pump or equipment costs, add overhead, and price to a margin. See how to price a concrete job.
Getting started with CRMb
CRMb turns bidding into a repeatable process instead of a spreadsheet you rebuild every time. Take off materials at average cost, pull labor from real crew hours, price to a target margin, and send a quote with a public share link the customer signs in one tap. After the job, Reports show the margin you actually earned so your next bid is sharper.
Start a 14-day free trial and send your next bid with the numbers behind it.