Busy and broke is a pricing problem
If your schedule is full and your bank line is still tight, the problem usually isn’t sales — it’s price. You’re winning work, which means your bids are attractive, which often means they’re too low. A full calendar of underpriced jobs doesn’t dig you out; it digs faster. More volume at a bad price is just a quicker way to run out of cash.
Most contractors price off three things: what it cost last time, what the competitor probably charges, and what feels right. None of those know your actual costs, and all three drift low over time as you round down to win work. The fix isn’t charging more for its own sake — it’s knowing your real number so the margin you think you’re making is the margin you actually make.
This guide builds price from the ground up: every real cost, the markup that covers it, and the leaks that quietly erase it. If you want the numbers behind your own bids sorted first, our job costing and pricing help exists for exactly this.
Start from the full cost stack
A profitable price starts by knowing the total cost of the work — all of it. Materials are the easy part. Direct labor, subs, equipment, and the small stuff — fuel, disposal, permits, consumables — are where estimates go soft. Every cost you leave out of the bid is a cost that comes straight out of your profit later.
Write the full stack down for a real recent job and compare it to what you charged. Owners are regularly surprised how much never made it into the bid. That gap is your true margin, and it’s almost always thinner than the one you carried in your head.
This is the same discipline our job costing guide applies after the job — capturing every real cost so the next bid is built on truth instead of memory. Price the next job the way you should have costed the last one.
Overhead belongs in the price too, and it’s the piece most owners forget to spread. Rent, insurance, the office, the truck — those costs run whether a job is on the schedule or not, and every job has to carry a share of them or the business loses money even at full capacity. Figure your overhead as a percentage of the work you do in a year, and load that percentage onto every bid so the lights stay on between jobs.
The labor burden trap
Here’s the number that sinks the most bids: labor doesn’t cost what you pay per hour. Add payroll taxes, comp, and benefits and the real cost of an hour runs 20 to 35 percent above the wage. Price a crew at their hourly rate and you’ve underpriced every labor hour on the job before you started.
That gap compounds on labor-heavy trades. For an electrical shop or a plumbing crew where labor is the biggest line, ignoring burden can quietly wipe out the whole margin on a job that looked fine on the estimate. The bid feels right, the work goes fine, and the cash still isn’t there — because the labor line lied.
Fix it by building a loaded labor rate — wage plus burden — and pricing every hour off that. It’s one adjustment, and for most contractors it’s the single biggest pricing correction available.
Markup is not margin (this costs you real money)
Marking a job up 20 percent does not give you a 20 percent margin. Markup is figured on cost; margin is figured on price. A 20 percent markup on a $10,000 job is a $2,000 add — but that $2,000 is only about 17 percent of the $12,000 you charge. The gap looks small on one job and adds up to serious money across a year.
To actually keep 20 percent of the price, you mark cost up by 25 percent. Contractors who confuse the two think they’re running healthier margins than they are, then can’t figure out why the bank balance disagrees with the math in their head. The two words aren’t interchangeable, and treating them as if they are is a slow leak.
Decide the margin you need to keep first, then work backward to the markup that gets you there. Price toward the number you want to keep, not the number you want to add.
A quick habit fixes the confusion for good: decide the margin first, then divide instead of multiply. If you want to keep 25 percent, your cost is 75 percent of the price, so divide cost by 0.75 to get what to charge. Do it that way every time and you stop leaving points on the table because two words got mixed up on a busy morning.
Where the margin leaks out
Even a well-built price leaks after the bid. Change orders done on a handshake and never billed are the classic one — real work, real cost, no invoice. Scope creep that nobody priced. Materials bought at a thinner markup than you assumed. Small tools and fuel that never get pinned to a job. Each is a few points, and a few points is your whole margin.
The only way to catch leaks is to compare estimated cost to actual cost after the job closes. That comparison tells you whether the price held or quietly bled out, and it turns every finished job into cheaper intelligence for the next bid. Without it, you repeat the same leaks at scale.
That after-the-job read is CFO-level work, not data entry — the difference between books that record history and numbers that improve the next decision. Get the pricing model and the leak review in place, and "busy and broke" stops being your default setting.
Related: Job costing for contractors, step by step · How to read a profit and loss statement