Skip to main content
GullySystem
A practical guide

A renewal reminder process for software licences and subscriptions

Ganesh HSStrategy and Technology, GullySystem
Practical advice · 5 min read

In this guide 6 sections
The short answer

Keep every term end date in one record, not in a sheet. Send reminders to the billing contact on a fixed schedule, price upgrades against the licence already held, and decide in advance what happens to access when a term lapses.

Move term end dates out of the sheet

Most renewal trouble starts with a spreadsheet. One person owns it. The sheet has a column for expiry and a column for notes, and the notes hold the real facts about who approved what. When that person is on leave, the dates go unwatched.

Give each licence its own record instead. It holds the customer, product SKU, edition, seat count, start date and term end date, the order number that created it, and the licence key or subscription ID.

Then add the field the sheet never had. Renewal status: open, quoted, accepted or lapsed, beside an auto-renew flag. A status turns a column of dates into a queue that an account manager can work through every Monday morning.

  • Customer account and billing contact
  • Product SKU, edition and seat count
  • Start date and term end date
  • Order number and subscription ID
  • Renewal status and owner

Time the reminders around the buyer, not the vendor

A reminder a week before expiry is too late. Work backwards from how a company actually buys, because the budget has often closed by then and a purchase order can take a month to approve. Finance sign-off can wait for the next quarter.

Set a first notice well ahead, a quote with the renewal price a little later, and a final notice shortly before the end date. Keep each message plain. Attach the quote as a PDF. The buyer’s accounts team can drop it straight into the approval folder and raise the purchase order without writing back to ask for a figure.

Send the first notice to two people. One is the billing contact. The other is whoever installed the software and knows which machines depend on it, and they are often a different person.

  • First notice sent to billing contact and installer
  • Quote PDF with the renewal price attached
  • Final notice with one renewal link
  • Message on the day of expiry
  • A task for the account manager if no reply arrives

Price the upgrade against the licence already held

A customer on the standard edition who wants the professional edition should not pay as a new buyer, because their unused term has value. Decide how you credit it. Write the rule into the price list, so that two account managers quoting the same upgrade on the same day arrive at the same figure.

An upgrade quote needs three numbers. They are what the held licence cost, how many days of term remain and the list price of the new edition. The record holds the first two. Without it, the credit is a guess.

Mid-term seat additions are the same problem. Co-terming makes the new seats end on the same date as the old ones, which keeps one renewal date per customer and saves a second proforma invoice next year.

Decide what happens when a term lapses

A licence can stop at once, run on through a grace period, drop to a read-only mode, or keep working while support and updates end. Pick one rule per product. Match it to the end-user licence agreement, and print it on the renewal notice, since customers forgive a clear rule far more readily than a surprise.

A grace period needs an end date, and the record needs a field for it, otherwise grace quietly becomes permanent for any customer who never answers the reminder emails. Ask who may extend it. Log every extension.

Think about what the customer loses. A design tool that locks the project files is harsher than one that opens them read-only, so choose the lapse rule with the customer’s unfinished work in mind. Perpetual licences with annual support need a rule too, because the key keeps working while the update entitlement and the support desk both lapse on the same date.

Start with the next ninety days

Do not rebuild the whole list at once. Export the licences ending in the next ninety days. Pull them from the sheet and from each reseller or distributor portal, load them into the new records, and send the first reminders from there.

Work the older entries in as their dates approach. After a quarter the sheet holds nothing live. Close it.

Then review the lapsed list once a month. Each lapse has a reason: a changed contact, a missed purchase order, an expired card on file. Every reason points to the next thing to fix.

Renewal tracker page

A record block sits above a timeline strip. The record block has fields for customer, product SKU, edition, seats, start date, term end date, order number, status and owner. The timeline strip marks the first notice, the quote, the final notice, the day of expiry and the grace end date.

Open a blank worksheet to print

Questions owners ask

Why not keep using a spreadsheet?

A sheet works for a handful of licences. It struggles once several people edit it, once reminders must go on a schedule and once upgrades need the original order. A linked record holds all three.

How early should the first reminder go out?

Early enough for the customer’s approval route. A company that needs a purchase order will need more notice than a person paying by card, and an enterprise with a procurement team will need more again. Ask your larger buyers how long their route takes.

What is co-terming?

Co-terming sets every licence a customer holds to end on one date. Seats bought mid-term are priced for the remaining days only, so the customer renews once a year, not four times.

Should access stop the moment a term ends?

That depends on the product and the customer. A short grace period or a read-only mode avoids lost work. Whichever you choose, state it on every renewal notice.

Browse all guidesBack to top ↑
Next step

Have a specific situation to work through?

This article covers the general case. Tell us what you’re actually dealing with and we’ll respond directly.

Share Your Requirements