Case Study · Finance Engineering

FM Forecast Workspace

Nine finance managers, one forecast, and a version-control problem that ate the close cycle every month. This is the tool that replaced the spreadsheets, built end-to-end in Google Apps Script.

The Problem

Labor forecasting for a large technology organization ran on parallel Excel models, one per finance manager, each blending Delivery Manager baselines with their own judgment, each formatted differently, each emailed around at close. Consolidation meant chasing versions, reconciling collisions, and losing hours every cycle to questions that had nothing to do with finance: which file is current, whose number is right, and what changed since last month?

9 Finance Managers on one source of truth
0 External infrastructure. Apps Script & Sheets only
12 Fiscal periods per view. Locked actuals, open forecast
The Constraint

Inside a corporate environment, the sanctioned toolchain was Google Workspace: no servers, no databases, no deployment pipeline. So the constraint became the architecture. Google Sheets as the data layer (source data, prior-month snapshots, SOW breakouts, and an append-only adjustments log), Apps Script as the backend (an automated Excel drop-zone that ingests, converts, snapshots, and archives each monthly cycle), and a custom web app as the front end, served through HtmlService to every FM simultaneously.

The constraint became the architecture.
The Build
The Demo — Live & Interactive

This is the production interface with the Google backend swapped for a simulated data layer. Everything else is real: edit any Sep–Jan cell (switch to Without SOWs or Only SOW Labor first), run the bulk tools, flip the heatmap, and hit save to watch the audit log capture your changes. All figures and names are fictional. NovaTech is an invented company.

FM Forecast Workspace · Demo Open Full Screen ↗

Simulated dataset · Regenerates on refresh · Best experienced on desktop

The Outcome

The parallel spreadsheets are gone. Nine finance managers now forecast asynchronously in one workspace, against one dataset, with one audit trail, and consolidation stopped being a job. What used to be version reconciliation is now variance analysis: the tool absorbed the mechanical work so the close conversation could move to what the numbers mean, not which file they live in.