Production Dashboard
Production Dashboard
One project in depth or all of them at once: KPIs, status pipeline, budget vs. real actual spend, and analytics
Overview
The Production Dashboard reports on your productions two ways: Single Project for one production in depth, or All Projects for everything at once. It opens on Single Project. Either way you get headline KPIs, where each project sits in the pipeline, planned budget against real actual spend, and the analytics panels — and you choose which widgets appear.
Accessing the Dashboard
Open Production Dashboard in the sidebar, under Rental Management. Its address is /production-dashboard, and /analytics redirects to it.
⚠️ It is not the page you land on after login. That page is
/, listed in the sidebar as All Projects — a different surface showing project cards, folders, backups and pending invites. This guide used to call the Production Dashboard "the default landing page after login" and told you to click "Dashboard" in the sidebar; until v0.773.21 both sidebar entries were labelled "All Projects", because the production-dashboard entry reused the other one's translation key. The entry now carries its own name.
How the dashboard is laid out
The dashboard has two scopes, switched at the top:
| Scope | Shows |
|---|---|
| Single Project | one project in depth, across seven tabs |
| All Projects | everything at once, across four tabs |
Single Project
| Tab | What is on it |
|---|---|
| Overview | KPI cards, status pipeline, production stats, budget timeline, rental workflow, milestone tracker |
| Budget | budget timeline plus the budget-vs-actual trend |
| Timeline | shoot dates, with the weather forecast attached to each dated entry |
| Compare | two to three projects side by side |
| Rental Analytics · Project Analytics · Gear ROI | the analytics panels |
All Projects
| Tab | What is on it |
|---|---|
| Overview | fleet-wide aggregate totals and the missing-items widget |
| Rental Analytics · Project Analytics · Gear ROI | the same analytics panels, across every project |
The widgets
KPI Cards — Single Project → Overview
| Card | What it counts |
|---|---|
| Active Projects | number of projects currently active |
| Total Budget | summed project budgets, formatted as currency |
| Avg Items / Project | mean gear-item count per project |
| Total Labor Cost | approved-timesheet labor, with total hours underneath |
There is no "Total Projects" card and no "Upcoming Shoots" card — this guide listed both until v0.773.21, and omitted the two that do exist.
Budget vs. Actual
The Budget Timeline and Budget Trend panels compare your planned budget against real actual spend for the selected project. Budget is derived from the project's budget fields; actual spend is the accounting-canonical figure — posted expenses (net of reclaimable VAT) plus approved-timesheet labor, per project — the same number shown on Accounting → Profitability. Over-budget and approaching-limit alerts fire from these real values, and the monthly trend shows dated Costs (expenses) and Labor bars. Actual spend counts only the active company's ledger. Projects with no expenses/labor yet show €0 actual against the budget.
Note: this dashboard actual is derived from the accounting ledger; the in-project Budget vs. Actuals (Billing tab) is a separate, manually-maintained client-billing reconciliation, so the two figures can legitimately differ.
The others
- Status Pipeline — projects grouped into Prep · Active · Wrap · Archived · Other
- Milestone Tracker — a timeline marking Pre-Production · First Shoot Day · Wrap · Delivery
- Project Comparison — two to three projects side by side
- Missing Items — every overdue missing row across all projects, grouped by project and sorted by how long it has been outstanding. It collapses entirely when nothing is overdue, so an absent widget means a clean sheet, not a broken one
- Aggregate Overview — fleet-wide totals and an aggregate project timeline
- Timeline — shoot dates carrying the weather forecast per dated entry; there is no separate weather card
- Rental Workflow, Rental Analytics, Project Analytics, Own-Gear ROI — the rental pipeline and the three analytics panels
Choosing your widgets
Five widgets can each be switched off: KPI Cards, Status Pipeline, Budget Trend, Aggregate Overview and Missing Items. All five are on by default.
Your choice is stored in that browser only (under dashboard_widget_prefs in local storage) — it does not sync to your other devices, and clearing site data resets it.
Tips
- Check daily: Use the dashboard as your morning briefing before shoot days
- Keep budgets updated: Accurate budgets make the trend panel actionable
- Post expenses and approve timesheets: actual spend is read from the accounting ledger, so unposted costs show as €0
- Mind the company scope: actual spend counts only the active company's ledger
- Archive completed projects: Keeps the active list focused
Requirements
Functional Requirements
| ID | Requirement | Acceptance Criteria | Priority | Source |
|---|---|---|---|---|
| REQ-PDB-001 | The system shall display four KPI cards: Active Projects, Total Budget, Avg Items / Project, and Total Labor Cost | Dashboard loads → 4 cards shown; labor card shows total hours as a subtitle; 0 projects → empty state instead of the grid | Must | KpiCards |
| REQ-PDB-002 | The system shall compare planned budget against real actual spend, sourced from the accounting ledger for the active company | Trend panel shows dated Costs and Labor bars; over-budget and approaching-limit alerts fire from actual values; no ledger → €0 | Must | useProjectActualSpend |
| REQ-PDB-003 | The system shall group projects by production status in a pipeline widget | Dashboard loads → projects appear under their status; status change → project moves | Must | StatusPipeline |
| REQ-PDB-004 | The system shall show a shoot timeline with the weather forecast attached to each dated entry | Project with schedule + location → dated entries carry a forecast; no location → entry shown without one | Should | useProjectWeather |
| REQ-PDB-005 | The system shall let each user switch individual widgets on and off, persisted for that browser | Toggle a widget off → it disappears; reload → still off; different browser → defaults restored | Should | useDashboardWidgets |
| REQ-PDB-006 | The system shall surface outstanding returns and missing gear across projects, appearing only when there is data | Missing item exists → widget lists it; nothing outstanding → widget absent entirely | Should | useMissingItemsRegistry |
| REQ-PDB-007 | The system shall aggregate cross-project analytics: rental analytics, project analytics, and own-gear ROI | Dashboard loads → analytics panels populated from all projects; /analytics redirects here | Should | RentalAnalyticsDashboard |
| REQ-PDB-008 | The system shall compare projects side by side and track upcoming milestones | Two or more projects → comparison renders; milestone within range → tracker lists it | Should | ProjectComparisonPanel |
Non-Functional Requirements
| ID | Requirement | Metric | Priority |
|---|---|---|---|
| NFR-PDB-001 | Widget preferences shall survive a reload without a network round-trip | Graceful degradation | Should |
A render-time budget ("all widgets within 500 ms for ≤50 projects") was removed in v0.773.21: nothing measured it, and an unmeasured budget in a requirements table reads as a guarantee.
Data Requirements
- Source data: Projects (name, status, dates, budget), gear items, the accounting ledger (posted expenses + approved timesheets), schedule and locations, weather API
- Persistence: the dashboard is a computed view — only the per-browser widget preferences are stored
- Weather: fetched from an external API for dated schedule entries
Constraints & Limits
- Available to all tiers (Free and Pro)
- Actual spend is scoped to the active company's ledger
- Weather needs network connectivity and a location on the project
- Widget preferences are per browser and do not sync
Offline Behavior
- Projects, status, budgets and widget preferences are available offline from IndexedDB and local storage
- Weather forecasts are unavailable offline
- Analytics panels compute from local project data and work offline
Dependencies
- Requires: Projects — the dashboard aggregates project data
- Requires: Calendar — schedule dates feed the timeline
- Requires: Accounting — actual spend comes from the ledger
Travel-time estimates are not on this dashboard. They exist (
travelTimeService), but they render in the project workspace and on call-sheet day briefs. This guide listed them as a dashboard requirement until v0.773.21.
Related Documentation
Last Updated: 2026-09-09 Version: 0.790.2
