Skip to main content
All Articles
BudgetingCost ControlSaaS Spend

The Renewal Liability Schedule Your CFO Actually Wants

One schedule of committed SaaS spend per contract: renewal date, notice deadline, value, owner. It answers what you owe and what you can still change.

A top-down ledger grid of contract cards sorted by date, indigo committed rows held firm and one amber row crossing its notice line

Hermann Lotter

Founder, Easy Entropy

Founder of Easy Entropy, the company behind Resubly. 20 years in operations with a specialization in fintech automation and AI. I built Resubly after watching auto-renewals slip through finance ops processes one too many times, and I write about the operational discipline that turns SaaS renewals from surprises into decisions.

6 min readFollowLinkedInAbout us

You know the question, because it arrives every planning cycle: what are we contractually obligated to pay over the next twelve months? Most companies answer it from an invoice export, which is the wrong document. Invoices record what you already paid. Contracts record what you still owe, when each amount renews, and the deadline after which it stops being negotiable. The artifact that answers the question properly is a renewal liability schedule: one row per contract, four facts per row, committed value, renewal date, notice deadline, and owner. Built once and kept current, it turns a question that normally costs finance a week of inbox archaeology into one that takes ten minutes.

Invoices Look Backward. Contracts Look Forward.

Committed spend is the amount you are legally on the hook for, regardless of usage, headcount, or enthusiasm. It survives the layoff, the cancelled project, and the tool nobody logs into. Most spend visibility tools cannot see it, because logins are not obligations. The obligation lives in the paper, and the paper is filed somewhere nobody looks until the invoice arrives.

The budget that gets built on invoice history has a quiet flaw: it treats the next twelve months as a smooth continuation of the last twelve. SaaS spend does not move smoothly. It moves in steps, and every step is a renewal. When the renewal arrives carrying an increase, the variance report reads "software overspend", but the real cause is older: a forecast built from the wrong document. A budget built from contracts treats each renewal as what it is, the one moment the number is still a decision.

Four Columns, One Answer

The schedule is deliberately small. One row per contract, four facts per row:

  • Committed value: the contractual floor for the coming term, including seat minimums and true-up exposure, not last year's invoice
  • Renewal date: when the money actually moves
  • Notice deadline: the date after which the row stops being a decision, usually 30 to 90 days before the renewal date
  • Owner: the single name accountable for acting before that deadline

The owner column does more work than it looks like it does. In most mid-market companies, finance, IT, and operations each keep their own list of what the company pays for, and the three lists disagree. A schedule with one shared owner column is the end of that argument: it is the register everyone reads from, and "I thought you were handling it" stops being an available sentence.

Notice Deadlines Are Expiry Dates

Read the schedule the way an option trader would. Every row carries a built-in option: the right to change the terms, cut the seats, or walk away entirely. That option expires on the notice deadline, silently, with no reminder. After expiry, the row is not a decision anymore. It is a fixed cost with a due date.

The timing data explains why the expiry date deserves its own column. Cledara's renewal benchmarks, drawn from platform activity from January 2024 through March 2026, put average savings at 49 percent for negotiations started 90 or more days ahead of renewal, against 19 percent inside the 30 to 90 day window. Renewals initiated within 30 to 60 days of expiration convert at more than 95 percent, because switching at that point feels impossible. And Common Paper's contract market data shows 84 percent of auto-renewal contracts require notice roughly 30 days out. Sort the schedule by notice deadline rather than renewal date, and you are looking at the company's real action calendar. For what to do when a row gets close to expiry, see how to give notice of non-renewal.

What the Schedule Does to the Forecast

With the schedule in hand, forecasting stops being a single number and becomes two honest buckets. Committed rows, contracts mid-term or whose notice windows have already closed, are facts: carry them at contract value. Negotiable rows, anything whose notice window is still open, are estimates, and treating them as fixed is the classic budgeting error.

For the negotiable rows, model the increase instead of pretending it away. Vertice recorded SaaS inflation of 16.4 percent in June 2026, against US consumer inflation of 4.2 percent. Common Paper's market data shows 21 percent of contracts carry an automatic fee increase at renewal, typically 5 to 8 percent. A row without a negotiated price cap is not a flat number, and a forecast that assumes it is one is wrong on the day it is approved. For the increase data behind the uplift ranges, see the 2026 SaaS inflation index.

Two traps sit inside the rows themselves. Per-seat contracts with true-up clauses accumulate added seats silently and bill them at renewal, so the committed value grows with every hire without touching an invoice. Usage-priced AI features grow the same way, with nobody joining at all; the mechanics are covered in the per-token pricing playbook. Once a quarter, this exercise becomes the full budget build described in building the Q4 budget from renewal dates. The schedule is the standing version of that document, the one that answers the question in any week of the year, not just planning season.

Sources: Cledara: SaaS renewal benchmarks 2026, Common Paper: auto-renewal clause standard and market data, Vertice: SaaS inflation rate (live index)

Building It in an Afternoon

If no central list of contracts exists yet, start with a stack audit: payment records expose the vendors, and every vendor leads to a contract. Where the paper is missing, request it from the vendor in writing. Finance is entitled to copies of everything it pays for, and the request itself often surfaces agreements nobody knew existed.

Then extract, row by row. The extraction is mechanical, four facts per document, which is exactly the kind of work that automates cleanly; how Resubly reads a contract covers what that looks like in practice. If you want the spreadsheet version today, the free renewal tracker template has the columns and the notice deadline formula already built.

Keeping It Alive

The failure mode of every schedule is drift: the contract changes, the row does not, and within two quarters the register is confidently wrong. The fix is a small ritual, not a bigger tool. Fifteen minutes a month, sorted by notice deadline. Anything inside 90 days gets an owner action, a negotiation started, a notice prepared, a decision made. Renewal events update their rows the same week they happen. Where a shared spreadsheet stops being enough for that ritual is an honest question with an honest answer.

The difference between the two documents matters more than it sounds. An invoice list tells you what you paid. A liability schedule tells you what you owe, and, more usefully, what you can still change, and until when. The second number is the one finance gets judged on, and it stays changeable only until the day the notice window closes.

Related posts