You bid a job at $10,000. Your costs were $7,500. You added a 33% markup, so you should be making 33% profit, right? Wrong — and that single confusion is bleeding small contractors dry. Your actual margin on that job is 25%, not 33%. On a year of work, that 8-point gap can be the difference between a profitable shop and one that quietly runs on credit cards.

Markup and margin are not the same number. They are not even calculated the same way. Yet most contractors use them interchangeably when pricing work, then wonder why year-end profit never matches what the bid sheets promised. Here is how the math actually works, what markup you really need to charge, and how to stop pricing yourself into a hole.

The Definition Every Contractor Gets Wrong

Markup is the amount you add on top of your cost, expressed as a percentage of cost. Margin is the amount of profit you keep, expressed as a percentage of the sale price. They use different denominators, which is why the percentages never match.

Quick example. Cost is $1,000. You sell it for $1,500.

  • Markup — $500 added to $1,000 cost = 50% markup
  • Margin — $500 profit on $1,500 sale = 33.3% margin

Same dollars. Different percentages. Every time. The bigger your markup, the bigger the gap between the two numbers. A 100% markup is only a 50% margin. A 25% markup is only a 20% margin. Get this backwards on a $200,000 job and you have just discounted yourself by tens of thousands.

If a contractor tells you they make 30% profit because they mark up 30%, they make 23% profit. The math does not care what they meant.

Why This Confusion Is So Expensive

Here is the trap. Most general contractors target a 20-25% net margin to actually take home a real wage after overhead, taxes, slow seasons, and the inevitable bad job. To hit a 25% margin, you do not mark up costs by 25%. You mark them up by 33.3%.

The conversion is simple but unforgiving:

  • 15% margin requires an 17.6% markup
  • 20% margin requires a 25% markup
  • 25% margin requires a 33.3% markup
  • 30% margin requires a 42.9% markup
  • 40% margin requires a 66.7% markup

Formula to memorize: Markup % = Margin % ÷ (1 − Margin %). If you want a 25% margin, that is 0.25 ÷ 0.75 = 0.333, or 33.3% markup. Tape it to your truck dash if you have to.

The Markup You Actually Need (Hint: It Is Higher Than You Think)

Most small contractors run on 10-20% markup because that is what feels competitive. Then they cannot figure out why they are working 60-hour weeks and going broke. Here is why those numbers fail.

Markup has to cover three things, not one:

  • Overhead — truck payments, insurance, software, phone, accountant, the office in your basement, fuel, tools that walk off jobs. For a small shop, this is typically 10-20% of revenue.
  • Profit — the money the business actually keeps after paying you a market wage as the operator. Real profit, not your salary.
  • Risk buffer — the bid that goes sideways, the customer who delays payment 90 days, the subcontractor who walks off mid-job.

Run the math honestly and most residential remodelers need a 50% markup minimum to clear a 25% margin after overhead. Specialty trades with lower overhead can sometimes work at 35-40% markup. Anyone bidding at 20% markup is, in almost every case, paying themselves to work.

How to Calculate Your True Markup Number

Stop guessing. Run this exercise once a year:

  1. Pull last year's total revenue from your books.
  2. Pull your total direct job costs (materials, labor, subs, equipment rental directly tied to jobs).
  3. Subtract direct costs from revenue. That is your gross profit.
  4. Pull your annual overhead (everything that is not a direct job cost).
  5. Subtract overhead from gross profit. That is your net profit.
  6. Divide net profit by revenue. That is your real margin.

If your real margin is below 15%, you are charging too little, working too much, or both. Tools like TrestleBook can help you track job costs in real time so you are not waiting for the year-end accountant to tell you what you already feared. Knowing margin per job — not just the year as a whole — is what separates contractors who grow from contractors who survive.

Ready to put this into practice? Download TrestleBook Free — it’s free and works offline.

The Hidden Cost Categories Most Contractors Forget to Mark Up

Even contractors who understand the markup-margin distinction lose money by failing to mark up every cost category. The temptation is to mark up materials and labor but pass through subs, permits, and equipment rental at cost as a "favor" to the client. That favor costs you money every single time.

  • Subcontractors — mark them up. You carry the risk if they no-show, do bad work, or get hurt on your jobsite. A 15-20% markup on subs is standard and defensible.
  • Permits and fees — mark them up. You pulled the permit, you stood in line, you carry the liability. 10% minimum.
  • Equipment rental — mark it up. You sourced it, picked it up, returned it, and absorbed the day it broke down.
  • Materials — mark them up properly, including sales tax, delivery fees, and waste factor. 30-50% on materials is standard for residential work.
  • Travel and mobilization — bake it in or charge it as a line. Driving 90 minutes round trip for free is a habit that quietly eats your year.
If a cost touches your job, it gets marked up. Pass-through pricing is a charity model, not a business model.

The Single Number That Should Drive Every Bid

Stop bidding by the square foot, by feel, or by what the last guy charged. Bid every job by your target margin, working backward from the number you need to take home.

The process:

  1. Estimate true direct costs — labor hours times loaded labor rate (wages plus burden), materials with waste factor, subs, equipment, permits.
  2. Add a contingency — 5-10% for residential remodels, more for older homes or unknowns.
  3. Apply your overhead-and-profit markup — the percentage that hits your target margin.
  4. Compare to local market rates as a sanity check, not a starting point.

If the resulting bid is higher than the market, you have two real choices: walk away from the job or change your overhead structure. What you do not get to do is "win the bid" by cutting your markup, because that just means you bought the job with your own money. The same discipline applies whether you are a solo operator running side jobs through Stintly for self-employment finances or a remodeler with three crews.

Margin Discipline During the Job

Bidding the right margin means nothing if you bleed it during execution. The three biggest margin killers on active jobs:

  • Unbilled change orders — the homeowner asks for "one small thing" and you do it without paperwork. That is a free upgrade. Document it, price it (with markup), get a signature, then build it.
  • Labor overruns — you bid 40 hours and the crew is at 55. Without daily tracking, you discover this at the end. Track hours per phase, per day. If a phase is running hot, find out why before it becomes the whole job.
  • Material waste and theft — over-orders, returns you never made, and material that walks off site at night. Reconcile every receipt against the actual job, not just the credit card bill.

Real-time job costing is no longer a luxury for $5M GCs. A solo operator with a phone has more visibility than a 1990s contractor with a CFO — if they choose to use it. The margin gap between contractors who track daily and contractors who reconcile monthly is usually 8-12 points. That is the difference between a healthy business and one running on the next deposit.

What to Do If You Have Been Underpricing

If you ran the year-end math and your real margin is in single digits, do not panic-raise prices on existing customers and watch them walk. Walk yourself out of the hole instead.

  • Raise markup on new bids — not on existing committed work. New customers do not know your old prices.
  • Audit your overhead — cancel the software you do not use, the truck you do not need, the office space if you can work from home. Every dollar of overhead requires a dollar plus markup of revenue.
  • Fire your worst customers — the ones who haggle every line, pay slow, and demand free changes. They are the ones consuming your margin.
  • Specialize — generalists compete on price. Specialists compete on expertise. Specialists charge more and finish faster.
  • Track per-job margin — not aggregate margin. You will find that 20% of your jobs produce 80% of your real profit, and another 20% lose money outright. Stop bidding the losing kind.

This same discipline holds across self-employment trades. Whether you bill construction work, manage rentals through tools like KeyLoft, or run a service trade, the markup-margin math is identical. The denominator does not change just because the trade does.

The Mental Shift That Fixes Everything

Stop thinking like a tradesperson who bids jobs. Start thinking like a business owner who sells profit. Your customer is not buying a deck or a kitchen or a roof — they are buying your time, your liability, your warranty, your insurance, your truck, and your risk of running a business. All of that has to be priced in.

The contractor who charges 50% markup and finishes on time is cheaper than the one who charges 20% markup and disappears mid-job. Customers who only buy on price are not your customers.

Markup is not greed. Margin is not optional. The shops that survive a slow year, an injury, a bad client, or a recession are the ones that priced for the risk before the risk showed up. The math is the math. Charge the markup that produces the margin you need — or find a different line of work where someone else carries the risk and pays you a wage.

Run the formula once. Tape it to the dash. Bid every job from it. Six months from now you will have either a healthier business or proof that the customers you are chasing are not the ones you should be working for. Either answer is worth more than another year of guessing.