--- alias: modules-routing-and-dispatching-reasons-tutorial-off-flow-reason description: "Configure an Off-Flow reason and review the rework and temporary off-flow scenarios." --- # Off-Flow Reason An **Off-Flow Reason**, also called a **Rework Reason**, sends a **Material** to an alternative **Flow** path outside the standard production **Flow**. Use it for rework, repair, or special processing cases. **Off-Flow Reasons** let a **Material**: - Leave the main production **Flow** temporarily. - Follow an alternative processing path. - Return to the main **Flow** at a defined point. - Record why it deviated from the standard route. | Type | Description | Return Behavior | | --- | --- | --- | | Rework | The **Material** enters a rework **Flow** and then returns to the main **Flow**. | Returns to a specified **Step** | | Temporary Off-Flow | The **Material** leaves the **Flow** temporarily for special processing. | Returns to the departure point | ## Configure an Off-Flow Reason 1. Open the **Reason** module and create a new **Reason**. 1. Select the **Off Flow** type. 1. Optionally select a category from [[reasoncategory-lt]]. ![Off-flow reason configuration page](../images/reasons-tutorial-57.png) 1. Assign the **Off-Flow Reason** to the `Coating` **Step**. 1. Define whether the reason is valid for: - Rework only - Temporary Off-Flow only - Both ![Step configuration with the off-flow reason assigned](../images/reasons-tutorial-58.png) ## Scenario 1: Rework a Material For this scenario, use the rework **Flow** provided through the master data. For more information about the standard behavior, see [[user-guide-rework-material]]. 1. In the `Coating` **Step** view, select the `Engine Block H08-P9.002` **Material** and choose **Off-Flow** > **Rework**. ![Rework action from the step view](../images/reasons-tutorial-59.png) 1. Select the **Reason** that sends the **Material** to rework. ![Rework wizard with the selected reason](../images/reasons-tutorial-60.png) 1. Confirm that, while the **Material** is in rework: - An icon is shown in the **Step View**, **Resource View**, and **Material** details page. - The **In Off-Flow** property is set to `true`. ![Material marked as in rework](../images/reasons-tutorial-61.png) 1. Execute the rework **Flow** operations and confirm that the **Material** returns to defined **Flow** path. ![Material returning from the rework flow](../images/reasons-tutorial-62.png) 1. Review the rework information on the **Material** page under **Holds / Off-Flows / Reworks**. This information is visible while the **Material** is in the `InRework` process. ![Rework information on the material page](../images/reasons-tutorial-63.png) {% set video_id = '41086a688016c219b6b12a41eced0cf8' %} {% include-markdown 'includes/cloudflare_stream.md' %} ## Scenario 2: Use Temporary Off-Flow For this scenario, use the temporary **Off-Flow** setup provided through the master data. 1. In the `Coating` **Step** view, select the `Engine Block H08-P9.005` **Material** and perform **Track In** and **Track Out**. This step is optional, but it shows that the **Material** returns to the same state afterward. 1. When the **Material** is in the `Processed` state, select **Off-Flow** > **Temporary Off-Flow**. ![Temporary off-flow action from the processed state](../images/reasons-tutorial-64.png) 1. Select the **Reason**, the **Flow** path, and the **Step** to which the **Material** should be sent. ![Temporary off-flow wizard](../images/reasons-tutorial-65.png) 1. Confirm that the **Off-Flow** property is set to `true` while the **Material** is in the temporary off-flow process. ![Material marked as in temporary off-flow](../images/reasons-tutorial-66.png) 1. Execute the temporary off-flow operations and confirm that the **Material** returns to the departure point. 1. Review the temporary off-flow information on the **Material** page under **Holds / Off-Flows / Reworks**. This information is visible while the **Material** is in the temporary process. ![Temporary off-flow information on the material page](../images/reasons-tutorial-67.png) {% set video_id = 'acd2cd107ad16294ca9cab06819ece5b' %} {% include-markdown 'includes/cloudflare_stream.md' %} Next page: [Defect Reason](defects-reason.md).