Finite-capacity planning for make-to-order job shops

Answer Monday’s hot list by lunch, with dates you can defend.

Unbrick sits on top of your ERP, plans your shop forward with the hours your people actually work, and turns a customer’s priority list into an approved answer, with the evidence behind every date. It never writes back to your ERP.

The Unbrick overview: on-time order lines, past-due lines, stalled lots, the top constraint, and today’s brief with links to the lots behind each line
Demo Precision Works, a synthetic plant. No customer data.
From: your biggest customerHOT LIST: need these this month
POPartQtyNeed by
PO-4471MA-50234Oct 22
PO-4472MA-503130Oct 27
PO-4475MK-108461Oct 29
PO-4478MA-5013100Nov 6
PO-4480ma 50263Oct 23
PO-4481MA-5031TBDOct 24

…and 20 more lines

Monday, 7 a.m.

The hot list arrives. Now what?

A day of spreadsheets and phone calls

Your planner rebuilds the answer by hand, line by line, every week.

No line is clearly safe to promise

The answer can’t say what each date depends on: a component, a hold, a lot nobody released.

Someone else slips, and nobody sees it

Pulling one list in pushes other customers’ orders late, and that shows up weeks later.

A question worth asking: how long did your team take to answer the last list, and how sure were you of the answer?

Why the ERP’s dates don’t help

Due dates are not finish dates

Many ERP schedules run backward from the due date with unlimited capacity. In a week the shop is loaded past what it can do, those dates stop being a forecast.

Backward, unlimited capacity

How a typical ERP places the work

Week 1 holds twice the hours the shop has. Every date on it still reads as on time.

Forward, finite capacity

How Unbrick plans it, from today

Work is loaded up to the hours your people actually show. What doesn’t fit moves out, and you see which orders turn late.

past capacitymoved to when it can be donelate against the need date
The Customer Promise Review

From hot list to an approved answer

One guided flow, four steps, every decision recorded with a name and a time.

1Resolve rows

Every row the customer sent is kept

Each line is matched to a part, or set aside with a reason the customer will read. A part written with a space, a letter O for a zero, a quantity of “TBD”, a duplicate line: each is caught and decided by a person. Nothing dropped, nothing guessed.

Resolve rows: 26 rows received, 21 ready, 4 to resolve with suggested fixes, 1 not a request
Synthetic demo plant.
2Decide responses

Each answer shows what it rests on

For every request: the date the plan supports, the date 80% of simulated runs finish by, and the lots, holds and assumptions behind it.

Supported

The plan backs this date from today’s data.

Conditional

Rests on an assumption nobody has accepted yet. Not offered as a commitment.

Blocked

A hold, a stalled lot or missing supply, and what would unblock it.

Responses: each request with the plan date, evidence and response; the selected row shows a component lot on quality hold
Synthetic demo plant.
3Preview trade-offs

See who slips before you commit

Preview what pulling the list in gains, which lots finish later, and whose orders turn late, including other customers’. Nothing is saved until you decide, and urgency never overrides a quality hold.

Lots that move later, and order lines that turn late, including another customer’s order
Synthetic demo plant; customer names are invented.
4Approve and send

Approved by a person, reproducible later

  • Planners prepare; they can’t approve their own answer.
  • An approver signs off, with a one-line rationale.
  • The customer gets an Excel answer: their rows as received, your response, the plan behind it.
  • Download it again next month: the same file, byte for byte.
The approved review with the approver’s rationale and the export button
Synthetic demo plant.
The whole plant

Every screen answers one of four questions

What will we finish, and when?

A date from today’s capacity, and the date 80% of simulated runs finish by.

What will we deliver, and when?

Shipping is its own event, not the last operation.

Where are we constrained?

The departments that set the pace, in the hours your people actually show.

What should we do next?

Restart, release or pull in, with what each one costs.

AI that shows its work

The engines compute. The AI explains. People decide.

Answers cite their sources

Ask about a lot, a customer or a constraint. Every number links to the record behind it, or the answer says it doesn’t know.

Runs inside your deployment

Models run with your data, on ordinary CPUs. No third-party AI, speech or analytics service ever sees it.

A person confirms every commitment

No model output sets a date, a quantity or a priority on its own.

Ask the plant: a question about late orders, answered with links to the order lines behind it
Synthetic demo plant, answered by the built-in rules. A local model adds plain-language answers, with the same sources.

Bad data is refused

Every nightly load is checked. Stale, partial or re-exported data is refused; yesterday’s plan stays and every screen says so.

Assumptions are named

Where the ERP is silent, the plan says what it assumed, and a date resting on one stays conditional until a person accepts it.

Know-how kept at the machine

Optional station tablets: notes from the last person on a part, “I’m stuck” calls for help, reviewed by supervisors.

The 30-day pilot

Run one real hot list in Unbrick

Your planner, your data, your customer’s list. We measure it together from your own records, and you decide at day 30.

  1. A sample ERP exportAny CSV reports your ERP already produces.
  2. Your planner, for an hourTo map the export and walk the first list.
  3. Last month’s hot listSo we can compare our answer with what happened.