Almost every small job shop quotes out of a spreadsheet, and that is a reasonable thing to do. This page is not an argument that you should stop. It is an account of which job each tool is better at, and of four specific costing errors a quoting sheet makes easy — because all four move the cost the same way on short runs, against the shop.
Here is the whole argument in one row of arithmetic. Take the calculator's own default job — a turned part off 12 ft bar, 4.2 min cycle, 2.5 h setup, 3 h programming, 1.25 h first article, 3% scrap — and quote it at a flat $38 a part, the kind of number a shop carries in its head or in the top row of a sheet:
| Lot size | Parts started | Cost / part | Margin at $38 |
|---|---|---|---|
| 1 | 2 | $374.80 | −886.3% |
| 5 | 6 | $81.94 | −115.6% |
| 10 | 11 | $45.34 | −19.3% |
| 25 | 26 | $23.37 | 38.5% |
| 50 | 52 | $16.17 | 57.4% |
| 100 | 104 | $12.71 | 66.6% |
| 250 | 258 | $10.59 | 72.1% |
| 500 | 516 | $9.90 | 73.9% |
The same part price is a healthy 57.4% margin at 50 pieces and a 19.3% loss at 10. Between one piece and five hundred the cost per part moves by a factor of nearly thirty-eight. None of that is a discount; it is the same costs divided differently. A price carried across lot sizes is wrong in both directions at once — it loses money on the short run and it is uncompetitive on the long one.
| Your quoting spreadsheet | This calculator |
|---|---|
| Holds the quote history, the customer, the part number, and which quotes you won and at what price | Holds nothing. It costs one job and forgets it. |
| Carries years of your own estimates for similar parts | Has no history and cannot estimate a cycle time for you |
| Feeds a purchase order, a traveller, or a job packet | Feeds your clipboard |
| Formulas you wrote, which you can audit and change | One fixed cost model, shown line by line so you can check it |
| Break rows usually built by adjusting one computed row | Every break row is the whole cost re-derived at that quantity |
| Scrap, stock yield and lot minimums are in there if you remembered to put them in | All three are applied every time, whatever the quantity |
Read that as a division of labour rather than a scoreboard. The spreadsheet is your record; this is the arithmetic check you run before a number goes into it.
The common pattern is to compute one per-part price and adjust it for the other quantities — a few per cent off for the bigger lot, or a setup-over-quantity term copied sideways. That is an approximation of re-deriving the cost, and it drifts, because the cost curve has corners in it. In the table above the per-lot share of cost falls from $189.42 a part at one piece to $0.59 a part at five hundred, and it does not fall smoothly: the other three errors below are exactly the corners a copied formula cannot see.
Scrap is an integer. To ship 10 good parts at 3% fallout you do not start 10.3 — you start 11, which is a 10% hit on material and machine time, not 3%. At 50 pieces the same 3% means starting 52, an effective 4%. The rate you typed is never the rate you pay on a short run, and the gap is invisible in a percentage.
Material is bought in whole stock units. At the default figures a 12 ft bar yields 53 parts, so a 50-piece order buys one bar and a 100-piece order buys two — the 54th part costs a whole new bar, and the 53rd costs nothing extra. A sheet that divides a bar price by an ideal parts-per-bar figure misses both edges: it over-charges the part that rides on stock you already own, and under-charges the one that forces another bar.
Anodising, heat treat, plating and passivation are quoted per part and billed against a lot minimum, so on a short run the minimum is what you actually pay. At $2.10 a part with a $75 lot minimum, a 5-piece run costs $15.00 a part and a 100-piece run costs $2.10 — the minimum, not the rate, prices the short run. A sheet that multiplies the per-part rate by the quantity is short by $64.50 on that 5-piece job, and it is short by most on exactly the runs where the margin is thinnest.
Keep the spreadsheet. Cost the next few jobs in both and compare at the smallest quantity on the enquiry — that is where all four errors are largest and where a difference will show up first. If the numbers agree, your sheet is sound and you have learned something worth knowing. If they do not, the line-by-line breakdown in the calculator will show you which of the four it is.
On whether that setup cost should be its own line on the quote or buried in the part price, see should a CNC shop charge setup separately or build it into the part price?
No, and this page is not an argument that you should. A spreadsheet is the better tool for everything this calculator deliberately does not do: keeping a quote history, holding customer and part numbers, tracking which quotes were won and at what price, feeding a purchase order or a job traveller, and carrying the estimates you built up over years of running this shop. What a spreadsheet is not good at is being re-derived correctly at a new quantity under time pressure. The honest division is that the spreadsheet is your record and this is your arithmetic check: cost the part here, then put the figures into the sheet that holds the job.
Four things, all of them structural rather than clever. It re-derives the whole cost at each quantity in the break table instead of scaling one computed row. It rounds scrap up to whole parts, because you cannot start a third of a part. It buys material in whole stock units, so cost per part is a step function rather than a rate. And it applies outside-process lot minimums, which behave like a second setup on a short run. Each of the four moves the cost in the same direction on short runs, against the shop, which is why leaving them out is expensive rather than merely imprecise.
Because the usual way to build a price-break row in a sheet is to take the per-part price you already computed and adjust it — a few per cent off for the bigger lot, or a setup-divided-by-quantity term copied sideways across the columns. That is an approximation of re-deriving the cost, and it drifts, because the amortisation is not the only thing that changes with the quantity. The scrap round-up steps to whole parts, the material steps to whole bars or sheets, and an outside-process minimum stops applying somewhere along the row. A copied formula draws a smooth curve where the real cost has corners in it.
Both stay on your own machine, so neither is a disclosure risk by itself. This page and the calculator run entirely in your browser: nothing is uploaded, there are no accounts, cookies, or analytics vendors, and anything the calculator saves is written to your own browser's local storage. A spreadsheet file is equally local until you email it. The practical difference is not privacy but durability — a spreadsheet is a record you keep, and this is a calculation you run and close, which is the division the first answer above describes.