# Planning refusals (/docs/production/planning-refusals)

When the system refuses a step, it shows the message and changes nothing. Find the message below.
Placeholders such as `{order}` stand for the real value.

Messages shared by every flow (signature authority, missing reason, access letters, the training gate,
signed-record locks, field ranges) are explained in
[Signatures and refusals](/docs/get-started/signatures-and-refusals).

## Plan production [#plan-production]

For [Plan production](/docs/production/planning).

### Form and access [#form-and-access]

| Message | When | What to do |
|---|---|---|
| `Enter the delivery date.` | **Delivery date** is empty. | Enter it. |
| `Choose when to start.` | **Schedule for later** has no **Start**. | Choose a start. |
| `Enter the quantity as whole pieces.` | **Quantity (pcs)** is not a whole number. | Type whole pieces. |
| `Quantity must be at least 1.` | The quantity is zero or less. | Enter 1 or more. |
| `Quantity is too large.` | The quantity is above the limit. | Split the plan. |
| `Keep the reason under 500 characters.` | The over-build reason is too long. | Shorten it. |
| `Your role has no access to Production.` | Your role is hidden from Production. | Ask an Org admin. |
| `Your role can view Production but not change it.` | Your role has view access only. | Ask a planner to release the plan. |

### Product, dates and machine option [#product-dates-and-machine-option]

| Message | When | What to do |
|---|---|---|
| `{product} is not in the product list.` | The product does not exist. | Choose a product from the list. |
| `{product} is obsolete. Choose a current product.` | The product is **Obsolete**. | Choose a current product. |
| `The due date {date} is in the past.` | **Delivery date** is before today. | Choose today or later. |
| `The start {date time} is in the past.` | **Start** is before now. | Choose a later start. |
| `The start {date time} is after the due date {date}.` | **Start** is after the delivery date. | Move the start earlier or the delivery later. |
| `{product} has no machine option on {machine}.` | The machine is not an option of the method. | Select one of the options listed. |
| `Cannot release on {machine}. {reason}` | The option is **Blocked**. The reason is one of the blockers below. | Fix the blocker, or select another option. |

### Why an option is Blocked or At risk [#why-an-option-is-blocked-or-at-risk]

| Reason shown | Meaning | What to do |
|---|---|---|
| `Machine {status}` or `Machine missing` | The machine is not **Active**. | Pick another machine, or ask Maintenance. |
| `Mould {status}` | The mould is in maintenance, repair, blocked or retired. | Wait for Maintenance, or pick another option. |
| `Mould missing` | The mould is not in the register. | Ask Engineering. |
| `Mould life: {n} shots left` | The mould has fewer shots left than the order needs. | Replace or refurbish the mould. |
| `Mould {mould} {status} · process not validated` | The mould has no validated process. The planning check always refuses it, a validation run included. | Ask Engineering to validate it. |
| `Mould {mould} is a prototype mould · not approved for production` | A trial mould is on a production method. | Use the production mould. |
| `Mould {mould} revalidation overdue since {date} ({validation})` | The revalidation date passed. | Approve the revalidation first. |
| `No mould for {machine}` | Other options have a mould and this one has none. | Add the mould to the option. |
| `WI {work instruction} not released` | The work instruction the machine option runs with is not released. An option with no work instruction of its own runs with the one on its method operation. | Ask Engineering to release it, or to set a work instruction on the operation. |
| `Production method {method} is {status} · not released` | The method is **Draft** or otherwise not released. | Release the method. |
| `No released production method` | The product has no usable method. | Ask Engineering. |
| `{n} material short · raise a requisition before start` | At risk: material is short. | Raise a requisition, see below. |
| `Finishes after the delivery date` | At risk: the estimated finish is late. | Choose another machine, an earlier start or a later delivery. |

### Sales order held to the plan [#sales-order-held-to-the-plan]

| Message | When | What to do |
|---|---|---|
| `{so} is cancelled. Plan production for an order that is still open.` | The sales order is **Cancelled**. | Plan for an open order. |
| `{so} is {status}. Plan production for an order that is confirmed, in production or partially shipped.` | The sales order is **Draft**, shipped or otherwise not open. | Confirm the order first. |
| `{so} was amended (rev {n}). Sign its contract re-review before planning production for it.` | An amendment awaits re-review. | Sales signs the contract re-review. |
| `{product} is not on {so}.` | The product is not a line of that order. | Choose the right order or product. |
| `{qty} pcs of {product} is {n} pcs more than {so} still needs (ordered {a}, already planned {b}, open {c}). Enter the reason for the over-build to go ahead.` | The plan makes more than the open quantity. | Plan the open quantity, or write the over-build reason. |

### Material requirements [#material-requirements]

| Message | When | What to do |
|---|---|---|
| `{item} has no net shortage to raise a requisition for.` | Stock now covers the need. | Nothing to raise. |
| `{item} is supplied by the customer. Ask the customer to send it; no requisition is raised.` | The item is customer consignment. | Ask the customer. |

### Schedule blocks [#schedule-blocks]

| Message | When | What to do |
|---|---|---|
| `Duration must be greater than zero.` | **Hours** is zero or less. | Enter a duration. |
| `A schedule block is at most 336 hours (two weeks). Split a longer job into blocks.` | The block is too long. | Split it. |
| `The start of a schedule block is within a year of its day.` | The start is out of range. | Choose a start within a year. |
| `That schedule block is already over. Choose a start from now on.` | A new block ends in the past. | Choose a later start. |
| `{machine} already has {block} in that time. Choose another time or machine.` | Two blocks overlap on one machine. | Choose another time or machine. |

## Release a manufacturing order [#release-a-manufacturing-order]

For [Release a manufacturing order](/docs/production/manufacturing-orders).

### Create and issue [#create-and-issue]

| Message | When | What to do |
|---|---|---|
| `{product} is a development item ({stage}) and is not qualified for production.` | The product is still in development. | Wait for Engineering to qualify it. |
| `{product} is in development ({item}, {stage}) and cannot be ordered for production until it is qualified.` | Raising or issuing an order for a product that a development item names and has not qualified. Not for a validation run (an order with a **Process validation**). | Wait for the QA manager to qualify the item, or make it a validation run. |
| `{product} is {status}. Only released products can be ordered for production.` | The product is **Draft** or **Obsolete**. | Release the product. |
| `{product} master data is incomplete: {gaps}. Complete it in Engineering before issuing {order}.` | **Issue to machine** with gaps in the device master file. | Ask Engineering to fill the gaps. |
| `The quantity must be a whole number of pieces greater than zero.` | **Qty** is not a whole number above zero. | Fix **Qty**. |
| `{so} is {status}. A manufacturing order cannot be raised against it.` | The sales order is finished. | Choose an open order. |
| `{wi} is obsolete and cannot be used on an order. Pick its replacement.` | The work instruction is **Obsolete**. | Pick the replacement. |
| `Process validation {pv} does not exist.` | **Process validation** names a validation that is not there. | Pick a validation from the list. |
| `Process validation {pv} is {status}. Only a validation that is executing can have a validation run.` | **Process validation** names a validation that is not **Executing**. | Start the execution of the validation, or clear the field. |
| `Order does not match process validation {pv}: it is for {product, mould or machine of the validation} (order has {value}).` | The order's product, mould or machine differs from the validation's, or the order has no mould. | Set the order's product, machine and mould to the validation's. |
| `A validation run has no sales order: its lots are made to validate {pv}, not for a customer.` | **Sales order** is set on a validation run. | Clear **Sales order**. |
| `The process validation {pv} cannot be changed or cleared once setup has started.` | **Process validation** changed after setup started. | Leave it. Cancel the order if it was wrong. |
| `{ecn} makes the new revision effective immediately. Release {items} first.` or `... from {date}. Release {items} first, or plan the order to start before {date}.` | An approved change is in force and a revision is not released. | Release the revision, or start earlier. |

### Change after issue [#change-after-issue]

| Message | When | What to do |
|---|---|---|
| `This order is {status}. Changing {fields} needs a reason; a new machine or mould also needs line clearance and first-article inspection again.` | **Machine**, **Mould**, **Method**, **Work instruction** or **Qty** changed without **Reason for change after issue**. | Write the reason. |
| `This order is {status}. Changing the quantity needs a new reason in "Reason for change after issue": material may already be issued against the old figure.` | **Qty** changed with an old reason. | Write a new reason. |
| `{machine} is running {order}; complete or pause it first.` | The new machine holds another live order. | Choose a free machine. |
| `No line clearance for {order}. Clear the line and have QC verify it before {order} starts.` | The new machine has no verified clearance. | Raise and verify a clearance. See [Clear the line](/docs/production/line-clearance). |

### Cancel [#cancel]

| Message | When | What to do |
|---|---|---|
| `{order} is {status}. Only an order that has not reached QA can be cancelled.` | The order is past **Setup**. | Finish it through QC. |
| `{order} still has material issued to it ({lots}). Return it to stock before cancelling the order.` | Issued material is not returned. | Return it on **Material issue**. |
| `{order} has already produced a lot. It cannot be cancelled; finish it through QC and release instead.` | A lot exists. | Finish the order. |
| `{order} has a patrol check on record. It cannot be cancelled.` | A patrol check exists. | Finish the order. |
| `{order} has material issued to it or a lot made from it; cancel it instead.` | You tried to delete such an order. | Choose **Cancel**. |
| `{order} is already {status} on the floor; cancel it instead.` | You tried to delete a live order. | Choose **Cancel**. |

## Issue material to an order [#issue-material-to-an-order]

For [Issue material to an order](/docs/production/issue-material).

| Message | When | What to do |
|---|---|---|
| `Manufacturing order not found` | The order number is wrong. | Check it. |
| `{order} has no product. Set the product before picking material.` | The order has no product. | Ask the planner. |
| `{order} is cancelled. Material cannot be picked or issued for it.` | The order is **Cancelled**. | Nothing to issue. |
| `This pick was already acknowledged.` | You chose **Acknowledge** twice. | Continue with **Start pull**. |
| `Acknowledge the task first.` | **Start pull** or **Scan lot** before **Acknowledge**. | Choose **Acknowledge**. |
| `The pull has already started.` | **Start pull** twice. | Continue scanning. |
| `Start the pull before scanning lots.` | **Scan lot** before **Start pull**. | Choose **Start pull**. |
| `{lot} is not on the pick list for {item}.` | The scanned lot is not suggested. | Scan a suggested lot, or **Skip** the suggestion with a reason. |
| `Enter the reason for skipping the lot.` | **Skip lot** without a reason. | Write the reason. |
| `{item} has no shortfall on {order}.` | **Raise requisition** with no shortage. | Nothing to raise. |
| `{pr} was already raised for {item}.` | A requisition exists. | Use that one. |
| `{order} is already issued. Nothing is left to issue.` | **Issue to \{machine\}** twice. | Nothing to do. |
| `Start the pull and scan every lot before issuing.` | **Issue** before **Start pull**. | Start the pull. |
| `{n} of {total} lots scanned. Scan every lot before issuing.` | A lot is not scanned. | Scan the rest. |
| `Lot {lot} not found` | The lot is no longer in stock. | Reload and scan again. |
| `{lot} now holds {qty}. Reload the pick list and scan again.` | Another user took stock meanwhile. | Reload the list. |
| `That issue was not found on this order.` | **Return** on an issue that is not this order's. | Choose a line of this order. |
| `Enter 0 to {max}` | **Return** is zero, negative or more than issued. | Enter a quantity up to the shown maximum. |

<NextSteps>

<NextStep href="/docs/production/planning" title="Plan production" description="The task these messages belong to." />

<NextStep href="/docs/production/floor-refusals" title="Machine floor refusals" description="Setup, run and phone messages." />

<NextStep href="/docs/get-started/signatures-and-refusals" title="Signatures and refusals" description="Messages every flow shares." />

</NextSteps>
