Skip to content
All documentation

Building the Model

Building is the final step that transforms your specification into a fully functional Excel financial model. The build pipeline reads every setting, account, period, and configuration you have defined and generates a comprehensive .xlsx file with interconnected worksheets, formulas, formatting, and charts.

The Build Pipeline

The build process consists of 15 sequential stages. Each stage creates specific worksheets or components in the output file. Understanding what each stage does helps you interpret progress updates and diagnose issues if the build encounters problems.

Stage 1: Init

Initializes the build environment, creates the workbook, and sets up shared resources (styles, fonts, colors, number formats). This stage validates that all prerequisites are met before proceeding.

Stage 2: Database

Creates the Database worksheet — an Excel Table holding your imported historical data (or an empty, correctly-structured table when no data file is attached). Every actual-period formula in the model reads from this table, so toggling a record's Include flag filters the entire model from one place.

Stage 3: Cases

Creates one worksheet per business case — a units-by-periods grid of 1/0 inclusion flags. These grids define which business units each case includes; the Units Included sheet resolves the active case at runtime.

Stage 4: Units

Creates the Units Included worksheet — the single sheet that writes unit names and period labels (every other sheet links to it). Its cells resolve the active business case selected on the Control Panel.

Stage 5: Scenarios

Creates one worksheet per scenario, each an indexes-by-periods grid of growth rates. The Control Panel's scenario selector decides which grid feeds the projections.

Stage 6: Indexes

Creates the Indexes worksheet — the economic-index grid (inflation, FX, interest rates) whose rows drive every projected formula. Its cells select the active scenario's rates, so switching scenarios re-rates the whole model.

Stage 7: Sources

Creates the Sources and Adjustments worksheet — a source-by-source-set inclusion matrix. The Control Panel's sources dropdown selects among the sets.

Stage 8: Control

Creates control worksheets that manage model-wide parameters: active scenario selection, period toggles, and display settings.

Stage 9: Accounts

The core stage. Generates a worksheet for each account, populating it with formulas that reference parent accounts, source data, and cross-account calculations. This is typically the longest stage, especially for models with many accounts.

Stage 10: Key Assumptions

Creates the Key Assumptions worksheet (if enabled) and links eligible account cells to it. This stage rewrites formulas in account worksheets to reference the centralized KA sheet.

Stage 11: Analysis

Builds the Full Analysis consolidation worksheet, aggregating all unit data into unified financial statements.

Stage 12: Quick Analysis

Generates Quick Analysis worksheets (consolidated and per-unit, as configured) with condensed views of key financial metrics.

Stage 13: Outputs

Creates report worksheets in Long, Medium, and Short formats based on your Reports configuration. Applies the values divider, decimal settings, and formatting rules.

Stage 14: Charts

Generates chart sheets for each defined chart, linking them to the appropriate data ranges and applying visual settings (colors, axis options, actual/projected differentiation).

Stage 15: Complete

Finalizes and saves the .xlsx file. Note that the engine never computes a financial number itself — it writes formulas, and Excel performs all calculation when you open the workbook. The model is ready for download.

Real-Time Progress Tracking

During the build, the application displays progress in real time via a WebSocket connection to the backend. You see:

  • Current stage name — which of the 15 stages is executing.
  • Progress bar — visual indication of how far along the build is.
  • Stage timing — how long each completed stage took.

This feedback lets you know the build is proceeding normally, especially for large models where the Accounts stage may take several seconds.

Downloading the Model

After the build completes successfully, a download button appears. Click it to save the generated .xlsx file to your local machine. The file is a standard Excel workbook that can be opened in Microsoft Excel, Google Sheets (with some limitations), or any compatible spreadsheet application.

The filename typically includes the model name and a timestamp for easy identification.

Handling Build Errors

If the build encounters an error, it stops at the failing stage and displays an error message. Common causes include:

  • Validation errors that were not addressed — always run validation before building.
  • Circular formula references — the build engine cannot resolve infinite loops.
  • Missing data — an account or period referenced during generation does not have the expected data.

When an error occurs:

  1. Read the error message carefully. It identifies the stage and usually the specific account or setting that caused the failure.
  2. Check the build log for additional context. The log records detailed information about each stage's execution.
  3. Fix the identified issue in the specification editor.
  4. Run validation to confirm the fix resolved the problem.
  5. Build again.

Build Performance

Build time depends on the model's complexity:

| Model Size | Approximate Build Time | |------------|----------------------| | Small (1-2 units, < 50 accounts) | 2-5 seconds | | Medium (3-5 units, 50-200 accounts) | 5-15 seconds | | Large (5+ units, 200+ accounts) | 15-60 seconds |

The Accounts stage (Stage 9) typically accounts for the majority of build time, as it generates the most worksheets and formulas.

Tips

  • Save your specification before building. The build reads from the current state, but saving ensures you have a recoverable copy.
  • Validate first, build second. Running validation before building catches most issues and saves time.
  • Keep the browser tab active during the build to maintain the WebSocket connection for real-time progress updates.
  • For very large models, consider building with a subset of units first to verify the configuration, then enable all units for the final build.