Set markup by working backward: add next year's overhead budget to the net profit you want, divide by the direct job cost you expect to run, and that is the minimum average markup. Then adjust job by job for risk, size, and competition.
Review invoices, committed costs, and cash timing together before making project decisions. AI-generated illustration.
The right construction markup is not a number you copy from a forum. It comes from your own books. Add your annual overhead budget to the net profit you want to earn, divide that total by the direct job costs you expect to put in place next year, and the result is the average markup on cost you need. A company expecting $3.2 million of job costs, $500,000 of overhead, and wanting $300,000 of profit needs an average markup of 25 percent, which equals a 20 percent gross profit margin. From there, you raise or lower markup on individual bids based on risk, size, and how badly you want the work.
Rules of thumb fail because two contractors with the same revenue can have very different overhead. A remodeler with a showroom and three salespeople needs a much higher markup than a two-truck concrete sub running out of a pole barn.
Step-by-step: how to set your markup
1. Build next year's overhead budget
List every cost that does not belong to a specific job: office rent, office and management salaries, owner's salary, software, insurance not charged to jobs, accounting and legal, vehicles not charged to jobs, marketing, bid costs. Use next year's numbers, not last year's, and include planned hires. The detail is in how to budget overhead in a contracting business.
2. Decide what profit you are working for
Net profit pays for growth, equipment, debt reduction, and the risk of owning a construction company. Pick a dollar figure, not a percentage, and test it against what you actually need: a new truck, a bigger bonding line, a cash cushion for a slow winter.
3. Forecast direct job costs for the year
Use backlog, pipeline, and history to estimate how much labor, material, subcontract, and equipment cost you will run through jobs. Be honest. Overestimating volume is the most common way to set markup too low.
4. Calculate required markup and margin
Required gross profit = overhead + target net profit.
Required markup on cost = required gross profit / forecast direct costs.
The calculated figure is an average, not a price for every job. Small jobs carry more overhead per dollar of revenue (the same estimating, scheduling, and invoicing effort for a fraction of the cost base), so they usually need more markup. Hard-bid public work with tight competition may bear less. Jobs with unknown conditions, difficult owners, long payment terms, or heavy retainage deserve more. Some contractors also apply a lower markup to subcontracted scopes than to self-performed work, since they carry less of the labor risk.
6. Track it and recalibrate
Each quarter, compare actual gross margin on closed jobs with the plan, and actual volume with the forecast. If either is off, change the markup on the next bids rather than hoping the year evens out.
Worked example: a $4 million general contractor
Say a commercial general contractor expects $3,200,000 of direct job costs next year, has a $500,000 overhead budget, and wants $300,000 of net profit. The numbers are illustrative.
Example markup calculation
Line
Amount
Forecast direct job costs
$3,200,000
Overhead budget
$500,000
Target net profit
$300,000
Required gross profit
$800,000
Required markup on cost (800,000 / 3,200,000)
25%
Projected revenue (3,200,000 + 800,000)
$4,000,000
Gross margin (800,000 / 4,000,000)
20%
Net profit margin (300,000 / 4,000,000)
7.5%
Now apply it. A $60,000 cost estimate for a small office refresh gets marked up 25 percent to $75,000, unless the job is small enough to deserve more. A $900,000 cost estimate on a competitive public bid might go out at 18 percent, with a higher markup elsewhere to keep the average where it needs to be.
Now watch what happens if volume falls short. If the company only puts $2,560,000 of cost in place at the same 25 percent markup, gross profit is $640,000. Overhead is still $500,000, so net profit falls to $140,000, less than half the goal. Markup and volume work together. When the pipeline looks thin, either cut overhead, raise markup, or accept a smaller profit, but decide it on purpose.
Minimum charges for small jobs
Small jobs break percentage markups. A $2,500 repair might take the same office time as a $25,000 job: a site visit, an estimate, scheduling, a materials run, an invoice, and a follow-up call when payment is late. At 25 percent, the $2,500 job contributes $500 toward overhead, which may not cover the hours spent selling and administering it. Many service and remodeling contractors set a minimum job price or a flat project management fee for work under a certain size, so small jobs pay their own way. Look at your last 20 small jobs and add up the office hours each one took before deciding where that line sits.
Markup and margin are not the same number
A 25 percent markup produces a 20 percent margin, not a 25 percent margin. Mixing the two up is one of the most expensive mistakes in pricing. If you want a 25 percent margin, you need a markup of about 33 percent. The full explanation, with a conversion table, is in markup vs margin in construction.
Mistakes to avoid
Using a markup someone else uses without checking it against your own overhead.
Quoting margin targets but pricing with the same number as a markup.
Pricing labor at raw wages so the markup has to cover hidden labor burden.
Assuming next year's volume will be higher than this year's without backlog to support it.
Cutting markup to win work when the shop is full, instead of raising it.
Burying contingency inside markup so nobody can tell whether the profit or the risk allowance got spent. Keep contingency as its own line.
Smart Business Automator carries the estimate's markup into the job budget and tracks actual margin by job, so you can see whether the markup you set is the markup you are earning. See estimate to project handoff automation.
Frequently asked questions
What is a good markup for a contractor?+
The one that covers your overhead and profit goal at the volume you can realistically do. Calculate it from your own overhead budget and job cost forecast rather than borrowing another company's number.
Should I mark up subcontractor costs?+
Yes. Subcontracted work still uses your supervision, insurance, scheduling, and billing, and you carry the risk if the sub fails. Many contractors use a lower markup on subs than on self-performed labor, but rarely zero.
Does overhead go into the estimate or the markup?+
Job-specific costs like the superintendent, trailer, and dumpsters go in the estimate as general conditions. Company overhead such as the office, accounting, and owner salary is recovered through markup.
How often should I change my markup?+
Recalculate at least once a year when you build the budget, and check quarterly against actual volume and margin on closed jobs. Change it sooner if overhead or volume shifts.
Why does a 20 percent markup not give a 20 percent margin?+
Markup is calculated on cost, while margin is calculated on the selling price. A 20 percent markup on $100 of cost gives a $120 price and a margin of $20 out of $120, which is about 16.7 percent.
A job can be overbilled, cash-positive, and still be moving toward a weaker result. This briefing uses a documented $2 million WIP example to show how a six-point margin fade can hide behind $184,000 of overbilling—and maps the field-to-finance workflow needed to surface that warning early.
Starts muted when the player comes into view.
Read the full episode transcript
Published transcript from Scaling Legends. It may contain transcription errors. View the source transcript.
You have a job that is currently overbilled by $184 ,000. Okay. It is bringing in strong cash. I mean, the bank account looks incredibly healthy. Right. But on that very same job, the actual profit margin has silently plummeted from 20 % down to 14%. Yeah. And the consequence here is, well... Your leadership team looks at the bank balance and thinks this project is a resounding success. Right, because the cash is there. Yeah, the cash is there, while the underlying economics of the deal are actively failing. Yeah, that is a dangerous place to be. It really is. So this is an AI -assisted Sailing Legends decision briefing. It's produced by Smart Business Automator from the cited sources in our show notes. And Smart Business Automator, they design AI and
automation systems for construction companies. Right. And before we dive into the data today, please note that this briefing is for educational and informational purposes only. Yeah, not legal or financial advice. Right. Not professional advice. You should always consult your CPA. for your specific circumstances. So our mission today, we are going to look at the work in progress or the WIP report. The famous WIP report. Yeah, but not just as a historical financial document. We need to look at it as an operational warning system. I like that. I mean, think of it like driving a heavy duty truck. You glance at the dashboard and the fuel gauge shows a full tank. Okay. That full tank is your overbilling. It's your positive cash flow. Right. But what you can't see from the driver's seat is this hidden
leak in the fuel line. Oh, man. And that leak is your margin fade. So you were going to run out of gas long before you reached the destination. Yeah, you'll be stranded on the highway. Stranded, yeah. All because the dashboard told you everything was fine. That fuel leak analogy, I mean, it really captures the visceral disconnect between cash and true profitability. Because to understand how a margin fade hides so effectively behind positive cash flow, we have to trace the actual deal math. It's remarkably easy to get lulled into this false sense of security. and the checks are clearing, and the working capital is flush. Well, so if I'm auditing this tomorrow, I don't want to chase ghosts. Right, you need specifics. Give you the specific smoke signals. I want to look at the mechanics of a verified scenario.
Okay, let's do it. So this breakdown, it comes from the Construction Financial Management Association, or CFMA. Right. In their July 6, 2026 guide. Okay, $2 million. The original estimated cost to complete this job was $1 .6 million. Got it. So that gives us an original estimated margin of 20%. But then the reality of the muddy job site hits the clean spreadsheet. It always does. Fast forward a bit, and the actual costs incurred to date are $960 ,000. Okay. However, the revised estimated total cost has jumped. It went from $1 .6 million up to $1 .72 million. Okay. Yeah, so hold on. Let me make sure I'm following the specific cost -to -cost mechanics here. Yeah, let's break that down. If we take the $960 ,000
incurred and divide it by the new $1 .72 million total expected cost, what does that give us? So you get a percent complete of 55 .8%. Okay, so we take that 55 .8 % and apply it to our $2 million contract price. Right. So they have actually billed $1 .3 million to date. And that right there, that is where the trap snaps shut. Wait, really? Okay, so doing the subtraction here. $1 .3 million build minus the earned revenue of $1 ,116 ,000. That leaves us with a billing position that is $184 ,000 overbilled. Spot on. So play devil advocate for me here. The cash is flowing in. The customer is paying ahead of the work. Why is this a crisis? It's a crisis
because of the profit calculation you're missing. I mean, remember that new total cost estimate of $1 .72 million? Right. It went up. Yeah. So subtract that $1 .72 million from your $2 million contract. What? Your total profit. is now only $280 ,000. Oh, wow. Yeah, that brings the current margin down to 14%. Wow. So a full six -point margin fade has occurred right under the nose of strong cash flow. Just hiding there. Yeah. And overbilling itself is not a bad thing. In fact, it's a strategic way to support working capital. Sure, you want the cash. You want to use the project's cash, not your own reserves, to fund the ongoing work. That makes sense. But the systemic danger is treating that cash as evidence that the job economics are healthy.
Right. Especially when the current cost estimate is screaming otherwise. Which, I mean, that brings up an obvious friction point. What's that? The math we just did is basic division and subtraction. Yeah, it's not calculus. No, so why does this specific trap catch highly seasoned project executives and CFOs by surprise? at the end of the month? It's a great question. I mean, these are intelligent people who look at numbers all day long. We miss the math because of where the data lives and how it travels from the job site to the CFO's desk. Ah, okay. The calculation is simple, yes, but the data collection process is deeply flawed. Got it. We really have to look at the human behavior driving the workflow. Which is funny you say that. A WIP report is supposed to be a structured conversation between the field and the office.
A conversation, yes. It's not supposed to be just a static accounting artifact. Right. The decision makers who actually own this problem are the CFO, the controller, the owner, the project executive, and the operations leader. That's a lot of people who need to be on the same page. Yeah. They need this to be a living dialogue. But in reality, that dialogue is completely fragmented. I mean, let's map the broken failure chain that a lot of companies are operating with right now. Okay. Lay it out for me. Picture this. It's 4 p .m. on a Friday. Oh, no. Yeah. The WIP review meeting is already 20 minutes over time. Everyone wants to go home. Yep. The project manager says they are 80 % done, but accounting says they've spent 95 % of the budget. Oh, boy. Now everyone is just staring at a spreadsheet arguing over who typed the wrong number. I can feel the blood
pressure rising in the room just hearing that scenario. It happens every month. And it happens because the crucial field information arrives in unstructured formats. Like what? You know, daily reports, text messages, quick phone calls from the truck, long email threads. Right. None of that flows naturally into a financial system. No, it's just a mess of data. And then look at the actual uncommitted costs. Those are siloed over in the accounting or purchasing departments. Completely separate. Yeah. Meanwhile, pending changes, which... I mean, are the lifeblood of profitability on a complex job? Oh yeah, change orders are huge. They sit in a completely separate log. Or, even worse, in a project manager's inbox
waiting for a signature from the owner. And we can't ignore the psychology here either. What do you mean? Well, project managers are updating their costs to complete on different dates throughout the month, using varying assumptions. That is so true. Like, one PM might factor in a looming material price escalation, while another just carries the original budget forward because they were rushed. Yeah, they just want to get back out into the field. Right, or maybe they're just delaying. Delivering bad news. Which leaves the controller at the end of the month playing the role of a forensic investigator. That sounds awful. It is. They are left to manually stitch together a monthly WIP spreadsheet by pulling from all these disconnected silos. So they're just chasing people down. Yeah. The result is that leadership meetings devolve into arguments over data integrity rather than taking decisive
action on the actual margin fade. So putting a shiny software dashboard over this broken process? does not fix it. Not at all. It only creates a polished, highly unreliable forecast. Right. Garbage in, garbage out. Yeah. The report is late because the workflow is fragmented. Automating a final dashboard without fixing those underlying handoffs will just make a bad forecast look pretty. Okay. So since spreadsheets and fragmented ERP systems cause these late warnings, we clearly need a different approach. We do. How do we engineer a system that surfaces that $184 ,000 trap? Instantly? Yeah. Like before the end of month meeting even happens? Well, we have to build a functioning WIP automation workflow. Okay. And this requires a specific blueprint. First, we need to standardize the inputs. Which inputs? The system must automatically
pull the original estimate, the current contract value, the actual and committed costs by job and cost code. Okay. Plus the build -to -date figures, the pending change value, schedule progress, and critically, the prior period WIP values. So we are bringing all the disparate silos into one central rules engine. Yes. And that rules engine is where the analytical heavy lifting happens. How so? Well... A standard system might rank exceptions by gross profit percent. Right. But a smart rules engine ranks exceptions by projected gross profit dollars. Oh, that is a subtle but vital distinction. It really is. Because a 2 % fade on a $10 million job is a much bigger crisis than a 5 % fade on a $50 ,000 job. Yes,
exactly. I mean, you want to prioritize the actual cash impact to the business, not just a ratio. Right. So what other... rules need to be in place? The engine needs to require an explanation when a value crosses a specific company -defined tolerance. And here is a critical control. It must prevent pending changes from entering the contract value until their treatment is formally approved by the company's accounting and contract process. Oh, because you can't recognize revenue on hope. You really can't. It'll sink you. So once the rules engine identifies a variance, what does the automated action look like? The system must automatically route these exceptions directly to the project manager and the project executive. Fucking alert? Yeah, but it can't just send a generic alert. It must specifically ask for the
cost code driver, the cause of the variance, the corrective action plan, the owner of that plan, and a firm... due date. That's a lot of accountability. It has to be. At the same time, it must notify finance if this margin movement creates a cash exposure, just like we saw in our opening example. Okay, I have a strategic question here, looking at this from the operations side. Sure, go ahead. What stops a project manager from just typing weather delay every single month to clear the alert? and get back to work. Oh, the old weather delay. Right. I mean, we all know that is the industry's favorite get out of jail free card. It really is. And that is the Achilles heel of most reporting workflows. So how do you fix it? The solution is memory. Memory. Yeah. The automated system must retain
the previous month's explanation and forecast version and display it during the next review. Oh, I see. It must explicitly show leadership whether that prior corrective action actually improved the situation, stabilized it, or worsened the projection in the current period. Oh, wow. So you can't just say weather delay three months in a row. Right. Accountability is built into the workflow, making it impossible to hide behind a recurring excuse. That's powerful. So armed with an understanding of what a healthy system looks like, we need concrete ways for leaders to audit their current reality this week. Yes. Action items. The sources highlight three specific red flag combinations. And we need to be very clear on this point. What's up? Do not present these as universal proof of a loss. They are
triggers for a thorough review. Right. They're starting points. Walk us through the first combination. Flag number one is overbilling plus margin fade. This is our opening scenario. Yep. The fuel leak. Right. The cash is ahead while the projected economics are deteriorating. That's the classic false positive. Yes, it is. Flag number two is growing underbilling coupled with pending changes. Ooh, that's a bad one. Yeah. In this scenario, the contractor is essentially acting as a zero interest bank. Basically. They are funding the work out of pocket while the approval and billing processes lag behind. And that is a severe cash flow drain that can cripple a growing company if left unchecked. I can imagine. It means the physical work is happening, but the paperwork is stalled and you are just bleeding capital.
Right. And flag number three. Okay. The percent complete rises while the estimate to complete does not change. I like to think of this as a broken thermometer. That's a good way to put it. A stable forecast might actually just be a stale forecast that no one is updating based on field reality. Yeah, no one is actually checking the numbers. Right. The project is advancing. Money is going out the door. The schedule is progressing. But the financial projection is sitting in a freezer from three months ago. Those three triggers are really powerful indicators. Yeah, they are. To operationalize this, we need three concrete actions the listener can take immediately. Okay, what's action one? Action one. Select the top five active jobs with the largest remaining cost. Just five. Yeah. Do not
try to boil the ocean and look at everything. Just focus on those top five. Makes sense. Compare their original margin, current margin, and prior period margin. Okay. And when they find a material discrepancy during that comparison. That leads to action two. Right. For every material change you find, you must hunt down the exact cost code, the field evidence, the pending change status, and the responsible recovery action. No vague summaries. Right. Do not accept a vague summary from the team. Track it down to the root cause. Action 3 is fascinating because it focuses on the internal cost of the broken workflow itself. Yes. It is a time audit. A time audit, yeah. Physically, time, how long it takes your finance team to assemble a supportable current forecast. Just sit there with a stopwatch. Basically, record
every single spreadsheet involved, every inbox check, every manual reentry, and every chase down approval. Wow, that's going to be a big number. The friction in this process is often shocking when you quantify it, which is the root cause of why the data is always weeks behind reality. But you know, once you start auditing and speeding up this process... Okay, so keep the AI out of the final call. Right. Automation
is highly effective at collecting data, calculating variances, comparing periods, routing alerts, and preserving evidence. It's a logistics engine. Exactly. Yeah, it is a logistics engine for information. The Financial Accounting Standards Board, or FASB. has very clear rules here. They sure do. Under topic 606, which governs revenue from contracts with customers, there are guidelines addressing the nature, timing, and uncertainty of revenue. And we are not offering an accounting conclusion here. But the principle is clear. The automation cannot make these nuanced calls. No, it can't. The workflow must route revenue recognition and contract modification judgments to the contractor's qualified accounting professionals. Human judgment remains the final gate always yeah the system
tees up the problem with all the supporting evidence but a qualified person must approve the forecast changes and the accounting treatment you're just speeding up the prep work yeah you automate the friction of gathering the data not the financial judgment itself got it you still need human experts evaluating whether a recovery plan is credible or whether an issue requires communication with a surety, a lender, or the customer. This brings us to the ultimate directive for your next WIP meeting. The big takeaway. The decision -maker move. So here's what you do. Sit down with the team. If they cannot clearly explain a margin movement, and if they cannot produce the supporting inputs... Like the field evidence and cost codes. Right, the real evidence. If they can't produce that, then you must physically mark that line
item as... And verified. Wow. Just unverified right on the sheet. Do not accept a guess. Assign a specific owner to track down the truth and set a hard deadline before the next WIP meeting adjourns. Because a forecast built on unverified assumptions is just a liability. 100%. Yeah. Now, if you are the CFO, controller, owner, or project executive of a construction company, and your WIP review still depends on spreadsheet chasing and late explanations, smart... So as you review those top five jobs this week, I want to leave you with one final question to ponder.
Okay, what is it? If your system cannot tell you the difference between a project that is truly profitable and a project that is simply cashing in early, who is really running the business, you or the calendar?