Cost guides · Updated 2026-10-30

How much should a shop charge for CNC programming time?

Your part priced in about 90 seconds, no account.

Charge programming at your programmer's hourly rate, estimated from the work in the part: our engine allows 15 minutes to bring in the model and plan the job, 5 minutes per setup and 4 minutes per toolpath. At $95 an hour that is $77.58 for a simple drilled plate, $123.50 for a bracket with taps and a pocket, and $213.75 for a housing with 25 toolpaths over 4 setups. Charge it once per part number, not per order: on a 10-piece repeat of that housing, leaving programming in the price overcharges by $27.79 a part.

See how QuotedPart connects to your workflow with its API, MCP server, autonomous quoting and shop-specific learning.

How programming time is estimated

Programming time follows what the programmer actually does, not the size of the part. Bringing in the model, checking it against the print, setting up stock, posting the program and writing the setup sheet is a fixed block of about 15 minutes. Each setup needs a work offset and workholding or a vise defined: about 5 minutes. Each toolpath needs a tool picked from the library, geometry selected, cuts set and the simulation checked: about 4 minutes.

Toolpaths come from the features: a facing pass and a finishing pass per setup, a roughing pass when most of the stock is removed, a drill per hole size plus a spot drill, one more per tap, counterbore or countersink size, and a roughing and a finishing pass per pocket or slot size. A row of identical slots is one toolpath, not six. Lathe programs are mostly 2D profiles written quickly, often at the control, so they start from a smaller base.

CAM programming time and cost for four parts at $95/h
PartSetupsToolpathsProgramming minProgramming costShare of a 1-piece priceProgramming per part at 10
Drilled plate, 6 × 4 × 0.5 in, 4 holes2649$77.5831%$7.76
Bracket, 4 × 3 × 1 in, holes, 2 taps, 1 pocket31278$123.5035%$12.35
Housing, 6 × 4 × 2 in, 15 holes in 4 sizes, pocket, slots, step425135$213.7536%$21.38
Turned adapter, Ø7/8 × 1.5 in, bore, groove, side tap2lathe profile30$46.7117%$4.67

Programming as a share of the price

On a one-piece order programming is a big part of the price: with markup, it is 36% of the one-off housing price and 31% of the drilled plate. At 10 pieces it shrinks to $21.38 of cost per housing, and at 100 pieces it is noise. The other big fixed cost, machine setup, is separate: the housing also carries 113 minutes of mill setup for its 4 setups.

Charge it once: NRE vs spreading it over the lot

Suppose a customer orders the housing in lots of 10, three times a year. If programming is baked into the piece price, every order pays for it: $188.86 each. The program already exists on the second order, so that is $27.79 a part the customer pays for work you aren't doing, and a competitor who prices the repeat correctly beats you by that much.

Shown as a one-time NRE line, programming is $277.88 on the first order, and the piece price is $161.07 on every order. Over three orders of 10 the customer pays $5,110.05 instead of $5,665.80. The first order looks the same, and the repeats get cheaper, and the repeats are the orders worth winning.

  • Put programming on its own line for new part numbers, or note it as included on the first order only.
  • On a revision, charge the time the edit takes, not a new program.
  • Keep the program, setup sheet and first-article data with the part, so the repeat quote can drop the line with confidence.
  • Don't waive programming to win a one-off. It is real work, and a buyer comparing shops on a single piece is comparing setup charges anyway.

What makes programming take longer

The formula is a starting point. Raise it for:

  • 3D surfaces and blends: roughing and finishing passes per surface, plus time to tune stepovers. Two toolpaths each at minimum.
  • 5-axis work: tool-axis control and collision checking take longer than 3+2 positioning.
  • Poor models: a PDF-only part or a model that doesn't match the print means drawing geometry first.
  • Workholding design: custom workholding is its own program and its own setup.
  • Customer program approval or first-article reports that need the program listed.

Engine assumptions

  • • Mill programming: 15 min + 5 min a setup + 4 min a toolpath. Lathe programming: 10 min + 1.5 min per face and 3 min per hole, at most 160 min more.
  • • Reference parts: fictional, in 6061-T6, ±0.005 in, no finish.
  • • CAM programming: $95/h (US catalog default, editable).
  • • 3-axis VMC: $95/h, 45 min standard setup (US catalog default, editable).
  • • CNC lathe: $90/h, 65 min standard setup (US catalog default, editable).
  • • NRE example: three orders of 10 housings; programming marked up 30% like the rest of the cost.
  • • Markup: 30% on cost; $65 minimum line charge. No freight, tax, certs or expedite.
CAM programming time and cost for four parts at $95/h
PartSetupsToolpathsProgramming minProgramming costShare of a 1-piece priceProgramming per part at 10
Drilled plate, 6 × 4 × 0.5 in, 4 holes2649$77.5831%$7.76
Bracket, 4 × 3 × 1 in, holes, 2 taps, 1 pocket31278$123.5035%$12.35
Housing, 6 × 4 × 2 in, 15 holes in 4 sizes, pocket, slots, step425135$213.7536%$21.38
Turned adapter, Ø7/8 × 1.5 in, bore, groove, side tap2lathe profile30$46.7117%$4.67

Sources and limits

Claims are dated where they can change. Product calculations are examples from the stated inputs, not a promise about a customer's quote. Competitor wording is attributed to the source shown.

  • Programming minutes are computed by QuotedPart's pricing engine's CAM formula from the stated reference parts; rates are the US catalog defaults.

Questions

Should CAM programming be charged at the machine rate?

Charge it at the programmer's rate. Our catalog starts both at $95 an hour, but programming happens at a desk, not on the spindle. If your programmer's loaded cost is lower than your machine rate, a lower programming rate is fair and makes one-offs more competitive.

Is programming the same as setup?

No. Programming is done once per part number at a desk. Setup is loading workholding, tools and offsets at the machine for every lot. A repeat order skips programming but still pays for setup.

Price one of your own parts

Drop a PDF drawing or a STEP file. QuotedPart reads the print, measures the model and prices it in seconds, on default shop rates you can change.

Your STEP file or PDF drawing

Free. No account, no email. Priced at our default US rates until you set yours.