CNC quoting: how a job shop prices a machined part, with a worked quote
CNC quoting prices a machined part from the customer’s drawing: material, setup, machine time at the shop rate, outside processes and margin. On small orders, the quantity moves the unit price most, because programming and setup are paid once and spread over every part in the order. This guide gives the formula, works a quote at three quantities and shows how to check the number before it goes out.

What goes into a CNC quote
A CNC quote answers two questions: what this part costs the shop to make in this quantity, and what the customer will pay for it. The drawing sets the work. Its material, sizes, tolerances and finish notes decide the stock, the operations and the inspection.
Every line on the quote comes from a different record, and each one is charged in a different way. Some costs repeat for every part. Others are paid once per batch or once per part number.
| Cost element | Where the number comes from | Charged per |
|---|---|---|
| Material | Stock size, density and the price per kilogram on recent purchase invoices | Part |
| Programming | Programmer hours, judged from comparable parts | Part number, on the first order |
| Setup | Fixturing, tool loading and proving the first part, from past setups | Batch |
| Cycle time | The CAM simulation, or recorded hours on a similar part | Part |
| Shop rate | Machine, operator and overhead cost per billable hour | Each hour of setup and cycle time |
| Deburr and inspection | Bench minutes per part, and a first article check per batch | Part and batch |
| Outside processing | Supplier quotes for anodizing, plating or heat treatment | Part, plus a lot charge |
| Margin | The shop’s markup or margin rule | Order |
Read the tolerances and finish callouts before anything else. A tight tolerance can add a finishing pass, a slower feed or a measurement on every part, as what tolerances cost explains.
The CNC quoting formula
A CNC quote can be written as one formula. It separates the costs paid once from the costs paid for every part.
Unit price = (one-time and batch costs ÷ quantity + material + cycle time × shop rate + bench time × bench rate + outside processing per part) × (1 + markup)
The one-time and batch costs are programming, setup, the first article check and any lot charge from an outside processor. Divided over 10 parts, they make up most of the unit cost. Over 250 parts, they shrink to a small share, and the cycle time becomes the main cost.
That split is why a quote should always show a price for each quantity break. It is also why a customer who orders 10 now and 250 later should see why the unit prices differ. The guide to costing vs pricing works the same split on a bracket at 25 and 250 parts.
Machine shop hourly rate: how to set it
The shop rate turns hours into dollars, so a wrong rate puts the same error on every quote. Build it from what one machine, with its operator, costs to run for a year, divided by the hours the shop can bill on it.
Cost accounting calls the overhead part of this a predetermined overhead rate. OpenStax’s managerial accounting text defines it as the estimated overhead for the period divided by the estimated activity base, set at the start of the period. Machine hours are one of the usual bases.
The figures are made up. One machining cell costs $64,000 a year to own and run, counting depreciation, service, tooling, power and floor space. Two operators, one per shift, each run two cells, so this cell carries $72,000 a year of their wages and benefits, and the cell’s share of shop overhead is $76,000. Two shifts for 50 weeks at 80 percent billable give 3,200 hours. The rate is $212,000 ÷ 3,200 = $66.25 an hour.
Three choices shape the rate. Count billable hours honestly, because idle time and setups without a job number reduce them. Keep a separate rate for each machine class, since a five-axis cell and a manual lathe do not cost the same to run. Review the rates once a year, or when the overhead changes, and date every rate the quote uses.
Map the spreadsheet your shop quotes from
Send Derik the spreadsheet your shop prices CNC parts from. He sends back a free map of its rates, rules and lookup tables, with the gaps.
Start a conversationHow to estimate machining time
The best cycle time comes from the CAM program the shop will run. When no program exists yet, the estimator works the time out from the cutting data. A machining time calculator does the same arithmetic, operation by operation.
Sandvik Coromant’s milling formulas give the three steps. The spindle speed is the cutting speed times 1,000, divided by pi times the cutter diameter. The table feed is the feed per tooth times the spindle speed times the number of effective teeth. The machining time is the length of the cut divided by the table feed.
Take one finishing pass with example cutting data. The tool is a 12 mm end mill with three teeth, run at 350 m/min and 0.05 mm per tooth. The spindle speed is 350 × 1,000 ÷ (π × 12), or about 9,284 rpm. The table feed is 0.05 × 9,284 × 3, or about 1,393 mm/min. A 410 mm contour then takes 410 ÷ 1,393 = 0.294 minutes, about 17.7 seconds.
Real cycle time also includes tool changes, rapid moves, probing and the time to load and unload the part. Add those per operation, or calibrate the estimate against recorded hours on similar finished jobs. Use the cutting data from the tool supplier for the material, not the example numbers above.
Worked example: one bracket at 10, 50 and 250 pieces
Every rate, time and price here is a made-up example, computed with a short script. The part is a 6061-T6 aluminium bracket, cut from a 125 × 85 × 30 mm blank. It needs two milling operations, a deburr and inspection at the bench, and clear anodizing.
The blank is 318.75 cm³. At the 2.70 g/cm³ nominal density in Kaiser Aluminum’s 6061 data sheet, it weighs 860.6 g. At an example price of $9.50 per kg, plus 5 percent for saw kerf and drops, the material costs $8.58 a part.
- Once per part number: 2.0 hours of programming at $85.00, or $170.00.
- Once per batch: 2.0 hours of setup at $66.25 ($132.50), a 30-minute first article check at $75.00 ($37.50) and a $175.00 anodizing lot charge, for $345.00.
- Every part: material $8.58, 14.5 minutes of cycle time at $66.25 ($16.01), 2.5 bench minutes at $55.00 ($2.29) and $4.20 of anodizing, for $31.09.
With a 25 percent markup, the quantity breaks come out as follows. Programming is charged on the first order.
| Quantity | Cost per part | Price per part | Order total | One-time and batch costs in the unit cost |
|---|---|---|---|---|
| 10 | $82.59 | $103.23 | $1,032.30 | 62% |
| 50 | $41.39 | $51.73 | $2,586.50 | 25% |
| 250 | $33.15 | $41.43 | $10,357.50 | 6% |
At 10 pieces, the one-time and batch costs are 62 percent of the unit cost. At 250, they are 6 percent, and cycle time is the line to check first. A one-minute error in the cycle time moves the 250-piece order by about $276 before markup, or $345 after it.
How a job shop quotes, and where the time goes
A request for quote often arrives by email with a PDF drawing, sometimes with a 3D model. For a flat part sent as a DXF, the free DXF viewer measures the cut length and pierces a laser or waterjet quote needs. Someone reads it, finds a similar part the shop made before, estimates the times and prices the material. Someone else often reviews the number before it goes out. The guide to what an RFQ means covers what the request should contain.
Speed matters to the result. In the 2025 Top Shops survey reported by Modern Machine Shop, the top 20 percent of respondents reported a one-day quote time. The same group saw a 19 percent higher quote-to-book ratio than the other shops.
Most of the work in a quote is finding things: the last similar job, the material price paid on it and the hours it took. Those records often sit in email, the ERP and one estimator’s memory.
How to check the number before it goes out
Run the same checks on every quote, in the same order, before a person signs it. Each check compares the draft with a record the shop already has.
The guide to manufacturing quoting software describes the ladder of comparable sales a good price suggestion climbs. Costing software for manufacturing covers where each cost term comes from and how to tell an observed number from an assumed one.

Machine shop quoting software: what it does
CNC quoting software comes in a few shapes, and they differ in what they assume the shop already maintains. Machine shop estimating software carries a cost model of machines, rates and operations, and applies it to a routing the estimator enters. ERP quoting reuses the standard costs and routings already in the ERP. Some shops quote from a spreadsheet or a quote template in Excel.
Each shape has a weak point. A cost model is only as current as the rates someone maintains. A standard cost does not move when the material price does. A spreadsheet lives on one laptop and records nothing about who changed what. Before you buy, ask any vendor to price a part you quoted last year and to show which of your records it read.
Where AI does the work
AI drafts the quote, and the estimator decides. The work it takes over is reading and finding.
- Reading the request. It reads the email and the drawing’s title block into fields: customer, part number, revision, material, quantity, finish and due date.
- Finding comparable parts. It lists the closest parts the shop made or quoted before, with what the shop charged and the hours each job took.
- Pricing the material. It takes the material price from recent supplier invoices instead of from memory.
- Drafting the quote. It builds each line from your rates and markup method, shows the source of every number, and flags any line with a missing cost instead of guessing it.
The estimator approves, changes or rejects every draft, and nothing reaches the customer before that. Human in the loop covers how that approval step works.
How ThriveAI drafts CNC quotes from your own costs
ThriveAI builds quoting on the records your shop already has. Derik collects recent requests for quote and the quotes they became, your material invoices, machine and labour rates, and your quote template. In the first stage, four weeks long, he builds the costing method from those records and prices a test set of past requests. Each suggested price is compared with what you actually quoted. Then your estimators work from drafts on live requests, and a named person approves every quote before it goes out. Drafts go into the accounting system or quoting tool you use today. The AI quoting offer lists what the four weeks deliver. If your shop prices from a spreadsheet, the first step is a free map of that workbook, with its rules and gaps.