# Capex Planning

A 12-month capex planning workbook: eight candidate projects with total capex, start month, duration, useful life, annual benefit, status flag, priority, and category; per-project NPV with an annuity factor at a portfolio discount rate; monthly outlay schedule that turns on at start month and off at start + duration; budget tracker with running headroom; and a dashboard with portfolio committed capex, NPV, average payback and ROI, envelope utilisation, and peak monthly capex status.

- Canonical: https://finamodel.com/templates/capex-planning
- Excel download: https://finamodel.com/templates/capex-planning.xlsx
- Category: Corporate Finance
- Model type: Operating model
- Difficulty: Intermediate
- Audiences: CFOs & FP&A, Founders & operators, CFOs, FP&A teams, Capital allocation committees, Operations leaders
- Tags: capex, capital allocation, npv, payback, budget

## Overview

A capex planning model is a portfolio-level capital expenditure plan that translates per-project total capex, start month, build duration, useful life, annual cash benefit, and approval status into a per-project outlay schedule, an NPV / payback / ROI economics panel, and a monthly budget tracker that compares scheduled outlay against a user-set envelope. This template lays the full mechanic on seven sheets: an Assumptions sheet with eight candidate projects (replacement, expansion, IT, compliance, and ESG categories), each with total capex, start month, duration months, useful life years, annual benefit, status flag, priority score, and category, plus a 12-month envelope row and thresholds for payback hurdle, NPV break-even, envelope utilisation green / amber, and the portfolio discount rate; a Project Master sheet that computes per-project monthly outlay (total capex / duration), start month, end month, useful life, annual benefit, priority, and Approved / Pending status text; a Capex Schedule sheet with per-project 12-month outlay (flat over the build window starting at start month) and category and panel totals; an NPV Schedule sheet with per-project PV of inflows (annuity factor with zero-rate guard), NPV, payback months, ROI, and a Passes / NPV fail / Payback fail flag against thresholds; a Budget Tracker sheet that rolls monthly envelope, scheduled capex, variance, cumulative envelope, cumulative scheduled, running headroom, and monthly utilisation; and a Dashboard sheet with portfolio committed capex, annual benefit, NPV, PV of inflows, average payback, average ROI, projects passing the NPV hurdle, peak monthly capex and the month it occurs, annual envelope, annual scheduled capex, envelope utilisation with traffic-light status, ending headroom with Within envelope / Overspend status, and a per-project composition block with total capex, NPV, and payback per project.

The per-project outlay formula uses a COLUMN()-based positional pattern to turn the outlay on at start month and off at start + duration, with no same-row prior-column dependencies. The NPV uses an annuity factor over useful life at the portfolio discount rate, with a zero-rate guard. The payback months column uses a Payback_Hurdle × 100 sentinel when annual benefit is zero so the project visibly fails its hurdle without introducing a hardcoded literal. The Budget Tracker's running headroom is cumulative envelope minus cumulative scheduled - positive when the envelope has slack and negative when overspend occurs in the middle months when projects bunch up.

CFOs, FP&A teams, capital allocation committees, and operations leaders use this template for annual capex board reviews (walk the candidate portfolio with NPV, payback, ROI, envelope fit), re-forecasting under tighter envelopes (cut the envelope and see which months go red), and project hurdle screening (each project carries an explicit Passes / NPV fail / Payback fail flag). The template focuses on the approval gate and the sequencing of cash. Once a project is approved and cash leaves, the depreciation expense path and post-asset book value belong in the depreciation template, and the cash leg integration belongs in the cashflow or 3-statement template.

## What's included

- Eight candidate projects spanning replacement, expansion, IT, compliance, and ESG categories
- Project Master with monthly outlay, start / end month, useful life, annual benefit, priority, and Approved / Pending status text
- Per-project Capex Schedule (flat outlay over the build window starting at start month) with annual total column and panel total row
- Per-project NPV Schedule with PV of inflows (annuity factor at portfolio discount rate, zero-rate guard), NPV, payback months, ROI, and Passes / NPV fail / Payback fail flag
- Budget Tracker: monthly envelope, scheduled capex, variance, cumulative envelope, cumulative scheduled, running headroom, monthly utilisation
- Dashboard with portfolio committed capex, NPV, PV inflows, average payback, average ROI, projects passing NPV, peak monthly capex, envelope utilisation, ending headroom
- Status thresholds for payback hurdle, NPV break-even, and envelope utilisation (green / amber)
- Eight candidate projects with total capex, start month, build duration, useful life, annual benefit, status flag, priority, and category
- Monthly capex budget envelope across 12 months
- Project Master with derived monthly outlay, start/end month, useful life, annual benefit, and Approved/Pending status text
- Capex Schedule: per-project 12-month outlay flat over the build window with category and panel totals
- NPV Schedule: per-project total capex, annual benefit, useful life, discount rate, PV of inflows, NPV, payback, ROI, and pass/fail status
- Dashboard with portfolio committed capex, annual benefit, NPV, PV of inflows, average payback, average ROI, projects passing NPV, peak monthly capex, envelope utilisation, ending headroom
- Per-project composition block with total capex, NPV, and payback
- Status thresholds for payback (months), NPV (break-even), and envelope utilisation (green / amber)

## Capex Planning Model: How the 12-Month Template Evaluates Project Portfolios

This capex planning model helps planners assess eight candidate projects over a 12-month horizon. It schedules monthly outlays, calculates per-project NPV with a growing annuity, tracks budget headroom, and shows portfolio metrics on a dashboard.

Scenario toggles flex discount rates, benefits, and slippage. The public download offers a values-only preview of the underlying calculations.

### Operating Drivers and Scenario Flexing

The model is built around eight candidate projects, each defined by total capex, start month, build duration, useful life, annual cash benefit, and a three-state approval flag (Approved, Pending, Conditional). A scenario engine toggles between Base, Bull, and Bear cases by adjusting the discount rate, a benefit multiplier, and slippage months.

- These flexed values flow through to project schedules and economics, allowing a planner to see how delays or changed benefits affect the portfolio. The monthly budget envelope is entered separately, providing a spending constraint against which scheduled outlays are compared.

- This design lets users explore trade-offs among project timing, funding, and strategic priority.

### Calculation Flow: From Outlays to NPV

Monthly outlay per project is total capex divided by build duration, switched on at the slipped start month and off at the slipped end month.

- The NPV calculation uses a growing annuity formula: annual benefits grow at a specified rate and are discounted at the monthly rate derived from the annual discount rate, then deferred to project completion.

- Maintenance capex and a depreciation tax shield are subtracted from or added to the present value of inflows, and the net present value is the difference between discounted inflows and discounted outlays.

- Risk-adjusted NPV multiplies NPV by the probability of success, giving a view of expected value.

### Outputs and Portfolio Monitoring

Key outputs include per-project monthly outlay schedules, NPV, IRR approximation, payback, and ROI, all shown on the NPV Schedule. The Budget Tracker compares scheduled capex against the monthly envelope, reporting headroom and utilisation, with zero-guarded formulas to avoid division errors.

- A dashboard aggregates portfolio committed capex, total NPV, average payback and ROI, envelope utilisation, and peak monthly capex, with traffic-light statuses against user-defined thresholds. Composition rollups by category and approval status help identify concentration.

- A sensitivity grid shows portfolio NPV across discount rates and benefit multipliers, and self-checking rows on the Checks sheet validate the integrity of key calculations.

### Practical Use and Boundaries

The model focuses on capex commitment timing and approval-gate economics. It does not model operating cash flows, post-asset depreciation expense paths, or working capital items such as vendor terms and retentions; those belong in separate templates.

- Sign conventions treat all outlays and benefits as positive numbers, with NPV positive for value-creating projects and headroom positive when the envelope exceeds scheduled outlay. Planners can use it to test scenarios, identify projects at risk of breaching the envelope, and prioritize the portfolio based on financial and strategic factors.

- The public download is a values-only preview, not a live calculation engine, so users should refer to the full model for dynamic updates.

## Built for the capital allocation gate

When the question is "which projects clear the hurdle, in what order, and does the plan fit the envelope?", a clean per-project NPV / payback panel plus a monthly envelope tracker is the cleanest answer. This template gives CFOs and capital allocation committees an audit-ready capex board pack that ties every approved-dollar to a project, a month, and a return.

## Designed for one-edit responsiveness

Every input - total capex, start month, duration, useful life, annual benefit, discount rate, envelope, threshold - is a per-project or named-range input cell. Flex one number and the per-project economics, monthly schedule, and dashboard status all recompute - no formula rewrites.

## Honest about envelope pressure

Running headroom is cumulative envelope minus cumulative scheduled. The Budget Tracker shows exactly when overlapping project mobilisations push the year into temporary overspend, and the dashboard tags annual utilisation against on-track and watch thresholds so the cumulative pressure is visible at a glance.

## Built for the capital allocation gate

When the question is "which projects clear the hurdle, in what order, and does the plan fit the envelope?", a clean per-project NPV / payback panel plus a monthly envelope tracker is the cleanest answer. This template gives CFOs and capital allocation committees an audit-ready capex board pack that ties every approved-dollar to a project, a month, and a return.

## Designed for one-edit responsiveness

Every input - total capex, start month, duration, useful life, annual benefit, discount rate, envelope, threshold - is a per-project or named-range input cell. Flex one number and the per-project economics, monthly schedule, and dashboard status all recompute - no formula rewrites.

## Honest about envelope pressure

Running headroom is cumulative envelope minus cumulative scheduled. The Budget Tracker shows exactly when overlapping project mobilisations push the year into temporary overspend, and the dashboard tags annual utilisation against on-track and watch thresholds so the cumulative pressure is visible at a glance.

## Workbook structure

### Cover

Workbook overview, sheet legend, and tab-colour key for navigation.

- Title and scope framing
- Sheet-by-sheet purpose summary
- Tab-colour legend

### Assumptions

Every driver in one sheet: project panel, monthly envelope, thresholds, discount rate.

- Eight candidate projects with total capex, start, duration, useful life, benefit, status, priority, category
- 12-month monthly envelope row
- Payback hurdle, NPV break-even, utilisation green / amber, discount rate

### Project Master

Per-project derived metrics and approval status text.

- Monthly outlay = total capex / duration months
- Start month, end month = start + duration − 1
- Useful life years, annual benefit, priority
- Status text: Approved (1) or Pending (0)
- Panel-total row for total capex, monthly outlay, and annual benefit

### Capex Schedule

Per-project monthly outlay with panel and annual totals.

- Outlay = IF(t ≥ start AND t < start + duration, monthly_outlay, 0)
- COLUMN()-based positional pattern avoids same-row dependencies
- Annual total column on the right
- Panel total row at the bottom

### NPV Schedule

Per-project economics at the portfolio discount rate.

- PV inflows = benefit × (1 − (1 + r)^−life) / r with zero-rate guard
- NPV = PV inflows − total capex
- Payback months = capex × 12 / benefit, with hurdle × 100 sentinel for zero-benefit
- ROI = annual benefit / total capex
- Status: Passes / NPV fail / Payback fail against thresholds

### Budget Tracker

Monthly envelope vs scheduled capex with running headroom.

- Monthly envelope pulled from Assumptions via INDEX on Env_Row
- Scheduled capex pulled from Capex Schedule panel total via named ranges
- Cumulative envelope and cumulative scheduled roll forward across 12 months
- Running headroom = cumulative envelope − cumulative scheduled
- Monthly utilisation = scheduled / envelope with zero guard

### Dashboard

Headline metrics with traffic-light status and per-project composition.

- Portfolio committed capex, annual benefit, NPV, PV of inflows
- Average payback (months) and average ROI
- Projects passing NPV hurdle (count of 8)
- Peak monthly capex and the month it occurs
- Annual envelope, annual scheduled, envelope utilisation with On track / Watch / Tight status
- Ending headroom with Within envelope / Overspend status
- Per-project composition: total capex, NPV, payback per project

### Cover

Workbook overview, sheet legend, and tab-colour key for navigation.

- Title and scope framing
- Sheet-by-sheet purpose summary
- Tab-colour legend

### Assumptions

Every driver in one sheet: project panel, monthly envelope, thresholds, discount rate.

- Eight candidate projects with total capex, start, duration, useful life, benefit, status, priority, category
- 12-month monthly envelope row
- Payback hurdle, NPV break-even, utilisation green / amber, discount rate

### Project Master

Per-project derived metrics and approval status text.

- Monthly outlay = total capex / duration months
- Start month, end month = start + duration − 1
- Useful life years, annual benefit, priority
- Status text: Approved (1) or Pending (0)
- Panel-total row for total capex, monthly outlay, and annual benefit

### Capex Schedule

Per-project monthly outlay with panel and annual totals.

- Outlay = IF(t ≥ start AND t < start + duration, monthly_outlay, 0)
- COLUMN()-based positional pattern avoids same-row dependencies
- Annual total column on the right
- Panel total row at the bottom

### NPV Schedule

Per-project economics at the portfolio discount rate.

- PV inflows = benefit × (1 − (1 + r)^−life) / r with zero-rate guard
- NPV = PV inflows − total capex
- Payback months = capex × 12 / benefit, with hurdle × 100 sentinel for zero-benefit
- ROI = annual benefit / total capex
- Status: Passes / NPV fail / Payback fail against thresholds

### Budget Tracker

Monthly envelope vs scheduled capex with running headroom.

- Monthly envelope pulled from Assumptions via INDEX on Env_Row
- Scheduled capex pulled from Capex Schedule panel total via named ranges
- Cumulative envelope and cumulative scheduled roll forward across 12 months
- Running headroom = cumulative envelope − cumulative scheduled
- Monthly utilisation = scheduled / envelope with zero guard

### Dashboard

Headline metrics with traffic-light status and per-project composition.

- Portfolio committed capex, annual benefit, NPV, PV of inflows
- Average payback (months) and average ROI
- Projects passing NPV hurdle (count of 8)
- Peak monthly capex and the month it occurs
- Annual envelope, annual scheduled, envelope utilisation with On track / Watch / Tight status
- Ending headroom with Within envelope / Overspend status
- Per-project composition: total capex, NPV, payback per project

## Features

- **Annuity-style NPV with zero-rate guard:** PV of inflows uses a useful-life annuity factor on the annual benefit at the portfolio discount rate. A zero-rate guard collapses the formula to benefit × life so the workbook still computes meaningfully if the user sets the discount rate to 0.
- **Start-month and duration honest schedule:** Per-project monthly outlay turns on at start month and off at start + duration via a COLUMN()-based positional pattern, with no same-row prior-column dependencies. Bunching of overlapping projects shows up directly on the Budget Tracker.
- **Envelope utilisation with traffic-light status:** Dashboard tags annual scheduled / annual envelope as On track / Watch / Tight against user-set thresholds, and reports ending headroom as Within envelope or Overspend so the cumulative pressure is visible at a glance.

## Use cases

- **Annual capex board review:** Walks the capital allocation committee through the project portfolio with NPV, payback, ROI, and envelope fit per project. Flex any input on Assumptions and the schedule, economics, and dashboard recompute immediately.
- **Re-forecast under tighter envelope:** Cut a monthly envelope on Assumptions and watch the running headroom dip into overspend. The model surfaces which months are tight and lets the user move project start months out to restore headroom.
- **Project hurdle screening:** Each project carries an explicit Passes / NPV fail / Payback fail flag against user-set thresholds. The dashboard counts projects passing the NPV hurdle so the user can see at a glance which share of the candidate portfolio clears the bar.

## Frequently asked questions

### What is a capex planning model?

A capex planning model is a portfolio-level capital expenditure plan that prioritises candidate projects by NPV, payback, and strategic fit, then sequences them across a monthly budget envelope. It is how CFOs and capital allocation committees decide which projects get approved and when the cash leaves the door.

### How is project NPV computed?

Each project's PV of inflows is the annual cash benefit times an annuity factor over the useful life at the portfolio discount rate: PV = benefit × (1 − (1 + r)^−life) / r. NPV = PV − total capex. A zero-rate guard collapses the formula to benefit × life so the workbook still computes if the user wants to inspect the undiscounted sum.

### Why split monthly outlay flat instead of an S-curve?

Flat-spread monthly outlay (total capex / duration months) is the standard simplification for portfolio-level planning. An S-curve adds project-level shape but at the cost of an extra per-project parameter set. The flat spread is conservative for envelope-fit testing because it understates peak burn.

### What does the status flag mean?

A numeric 1 means the project is approved; 0 means pending. The Project Master renders this as text. The flag is not used to gate the NPV / Capex Schedule machinery - every candidate is scheduled and valued - but the dashboard counts and the operator can use the flag to filter live reporting.

### Can I extend it beyond 12 months?

Yes. The builder is parameterised by N_MONTHS - bump it and rerun. Start months and durations are absolute month numbers so they continue to work for any horizon. The envelope row and Budget Tracker columns extend automatically.

## Related templates

- [Depreciation](https://finamodel.com/templates/depreciation)
- [Budget vs Actuals Tracker](https://finamodel.com/templates/budget-vs-actuals)
- [3 Statement Model](https://finamodel.com/templates/3-statement-model)
