# Plan production (/docs/production/planning)

Planning decides which machine makes what, and when. The default role is Planner (Priya Menon). Open
**Production > Plan**. The screen is called **Production today**.

```mermaid
%% title: From a plan to the floor
flowchart LR
  A[New production plan] --> B[Check and suggest]
  B -->|Ready or At risk| C{Start now?}
  B -->|Blocked| X[Fix the blocker first]
  C -->|Schedule now| D[Manufacturing order Released]
  C -->|Schedule for later| E[Manufacturing order Scheduled]
```

## Plan production from a sales order [#plan-production-from-a-sales-order]

Lines of confirmed sales orders that have no manufacturing order yet appear under **Unplanned
demand**, for example "2 lines waiting for a manufacturing order", each with its due date.

<Steps>
<Step>

Choose **Plan production** on the line. To plan without a sales order, choose **New production
plan** at the top. If you cannot plan, the line shows **Waiting for Planning** instead of the button.

A line that cannot be planned yet lists each blocker on its own row, with the department that clears
it (**Owner: Maintenance**, **Engineering** or **Quality**) and a link to the record: the PM plan,
checklist or job order, the work instruction, the mould or the process validation.

</Step>
<Step>

The **New production plan** dialog opens. In **Product**, choose the product. Enter **Quantity
(pcs)** and **Delivery date**. Choose **Check & suggest**. The **Summary** on the right (at the bottom
on a phone) follows what you enter: product, quantity, delivery date and, once checked, the machine
option, machine, mould, parts per cycle, run time, estimated finish against the delivery date,
material that is short and any warnings.

</Step>
<Step>

Read the table of machine options. Each row shows **Method**, **Machine**, **Job start**, **Mould ·
cav.**, **WI**, **Run**, **Est. finish** and **Result**. The result is **Ready**, **At risk** or
**Blocked**. The best option is marked **Suggested**. Above the table, **Material for \{qty\} pcs**
lists each bill-of-materials line as "need \{qty\} · have \{qty\}" with **Available** or **Short**.

</Step>
<Step>

Choose an option with **Select \{id\}**. Choose **Schedule now**, or **Schedule for later** and set
**Start**.

</Step>
<Step>

Choose **Release now** (or **Schedule** for a later start). The system makes the manufacturing order
and tells the technician. The order is **Released**, or **Scheduled** for a later start.

</Step>
</Steps>

If you plan more than the sales order still needs, a box asks for **Reason for making more than the
order needs**. Write one, for example "scrap allowance for the mould trial".

<GuideStep
  title="Production today on the desktop"
  description="The board with unplanned demand, order progress and the machine load."
  src="/guide/planning/1.png"
  alt="Production today board on desktop with unplanned demand, order progress and machine load"
  width={1440}
  height={1000}
  callouts={[
    { x: 50, y: 14, caption: "New production plan." },
    { x: 30, y: 38, caption: "Unplanned demand. Plan production starts a plan from the line." },
    { x: 70, y: 62, caption: "Machines for the next 7 days. Red is over capacity." },
  ]}
/>

<GuideStep
  title="Production today on the phone"
  description="The same board on a 375 px screen."
  src="/guide/planning/2.png"
  alt="Production today board on mobile with the tiles and order progress"
  width={375}
  height={812}
  callouts={[
    { x: 50, y: 12, caption: "Tiles such as Waiting to start and Running." },
    { x: 50, y: 45, caption: "Order progress. The next step is on the right." },
    { x: 50, y: 82, caption: "Needs attention." },
  ]}
/>

## Read the board [#read-the-board]

The tiles count **Waiting to start**, **Running**, **Line clearance open**, **Labels to reconcile**,
**Device history to review**, **Material shortages** and **Overloaded machines**. **Order progress**
shows each order across **Issued**, **Line clearance**, **Running**, **Labels**, **Device history**
and **Released**. Orders that need action come first. The button on the right is the next step, for
example **Issue to machine**, **Raise line clearance**, **Verify line clearance**, **Start on tablet**
or **Reconcile labels**.

## Check material requirements [#check-material-requirements]

Open **Production > Material requirements**. The list is worked out from orders, stock and methods.
Each requirement shows what is short and which orders drive it.

<Steps>
<Step>

Find the item. Use **Search material requirements** to narrow the list.

</Step>
<Step>

Choose **Raise requisition**. The dialog is titled "Raise purchase requisition" with the net quantity.
Confirm it. A purchase requisition is made as **Submitted**, for the quantity rounded up (kilograms to
0.1), needed in 7 days, and linked to the sales order that drives it.

</Step>
<Step>

Purchasing approves it. See [Raise and approve a purchase requisition](/docs/purchasing/requisitions).

</Step>
</Steps>

<GuideStep
  title="Material requirements"
  description="Shortages per item with the orders that need them."
  src="/guide/planning/3.png"
  alt="Material requirements screen on desktop with a shortage row and the Raise requisition button"
  width={1440}
  height={1000}
  callouts={[
    { x: 30, y: 16, caption: "Search material requirements." },
    { x: 55, y: 40, caption: "Net shortage and the orders that drive it." },
    { x: 88, y: 40, caption: "Raise requisition." },
  ]}
/>

## Check capacity [#check-capacity]

Open **Production > Capacity**. Each machine shows its load against available hours (7 days), the
**Orders** on it and **Due-date risk**. A machine with no risk reads **No due-date risk**. An order with
no cycle time, or no production method, is not counted. The row says so.

## Schedule blocks, shifts and downtime [#schedule-blocks-shifts-and-downtime]

The schedule has three views: **Swimlane**, **Calendar** and **Data table**. Choose **Add block** to put
work such as a maintenance job order on a machine. A block is at most 336 hours, cannot start in the
past and cannot overlap another block on the same machine. Shifts come from **Organization settings >
Shifts & working hours**. Without an active production shift the schedule says "No active production
shifts. Add one under Organization settings › Shifts & working hours." Time outside a shift shows as
**Off-shift**.

The machine options come from the product's production method: one row per machine, mould and work
instruction. To add an option, ask Engineering to add it on the product's **Machine options** tab.

## If the system refuses [#if-the-system-refuses]

Messages shared by every flow are explained in
[Signatures and refusals](/docs/get-started/signatures-and-refusals). Planning messages are in
[Planning refusals](/docs/production/planning-refusals#plan-production). Examples:

- `Cannot release on {machine}. {reason}` when the option is **Blocked**.
- `{qty} pcs of {product} is {n} pcs more than {so} still needs ... Enter the reason for the over-build to go ahead.`
- `{item} has no net shortage to raise a requisition for.`

<NextSteps>

<NextStep href="/docs/production/manufacturing-orders" title="Release a manufacturing order" description="Issue the order to its machine." />

<NextStep href="/docs/production/line-clearance" title="Clear the line" description="Needed before setup." />

<NextStep href="/docs/production/planning-refusals" title="Planning refusals" description="Every message and what to do." />

</NextSteps>
