# Complete the run and create lots (/docs/production/complete-and-lots)

When the planned quantity is made, the technician completes the run. The finished lot then waits for
outgoing QC. The default roles are Technician (Ahmad Faizal), QC inspector (Siti Rahmah) and Store (Farah
Hanim).

```mermaid
%% title: From the last part to the lot
flowchart LR
  A[In Production] -->|Complete run| B[QA Final, lot in Quarantine Q-FG-01]
  B -->|OQC pass| C[Completed, lot awaits lot release]
  B -->|OQC fail| D[Lot on hold, NCR raised]
  D -->|NCR closed, hold cleared| B
```

## Complete the run [#complete-the-run]

<Steps>
<Step>

Check the **Good** and **Scrap** counters on the machine tablet. The record dialog **Complete run** shows
**Good quantity** and **Scrap quantity**, prefilled from the tablet counters.

</Step>
<Step>

If QA still has to decide on held work in progress or a suspect range, do that first. See
[Record in-process checks](/docs/production/in-process-checks#handle-a-failed-check).

</Step>
<Step>

Choose **Complete run** and sign. The order becomes **QA Final**.

</Step>
</Steps>

The system creates the finished lot. The lot number is the organization's lot prefix, or the year and
month, followed by the digits of the order number, for example `2609-1127` for `MO-2026-1127`. The lot
goes to **Quarantine** in the finished goods bin **Q-FG-01**, awaiting outgoing QC. If the product has
a **Shelf life (days)**, the lot's **Expiry** is today plus that many days; a product with none gives a
lot with no expiry. Three stock
movements are posted: Produce for the good parts, Scrap for the rejects, and Consume for the material
issued to the order. A run counted on the tablet cannot have its counts changed on another screen. A
count typed on the phone is held to 110% of the order quantity.

<GuideStep
  title="A completed manufacturing order"
  description="MO-2026-1124 with its finished lot and events."
  src="/guide/complete-and-lots/1.png"
  alt="Manufacturing order MO-2026-1124 record page with status Completed and its finished lot"
  width={1440}
  height={1000}
  callouts={[
    { x: 30, y: 14, caption: "Status chevrons up to Completed." },
    { x: 55, y: 45, caption: "Good and scrap counts and the lot." },
    { x: 55, y: 80, caption: "Events: Run completed, OQC passed." },
  ]}
/>

## Pass or hold the lot at outgoing QC [#pass-or-hold-the-lot-at-outgoing-qc]

<Steps>
<Step>

On the tablet the order shows "Run complete · awaiting outgoing QC". QC chooses **QC · pass, then lot
release**. On the record the button is **OQC pass · move to FG**.

</Step>
<Step>

QC counts the sample against the sampling plan, ticks that the UDI labels, lot number and pouch count
were verified on the sampled cartons, and signs. The order becomes **Completed**.

</Step>
<Step>

The lot stays in **Q-FG-01** until QA signs the lot release. Only then does it become shippable, and
the store keeper then posts its put-away into a finished goods bin. See
[Inspect outgoing lots and release them](/docs/quality-release/outgoing-inspection-and-lot-release).

</Step>
</Steps>

If the sample is above an accept number, choose **QC fail · hold lot** (**OQC fail · hold lot** on the
record). Write the reason the lot fails. The lot goes on hold, an NCR is raised for a 100% sort, and the
order stays in **QA Final**. Close the NCR with its disposition, then clear the hold to inspect again.

## Find the lot in stock [#find-the-lot-in-stock]

Open **Inventory > Stock lots** (`/inventory/stockLots`). Every lot shows its location, status and owner.
A finished lot is created when the run is completed and keeps its link back to the order and, through the
issued material, to the supplier lot.

<GuideStep
  title="Stock lots"
  description="Every lot in stock with its bin and status."
  src="/guide/complete-and-lots/2.png"
  alt="Stock lots list on desktop with lot, item, quantity, bin and status columns"
  width={1440}
  height={1000}
  callouts={[
    { x: 25, y: 16, caption: "Search." },
    { x: 55, y: 40, caption: "Lot, item and quantity." },
    { x: 85, y: 40, caption: "Bin and status." },
  ]}
/>

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

Messages shared by every flow are in
[Signatures and refusals](/docs/get-started/signatures-and-refusals). Messages for this page are in
[Checks and completion refusals](/docs/production/checks-and-completion-refusals#complete-the-run-and-create-lots).
Examples:

- `Count the good parts before completing the run`
- `Call the QA manager to release or disposition the held WIP first`
- `The sample is above an accept number. Hold the lot and raise an NCR instead.`

<NextSteps>

<NextStep href="/docs/quality-release/outgoing-inspection-and-lot-release" title="Inspect outgoing lots and release them" description="Release the lot for shipment." />

<NextStep href="/docs/production/scrap-and-rejects" title="Record scrap and rejects" description="Label reconciliation after the run." />

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

</NextSteps>
