Job Shop Quote Price, Margin and Markup Calculator
Margin and markup are not the same number, and confusing them is one of the commonest ways a job shop underprices work. This calculator prices a part from cost, then shows the markup that your target margin really requires.
Your numbers
Anodize, heat treat, plating, per good part.
Your results
Estimating aid only. Add freight, tooling, inspection or packaging lines that apply to your job.
Unit price and cost vs order quantity
Sweeps Quantity ordered from 1 to 200, holding your other inputs fixed.
Check quotes against actual job cost
Optional: see where your estimates drift from actuals in your ERP data.
Optional. The tool and every export work without this. No spam.
How to use it
Enter the order quantity, material, outside processing, run minutes, setup hours and the all-in shop rate. Set expected scrap and the gross margin you want. The result is the price per part and the equivalent markup. Slide the margin to see what a discount costs you, and read the chart to see how setup amortizes as quantity grows.
Margin versus markup
Margin is profit as a share of price. Markup is profit as a share of cost. A 25% margin needs a 33.3% markup, and a 40% margin needs 66.7%. If you add 25% to cost thinking it is a 25% margin, you actually earn 20%. The calculator divides cost by one minus the margin, which is the correct form.
- Price = cost / (1 - margin)
- Markup = margin / (1 - margin)
- Scrap raises started quantity, not just cost
- Setup is a lot cost, so small orders carry more per part
Common mistakes and ERP notes
Shops often apply scrap to material only, forget that scrap also burns run time, or quote setup at zero for repeat work. In JobBOSS, E2 Shop System or Global Shop Solutions, make sure the quote module uses the same shop rate as job costing, otherwise estimates and actuals will never reconcile. Compare each finished job to its quote and adjust run times where you were consistently low.
Frequently Asked Questions
Which margin should I target?
It depends on your overhead and market. Many job shops aim for a gross margin on the job in the 25% to 40% range, but the right number is the one that covers overhead and leaves a profit at your volume.
Why does scrap use division?
To ship 50 good parts at 3% scrap you must start more than 50. Starting qty = good qty / (1 - scrap). Multiplying by 1.03 slightly understates it.
Is setup charged to the customer once?
Setup is a one-time lot cost, so it is spread across the quantity in the quoted unit price. Some shops show it as a separate NRE line instead; the total is the same.
Can I use this for repeat orders?
Yes. Lower the setup hours if you have proven programs and fixtures, and use actual run times from past jobs rather than estimates.
If you want quotes checked against actual job cost history in your ERP, Netray can build that comparison for you.
Related Tools
CNC Machine Shop Hourly Rate Calculator
Build a defensible machine hour rate from purchase price, utilization, upkeep, power and operator cost, and see how utilization moves it.
MES & Shop FloorJob Shop Setup Cost and Minimum Lot Size Calculator
See how setup cost is absorbed as lot size grows, and find the smallest order that breaks even or keeps setup under a chosen share of price.
Quality & InspectionJob Shop Scrap and Rework Cost Calculator
Put a dollar figure on annual scrap and rework, net of recovery, and test how much a reduction program is worth.
Industry TemplatesJob Shop Quote Cover Letter Template
A fill-in quote letter for machined parts with quantity price breaks, assumptions, exclusions and standard terms.
More Costing & Finance tools
See all- Job Shop WIP Report Template
- Work Center Machine Rate Worksheet
- SAP QM Inspection Effort and Cost Calculator
- SAP Standard Cost Estimate BOM Rollup Calculator
- Legacy ERP Retirement Cost and Payback Calculator
- JD Edwards World Month-End Close Procedure Template
- Distributor Customer Credit Application Template
- Distributor Customer Profitability Worksheet
- Distributor GMROI and Inventory Turns Calculator