How to Bid a Construction Job: A Step-by-Step Guide
The short answer: 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.
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.
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.