Annual Ops Budget Template

Most small teams don't have an ops budget. They have a credit card and a surprise. The invoices arrive scattered — a SaaS renewal here, a laptop there, a $400 emergency router the week the office floods — and each one is "small enough not to discuss." This template turns the scatter into six budget lines, one reforecast per quarter, and a kill list. Every number is pulled from records you already keep — the software license register and the IT asset inventory — so the budget is an export, not an archaeology project. One page, no finance degree, and the mid-year "we need to buy what?" conversation becomes a fifteen-minute review instead of a crisis.

1. The six lines that cover real small-team ops spend

Budget categories fail when they're too abstract ("infrastructure") or too granular (one line per SaaS tool). Six lines hold the whole weight:

LineWhat lives in itWhere the number comes from
1. Software & SaaS renewalsEvery recurring subscription, seat expansion, and annual planSum the license register — cost × seats × renewal period. This is the line with zero archaeology if the register is honest.
2. Hardware replacement fundLaptops past mid-life, the aging NAS, the router with no firmware since 2024Filter the asset inventory by warranty/support-ends within 18 months × replacement cost. Divide by 2 so you don't buy everything in one year.
3. Incident bufferThe bad day: emergency hardware, IR contractor hours, data-recovery serviceOne replacement laptop price + one day of contractor rate. Unspent rolls forward; spent quietly, you'll be glad it existed.
4. Security & compliancePassword manager seats, MDM, backups, the annual pen-test or audit hourLicense register (security rows) + one audit line. Never the first line you cut.
5. People-knowledgeTraining, conference or course, the documentation hours that feed the dependency auditOne course + conference per person per year. Small line, huge return on the day someone resigns.
6. Contractors & ad-hocOne-off projects, migrations, the specialist hour you can't hireLast year's actuals × 1.2. If you had no actuals, start with line 3's contractor rate × 3.

Everything else — office snacks, domain renewals, that $9/mo tool someone tried in March — is not a line. Domains and misc sub-$100/year go in line 1 as a "tail" row; snacks are not ops. The test for a line: would its absence create an operational risk? Snacks don't. Backups do.

2. Build it in one afternoon — the five sources

The first budget is a half-day of reading your own registers, not a forecasting exercise:

  1. License register export. Every row with a renewal date in the next 14 months. Sum by month — you'll see the renewal spikes (that's where the annual plans cluster) and the seats creep (30 seats where 22 people work).
  2. Asset inventory filter. Support-ends within 18 months. Multiply by today's replacement price, not the 2023 price. Divide by two — you're building a replacement fund, not buying everything at once.
  3. Last year's card statement. Categorize into the six lines. The delta between "what I think we spend" and the statement is always a lesson; the tail is always bigger than expected.
  4. The incidents of last year. What did the bad days actually cost? A dead drive recovered, a contractor weekend, a new router bought in a panic? That sum is the floor of line 3, not a guess.
  5. Known next-year projects. The migration everyone's discussed, the vendor contract expiring (contract checklist has the dates). Named projects get named amounts; unnamed anxieties get nothing.

Write the result on one page — the whole budget fits on a laptop screen. If it doesn't fit, you've built a finance department, and that's a different document.

3. The monthly ritual: fifteen minutes, three questions

A budget nobody reads is a spreadsheet. The ritual that keeps it alive:

Fifteen minutes, same day each month, calendar-blocked. The ritual's real job is killing surprises early enough that they're decisions instead of emergencies.

4. The quarterly reforecast: where budgets actually happen

Annual budgets set intentions; quarterly reforecasts make them true. One hour, four questions:

  1. Which lines will blow through? Hardware fund too thin because two laptops aged early? Move money now, while it's still a choice. A reforecast that only documents the shortfall is a post-mortem, not a forecast.
  2. Which renewals changed shape? The vendor moved from $9/user to $14/user, or annual-only with a 20% jump. That's a decision point — shop it, negotiate it, or kill it — and it's visible only if the license register's renewal dates are current. This is why line 1 and the register are the same source of truth.
  3. What did the buffer absorb? Line 3 spent on a real incident? Good — that's what it's for. Refill it first from whatever's underspent. An empty incident buffer entering Q4 is a bet you don't want to be holding.
  4. What moves to the kill list? (Section 5.) The reforecast's most valuable output isn't a new number — it's the tool you finally stop paying for.

Sync the reforecast hour with the access review and the asset drift check: same quarterly afternoon, three audits, one long coffee.

5. The kill list: how new tools get paid for

Every new tool someone wants gets one rule: name what dies to pay for it. A $40/mo addition with no donor is a budget leak with a nice landing page. The kill list works because it forces the comparison nobody makes naturally — the shiny candidate against the forgotten incumbent:

Publish the kill list with amounts. "Killed: 2 tools, $57/mo — funds the monitoring upgrade we actually needed" is the sentence that makes the whole budgeting exercise credible to the team. Without visible kills, "budget" reads as "no."

6. The worked example (solo operator, 6-person company)

LinePlanBasis
1. Software & SaaS$4,200/yr (~$350/mo)License register: 14 tools, 3 annual spikes (Mar, Jun, Nov), tail ~$40/mo. Includes reclaiming 8 zombie seats found in the register.
2. Hardware fund$3,000/yrInventory: 3 laptops hit warranty end within 18 months (~$1,400 each). Split across 2 years. NAS + router budgeted for next cycle.
3. Incident buffer$1,800/yrOne laptop price + one contractor day. Unspent rolls forward (last year's buffer absorbed a $600 drive recovery — kept the floor).
4. Security & compliance$1,100/yrPassword manager (9 seats), MDM, offsite backups, 2 hours of external review. Protected line — never first cut.
5. People-knowledge$900/yrOne course + one conference ticket per person, staggered. Feeds the dependency audit's shadow-test time, too.
6. Contractors & ad-hoc$2,400/yrLast year actuals ($2,000) × 1.2. Known Q3 project: the CRM migration.

Total: $13,400/yr ≈ $1,117/mo — roughly the price of one junior hire, covering the whole operational floor. The number itself matters less than the fact that every line has a source and a review cadence.

7. The paste-in starter (CSV)

Start ugly and honest. Columns first, rows second; the numbers get honest on their own once the ritual runs.

line,category,monthly_plan,annual_plan,source,owner,review_cadence,notes
1,software_saas,350,4200,license_register,Ops,monthly,3 annual spikes: Mar/Jun/Nov
1,software_tail,40,480,card_statement,Ops,monthly,domain + misc under $100/yr
2,hardware_fund,250,3000,asset_inventory,Ops,quarterly,3 laptops EOL <18mo; split 2yr
3,incident_buffer,150,1800,last_year_incidents,Ops,quarterly,rolls forward; spent = refill first
4,security_compliance,92,1100,license_register,Ops,quarterly,protected line — never first cut
5,people_knowledge,75,900,per_head_policy,Ops,quarterly,course + conference per person
6,contractors_adhoc,200,2400,last_year_actuals,Ops,quarterly,Q3 CRM migration project

One row per line (plus the tail), one owner, one cadence. If you add a "misc" row, it must have a monthly review or it becomes where unexamined spend hides.

8. What each line feeds on a bad day