---
title: How to Quote CNC Machining Jobs With Reliable Standard Times
description: "CAM time, setup, inspections: how to quote a CNC part accurately, with a worked example by batch size and a method to correct your quotes after each run."
image: https://www.jitbase.com/hubfs/cnc-machining-quote-standard-times.webp
---

[+1 438 942-8501](tel:+1%20438%20942-8501)

[Log In](https://app.jitbase.com/)

- [English](https://www.jitbase.com/blog/cnc-machining-quote-standard-times)
- [Français](https://www.jitbase.com/fr/blog/chiffrage-devis-usinage-cnc-temps-standard)

[![JITbase black logo](https://www.jitbase.com/hs-fs/hubfs/Logos/jitbase-logo-black-horiz.webp?width=175&height=88&name=jitbase-logo-black-horiz.webp)](https://www.jitbase.com)

- Solutions

   Back
- Resources

   Back
- [Plans](https://www.jitbase.com/plans)
- Why JITbase

   Back

[Book a demo](https://www.jitbase.com/demo) [Connect Machines for Free](https://sso.jitbase.com/realms/webapp/protocol/openid-connect/registrations?client_id=website-registration&response_type=code&scope=openid&redirect_uri=https://admin.jitbase.com)

![Shop floor manager comparing a machined part to its drawing next to a CNC machine: CNC machining quote with JITbase](https://www.jitbase.com/hubfs/cnc-machining-quote-standard-times.webp)

 Blog [Production planning and scheduling](https://www.jitbase.com/blog/tag/production-planning-and-scheduling)

# How to Quote CNC Machining Jobs With Reliable Standard Times

[*written by* Judicael Deguenon on September 28, 2026](https://www.jitbase.com/blog/author/judicael-deguenon)

A CNC machining quote is often won or lost on a few minutes per part. Quote too short and the shop loses money without noticing. Quote too long and the customer goes elsewhere. In most shops, the error starts in the same place: the quote is built on the time shown by the CAM software (computer-aided manufacturing, the software that calculates toolpaths and generates the machine program), and then setup, inspections and the operator’s time around the machine get left out. This article walks through a complete worked example showing how to build a reliable **CNC machining quote** from standard times, and how to correct it after every batch.

**Key takeaways**

- CAM cycle time is not a price. You have to add everything that keeps the machine and the operator busy: loading, inspections, setup.
- Every task has a frequency: per part, per batch or once. That rule is what keeps a quote accurate, especially on short runs.
- A good quote gets checked after the batch: compare quoted time to actual time, and correct your baseline when the gap repeats.

## Why CNC Machining Quotes Go Wrong

Quoting errors almost always come from the same causes. None of them is dramatic on its own. It is the sum that gets expensive.

- **CAM time is used as-is.** It describes the toolpath, not the real work. Acceleration, tool changes and probing macros often make it longer.
- **Setup is forgotten or spread badly.** Two hours of setup does not weigh the same on 10 parts as on 200.
- **Work around the machine is not counted.** Loading, blowing off chips, checking at the machine: a few dozen seconds per part, but across a full run that adds up to hours.
- **Nobody compares quoted to actual.** The same mistake repeats from one quote to the next.

A typical case: a part is quoted at 8 minutes because that is what the CAM software shows. On the floor, it ties up the machine for almost 10 minutes. The gap looks small. On a batch of 200 parts, it adds up to more than 6 hours of machine time that never gets billed.

## What a Part Price Needs to Include

A part price is built from a handful of simple elements. The table below lists them and how to count each one.

| Element | What it is | Frequency |
| --- | --- | --- |
| Machine cycle time | Program run time, validated on the machine | Per part |
| Loading and unloading | Remove the part, blow off chips, clean, load a new blank | Per part |
| In-process inspection | Quick or detailed check at the machine | Per part or every N parts |
| Setup | Fixturing, tools, offsets, first part | Per batch |
| First article inspection | Full validation of the first part | Per batch |
| Shop rate | Cost of one hour of machine and operator time | Applied to total time |
| Material, special tooling, outside processing | Non-time costs | Added separately |

**The rule to remember: every task has a frequency.** A per-part task is multiplied by the quantity. A per-batch task is divided by the quantity. A task done every 10 parts is divided by 10. Follow that rule and the quote stays accurate whatever the order size.

The cycle time itself has to come from a reliable source. The method for getting it from the program and validating it on the machine is covered in our guide on how to [extract cycle times from G-code in 7 steps](https://www.jitbase.com/blog/extract-cycle-times-from-g-code-in-7-steps). Here, we assume that time is known and focus on what to do with it in a quote.

**Quote with measured times, not estimates.** JITbase learns standard times from your CNC programs and compares them with actual production time, with no manual entry.

[Discover JITbase Production Monitoring](https://www.jitbase.com/production-monitoring)

## Worked Example: How Batch Size Changes the Price

Take a milled part, using example values you should replace with your own shop’s numbers.

- Machine cycle: 8 minutes
- Loading, unloading and chip blow-off: 1.5 minutes per part, machine stopped
- Quick inspection every 10 parts: 3 minutes, or 0.3 minutes per part
- Setup: 2 hours (120 minutes) per batch
- First article inspection: 20 minutes per batch
- Machine and operator shop rate: $90 per hour, or $1.50 per minute

First, separate what depends on the part from what depends on the batch:

- Time per part: 8 + 1.5 + 0.3 = **9.8 minutes**
- Time per batch: 120 + 20 = **140 minutes**

Then calculate for two quantities:

| Calculation | Batch of 10 parts | Batch of 200 parts |
| --- | --- | --- |
| Batch time (setup + first article) | 140 min | 140 min |
| Production time (quantity × 9.8 min) | 98 min | 1,960 min |
| Total time | 238 min | 2,100 min |
| Time per part | 23.8 min | 10.5 min |
| **Time cost per part** | **$35.70** | **$15.75** |

Same part, same program: the time cost per part is more than twice as high on the short run. Setup makes the difference.

Now compare that with a quote based on CAM time alone, 8 minutes at $1.50: **$12.00 per part**. On the batch of 10, the shop loses about $237. On the batch of 200, it still loses $750. In other words, even a long run does not make up for a base time that is too short.

## Quoting a New Part With No History

For a part you have never machined, there is no measured time. You have to estimate, but in a structured way.

1. **Start from the CAM or program time.** It is the only data available. Treat it as a starting point, not an answer.
2. **Find a similar part family.** Same material, same machine, same kind of fixturing.
3. **Apply that family’s known gap.** If, on past batches, actual time runs 15% above CAM time on average, a CAM time of 8 minutes becomes 9.2 minutes. That factor has to come from your own data, not a generic number.
4. **Add the per-part and per-batch tasks**, as in the example above.
5. **Write your assumptions on the quote**: quantity per batch, tolerances, number of deliveries. If the customer later splits the order, the quote can be revised on a clear basis.

That last point avoids a common trap: a customer orders 200 parts but asks for four deliveries of 50. If each delivery means a new setup, the real cost looks much more like four short runs than one long one.

**An accurate quote is worth little if the schedule cannot keep up.** Plan your batches on the real capacity of your machines and operators.

[See Scheduling and Workforce Management](https://www.jitbase.com/workforce-management)

## Compare Quoted and Actual Time After Every Batch

A quote is only reliable once it has been checked. The method is simple: after each batch, record the time actually spent and compare it with the quoted time.

| Part | Quoted per part | Actual per part | Gap | Action |
| --- | --- | --- | --- | --- |
| Part A | 10.5 min | 10.8 min | +3% | No change needed |
| Part B | 6.0 min | 7.2 min | +20% | Find the cause |
| Part C | 14.0 min | 12.1 min | −14% | Quote too cautious, revise |

A practical rule: **if the gap exceeds 10% on two or three batches in a row, correct your quoting baseline.** A one-off gap can come from an incident. A repeated gap points to a method error: setup underestimated, inspections more frequent than planned, or a program changed since the quote.

At first, actual time can be recorded by hand on a simple sheet: part number, quantity, start time, end time, stops. With automatic machine monitoring, the comparison happens with no data entry. If the gap keeps showing up and you cannot tell why, our [cycle time mismatch diagnostic guide](https://www.jitbase.com/blog/cnc-cycle-time-mismatch-diagnostic-guide) helps pinpoint the cause from the shape of the gap. And if first-part validation weighs heavily on your setups, our article on [first article inspection](https://www.jitbase.com/blog/first-article-inspection-cnc-shops) shows how to shorten it.

## Common Mistakes and How to Avoid Them

- **Quoting on raw CAM time.** Always add the per-part and per-batch tasks, and apply the measured gap for the part family.
- **Spreading setup over an optimistic quantity.** Quote on the quantity actually run in one go, not the quantity ordered.
- **Forgetting that one operator runs several machines.** Operator cost is then shared across those machines. To measure it, see how to [measure operator workload in CNC shops](https://www.jitbase.com/blog/measuring-operator-workload-cnc-shop-indicators).
- **Never updating the baseline.** An optimized program, a new tool or a better fixture changes actual time. Your quoting baseline has to follow.

**How much are your quoting gaps costing you?** Estimate the return on investment of production monitoring based on machine data.

[Estimate Your ROI](https://www.jitbase.com/return-on-investment)

## Conclusion

A reliable CNC machining quote rests on three simple habits. First, start from a validated cycle time, not raw CAM time. Next, classify every task by its frequency (per part, per batch or every N parts) so the price holds whatever the quantity. Finally, compare quoted and actual time after every batch and correct the baseline when the gap repeats. These three habits protect your margin on short runs and make the shop more competitive on long ones.

## Frequently Asked Questions

### Should setup time be built into the unit price or billed separately?

Both approaches work, as long as setup is counted. Building it into the unit price gives the customer a simple number to compare. But that price only holds for the quantity quoted: if the customer orders fewer parts or asks for several deliveries, each new setup is no longer covered.

Billing it separately, as a setup charge per batch, makes that cost visible and protects the shop when orders get split. In the example in this article, batch time is 140 minutes, or $210 at $1.50 per minute. That works out to $21 per part on a batch of 10, but just over $1 on a batch of 200. Many shops combine the two: a unit price above a minimum quantity, and a setup charge below it.

### What safety margin should I apply to a part I have never machined?

There is no universal percentage, because the gap depends on material, machine, fixturing and program complexity. The best reference is the average gap between CAM time and actual time on a similar part family in your own shop. To calculate it, take 5 to 10 recent batches from one family and compare the two times.

With no history, be transparent: state on the quote that times are estimated and will be confirmed after the first run. You can also offer a price for a first batch, then a production price once times have been measured. Customers generally understand this approach, and the shop avoids committing to a production price based on a simple estimate.

### How do I quote when one operator runs several machines?

Separate machine cost from operator cost. Machine time is billed in full, because the machine is tied up by the part. Operator time, on the other hand, is shared across the machines they run.

Take an operator who runs two machines and spends about 60% of their time on machine A and 40% on machine B. If their cost is $40 per hour, you assign $24 per hour to machine A and $16 to machine B, on top of each machine’s hourly cost. Those percentages should come from real observation: a machine that needs frequent interventions uses more operator time than its cycle time suggests.

### How often should I update the times in my quoting baseline?

Whenever something changes actual time: a modified program, a new tool, a new fixture, or a change of machine or material. In those cases, revise the baseline time before the next quote, without waiting for the next batch.

Outside those changes, a check after every batch is enough. The rule from this article applies: if the gap between quoted and actual time exceeds 10% on two or three consecutive batches, correct the baseline. To keep it manageable, start with the part numbers that account for the most revenue: they have the biggest effect on your margin.

#### SHARE

[mailto:email@example.com?subject=Mail%20from%20our%20Website](mailto:email@example.com?subject=Mail%20from%20our%20Website)

[![JITbase block logo](https://www.jitbase.com/hs-fs/hubfs/eca01011d7169e8c6395a8d7eebe802d.webp?width=317&height=158&name=eca01011d7169e8c6395a8d7eebe802d.webp)](https://www.jitbase.com)

![image-2](https://www.jitbase.com/hs-fs/hubfs/image-2.webp?width=156&height=78&name=image-2.webp)

Solutions

- [Machine Monitoring](https://www.jitbase.com/machine-monitoring)
- [Production Monitoring](https://www.jitbase.com/production-monitoring)
- [Scheduling & Workforce Management](https://www.jitbase.com/workforce-management)
- [Edge Platform](https://www.jitbase.com/edge-platform)
- [Plans](https://www.jitbase.com/plans)

<https://linkedin.com/company/jitbase> <https://www.facebook.com/jitbase> <https://www.youtube.com/channel/UC0hNdL3yfYCXDpsvQ65Onzg>

Resources

- [Download](https://www.jitbase.com/download)
- [Education](https://www.jitbase.com/education)
- [Return on Investment](https://www.jitbase.com/return-on-investment)
- [CNC Machines we connect](https://www.jitbase.com/machines-we-connect)
- [Demo Request](https://www.jitbase.com/demo)

Why JITbase

- [Why JITbase](https://www.jitbase.com/why-jitbase)
- [About Us](https://www.jitbase.com/about-us)
- [Partners](https://www.jitbase.com/partners)
- [Contact Us](https://www.jitbase.com/contact)

[Book a demo](https://www.jitbase.com/demo) [Connect Machines for Free](https://sso.jitbase.com/realms/webapp-ngen/protocol/openid-connect/registrations?client_id=website-frontend&response_type=code&scope=openid%20email&redirect_uri=https://admin.jitbase.com/next-gen)

<https://linkedin.com/company/jitbase> <https://www.facebook.com/jitbase> <https://www.youtube.com/channel/UC0hNdL3yfYCXDpsvQ65Onzg>

© 2026 All rights reserved.

- [Privacy Policy](https://www.jitbase.com/privacy-policy)

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Judicael Deguenon",
    "url" : "https://www.jitbase.com/blog/author/judicael-deguenon"
  },
  "dateModified" : "2026-09-28T14:02:57.113Z",
  "datePublished" : "2026-09-28T14:02:57.000Z",
  "headline" : "How to Quote CNC Machining Jobs With Reliable Standard Times",
  "image" : [ "https://www.jitbase.com/hubfs/cnc-machining-quote-standard-times.webp" ],
  "mainEntityOfPage" : {
    "@id" : "https://www.jitbase.com/blog/cnc-machining-quote-standard-times",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://www.jitbase.com/hubfs/logo%20jitbase%201.svg"
    },
    "name" : "JITbase"
  }
}
```

```json
{
  "@context" : "https://schema.org",
  "@type" : "FAQPage",
  "mainEntity" : [ {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "Both approaches work, as long as setup is counted. Building it into the unit price gives the customer a simple number to compare. But that price only holds for the quantity quoted: if the customer orders fewer parts or asks for several deliveries, each new setup is no longer covered. Billing it separately, as a setup charge per batch, makes that cost visible and protects the shop when orders get split. In the example in this article, batch time is 140 minutes, or $210 at $1.50 per minute. That works out to $21 per part on a batch of 10, but just over $1 on a batch of 200. Many shops combine the two: a unit price above a minimum quantity, and a setup charge below it."
    },
    "name" : "Should setup time be built into the unit price or billed separately?"
  }, {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "There is no universal percentage, because the gap depends on material, machine, fixturing and program complexity. The best reference is the average gap between CAM time and actual time on a similar part family in your own shop. To calculate it, take 5 to 10 recent batches from one family and compare the two times. With no history, be transparent: state on the quote that times are estimated and will be confirmed after the first run. You can also offer a price for a first batch, then a production price once times have been measured. Customers generally understand this approach, and the shop avoids committing to a production price based on a simple estimate."
    },
    "name" : "What safety margin should I apply to a part I have never machined?"
  }, {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "Separate machine cost from operator cost. Machine time is billed in full, because the machine is tied up by the part. Operator time, on the other hand, is shared across the machines they run. Take an operator who runs two machines and spends about 60% of their time on machine A and 40% on machine B. If their cost is $40 per hour, you assign $24 per hour to machine A and $16 to machine B, on top of each machine’s hourly cost. Those percentages should come from real observation: a machine that needs frequent interventions uses more operator time than its cycle time suggests."
    },
    "name" : "How do I quote when one operator runs several machines?"
  }, {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "Whenever something changes actual time: a modified program, a new tool, a new fixture, or a change of machine or material. In those cases, revise the baseline time before the next quote, without waiting for the next batch. Outside those changes, a check after every batch is enough. The rule from this article applies: if the gap between quoted and actual time exceeds 10% on two or three consecutive batches, correct the baseline. To keep it manageable, start with the part numbers that account for the most revenue: they have the biggest effect on your margin."
    },
    "name" : "How often should I update the times in my quoting baseline?"
  } ]
}
```