QuantCampusQuantCampus
Build your own
Lessons (11 of 16)
Markup, Margin, and Overhead

The Overhead Trap: When Profit on Paper Is a Real Loss

11 min read

A contractor can hit every number on the estimate, get paid in full, and still lose money on the job without ever knowing it. The culprit is almost always the same: overhead that never made it into the price.

What Overhead Actually Is

Overhead is every cost of running your business that isn't tied to one specific job. Direct costs (materials, labor, permits for that bathroom remodel) are easy to see because they show up on a receipt or a timecard for that job. Overhead is the truck payment, insurance, phone bill, office software, advertising, a storage unit, your accountant, and your own time spent bidding jobs you don't win. None of that disappears just because you're only tracking 'job costs.' The trap is this: overhead still has to get paid every month whether you're working one job or five. If you don't build a piece of it into every bid, you're quietly asking your profit margin to cover rent and insurance instead of paying you. Most new contractors markup only direct costs (materials and labor) and call whatever's left over 'profit.' But if overhead was never added to the price, that leftover amount isn't profit yet. It's just gross margin, and overhead is still sitting there unpaid, waiting to be subtracted from somewhere. The fix isn't complicated math, it's a habit: estimate your typical monthly overhead, figure out roughly how many jobs or how much revenue you run through in a month, and build a per-job overhead allocation into every single estimate, the same way you build in materials markup. Commonly, contractors express this as a percentage of direct job costs (often somewhere in the 10 to 20 percent range depending on business size and how lean their overhead is), though the right number depends entirely on your own fixed costs and your typical job volume. Skip this step and your 'profitable' jobs are often funding your overhead instead of your bank account.

Worked example

Scenario: A contractor bids a hall bathroom remodel: new tile floor and tub surround, vanity swap, toilet replacement, and paint. Direct costs are $6,200 in materials and $4,800 in labor, for a total direct cost of $11,000. The contractor applies a standard 20 percent markup on direct costs and presents a bid of $13,200. The job goes smoothly, gets paid in full, and the contractor logs it as an $2,200 profit.

Step 1, the calculation ignoring overhead: Direct costs are $11,000. Markup at 20 percent adds $2,200. Total price charged to the customer is $13,200. Revenue minus direct costs equals $2,200, which the contractor books as profit. On paper, this job looks like a clean win. Step 2, bring in overhead. Suppose this contractor's actual monthly overhead (truck payment, insurance, phone, software, a part-time office helper, advertising) runs $4,500 a month, and the contractor typically completes 3 jobs of this size per month. That means each job needs to absorb roughly $1,500 of overhead just to keep the business running, before any real profit exists. Step 3, redo the math including that allocation. Direct costs: $11,000. Overhead allocation: $1,500. True total cost of doing this job: $12,500. The contractor charged $13,200. Revenue minus true total cost equals $700. Step 4, compare the two results side by side. Calculation without overhead: $2,200 profit. Calculation with overhead: $700 profit. That's a gap of $1,500, the exact size of the overhead allocation that never got built into the bid. The job didn't lose money this time, but the 'profit' the contractor believed they earned was actually 3 times larger than what really hit the bottom line. Step 5, now flip one assumption. Suppose this same contractor only completes 2 jobs this size in a slow month instead of 3. The $4,500 in overhead now has to be spread over fewer jobs, so each job's share rises to $2,250. Total true cost becomes $11,000 + $2,250 = $13,250, against a $13,200 price. That single bathroom remodel, which looked like a guaranteed $2,200 profit on paper, is now a $50 loss once overhead catches up with it. Nothing about the job changed. Only the number of jobs splitting the overhead changed, and the contractor had no way to see that risk coming because overhead was never part of the bid in the first place.

Key takeaways

  • •Overhead (rent, insurance, vehicle costs, admin time, advertising) has to be paid every month regardless of how many jobs you run, so it must be built into each bid, not treated as an afterthought.
  • •Markup on direct costs alone produces gross margin, not profit; profit only exists after overhead is accounted for.
  • •A per-job overhead allocation, commonly estimated as a percentage of direct costs or as monthly overhead divided by typical job volume, closes the gap between paper profit and real profit.
  • •Your overhead allocation per job is only as reliable as your assumed job volume; a slow month spreads the same fixed overhead over fewer jobs and can turn an assumed profit into an actual loss.
  • •This exact blind spot, believing every job was profitable while overhead quietly goes unpaid, is one of the most common reasons new contracting businesses fail even while staying busy.
10 of 10 free demo messages left