Understanding Production Planning

This document explains how the planning and scheduling system manages your manufacturing jobs, routes tasks, calculates dates and helps you keep the factory floor running efficiently.

1. How the System Thinks: The Three Planning Models

The scheduling engine is designed to handle different types of manufacturing environments. Depending on your system configuration, jobs will behave according to one of three models:

1. Grouped Tasks

  • How it works: The system ignores individual small tasks and focuses on overarching Groups (e.g. Preparation > Assembly > Finishing). Progression is strictly linear.
  • Scheduling Level: You can actively plan and schedule on the Group level. A group of work must be completed before the next group is unlocked and marked as ready.

2. Flat BOM

  • How it works: This option is for single-level service routing. Work flows linearly through the predefined stages of production.
  • Scheduling Level: You can actively plan and schedule on the Task level. Because the process is linear, tasks must strictly follow the sequential setup of the defined manufacturing stages. The system validates the sequences to ensure they remain intact.

3. Complex BOM

  • How it works: This option handles deep, nested sub-assemblies (e.g. building Part A and Part B at the same time, then combining them into Part C). It traverses the exact parent-child hierarchy of your estimate and allows parallel branches of work to happen simultaneously.
  • Scheduling Level: No manual group-level or task-level planning is permitted on the board. The engine strictly drives this model from the Header Date Level (that is, Job Due Date, Required Date, Date Start). You manage the overarching job timeline, and the engine automatically orchestrates the individual tasks below it to ensure parent assemblies only unlock when all child components are finished.

To get the most out of the engine, it is highly recommended to adopt a structured, proactive planning cycle. Rather than micro-managing every single task as it arrives, establish baseline periods and manage by exception.

Step 1: Establish Defined Job Periods

Info

When a job is quoted and accepted, baseline dates should be automatically targeted based on known factory lead times. For example:

Field Description
Sales Goal (Required Date)Set to 28 days from order creation.
Production Goal (Due Date)Set to three days before the Sales Goal, giving you a buffer for delivery or quality checks.
Job Start DateIf you know a standard job spends 14 days in the factory, the engine automatically sets the Start Date to 14 days before the Production Goal.
Procurement DateCalculated backwards from the Job Start Date based on supplier lead times, ensuring materials arrive right when the job needs to begin.

Step 2: The Production Manager's Workflow

Info

With your baseline periods set, the Production Manager can efficiently run the board using this recurring workflow:

  1. Select Jobs: Look ahead at the production pipeline. Filter the system to show jobs due to start within a specific horizon—for example, the next 14 days.
  2. Release to Production: Select these imminent jobs and release them. This action "Initiates Routing"—it generates the necessary physical tasks, sets their statuses to Planned and Ready, and slots them safely at the bottom of the active planning board queue.
  3. Schedule on the Board: Navigate to the planning board view and run the scheduling routine. This routine locks in the stage dependencies, calculates exact forward dates and reserves machine capacity.
  4. Look Further Ahead: If the dashboard indicates your factory still has capacity after scheduling the next 14 days, expand your horizon to 30 days and repeat the process to pull more work forward.

3. Understanding Task Statuses

As tasks move through the engine, they are assigned different statuses:

  • 1 – Pending: The task is created but is not yet in the active queue.
  • 2 – Planned: The task is in the queue but it is currently blocked because previous steps are not yet finished.
  • 3 – Ready: The task is completely unblocked. All previous dependencies (or sub-assemblies) are done, and the shop floor can begin working on it immediately.
  • 4 – Busy: Work has started on this task.
  • 5 – Part-Complete: The task is partially done. Depending on your specific stage rules, this might allow the next task in the chain to begin.
  • 6 – Complete: The task is 100% finished.

4. The Lifecycle of a Job (Behind the Scenes)

The engine does the following when you interact with jobs:

Phase A: Entering the Board (Initiation)

When you perform the "Release to Production" step, the engine gathers all new Pending tasks and moves them to Planned. It appends them to the queue and automatically upgrades the very first unblocked step(s) to Ready.

Phase B: Moving Forward (Progression)

Info

When a worker logs time and marks a task as Complete (or Part-Complete), the Progression Engine instantly wakes up:

  1. It checks if the completed task met the rules to allow the job to move forward.
  2. If it is a linear job (Grouped or Flat BOM), it unlocks the next stage.
  3. If it is a complex BOM, it checks if there are any other parallel tasks blocking the way before unlocking the next parent assembly.

Phase C: Date Calculations (Scheduling & Rippling)

Info

When you run the schedule on the board:

Field Description
Forward SchedulingIt finds when a workstation is available, applies the estimated hours for the task and calculates the exact End Date.
Task RipplingIf a task takes longer than expected and finishes late, the engine "ripples" the delay forward, adjusting the start dates of all subsequent tasks so your schedule remains realistic.
Locked TasksIf you manually lock a task to a specific date (e.g. a customer requires a specific delivery window), the engine respects that lock and schedules everything else around it.

5. Scheduling Rules

Info
  • Scheduling gives dates to the tasks that are Planned, Ready, Busy or Part-Complete. Pending and Complete tasks are not dated.
  • With the setting Enable Groups and Tasks, the groups are scheduled instead of the tasks.
  • With the setting Disable Task Scheduling, the scheduling actions are hidden (see Settings).

Ways to Schedule

Action What it schedules
Board View > Actions > Reschedule Production (see Board)All the stages, forward from now, with each stage's capacity.
Board View > right-click a stage > Reschedule From Selected StageThat stage and all the stages after it.
Job View > Schedule from Start Date (see Jobs)The selected jobs, forward from their Start Date (or now, if blank), stage after stage.
Job View > Schedule from Due DateThe selected jobs, backwards from their Due Date.
Note
  • Scheduling from the Job View does not check what else is booked in each stage. Use Reschedule Production on the Board to remove clashes between jobs.
  • A Board reschedule needs every active task to have dates already: otherwise the message asks you to schedule the jobs from the Job View first.

How Long a Task Takes

  • A task's hours are the estimated hours of its service line (a group's hours are the sum of its tasks).
  • In a Production stage, the hours are divided by the stage's Resources, and the stage's Buffer Hrs are added (see Planning Stages).
  • The time is counted only within the stage's Shifts, and the clock skips to the next shift when one ends. Weekends and other days off follow from the shifts; public holidays are not taken into account.
  • An Outwork stage lasts its Buffer Hrs on a continuous clock, whatever the task's hours, and its tasks can run at the same time.
  • The shift calendar is built from the work shifts when you click Rebuild in the Work Shift editor (see Work Shifts).

Queues and Dependencies

  • Each Production stage works through its tasks one at a time, in their order on the board, starting no earlier than now.
  • When the whole board is rescheduled, each stage's queue is first sorted by the tasks' current start dates. With Reschedule From Selected Stage, the selected stage keeps your drag-and-drop order.
  • A task starts after the job item's tasks in the earlier stages have finished (finish-to-start). Completed tasks do not hold it back.
  • Priority and due dates do not change the queue order.
  • A locked task keeps its dates; other tasks in the stage are fitted around it.

Rippling and Job Dates

  • When a task gets new dates, the job item's tasks in the later stages are moved after it (rippling). Locked tasks stay put and the chain continues after them.
  • After a Board reschedule, each job's Start Date becomes its earliest task start and its Due Date its latest task end.
  • Schedule from Start Date sets the Due Date to the last task's end; Schedule from Due Date sets the Start Date to the first task's start.
  • The Required Date is never changed. No warning appears when the schedule ends after it: use the Job View's Past Due filter to find these jobs.

Scheduling Messages

Message What to do
"Some tasks, e.g. in <stage> (ID: <n>), have not been scheduled. …"Schedule those jobs from the Job View first.
"Active tasks found in <stage> (ID: <n>), but the stage is unconfigured. …"Set the stage's Type to Production, Queue or Outwork.
"Active tasks found in <stage> (ID: <n>), which is a Queue stage and cannot be auto-scheduled. …"Move the tasks from the queue to the workstations.
"Active tasks found in Production <stage> (ID: <n>), but it has no Workshifts linked to it. …"Link at least one shift to the stage.
"Job <n> has routing that goes backwards against the factory stage order. …"Correct the job's routing so that it follows the stage order.
"At least one Job, e.g. Job <n>, has no Due Date. …" / "… has no Start Date. Defaulting to Current Day and Time. Proceed?"Enter the job's dates, or let the Start Date default to now.
"Ran out of scheduled shifts in calendar before completing hours for Stage <n>."Rebuild the work shifts so that the calendar covers the dates.

6. Common Troubleshooting & FAQs

❓ "Why is a task stuck in 'Planned' and does not become 'Ready'?"

  • Grouped / Flat BOM: The previous stage is not yet fully complete. Check the stage immediately before it.
  • Complex BOM: There is likely a dependent sub-assembly or a prior chronological task that is still incomplete. The engine acts as a strict traffic cop—it does not unlock a parent assembly until every single child component underneath it is 100% finished.

❓ "Why did the expected Start Date get pushed out so far?"

Field Description
Machine AvailabilityThe workstation assigned to that stage might be fully booked with other jobs. The engine does not double-book; it waits for the machine to free up.
Locked TasksThere may be a manually "Locked" task on the board taking up that time slot.
Upstream DelaysA task earlier in the job's routing may have had its dates pushed out, causing a "ripple" effect that delayed this task.

❓ "What happens if I accidentally complete a task too early?"

If you manually change a task back from Complete to Planned or Busy, the automated progression engine does not automatically reverse the downstream tasks. You may need to manually adjust the statuses of the tasks that were incorrectly unlocked to keep the board accurate.

❓ "Why did the system skip an assembly step?"

In the Complex BOM model, the engine has a smart "Ghost Assembly Protection" feature. If an assembly item only contains raw materials and has no actual labour/service tasks underneath it, the engine considers it a "ghost" and safely bypasses it to keep your schedule uncluttered.

Report an issue with this page

For more useful feedback, select the text on the page you're reporting about, then click Feedback again — or continue without selecting anything.