- Home
- Blog
- Quoting & Promising
- Quoting a Job That Shares Your Bottleneck in EDGEB…
Quoting a Job That Shares Your Bottleneck in EDGEBIC
When a quoted job routes through the same constraint machine as your committed work, the simulation queues it behind that load, so the bottleneck sets the promised date, and the date is honest about how full your constraint really is. EDGEBIC by User Solutions schedules the quoted job through the same finite capacity engine that plans production, against your live committed load, so a job sharing your bottleneck cannot start there until the existing queue clears. That is the number a lead-time rule of thumb can never give you.
A bottleneck is the machine your work waits on longest. Quoting through it is where capacity-based promising earns its keep, because it is exactly the situation a spreadsheet gets most wrong.
The bottleneck decides the date
Every job has one operation that gates the rest, and in a busy shop that operation is usually your bottleneck. When you quote a new job routed through it, the simulation does not pretend the machine is free. It rebuilds the shift allocations from your existing schedule and then tries to fit the quoted job around them. The quoted work lines up behind the committed work, and the constraint's queue length becomes the dominant driver of the promised end date.
This is why the same product can quote a two-week lead time when your bottleneck is light and a two-month lead time when it is backed up. Nothing about the routing changed. The load on the one machine everything waits for did. For the underlying idea, see production bottleneck identification.
Why a spreadsheet gets this wrong
A routing-only estimate multiplies hours by rates and adds material. It answers "what does this cost?" but it has no idea what your constraint is already committed to. A spreadsheet says the new job's bottleneck hours start Monday. Reality says they queue behind three weeks of existing work on that machine. The gap between those two answers is late deliveries and expedite fees, and it is widest precisely at the bottleneck.
The simulation closes the gap by making the quote a scheduling problem. It creates a temporary, invisible copy of the quoted job, schedules it against the live constraint load, reads the dates, and discards the copy. Nothing touches your real schedule, and the promise already accounts for every job ahead of it in the bottleneck's queue. This is the heart of quoting against real capacity.
Reading a bottleneck-driven date
When a quote comes back further out than you hoped, resist the urge to assume an error. First confirm the cause:
- Open the work-center utilization view and find where the load piles up. If one machine is near its ceiling for weeks, that is your constraint, and it is setting the date.
- Look at the quote's details window to see which machine received the bulk of the hours and when. A gap between an early routing step and the bottleneck step is the queue you are quoting behind.
- Compare the simulated end against the customer's date. If it fits, price it and move. If it does not, the honest date is your starting point for a scenario, not a reason to fudge a promise.
A full shop is where this reading matters most; see quoting when the shop is already full for the wider case.
Pulling the date in: attack the constraint
The lever that moves a bottleneck-driven date is the one aimed at the bottleneck. Adding capacity or speed anywhere else barely helps, because the job was never waiting on those machines.
On the documented 200-unit Widget-A enquiry, the mill was the constraint, carrying 101 of the roughly 151 work hours. The base simulation ended August 14, six days past the customer's August 8 request. Two scenarios closed the gap:
| Scenario | Lever aimed at the mill | End date |
|---|---|---|
| Standard | None (baseline) | Aug 14 |
| Second shift on mill | Mill capacity at 150 percent | Aug 5 |
| Weekend push | Weekend production allowed | Aug 8 |
Both scenarios moved the date because both added capacity where the job actually queued. A scenario that boosted the saw, which was never the constraint, would have moved the date almost not at all. The disciplined sequence is always the same: confirm the constraint, apply the lever there, re-simulate. You can also route the bottleneck step to an alternative work center that has open time, which is a replace-style scenario that offloads the constraint entirely.
Two jobs, one bottleneck
The clearest case is two enquiries competing for the same constraint. Quote each as its own simulation against the current live load. The first quote you commit, by converting it to an order, becomes part of the schedule the constraint carries. The second quote, simulated afterward, sees that committed work and queues behind it, so its promised date lands later. This is the honest picture your customers need: your bottleneck can only do so much per day, and capacity-based quoting makes the second customer's later date visible before you promise it, rather than promising both the same date and missing one. Note that a simulation itself never reserves capacity; the constraint's time is committed only when a real order is scheduled, so run your simulations in the order you intend to commit.
The payoff
Quoting through a bottleneck is the situation that separates capacity-based promising from guesswork. The date is set by your real constraint load, the way to improve it is to add capacity where the job actually waits, and the scenario workbench lets you test that before you commit a word to the customer. See the full workflow in the EDGEBIC quoting guide, and explore EDGEBIC to quote a real job against your own constraint and see the honest date.
Because the simulation schedules the quoted job around everything already committed on that constraint machine. A bottleneck is the machine your work queues on longest, so a new job routed through it lines up behind the existing load and cannot start there until the queue clears. The far-out date is not a routing error; it is an honest reflection of how full your constraint actually is, which is exactly the number a lead-time rule of thumb hides.
Yes. The simulation runs the same finite capacity engine that plans real production, against your current committed schedule. It rebuilds the shift allocations from existing work, so the quoted job competes for the constraint's capacity exactly as it would in a real run. That is why a quote through a busy bottleneck queues, while a quote through a machine with slack starts sooner. The promise reflects the live load, not a clean calendar.
Attack the constraint, not the other machines. In a quote scenario, boost the bottleneck's capacity with a multiplier (1.5 for a second-shift equivalent), or replace its step with an alternative work center or outside vendor that has open time. Adding capacity anywhere else barely moves the date, because the job was never waiting on those machines. Confirm which machine is the constraint first, then apply the lever there and re-simulate.
Expert Q&A: Deep Dive
Q: Two customers want jobs that both route through my one heat-treat oven. How does quoting handle the contention?
A: Quote each job as its own simulation against the current live load. The first quote you commit becomes part of the schedule the oven carries; the second quote, simulated afterward, sees that committed work and queues behind it, so its promised date is later. This is the honest picture: your oven can only do so much per day, and quoting against real capacity makes the second customer's later date visible before you promise it, instead of promising both the same date and missing one.
Q: My bottleneck quote is late and the customer will not move. What do I try before saying no?
A: Build scenarios that target the constraint. On the documented 200-unit Widget-A quote, the mill was the bottleneck carrying 101 of 151 hours, and the base simulation ended August 14 against a needed August 8. A scenario boosting the mill to 150 percent capacity ended August 5, and a weekend-production scenario ended August 8 exactly. Both moved the date because both added capacity where the job was actually waiting. Boosting the saw, which was never the constraint, would have done almost nothing.
Frequently Asked Questions
Ready to Transform Your Production Scheduling?
User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team
Manufacturing Software Experts
User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.
Share this article
Related Articles
Deleting a Quote Scenario You No Longer Need in EDGEBIC
Deleting a scenario removes it and its overrides and nothing else. See what survives, why an applied scenario is safe to delete, and how to keep a quote's scenario list readable.
After Conversion, Edit the Order and Not the Quote in EDGEBIC
Once a quote converts, the manufacturing order is the live record. See why quote edits stop reaching production, and what the quote is still good for afterward.
Finding One Quote in a Long List in EDGEBIC
Three filters narrow the EDGEBIC quote grid: status, customer, and sales order. See how they combine, what each one answers, and why the filter also sets the blast radius.
