Skip to content

Budget snapshots

Versioned, immutable budgets you can compare to live spend — with inline drift on every forecast cell when one is selected.

A budget snapshot is a frozen copy of the cost forecast at a point in time. You take one when you sign off the annual plan, you take a new one whenever a budget request finalises, and you keep them all. Snapshots are immutable by design — that is what makes them auditable.

The list page

Lands at /plan/[planId]/cost-forecast/budgets. Two sections, top to bottom:

  1. Upcoming — active budget requests that have not yet finalised. Each row links into the request detail page.
  2. Snapshots — every snapshot grouped by fiscal year, with the active one pinned to the top of its group.

Snapshot row

ColumnSource
VersionMonotonically increasing per fiscal year. v1 is the initial sign-off; v2 supersedes after the first finalised request, and so on
StatusDRAFT, ACTIVE, SUPERSEDED. Only one ACTIVE snapshot per fiscal year
Total costTotal cost in the snapshot's reporting currency
Total FTETotal FTE captured at snapshot time
Drift chipOn ACTIVE snapshots only. +£42K and +1.2 FTE chips showing delta from snapshot to current forecast
Created atSnapshot timestamp

Superseded snapshots de-emphasise visually but stay in the list. They are your audit trail — never delete them.

Group subtitle

Each fiscal year group shows a subtitle with the active snapshot's total cost and FTE — quick read of "what is the budget for FY25 currently". Format: £12.3M · 87.5 FTE.

Drift summary

Drift is the headline. For every ACTIVE snapshot, the page fires forecastBudgetDriftSummary and displays the result inline. The summary returns costDelta, fteDelta, and totalChanges — a count of distinct entities that differ from the snapshot.

TIP

The drift query is intentionally narrow — limited to the first three active snapshots. Budgets are low volume in practice (one per fiscal year, sometimes two during a transition). If you need drift across more snapshots, query the API directly.

The detail page

Click into any snapshot to land at /plan/[planId]/cost-forecast/budgets/[snapshotId]. Three tabs, all driven by the same snapshot grid query:

TabWhat it shows
TeamsHierarchical team tree with totals at every level
ProjectsProject tree with cost and FTE per project
RolesFlat list grouped by job role, useful for headcount planning

Above the tabs: the cost-trend chart, the cost-by-team chart, and the cost-by-role chart, all rendered as a chart carousel.

The detail page is read-only. To change a budget, raise a request.

Creating a snapshot

From the budgets list, click Add > Take snapshot. The dialog asks:

  • Fiscal year — defaults to the current FY based on org config.
  • Reporting currency — defaults to the org's reporting currency.
  • Source — by default, the live cost forecast. Optionally, you can clone an existing snapshot (e.g. last year's plus 5%).

The snapshot captures the forecast as it is at that moment. Set status: ACTIVE to make it the comparison baseline.

Permissions

  • View: any user with FINANCIALS_VIEW_SUMMARY. Without it, the page renders zero values.
  • Create snapshots: SETTINGS_FINANCIAL_CONFIG_* or the org's configured budget approvers (see cost review workflow).

Flowstate Documentation