How to quote CNC machining jobs: a step-by-step method
Short answer
To quote a CNC machining job, read the whole drawing and request before you price anything, then build the price in layers: material, setups and programming, run time per piece, outside processing and inspection. Spread the one-time costs across each quantity, add margin on the selling price, and check the total against your history before sending. The worked example below prices an aluminum bracket at 1 to 50 pieces.
Step 1: Read the whole drawing and request first
Learning how to quote CNC machining jobs starts with the request, not the arithmetic. In a 2014 Practical Machinist thread, a small-shop owner described a print that called for commercial-quality steel to QQ-S-698, a spec since superseded by ASTM A109. He didn’t look up the spec and figured on a six-foot bar for about $18; the material the spec called for came to over $500. The same print required ultrasonic inspection. His advice: “Check your specs” [1].
A consultant quoted in Modern Machine Shop put the stakes plainly: “if you miss something during the quotation process and you accept a PO you have a legal agreement to abide by those terms” [2]. So read the request and every sheet of the print, and list what drives cost before you open the spreadsheet:
- Material and spec. Look up any spec callout: is it current, and is the size it implies a stock size?
- Revision. The revision on the drawing, and whether the email asks for a different one.
- Tolerances that set the process. Tight bores, true position, surface finish. One that looks tighter than the part needs is a question for the buyer.
- Finish and outside processing. Anodize, plating, heat treat, passivation, paint.
- Inspection and paperwork. First article, CMM report, material certs, special inspection.
- Quantities and dates. Every quantity asked for, and the delivery date.
- What’s missing. No 3D model, an unclear note, a missing material.
Print-only requests deserve a decision of their own. Asked whether they build time into the price for modelling, one shop answered “Yes, and I typically underbill for it, unfortunately”; another said “I’ll specify that lead time starts when I receive the model” [3].
Step 2: Material and stock
Price the blank, not the finished part. Add saw kerf, facing stock and holding stock, and a spare blank or two for proving out the setup. Then add what it costs to get the material in the door. One poster’s warning: “Don’t forget delivery charges in the material price!! That catches me out far too often on the little jobs” [6].
Material prices move. One shop tells customers its material quotes are good for 24 hours; in the same 2026 thread another saw stainless jump 50% in the two weeks between quote and go-ahead [5]. Put a material validity date on the quote. When the supplier hasn’t answered, one estimator uses a web catalogue price as a safe number: “It gives you a # to work with TODAY to get your quote out TODAY” [4].
Step 3: Setups, programming and fixturing
Write the job up operation by operation, the way it will run: “I write it up as operations for the part. OP1, OP2, OP3” [4]. For each operation, estimate the setup time, any fixture or soft jaws, and the first-piece prove-out. Add CAM programming for the whole part.
These are per-lot costs: the same at 1 part or 50. Keep them separate in your build-up so step 6 can spread them.
Step 4: Run time per piece
Run time is cycle time plus everything a person does for each part: loading and unloading, in-process checks, deburring. A rough CAM program gives the most defensible cycle time, at a cost in estimating hours. One estimator who works that way says “I program ( roughly ) every RFQ and use the time the software generates”, and that it is “VERY time consuming and exhausting” [13]. Save the full treatment for the parts and quantities where the run time decides the price.
Know where your own estimates run optimistic. One shop owner put it well: “I’m hitting really good numbers on lathe work … It’s mill work that I’m missing on” [6]. The only way to find that out is to keep track of actual time spent against what you quoted [8]. Price run time at the right shop rate for each machine.
Step 5: Outside processing
Heat treat, plating and anodize are usually priced by the vendor as a lot, with a minimum charge. As one poster put it: “Heat treat and plate are going to be min lot charges … So the costs for those will exactly double for 1 v/s 2” [7]. Get the vendor’s minimum and per-piece price, not just a per-piece guess.
Add your own handling too. “You have to pack it up and send it out for anodizing. Sure it’s not a lot of work, but it isnt zero” [8]. On bigger jobs, send the vendor requests first so their answers are back by the time you finish the rest: one estimator puts “those RFQ’s out first to vendors as well as secondaries, plating anodize Heat treat” [4]. Add the vendor’s turnaround to your lead time.
Step 6: Quantity breaks
For each quantity, divide the lot costs (setup, programming, fixtures, outside-processing minimums, inspection) by the quantity, then add the per-piece costs (material, run time). That is why a single piece can cost ten times what the same part costs at 50. The detail, including vendor lot minimums and scrap, is in Quantity breaks: pricing 1, 10 and 100 pieces.
Step 7: Margin, minimums and judgment
Decide whether your number is a markup on cost or a margin on the selling price, and be consistent. A 20% markup on a $100 cost is $120; a 20% margin is $100 / 0.8 = $125, because the margin is a share of the price. Mixing them up quietly takes points off every job.
Then apply your shop’s judgment openly. Workload is one input: “If I’ve already got weeks/months worth of work in front of me I’m going higher” [11]. The customer, the urgency and how much you want the work are others. Keep a minimum charge, so a small job still pays for the time it takes to quote, set up and ship.
A worked example: an aluminum bracket
A customer asks for a 6061-T6 bracket at 10, 25 and 50 pieces, clear anodized; one piece is shown for comparison. These numbers are illustrations; use your own rates, vendor prices and times.
- Material: each blank costs $4.10, plus two spare blanks for setup and $35 delivery per order.
- Lot costs: setups 1.75 hours and soft jaws 0.5 hours at $110/hour; programming 2 hours at $90; inspection 1 hour at $110.
- Anodize: the vendor charges $2.50 a piece with a $150 lot minimum, plus $25 for packing and delivery.
- Run time: 12 minutes a piece at $110/hour, plus 3 minutes of deburring at $60/hour.
- Margin: 20% of the selling price.
| Compared | 1 pc | 10 pcs | 25 pcs | 50 pcs |
|---|---|---|---|---|
| Material, with spares and delivery | $47.30 | $84.20 | $145.70 | $248.20 |
| Setups, programming, jaws | $427.50 | $427.50 | $427.50 | $427.50 |
| Anodize (lot minimum) and handling | $175.00 | $175.00 | $175.00 | $175.00 |
| Inspection | $110.00 | $110.00 | $110.00 | $110.00 |
| Run time and deburr, per piece | $25.00 | $25.00 | $25.00 | $25.00 |
| Cost per piece | $784.80 | $104.67 | $59.33 | $44.21 |
| Price per piece (20% margin) | $981.00 | $130.84 | $74.16 | $55.27 |
At 25 pieces, lot costs come to $712.50, or $28.50 a piece. That is more than the run time.
Step 8: Review before you send
Look at the total as a whole. One experienced quoter adds “operation after operation and then sit back and look at everything and say no that looks like a part of this price” [9]. Compare it with what you charged for this part, or one like it, before: “The most important part of quoting a job successfully is your history of doing this kind of work” [11]. On a big quote, try “letting it sit overnight and then go through it fresh again the next day” [10].
- Every cost-driving callout from step 1 is either priced or listed as excluded on the quote.
- The revision and quantities on the quote match the request.
- The quote states how long the material price holds and when lead time starts.
- Each quantity break has been calculated, not scaled from another.
Rushing this step costs more than it saves: “If you’re going to skimp on quoting, quote high, as you’ll certainly miss something. And that something is never in your favor” [12].
Where QuoteSooner fits
QuoteSooner does steps 1 and 8 alongside you. It reads the part details from the drawing and the request, with the page and words each came from; anything missing, or anything the files disagree on, becomes a check, and the quote cannot be sent until every check is resolved. You price each quantity from your own rates, with setup spread across each break and one-time charges on their own lines, and see what you charged for the part before. The estimator approves every price. See how it works.
You can try it on a real request: the free plan covers 5 RFQs a month, with no card. Start free.
Questions
- How do you quote a CNC machining job?
- Read the whole drawing and request first. Then price material (blanks, spares and delivery), setups and programming, run time per piece, outside processing and inspection. Spread the one-time costs across each quantity, add your margin, and review the total against your history before sending.
- How do you estimate CNC run time for a quote?
- Cycle time from a rough CAM program is the most reliable starting point, plus load and unload, in-process checks and deburring for each piece. Compare your estimates with the actual hours on finished jobs, so you learn which machines or part types you tend to underestimate [6][8].
- Should setup be charged separately on a CNC quote?
- Either spread it across each quantity break or show it as its own one-time line. Both work, as long as every quantity carries its full setup. Charging setup only once across all breaks underprices the small quantities. See quantity break pricing.
- What is the difference between markup and margin on a quote?
- Markup is a percentage added to cost; margin is a percentage of the selling price. On a $100 cost, a 20% markup gives $120 and a 20% margin gives $125. Pick one and use it on every quote.
Sources
Facts about other products come from their own websites, read on the dates shown. If something has changed, tell us at hello@quotesooner.com and we will correct it.
- Practical Machinist: ASTM A109, screwed myself on a quote (2014) (read October 3, 2026)
- Modern Machine Shop: Quoting in a changing industrial landscape (read October 3, 2026)
- Practical Machinist: Quoting without a 3D model (2025) (read October 3, 2026)
- Practical Machinist: Methods to expedite quoting (2020) (read October 3, 2026)
- Practical Machinist: How do you handle material pricing when you quote? (2026) (read October 3, 2026)
- Practical Machinist: Quoting work, how do you do it? (2011) (read October 3, 2026)
- Practical Machinist: Quoting change of quantities (2025) (read October 3, 2026)
- r/Machinists: quoting discussion (January 2025) (read October 3, 2026)
- Practical Machinist: Quoting/estimation software (read October 3, 2026)
- Practical Machinist: Average quote turnaround time for custom tooling (2019) (read October 3, 2026)
- Practical Machinist: What should a basic job shop quoting software have? (2015) (read October 3, 2026)
- Practical Machinist: Overwhelming RFQ backlog, being selective and bidding quickly (2020) (read October 3, 2026)
- Practical Machinist: Quoting issues (2019) (read October 3, 2026)
