# CNC Quote Margin and Floor Price Calculator

> Source: https://netray.co/tools/cnc-quote-floor-price-and-contribution-calculator
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Check a quoted price against full cost, a variable-cost floor, a target margin price and throughput per spindle hour before you send it.

## Category

cost-finance

## Industry

CNC Machining

## Audience

- Estimator
- Sales engineer
- Shop owner

## Tool

**Kind:** calculator

**Currency:** $

**Inputs:**

#### Quoted price per piece

**Key:** price

**Type:** slider

**Default:** 48

**Min:** 5

**Max:** 150

**Step:** 0.5

**Unit:** $

#### Lot quantity

**Key:** qty

**Type:** number

**Default:** 100

**Min:** 1

**Step:** 1

**Unit:** parts

#### Material per piece

**Key:** material_pc

**Type:** number

**Default:** 14

**Min:** 0

**Step:** 0.25

**Unit:** $

#### Outside processing per piece

**Key:** outside_pc

**Type:** number

**Default:** 2.4

**Min:** 0

**Step:** 0.1

**Unit:** $

#### Run time per piece

**Key:** run_min

**Type:** number

**Default:** 8

**Min:** 0

**Step:** 0.25

**Unit:** min

#### Setup time for the lot

**Key:** setup_hr

**Type:** number

**Default:** 2

**Min:** 0

**Step:** 0.25

**Unit:** hours

#### Fully burdened machine rate

**Key:** mach_rate

**Type:** number

**Default:** 90

**Min:** 0

**Step:** 5

**Unit:** $/hr

**Help:** Includes labor, depreciation, facility and overhead allocation.

#### Variable rate (out of pocket)

**Key:** var_rate

**Type:** number

**Default:** 38

**Min:** 0

**Step:** 2

**Unit:** $/hr

**Help:** Direct labor, power, consumables and tooling only, no fixed overhead.

#### Target margin on price

**Key:** target

**Type:** slider

**Default:** 30

**Min:** 5

**Max:** 60

**Step:** 1

**Unit:** %

**Outputs:**

#### Material plus outside cost

**Key:** mat

**Expr:** material_pc + outside_pc

**Format:** currency

#### Full cost per piece

**Key:** full_cost

**Expr:** mat + run_min / 60 * mach_rate + setup_hr * mach_rate / qty

**Format:** currency

#### Margin per piece at quoted price

**Key:** margin_usd

**Expr:** price - full_cost

**Format:** currency

#### Margin on price

**Key:** margin_pct

**Expr:** margin_usd / price * 100

**Format:** percent

**Primary:** true

#### Price to hit target margin

**Key:** target_price

**Expr:** full_cost / (1 - target / 100)

**Format:** currency

**Primary:** true

#### Variable cost floor price

**Key:** floor_price

**Expr:** mat + run_min / 60 * var_rate + setup_hr * var_rate / qty

**Format:** currency

**Description:** Below this you lose cash on every piece.

#### Margin over variable cost

**Key:** var_margin_pct

**Expr:** (price - floor_price) / price * 100

**Format:** percent

#### Spindle hours for the lot

**Key:** spindle_hr

**Expr:** setup_hr + run_min * qty / 60

**Format:** hours

#### Throughput per spindle hour

**Key:** thru_hr

**Expr:** (price - mat) * qty / spindle_hr

**Format:** currency

**Description:** Price minus material and outside cost, per machine hour used.

#### Throughput gap vs burdened rate

**Key:** gap

**Expr:** thru_hr - mach_rate

**Format:** currency

**Description:** Positive means the job pays more than the machine costs per hour.

**Chart:**

#### Margin vs quoted price

**Type:** line

**X:** price

**From:** 15

**To:** 90

**Steps:** 30

**Series:**

- margin_pct
- var_margin_pct

**Disclaimer:** Decision aid. Fixed overhead recovery, capacity utilization and strategic value are judgments, so use the variable floor only for deliberate filler work when machines would otherwise be idle.

## Content

**Intro:** Before a quote leaves the building, three questions matter: what is the margin at full cost, what is the lowest price that does not lose cash, and how much does each machine hour earn? This checker answers all three from your own cost inputs.

**Sections:**

#### How to use the checker

**Body:** Enter the quoted price per piece, lot quantity, material and outside processing per piece, run time per piece and setup hours. Provide two rates: your fully burdened machine rate, and a variable rate that includes only out-of-pocket costs. The tool returns margin on price at full cost, the price needed to hit your target margin, a variable floor price, and throughput per spindle hour compared with your burdened rate. Use the chart to see where your price crosses zero margin and the target.

**Bullets:**

- Burdened rate equals full cost recovery, variable rate equals cash cost
- Use the same lot quantity as the quote, setup per piece changes with it
- Compare the gap output across jobs competing for the same machine

#### Formulas and meaning

**Body:** Full cost per piece = material + outside + run time / 60 x burdened rate + setup hours x burdened rate / quantity. Margin on price = (price - full cost) / price. Target price = full cost / (1 - target margin). Floor price is the same cost build using the variable rate. Throughput per spindle hour borrows from throughput accounting: (price - material and outside cost) x quantity, divided by the spindle hours the job uses. When that figure is below your burdened rate, the job is not paying for the machine's time, whatever the cost sheet says.

#### Reading the result

**Body:** With the defaults, full cost is about 42.2 dollars per piece and a 48 dollar quote earns roughly 12 percent, below a 30 percent target, which needs near 60 dollars. The variable floor is near 20 dollars, so the job is clearly cash positive. Throughput per spindle hour is around 215 dollars against a 90 dollar burdened rate. That combination says the job is worth taking if capacity is idle but is underpriced against your target. Sharing these four numbers gives sales and shop leadership a common basis for deciding.

#### Common mistakes

**Body:** The most dangerous habit is quoting at the variable floor on every job, which never recovers fixed costs. Also avoid mixing margin and markup when you set targets. Teams sometimes include material in throughput per hour, which hides weak jobs with expensive material. Finally, the floor price is only valid if the machine would otherwise sit idle. If a better job could use those hours, the opportunity cost is higher than the variable rate suggests.

**Cta:** If you want quote margins and hourly throughput checked automatically against actual job costs in your ERP, Netray can help connect those numbers.

**Faq:**

#### What is a good margin for a CNC job shop?

**Answer:** It varies by market, complexity and utilization. Many shops target 25 to 40 percent gross margin on price at full cost. Use your own history of actual job margins rather than industry averages to set the target.

#### When is the variable floor price acceptable?

**Answer:** Only when capacity is otherwise idle and the work does not set a price expectation with the customer. It should be an exception with a manager's approval, not a pricing method.

#### What does throughput per spindle hour tell me?

**Answer:** It tells you how much revenue after material and outside costs each machine hour earns. Comparing it with your burdened rate shows whether the job covers the real cost of the machine's time.

#### Why use margin on price instead of markup?

**Answer:** Margin on price maps directly to income statement ratios, making it easier to compare jobs and track against company targets. Convert to markup only when a customer or system requires it.

## Search terms

cnc quote margin checker, floor price machining quote, contribution per machine hour, throughput per spindle hour, job shop quote profitability, minimum acceptable price machined part, machine shop margin calculator, is my quote profitable

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
