
October 27, 2026 · Mitt Patel · 6 min read
You just bid a $10,000 kitchen remodel at your usual 15% markup and moved on to the next estimate. You didn't check what your insurance, office rent, and bookkeeping software cost you that month. If that number is higher than you think, you just locked in a job that barely covers your overhead, let alone pays you.
Why this happens and what it costs you
Most contractors learn markup as a habit, not a calculation. Someone told you 15%, or 20%, or "double your labor," years ago, and you've used it on every bid since. It's fast, and it feels safe because everyone else seems to use round numbers too.
The problem is that your overhead doesn't move in round numbers. Insurance premiums go up. You add a part-time estimator. Fuel costs more this year than last. If your markup doesn't track what's actually happening in your overhead accounts, you're bidding blind. Some jobs cover their share and then some. Others don't come close, and you don't find out until the year is over and the bank balance is tighter than the revenue you thought you earned would suggest.
The bad decisions pile up quietly. You take on a low-margin job because the top-line number looks fine. You hesitate to raise prices because you're not sure what you actually need to charge. You compare yourself to a competitor's bid without knowing whether their overhead is half of yours or double. All of that traces back to one missing number: what does it cost you, every month, just to keep the doors open before a single nail gets driven?
A worked example
Say you run a small remodeling company. You pull your bookkeeping records for the month and add up everything that isn't tied to a specific job: office rent, your bookkeeper's fee, liability insurance, the business phone line, software subscriptions, a part-time scheduler's pay, and your own base salary if you pay yourself one. That comes to $18,000 for the month.
Now you total your direct job costs for the same month. This is materials, subcontractors, and field labor you paid out across all your active jobs. Say that comes to $90,000.
Divide overhead by direct job costs: $18,000 divided by $90,000 is 0.20, or 20 percent.
That means for every dollar you spend directly on a job, you need to recover 20 cents just to cover overhead. If a job's direct costs are $10,000, you need to charge at least $12,000 before you've made a dime of profit. If you've been marking up at 15% out of habit, you were $500 short on that one job alone, and probably short on every job that month.
This is an overhead recovery rate, not your final price. You still add profit on top. But now the profit is layered on a number that reflects your real costs, not a guess.
How to set it up
- Pull a clean profit and loss report from your bookkeeping system for the last three to six months. Most bookkeeping software will separate expenses by category if your chart of accounts is set up correctly, which makes this much faster.
- Sort every expense into two buckets: direct job costs (materials, subcontractor payments, field labor tied to a specific job) and overhead (everything else that keeps the business running regardless of how many jobs you have).
- Total each bucket for the period you pulled. Use at least three months so one unusual month doesn't throw off the number. A slow month or a month with a large one-time purchase will skew a single-month snapshot.
- Divide total overhead by total direct job costs for that same period. That's your overhead rate as a percentage.
- Add your target profit margin on top. If your overhead rate is 20% and you want a 10% profit margin, you're marking up direct costs by roughly 30% as a starting point, not 20%.
- Recalculate every quarter, or sooner if something changes, like adding a vehicle, hiring office staff, or moving to a larger shop. Overhead shifts, and your markup should shift with it.
The mistakes that undo it
Mixing job costs into overhead. If you lump a subcontractor invoice into "general expenses" instead of tagging it to the job, your overhead number looks inflated and your direct cost number looks too low. Both throw off the rate.
Using one slow month. A month where you had few active jobs will show a very high overhead rate, because the same fixed costs are being divided by much smaller direct costs. Average several months, or use a full year if your work is seasonal.
Forgetting your own pay. If you don't pay yourself a salary but still work the business full time, your overhead number is artificially low. Decide whether you want to include a reasonable owner salary in the calculation, even informally, so the rate reflects the true cost of running the company.
Never updating it. An overhead rate calculated two years ago doesn't reflect this year's insurance renewal or the new hire in the office. Treat it as a living number, not a one-time project.
Applying it to every job the same way. A job with high material costs and low labor might need a different margin than a labor-heavy job. The overhead rate is a floor, not a rule that fits every bid identically. Where the right adjustment depends on the type of job, that's worth a conversation with whoever keeps your books.
Monthly checklist
- Pull your profit and loss report and confirm expenses are correctly split between job costs and overhead.
- Check for any job costs that landed in the wrong category and fix them before they distort the numbers.
- Note any new or dropped overhead expense (new lease, canceled subscription, new hire) so you can see it coming before quarter-end.
- Compare this month's direct job cost total to prior months. A big swing up or down is useful context when you recalculate the rate.
- Keep a running log of your overhead rate by quarter so you can see the trend instead of reacting to a single number.
Common questions
What counts as overhead versus a job cost?
Job costs are expenses you can trace directly to one project: materials delivered to that site, a subcontractor hired for that job, labor hours logged against it. Overhead is everything that exists regardless of which jobs you have running, like rent, office salaries, insurance, and software. Some costs, like fuel or a shared tool, can be harder to categorize consistently, and the right call depends on how your business operates.
How often should I recalculate my overhead rate?
Quarterly is a reasonable rhythm for most small contracting businesses. Recalculate sooner if something changes materially, like hiring office staff, adding a vehicle, or a large jump in insurance premiums.
Does this replace the markup percentage I already use on bids?
It replaces the guesswork behind that percentage. You'll likely still express your final price as a markup, but now it's built from your actual overhead recovery plus a profit margin you choose, instead of a number you picked because it sounded standard.
What if my overhead rate seems too high compared to competitors?
That depends on your business structure, how many jobs you run at once, and what's included in your overhead. A high rate isn't automatically a problem, but it's worth understanding why before you assume you need to cut costs or raise prices. This is where a closer look at your specific books helps more than a general rule.
North Hudson Bookkeeping sets up this kind of job costing and overhead tracking for contractors and keeps it current month to month, so the number is ready when you need to bid. The first call is free.
