Documentation
Planning Workflow
How plans move from a blank draft to an approved, locked baseline — and how to manage multiple versions over time.
Version lifecycle
Every plan version progresses through a linear state machine. Roles are enforced at each transition:
| Transition | Triggered by | Required role | Effect |
|---|---|---|---|
| DRAFT → SUBMITTED | Planner clicks Submit for approval | planner or higher | Version becomes read-only; approvers are notified |
| SUBMITTED → APPROVED | Admin/Owner clicks Approve | admin or owner | Version status set APPROVED; can be locked |
| SUBMITTED → REJECTED | Admin/Owner clicks Reject + adds comment | admin or owner | Version reverts to DRAFT; planner can revise |
| APPROVED → LOCKED | Owner clicks Lock version | owner only | Version permanently frozen; used as baseline |
Step-by-step: FY2026 Budget approval
Here is the full lifecycle for the example plan "FY2026 Annual Budget" with version v1:
-
1
Planner loads data
Imports
fy2026_budget.xlsx, runs Recalculate. Version status: DRAFT.Plan: FY2026 Annual Budget | Version: v1 | Status: DRAFT
EBITDA (FY): 1,880,000 | EBITDA margin: 36.9%
NET_INCOME (FY): 1,300,000 | NET margin: 25.5% -
2
Planner submits
Clicks Submit for approval in the Workbench. Version status changes to SUBMITTED. A comment is added: "Q1 COGS revised down from 42% to 40% margin assumption."
-
3
Admin rejects (first pass)
Admin reviews and rejects with comment: "RND budget needs CFO sign-off. Increase to 110,000 per quarter." Status reverts to REJECTED → planner can re-enter edit mode.
-
4
Planner revises & resubmits
RND updated to 110,000/quarter (+10,000). OPEX rises by 40,000 FY; EBITDA decreases to 1,840,000 (36.1% margin). Status: SUBMITTED.
-
5
Admin approves
Admin clicks Approve. Version status: APPROVED. The approved snapshot is used as the official budget baseline.
-
6
Owner locks
Owner clicks Lock version. Status: LOCKED. Any future variances are measured against this locked version.
Cloning and snapshots
After v1 is locked you will often want to model a reforecast or adjust assumptions without touching the baseline. Clone version creates a new editable copy of any existing version.
| Version | REVENUE FY | EBITDA FY | EBITDA % | Changed assumption |
|---|---|---|---|---|
| v1 (locked baseline) | 5,100,000 | 1,840,000 | 36.1% | — |
| v2 (March reforecast) | 5,350,000 | 1,960,000 | 36.6% | Q1 actuals loaded; Q2-Q4 uplifted +5% |
| v3 (downside stress) | 4,335,000 | 1,100,000 | 25.4% | REVENUE cut −15%; COGS fixed; OPEX flat |
Use Version Comparison to diff any two versions row by row.
Comments and audit trail
Every state transition and user comment is logged to the Audit Trail. Examples from the FY2026 workflow above:
| Timestamp | Actor | Event | Detail |
|---|---|---|---|
| 2026-01-10 09:14 | planner@acme.local | Import | Imported 64 rows → v1 |
| 2026-01-10 09:18 | planner@acme.local | Recalculate | v1 recalculated OK (13 formulas) |
| 2026-01-10 11:45 | planner@acme.local | Submit | "Q1 COGS assumption revised to 40%" |
| 2026-01-11 08:30 | admin@acme.local | Reject | "RND needs CFO sign-off" |
| 2026-01-12 14:10 | planner@acme.local | Submit | RND updated to 110,000/qtr |
| 2026-01-12 15:03 | admin@acme.local | Approve | — |
| 2026-01-13 09:00 | owner@acme.local | Lock | v1 locked as official FY2026 baseline |