Guides · 23 October 2026
Pricing repeat CNC orders: what to take off, and what to check again
The buyer wants the same part again, same revision, same quantity. The quick answer is to send last time's price, or last time's price minus the programming. Both can be wrong in either direction, and the second one is often wrong by most of the margin.
What a repeat order does not need
Costs that bought something you still have should not be charged again:
- CAM programming, if the program is proven and the revision has not changed.
- Fixtures, soft jaws and special tools made for the job, if you kept them.
- First-article inspection reports, if the buyer does not ask for a new one. Many do for every lot; check.
Taking these off is a fair discount that costs you nothing, and saying so on the quote ("programming and fixture from order 2026-0142, not charged again") shows the buyer why the price moved.
What a repeat order still needs
- Setup. The machine still has to be set up, even with a saved program and fixture. It is usually quicker the second time, not free.
- Today's material price. Steel and aluminium move. Use the current supplier price, not the one on the old quote.
- Today's rates. If your machine or labour rates went up since the first order, the repeat order pays the new rates.
- The times the last run actually took. This is the one most often missed, and the one that matters most.
A worked example
An aluminium part, 50 off. The first quote: one hour of setup and a 6-minute cycle at A$120 an hour, 52 blanks (planning for 97% good parts) at A$7.50, 2.5 hours of CAM programming at A$95 (A$237.50) and a A$180 fixture. 10% overhead and 25% margin on cost gave A$42.67 a part.
The buyer orders again a year later. On the first run the setup took 80 minutes and the cycle 7.2 minutes, and the material is now A$8.10 a blank.
| Repeat quote | Price per part | Margin on actual cost |
|---|---|---|
| Same as last time | A$42.67 | 46% |
| Last time minus programming and fixture | A$31.19 | 7% |
| Requoted from the actual times and today's material | A$36.58 | 25% |
The full cost of the repeat order, with the times from the first run and today's material, is A$29.26 a part. Sending last year's price earns a lot on this one, and may lose the order to a shop that knows it no longer pays for programming. Taking the one-off costs off the old estimate looks generous and fair, but it keeps the 6-minute cycle the part never achieved, and leaves 7% margin. Requoting from the actual times gives the margin the shop meant to make, at a price still 14% below the first order.
Check before you copy
- Is it the same revision? Compare the drawing revision on the new order with the one you made. A changed tolerance or a new hole is a new job.
- Is the program proven? If the first run needed edits at the machine, make sure they were saved back.
- Do you still have the fixture and tools? Check the shelf before you take the charge off.
- What did the last run take? Setup and cycle per operation, scrap, and any outside processing that came back late or rejected.
- Is the quantity the same? If the buyer now wants 20, the setup is spread over fewer parts; price it at the new quantity.
Recording the times that make this possible
Requoting from actuals only works if someone wrote them down. The minimum is setup minutes and run minutes per operation, plus good and scrap counts at the end. A sheet at the machine is enough; what matters is that it is kept with the job, so the next quote can find it.
In Spindlewise, copying a won quote as a repeat order takes off the one-time costs marked "not charged again on repeat orders" and recalculates everything else with today's rates and material prices. Operators log setup and run minutes on a phone at the machine, and once a machine has a few finished jobs the insights page suggests how far its setups and cycles run from the estimates. If you approve the suggestion, the quote editor shows the adjusted times next to each operation on that machine, and you choose whether to use them.