Quantity breaks: pricing 1, 10 and 100 pieces without losing money
Short answer
Price each quantity break as its own lot. Every break carries the full setup and programming, every outside-processing minimum, and the scrap you expect, divided by that quantity; then add the per-piece material and run time. Say on the quote whether each line stands alone or the prices hold only for the full order, so a buyer can’t order the cheap lines on their own.
Why quantity break pricing goes wrong
Quantity break pricing looks like simple division, and it is where CNC quotes can quietly lose money. A machinist on Practical Machinist, re-quoting assemblies of 130 parts with heat treat, plating and welding sent out, wrote in 2025: “I’m thinking of just increasing the cost by 40 - 50 - 60 % or more instead of taking the 20 -30 hours to requote everything” [1]. Another saw quotes going out with “really skewed numbers” across quantities, “some (quite a few actually) that just don’t make much sense” [2].
Buyers notice the other end: “the customer asked me why the one pc is $400. it takes 8 hours for programming and setup” [2]. A clean break structure answers both problems: the numbers are consistent, and you can explain them.
Three kinds of cost, and how each one scales
- Per-lot costs: setup, programming, fixtures and soft jaws, first-article inspection. One machinist spreads “Set-up, programming, tooling, fixtures, jaws. All of it” across the job [2]. They are the same at 1 piece or 100, so their cost per piece falls as quantity rises.
- Outside processing with a lot minimum: heat treat, plating, anodize. The vendor charges the higher of a minimum and a per-piece price, so the cost is flat at low quantities and rises after the minimum is passed.
- Per-piece costs: material, run time, deburring, per-piece inspection. They scale with quantity, plus the extra pieces you lose to scrap.
“Excel or Open Office Calc are what most people use,” one poster says, and another uses “an excel spreadsheet that was given to me by another shop owner that helps doing the math to spread out the cost of programming/setup/material/cycle time across quoting multiple quantities” [5]. The method matters more than the tool.
Spread setup per lot, and give every break the full setup
For each break: price per piece = (per-lot costs / quantity) + per-piece costs, before margin. The common mistake is to take setup once and spread it over the largest quantity, or to scale the 100-piece price up to get the 10-piece one. Each break is a separate order that may be the only one you get, so each one has to carry a full setup.
Some shops show setup as its own line instead. One machinist who did this at a large company recalls: “We quoted set-up time and run time separately … the customer would always pay one set-up per order”. Another asked: “Isn’t this what NRE (non-recurring engineering) charges are for?” [3]. A separate line is honest and survives a change in quantity; spread setup is simpler for buyers who compare unit prices. Either works if every order pays for its setup.
Outside-processing lot minimums
Outside processing is where break math is easiest to get wrong, because the vendor’s minimum doesn’t divide the way your own setup does. 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” [1].
For each break and each process, charge the higher of (minimum, per-piece price × quantity), then add freight both ways and your own handling. Do it for every break: a minimum that is irrelevant at 100 pieces can be most of the price at 1. When a part goes to two vendors, it pays two minimums and two sets of freight.
Allow for scrap and setup pieces
Buy a blank or two for proving out the setup on every lot, and add a scrap allowance on longer runs that matches your own history for that kind of part. Scrapped pieces cost material and run time too, so count them in both.
On small lots, one bad piece can double the cost. If a part needs heat treat and you scrap one of a lot of two after it comes back, you may pay the vendor minimum twice. Where the risk is real, say so on the quote, or build in an extra piece.
A worked example: a 4140 shaft at 1, 10 and 100
A turned and milled 4140 shaft, heat treated and black oxided. Setup is one hour on the lathe and 0.75 hours on the mill at $105 an hour, plus 1.5 hours of programming at $90. Run time is 15 minutes a piece at $105. Blanks are $7.50 each, plus $40 per order for certs and delivery, one spare blank per lot for setup and two more at 100 pieces for scrap. Heat treat has a $125 minimum or $1.60 a piece; black oxide has a $90 minimum or $0.80 a piece; freight to and from the vendors is $60. The margin is 20% of the selling price. All of these are illustrations.
| Compared | 1 pc | 10 pcs | 100 pcs |
|---|---|---|---|
| Material, with spares | $55.00 | $122.50 | $812.50 |
| Setup and programming | $318.75 | $318.75 | $318.75 |
| Heat treat | $125.00 (minimum) | $125.00 (minimum) | $160.00 |
| Black oxide | $90.00 (minimum) | $90.00 (minimum) | $90.00 (minimum) |
| Freight to vendors | $60.00 | $60.00 | $60.00 |
| Run time, scrap pieces included | $26.25 | $262.50 | $2,677.50 |
| Total cost | $675.00 | $978.75 | $4,118.75 |
| Price per piece (20% margin) | $843.75 | $122.34 | $51.48 |
| Order total | $843.75 | $1,223.40 | $5,148.00 |
Setup, outside processing and freight come to $593.75 at one piece and still $59.38 a piece at ten. At 100 they fall to $6.29 a piece, and run time becomes most of the price. If the shop had divided the 100-piece setup and minimums into the 10-piece price, it would have lost money on every 10-piece order.
Quote the breaks they ask for, and expect a different order
Buyers often ask for breaks they don’t need. A small-shop owner wrote: “If they want a quote on 5, 15, 40 and 100, I know they only need 1-4 right now” [2]. Another shop quoted prints marked “Qty 6” and received orders for fewer [3]. Price every break as if it might be the one ordered, and state that prices hold only at the quantities quoted. If the PO comes in at a quantity you didn’t quote, re-price it; don’t use the nearest break.
Lot price, or each line stands alone
Multi-line quotes have their own version of the problem. One machinist asked what to do when “you quote 5-6 items on one quote # and the customer only gives an order for 2” [4]. The replies give the two clean answers:
- Each line stands alone. “I quote everything like it was it’s own quote” [4]. Every line carries its own setup and minimums, so any line can be ordered by itself at its quoted price. Choose this when lines are unrelated or the buyer is likely to split the order.
- Lot price, full order. “I’ll often just quote a ‘Lot Price’, that way, they cannot cherry pick”, or “I specify on the quote that the price is contingent on receipt of the entire order” [4]. Shared setups and combined outside-processing lots lower the price, and the quote says an order for only some lines will be re-quoted. Choose this when the lines share material, setups or a heat-treat lot.
Whichever you choose, print it on the quote in one sentence. It costs nothing, and it settles the argument before it starts.
Minimums and repeat orders
A minimum order protects the low end. One shop says “a $40 job will get quoted $150 as that’s the minimum amount a PO can be for us per part” [6]. For repeats, use what the last run actually took: one shop copies down setup and cycle times while prototyping, so “we now have actual costs and cycle times to charge customer exactly the cost on return orders” [7]. For the rest of the quote, see how to quote CNC machining jobs; for the rate, how to calculate your machine shop hourly rate.
How QuoteSooner handles breaks
In QuoteSooner each quantity is priced side by side, with setup spread across each break and one-time charges such as tooling or first-article inspection on their own lines. An outside-processing charge can carry the vendor’s lot minimum, which is applied to each break separately. You choose whether each line stands alone or the prices are a lot price for the full order, and the quote prints the matching sentence; if the buyer’s PO quantity isn’t one of the quoted breaks, it’s flagged. See how it works. The free plan covers 5 RFQs a month, with no card: start free.
Questions
- How do you price quantity breaks for CNC parts?
- Treat each break as its own lot. Divide setup, programming, fixtures and outside-processing minimums by that quantity, add the per-piece material and run time with a scrap allowance, then apply your margin. Don’t scale one break from another.
- Why is one piece so much more expensive than ten?
- Because one piece carries all of the setup, programming and outside-processing minimums by itself. In the example here, those come to $593.75 at one piece and $59.38 a piece at ten.
- How do outside-processing lot minimums affect quantity pricing?
- Below the minimum, the vendor charges the same for one piece as for many, so the cost per piece falls steeply as quantity rises. Apply the minimum to every break and every vendor separately, and add freight both ways [1].
- Should a multi-line quote be a lot price?
- Use a lot price when the lines share setups, material or an outside-processing lot, and say the prices are contingent on the full order. Otherwise price each line to stand alone. Either way, state it on the quote [4].
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: Quoting change of quantities (2025) (read October 3, 2026)
- Practical Machinist: How do you quote your quantities against your setup costs? (2015) (read October 3, 2026)
- Practical Machinist: Customer changes quantity between RFQ and PO (2006) (read October 3, 2026)
- Practical Machinist: How do you handle it when a customer cherry-picks your quote? (2013) (read October 3, 2026)
- Practical Machinist: Software for estimating (2024) (read October 3, 2026)
- Practical Machinist: Overwhelming RFQ backlog, being selective and bidding quickly (2020) (read October 3, 2026)
- Practical Machinist: How many shops track actual hours vs. the bid price? (2026) (read October 3, 2026)
