DESIGN REVIEW — seeded data · your changes save here and are wiped on the next reseed · switch persona

Ordering to release — runbook

CA
Back to order draft

Ordering to release — runbook

Read-only reference. Edit it in the repo at docs/runbooks/ordering-to-release.md.

# Ordering → receiving → shop release

The one path that turns an approved, paid job into released shop work. It is about
seven actions across two screens. Do them in order. Synthetic/role terms only — no
customer names here.

**The one rule that stops jobs (F1): order every material for every track each
product needs, before you approve.** A fixed-frame awning needs *both* a steel frame
and fabric; a metal patio cover needs steel only. If you leave out a track's material,
that track stalls at "Waiting for fabrication" and the product never reaches fitting.
The plan step now refuses this and tells you which product and track is missing — see
step 3.

---

## 1. Review the material draft
- **Screen:** Order draft (`/jobs/:id/order-draft`), reached from the job's "Material order list."
- **Do:** Check the generated list. Fill quantity, purchase unit and vendor on every
  line you are ordering. Exclude a line only with a reason. Make sure **every track
  every product needs has at least one material** (see the F1 rule above).
- **Press:** **Approve draft** (after ticking "I checked all products, materials…").
- **You should see:** the draft turn to **"Approved draft · not placed."**

## 2. Confirm when each material is needed
- **Screen:** Received materials (`/jobs/:id/received-materials`).
- **Do:** For each material, choose its work track (Fabrication = steel, Fabric,
  Fitting, etc.).
- **Press:** **Confirm material plan.**
- **You should see:** the coverage summary listing each material and its track.

## 3. If the plan is short (F1 guard)
- **What happens:** if a product needs a track with no material, confirmation is
  **refused** and names the gap ("*product* needs Fabrication").
- **Do one of:**
  - Go back to the Order draft, add the missing material, re-approve, and confirm; or
  - If it is genuinely ordered elsewhere, **Confirm plan as an exception** with a
    reason. The job then shows **"Approved with material gaps"** on the coordinator
    inbox until you close the gap.
- **To close a gap later — Add a missing material (append):** on Received materials,
  open **"Add a missing material (append to this plan)."** Choose the product, its
  track, and the material; give a reason; press **Append material.** Nothing already
  reserved or started is disturbed. Then receive it the normal way (steps 5–6) and the
  stalled track releases.

## 4. Record the purchase order
- **Screen:** Record purchase order (`/jobs/orders/new`, "Record a delivery against a
  purchase order" → New).
- **Do:** Enter vendor and ordered-by; add one line per material with destination
  **Job**. Optionally attach the vendor confirmation under **Order evidence**.
- **Press:** **Record purchase order.**
- **You should see:** the order with each line "Received: 0 · Remaining: full."
  (Once the vendor confirms, the board's **Ordered** reads "Confirmed by vendor.")

## 5. Record the delivery
- **Screen:** Record delivery (`/jobs/orders/:orderId/receipts`).
- **Do:** Pick the order line, enter the received quantity and the roll/lot numbers.
- **Press:** **Record delivery.**
- **You should see:** the line change to "Received: full · Remaining: 0," and the
  board's **Here** read "Confirmed by receipt."

## 6. Reserve the received material to the plan
- **Screen:** Received materials → the receipt's **Reserve received material** form.
- **Do:** Match the receipt to the material it covers; enter the quantity.
- **Press:** **Reserve received material.**
- **You should see:** the coverage row read "*n* of *n* received and reserved," and the
  coordinator inbox row for this job clear.

## 7. Release the first shop work
- **Screen:** Received materials → **Assign initial shop work.**
- **Do:** Choose the product, the track (Fabrication / Fabric / Fitting), and the worker.
- **Press:** **Assign shop work.**
- **You should see:** the stage appear in the shop for that worker to Start. Repeat for
  each product and track. Fitting releases on its own once a product's tracks are done.

---

*After this, the shop drives cut/weld/finish and pattern/sew, the two tracks join at
fitting, the kit is approved and staged, and the crew loads and installs. Those steps
live on the shop and installer screens, not here.*