ZeroDelay Academy · Owner worksheet
Gross margin vs markup: which number is your price really using?
Markup and gross margin use the same profit dollars but divide by different numbers. Confusing them makes a price look healthier than it is. Define what counts as direct job cost first, then calculate both from the same job.
By ZeroDelay.ai · An educational framework, not a customer case study
Three checks to do first
Step 1
Draw the direct cost boundary
Direct job cost is what the job itself consumes: parts and materials, paid technician time on that job at a loaded hourly cost, subcontractors and job-specific disposal or permits. Rent, office staff, marketing, insurance, software and owner salary are overhead and sit outside this boundary. Write the rule down and use it on every job. Treating these classified direct costs as the cost of sales is a choice you make; with overhead excluded, the result is gross margin, not operating or net margin.
Step 2
Calculate gross profit dollars
Gross profit = sale price before sales tax − direct job cost. This is the same dollar amount whether you then express it as markup or margin.
Step 3
Divide by the right base
Markup = gross profit ÷ direct cost. Gross margin = gross profit ÷ sale price. Because the sale price is larger than the cost when the job is profitable, the margin percentage is always smaller than the markup percentage for the same job.
A worksheet using your own records
1. Cost boundary note
List which cost lines you treat as direct and which as overhead. If callback labor, travel time or shop supplies are direct for some jobs and overhead for others, the percentages will not be comparable.
2. Job table
One row per completed job: sale price collected before tax, direct cost under your boundary, gross profit, markup % and gross margin %. Use actual costs from the finished job, not the estimate.
3. Quote check
If your price sheet adds a percentage to cost, convert it: gross margin = markup ÷ (1 + markup). If you need a particular margin, the required markup is margin ÷ (1 − margin). Write both on the price sheet so nobody mixes them up.
A fictional example to check the logic
Fictional teaching example, not a target: a job has $400 of direct cost under the boundary above and sells for $500 before tax. Gross profit = $500 − $400 = $100.
Markup = $100 ÷ $400 = 25%. Gross margin = $100 ÷ $500 = 20%. Check the conversion: 0.25 ÷ (1 + 0.25) = 0.20, and 0.20 ÷ (1 − 0.20) = 0.25.
If someone believes "we add 25%, so we keep 25%", they overstate the share of the sale that is left by 5 percentage points. And the $100 still has to cover overhead, owner time and taxes before anything is net profit. If $40 of actual callback labor was left outside the direct cost, true gross profit would be $60, a 12% gross margin.
What to decide next
Pick one definition of direct cost, label every percentage on price sheets and reports as markup or margin, and compare actual completed jobs against the margin you intended. If actual margin falls below the intended margin, check scope and cost variance before changing the price.
What this check cannot tell you
Neither percentage tells you whether the business is profitable overall, and this guide does not suggest what margin you should target. The free diagnostic uses your answers to identify a health score and top constraint; it does not read your books or set prices. The optional paid 90-Day Plan adds ranked priorities and financial analysis based on the information you provide.
The free Profit Leak Check's plumbing mode compares hours and callback cost with collected revenue, which helps you see costs that sit outside a quote. It does not calculate markup. Explore the free Service Business Profit Leak Check. Calculations stay in your browser.