Clone the live plan, try changes, compare results, publish only what works.
Your default dataset is called Live. It mirrors Odoo every sync. Live is read-only — you cannot run the scheduler against it or edit ops directly. Treat Live as the canonical reference state.
To plan, you create a scenario (an editable working copy of Live). All scheduling and edits happen inside scenarios.
A scenario is a named, editable copy of a dataset. Create one when you want to:
Scenarios are completely isolated. Editing a scenario does not touch Live or Odoo until you explicitly publish.
APS clones the currently-active dataset — usually Live — into a new scenario, copying every MO, WO, BOM line, locked state and priority. You're switched into the new scenario automatically.
Use the dataset switcher in the top bar to move between Live and your scenarios. Every page — Schedule, Orders, Materials — updates to show the active dataset's data.
Inside a scenario you can:
On the Datasets page, select 2–3 scenarios and click Compare Scenarios. APS shows a side-by-side card per scenario with:
When you're happy with a scenario, click Publish in the top bar. APS writes the scenario's schedule (start dates, resource assignments) onto the matching MOs in Odoo. Only fields APS owns are touched — quantities, customers, products, etc. remain untouched.
Update material reservations is on by default. After the dates are written, APS releases the reservations it is allowed to touch and hands the stock back out in the order the plan says — highest priority first, earlier deadline next. Work that has already started keeps its material.
Publishing moves the dates of sub-assembly orders too. That is Odoo's own behaviour: a component's need date follows the order that consumes it, the same way Odoo's own Plan button works. The delivery date of the finished order, which comes from the sales order, is not touched.
Old scenarios cost nothing but clutter the switcher. Delete from the Datasets page when no longer relevant. Live cannot be deleted.