How the scheduler chooses placements, and every option that controls it.
Click Schedule in the top bar to open the Run Scheduler modal. Pick a direction, sort order and constraints, then Preview → Apply. APS runs the engine client-side — nothing is committed to Odoo until you publish.
Every operation starts as early as possible, respecting dependencies and resource capacity. Use when you want to know the earliest you could complete each order. Material availability (if enabled) is only enforced in this mode.
Every operation ends as late as possible before its due date. Good for minimising work-in-progress and storage. Late orders surface immediately.
Schedules around locked & anchor operations. Predecessors push backward from each anchor, successors push forward. Use after locking key milestones.
When two operations compete for the same time slot, the sort order decides who wins.
The freeze horizon protects the imminent future from being rescheduled. Any work order whose current operation_start falls inside the freeze window is locked in place during this run.
0 — freeze only operations already in the past.1 — freeze the past plus the next 24 hours.7 — freeze the past plus the next 7 days.Use higher values to keep the shop floor stable: workers don't want a new plan dropped on them mid-shift. Use No freeze window when rebaselining everything (e.g. after a major disruption).
Even with no freeze, an op whose start is in the past is left where it is by default. Switch this on to pull all past-scheduled ops forward into the future and reschedule them as if unscheduled. Useful when old data has accumulated.
When the assigned work center is congested, APS can move an operation to an equivalent one configured in Odoo. The first alternative with a free slot is chosen. Disable if you want strict per-resource assignment.
Switch on Respect material availability to delay an MO until all its BOM components are in stock or arriving on a confirmed PO. APS uses FIFO supply allocation: higher-priority orders claim supply first.
Per direction:
MATERIAL_LATE / MATERIAL_SHORTAGE conflicts on infeasible ops, so you can spot what won't finish on time without expediting.See Materials for details.
Nothing is committed to Odoo. The plan lives in the active dataset until you Publish to Odoo.