Resource library

Renewal Ledger / Operational guide

Google Sheets Renewal Tracker: Free CSV, Fields, and Limits

Use a Google Sheets renewal tracker for owners, notice deadlines, renewal dates, auto-renewal, and decisions — then know when a maintained register is safer.

By AlexPublished 7 May 2026Updated 3 August 2026
On this page36 sections

Turn renewal dates into a decision queue.

Google Sheets renewal tracking is a practical starting point for lean IT teams, MSPs, and agencies that need one shared place to record renewal dates. It works when the list is small, ownership is clear, and someone reviews the sheet on a fixed cadence. A simple sheet can track SaaS tools, vendors, contracts, domains, hosting, and licenses without adding another system.

The problem is not that Google Sheets is bad. The problem is that renewal work becomes operational when owners, notice deadlines, auto-renewal decisions, alerts, and reporting are involved. A spreadsheet can store a date, but it does not automatically prove that the record was reviewed, connect public domain context, or turn renewal risk into a dated evidence report. If the question has moved from “where is the date?” to “who reviewed this and what can we send?”, use How to Prove IT Is Under Control — Without More Spreadsheets as the next-step framing.

If you are deciding whether to keep a spreadsheet or move to a structured register, use this guide as a fair comparison. The live Renewals & Vendor Register is the next operating layer when ownership, decision context, and report output matter. For CertPilot's public-check sources and boundaries, review the methodology.

Download the Google Sheets renewal tracker CSV

Download the free renewal tracker CSV template, then import it into Google Sheets with File → Import → Upload. Remove the two example rows and keep the headers unchanged if you may later import the sheet into CertPilot.

The template uses CertPilot's current renewal import fields, including provider, subscription name, renewal date, notice deadline, auto-renewal state, decision status, last-reviewed date, technical owner, and purchaser. Start with the fields your team can maintain reliably; blank optional fields are better than invented data.

For the complete field guide, examples, and small-team versus agency versions, use the free SaaS renewal tracker template. This page remains focused on setting up and maintaining the tracker in Google Sheets.

Once the CSV is in Google Sheets, tighten the structure with renewal tracker columns that matter. Use the 90-60-30 renewal reminder rule only as secondary planning or where no notice requirement applies: an earlier contractual notice deadline always takes precedence. A 12-month SaaS renewal calendar can provide the wider planning view.

Set up a notice-first working queue

1. Import and preserve the original columns

Download the CSV above. In a blank Google spreadsheet, choose File → Import → Upload, select the file, choose Insert new sheet(s), use a comma separator, and import. Name the tab Renewals. The file has 30 columns, A:AD, and two synthetic example rows; remove those rows before adding your own records. Keep the original headers and order unchanged. Save your working version as a Google spreadsheet, not just a CSV: CSV cannot retain the helper formulas, filters, or formatting.

In Excel, use Data → From Text/CSV, select the same file and comma delimiter, check that date columns are interpreted as year-month-day, then load it. Save the working file as .xlsx. The original data range and formula guide are the same; Excel's filter command is Data → Filter, rather than Sheets' Data → Create a filter.

2. Identify the queue's input fields

With the current download, these are the important positions:

  • A — provider_vendor and B — asset_subscription_name: identify the record.
  • E — contact_person: the named responsible contact used by this queue's owner check. AC — technical_owner is separate; it does not silently substitute for E.
  • J — renewal_date: when the term renews or expires.
  • Y — notice_deadline: the verified cancellation/non-renewal notice deadline. Contract delivery, receipt, timezone, and business-day rules may change what action is needed before that date.
  • U — auto_renews and Z — decision_status: keep decision values to undecided, review, renew, or cancel.
  • AA — decision_notes and AB — last_reviewed_at: record the decision, source/confirmation, and review date. These are manually maintained records, not proof that a notice was delivered.

CertPilot does not automatically discover SaaS, usage, contract clauses, or notice terms. Confirm them with the relevant owner. An unknown notice deadline is not the same as a verified absence of a notice requirement.

3. Make dates real dates, not text

In Google Sheets, set the spreadsheet's locale and timezone under File → Settings before entering dates. Use Format → Number → Custom date and time to display yyyy-mm-dd in every applicable date column: J — renewal_date, V — warranty_expires_at, W — end_of_life_at, Y — notice_deadline, and AB — last_reviewed_at. In Excel, format the same columns using Format Cells → Custom → Type: yyyy-mm-dd. Every populated date must visibly use year-month-day, for example 2026-09-25; CertPilot's importer requires a valid calendar date in YYYY-MM-DD format.

Formatting alone does not convert a text string into a date. If an imported value is still text, check its source and re-enter it using the date picker or an unambiguous formula such as =DATE(2026,9,25), then copy and paste that cell as a value. Do not guess whether 09/10/2026 means September 10 or October 9. Leave genuinely unknown dates blank; do not enter zero or a made-up date. The formula guide flags text, blanks and out-of-range date serials separately.

4. Add helpers after AD, then fill the real rows

Add these headers in AE:AK, without inserting columns inside A:AD:

  • AE — Days to renewal: formula.
  • AF — Days to notice: formula.
  • AG — Owner check: formula.
  • AH — Notice not required: manually enter yes only after confirming that no notice is required, with the source in AA. Otherwise leave blank. Do not enter yes alongside a notice date in Y.
  • AI — Action complete: manually enter yes only when a renew or cancel decision has been carried out and confirmation recorded in AA. Otherwise leave blank.
  • AJ — Decision check: formula; a chosen decision without confirmed completion remains Action pending.
  • AK — Review queue: formula; a numbered label for sorting work.

Use the copy-ready AE:AK formulas and validation rules for the five formula columns. Paste each formula into the formula bar for row 2, then fill down only through actual records. Leave AH and AI as manual fields, not formulas. Format AE and AF as Number with zero decimal places so day counts do not display as dates. These sheet-only helpers are not new CertPilot fields.

5. Filter and sort whole records

Select A1:AK through the last populated row, then choose Data → Create a filter. Include every original and helper column so sorting cannot detach an owner or notice date from its subscription.

In AK's filter, hide 9 Closed and blank rows. Select the same full range, choose Data → Sort range → Advanced range sorting options, tick Data has header row, and sort Review queue A → Z, then Days to notice A → Z, then Days to renewal A → Z. Within a priority, numeric notice countdowns put earlier deadlines first; text warnings still require manual attention. Never sort J or Y alone.

Work the queue in this order:

  1. 1 Notice overdue: verify what options remain and escalate; a passed date is not permission to assume cancellation is still available. Other priority-1 labels require checking missing/invalid notice terms, decision values, or helper settings.
  2. 2 Notice due: notice is due today or within 30 calendar days. Decide and arrange delivery now; increase the lead time if approvals or a replacement need longer.
  3. 3 Missing owner / Check owner / Check renewal date / Renewal overdue: assign responsibility and resolve data or timing gaps.
  4. 4 Renewal due: renewal is within 30 days and AH explicitly confirms no notice is required.
  5. 5 Action pending / 6 Review planned: finish recorded decisions or schedule the next review; neither label proves the contract is safe.

Check the independent flags too: filter AG for Missing owner or Check owner, and AJ for Unresolved decision, Action pending, or a Check warning. Inspect nonnumeric AE values and AF's missing/invalid warnings, excluding a missing notice only when AH is correctly yes. A row can have an urgent notice and a missing owner simultaneously; AK displays one priority, not every problem. Clear one column's filter before switching to another view, or filters will combine and hide rows.

For optional visual cues, select the populated AK cells, choose Format → Conditional formatting → Text starts with, and highlight 1 in red and 2 in amber. Keep the text labels visible; colour alone is not the queue. Review regularly enough to act before your earliest approval or notice deadline, not only at month-end.

6. Check a distant-renewal example

On 2026-09-22, enter one synthetic record: Example Planning Co / Sample planning subscription, contact Sample IT owner, J 2026-12-31, Y 2026-09-25, U true, and Z undecided. Leave AH and AI blank.

The helpers show 100 days to renewal, 3 days to notice, Owner assigned, Unresolved decision, and 2 Notice due. Waiting for a 90-day renewal reminder would miss the notice deadline. The owner should check the permitted delivery method and receipt requirement, obtain approval, and act before that deadline. After the selected action is carried out, record confirmation, set Z to renew or cancel, and only then set AI to yes; the queue shows 9 Closed. When preparing the next cycle, update its dates, reopen the decision, and clear AI.

7. Export data without helper columns

Keep the full working spreadsheet. In Google Sheets, create a separate export tab, copy A:AD including the header and actual records, and use Paste special → Values only. Reapply the yyyy-mm-dd display format to J, V, W, Y and AB on the export tab and check that the original 30 headers remain intact. Download only that tab using File → Download → Comma-separated values (.csv, current sheet).

In Excel, copy A:AD's header and actual records to a separate export sheet using Paste Special → Values and Number Formats, not plain Values. Before saving that sheet as CSV UTF-8, verify that every populated date in J, V, W, Y and AB visibly remains YYYY-MM-DD. If a copied date appears as a serial number or a locale-formatted date, reapply Format Cells → Custom → Type: yyyy-mm-dd to those columns before export. Preserve your .xlsx working copy.

Do not export AE:AK, helper labels, or formulas as import data. Reopen the CSV and check its delimiter, headers and date strings before uploading; Excel exports can use a locale-dependent separator. CSV does not preserve your queue. These steps do not change CertPilot's importer or validate a real import automatically.

Where Google Sheets Renewal Tracking Works

Google Sheets is useful because it is familiar. Most teams already know how to add rows, filter columns, leave notes, and share a view with the right people. For early-stage agencies, that matters more than advanced workflow.

Small renewal lists

If you manage a short list of assets, a spreadsheet may be enough. A sheet with columns for client, asset name, owner, renewal date, status, and notes can answer the basic question: "What is renewing soon?" For agencies where paid plugin and theme licenses are the recurring gap, the WordPress plugin renewal tracker shows the specific fields to keep visible.

This works best when the list is stable. For example, a small agency managing a few domains, hosting plans, and plugin licenses can review the sheet during a weekly operations meeting.

Simple owner and date tracking

A spreadsheet is also reasonable when renewal ownership is obvious. If one person owns all domains and another owns all SaaS tools, the sheet can capture that division clearly.

The sheet does not need to be sophisticated. In fact, the simplest version is often the easiest to maintain:

  • Field: Client
    • Why it belongs in the sheet: Keeps assets grouped by account
  • Field: Asset name
    • Why it belongs in the sheet: Identifies the renewal item
  • Field: Asset type
    • Why it belongs in the sheet: Separates domains, hosting, SaaS, plugins, licenses, and contracts
  • Field: Owner
    • Why it belongs in the sheet: Names the person responsible
  • Field: Renewal date
    • Why it belongs in the sheet: Records the term date for secondary planning; an earlier notice deadline drives action
  • Field: Cancellation deadline
    • Why it belongs in the sheet: Surfaces the verified notice window for review
  • Field: Decision status and review queue
    • Why it belongs in the sheet: Keep Z's undecided, review, renew, or cancel separate from AK's spreadsheet-only review labels
  • Field: Notes
    • Why it belongs in the sheet: Captures practical context

This is enough for a team that needs a shared reference more than a reporting system.

Early intake and cleanup

Google Sheets is useful during client onboarding. It gives the team a neutral place to collect domains, registrars, hosting providers, DNS services, plugin licenses, email tools, analytics accounts, and contract dates before anything is imported elsewhere.

Even if you later move the list into CertPilot's Renewals & Vendor Register, the spreadsheet can be the first pass. The register is structured manual or CSV-based tracking, not automatic vendor discovery.

Where Google Sheets Renewal Tracking Breaks

Most spreadsheet failures are not dramatic. They are quiet. A row is missing an owner. A renewal date is stale. A client asset changes hands. A calendar reminder is dismissed. The sheet looks complete, but nobody can prove it was checked.

No reliable renewal alerts

Google Sheets can support formulas, conditional formatting, and add-ons. But a sheet does not behave like an operational alerting system by default.

Someone still has to build the reminders, maintain them, and trust that the right person will see them. If the owner leaves, changes role, or stops checking the sheet, the renewal risk stays hidden.

Renewal work needs alerts because annual dates are easy to forget. The more clients you manage, the more likely it is that a renewal will land outside normal project rhythm.

No automated SSL, DNS, or domain context

A renewal spreadsheet records the dates you entered. It does not check whether a client domain is currently healthy, whether SSL is valid, whether DNS changed, or whether a domain expiry risk is already visible.

That distinction matters. A domain may be paid for another year while SSL is broken today. A hosting contract may renew next month while DNS has drifted this week. A spreadsheet can store a note about those risks, but it cannot detect them on its own.

CertPilot's free audit is a better fit when you need live SSL, DNS, and domain checks alongside renewal tracking.

Weak client grouping workflow

Agencies do not only manage assets. They manage assets by client. That means renewal tracking has to support account reviews, client-specific summaries, and handoffs between account managers, support leads, and technical owners.

Google Sheets can filter by client, but filtering is not the same as a workflow. A filtered view does not automatically become a renewal-risk report. It does not show what was checked this month. It does not create a client-ready proof artifact.

For more on the spreadsheet baseline, see Agency Renewal Tracking Spreadsheet. If the alternative is a date-reminder product rather than another spreadsheet, compare it against the ExpirationReminder alternative for agencies criteria before migrating.

No renewal-risk report

A renewal date is only one part of risk. Agencies need to know which assets are overdue, which renew soon, which have unknown owners, which have unclear billing contacts, and which are tied to important client services.

A spreadsheet can hold those columns. But unless someone reviews and summarizes them, the risk remains buried in rows. Renewal-risk reporting turns the ledger into an operational artifact that a manager can scan quickly.

That is one reason the Renewals & Vendor Register exists inside CertPilot: maintained records feed alerts and evidence reports rather than remaining a static table.

No monthly proof report

The strongest agency angle is not "we have a list." It is "we can show the client what we checked this month."

A spreadsheet does not naturally produce that. You can export rows, copy data into a document, or make a manual report. But that adds work, and repeated manual work tends to disappear when the team is busy.

Monthly Proof Reports are useful because they turn invisible care-plan labor into something visible. They show that domains, renewal dates, and related operational assets were reviewed before they became urgent. For the artifact distinction, see Evidence Reports vs Dashboards vs Spreadsheets.

Weak accountability and audit trail

Google Sheets has version history, but it is not the same as renewal accountability. A row may show a date and owner, yet still leave basic questions unanswered:

  • Who confirmed this renewal date?
  • When was it last reviewed?
  • Is the billing contact still valid?
  • Was the client told about the upcoming renewal?
  • Did the owner mark it safe or only update the date?

If your agency sells maintenance, care plans, or retained operational support, those questions matter.

A Practical Decision Framework

Use Google Sheets when the renewal problem is small and the risk is easy to inspect manually. Move to a structured register when the work needs alerts, ownership, client grouping, and proof.

  • Situation: Fewer than 25 tracked assets
    • Google Sheets fit: Strong
    • Maintained register fit: Optional
  • Situation: One internal owner
    • Google Sheets fit: Strong
    • Maintained register fit: Optional
  • Situation: Multiple clients and owners
    • Google Sheets fit: Fragile
    • Maintained register fit: Strong
  • Situation: Need renewal alerts
    • Google Sheets fit: Requires setup
    • Maintained register fit: Strong
  • Situation: Need SSL/DNS/domain context
    • Google Sheets fit: Weak
    • Maintained register fit: Strong with CertPilot context
  • Situation: Need monthly client proof
    • Google Sheets fit: Manual
    • Maintained register fit: Strong
  • Situation: Need CSV import from an existing list
    • Google Sheets fit: Useful source
    • Maintained register fit: Useful destination
  • Situation: Need procurement or license optimization
    • Google Sheets fit: Not built for it
    • Maintained register fit: Not CertPilot's scope

This is not a reason to abandon spreadsheets immediately. It is a reason to decide where the spreadsheet should stop being the operational source of truth.

How to Improve a Google Sheet Before You Replace It

If you are not ready to move yet, tighten the spreadsheet first.

Complete owner and review fields

Every asset should have a responsible contact in E, last reviewed date in AB, and next action in AA's decision notes. Empty owner fields are renewal risk. They mean nobody is clearly responsible.

Separate renewal date from cancellation deadline

Annual tools often have cancellation or downgrade deadlines before the renewal date. Track both. A tool that renews on July 1 may need a decision by June 15.

Complete asset type and client fields

Use the existing asset_type in C and client_name in S. Do this early: retrofitting client grouping later is tedious, especially when the same vendor appears across multiple clients. Do not insert extra columns into the original A:AD range.

Create a monthly review view

Use the notice-first queue above throughout the month. A monthly planning view can also show renewals in the next 30, 60, and 90 days, but it must not defer an earlier notice or approval deadline. Missing terms require investigation now, not a default 30-day assumption.

Export to a ledger when reporting matters

Once management or clients expect proof, consider moving the operational record into a register that can feed reports. CertPilot's Renewals & Vendor Register is designed for that middle ground: not enterprise SaaS management, not procurement, not invoice parsing, and not automatic cancellation. It is structured renewal tracking for records a lean team cannot afford to forget.

A Better Spreadsheet Handoff

The most useful spreadsheet is often the one that prepares your team for a cleaner system later. If you keep using Google Sheets, structure it as if it may become an import file.

Avoid merged cells, free-form client names, and mixed date formats. Use one row per asset. Keep asset type values consistent. Put the client name in its own column. Keep owner names consistent enough that a CSV import or review will not create five versions of the same person.

This discipline helps even if you never leave the sheet. It makes filters more trustworthy and monthly review easier. It also reduces the cleanup burden if the team later decides to move the operational record into the Renewals & Vendor Register. If the sheet is being handed to a new IT owner, the software subscription handover checklist shows which ownership, admin-access, and decision fields to confirm first.

The goal is not to make Google Sheets imitate a full system. The goal is to avoid a messy sheet that hides risk behind formatting.

Frequently Asked Questions

Is Google Sheets renewal tracking enough for a small agency?

Yes, if the list is small, ownership is clear, and someone reviews the sheet regularly. It becomes fragile when alerts, client grouping, and reporting become part of the service.

Can Google Sheets send renewal reminders?

It can be extended with formulas, calendar habits, or add-ons, but that requires setup and maintenance. The risk is that reminders become disconnected from ownership and client reporting.

Is this a native Google Sheets template or a CSV?

It is the existing downloadable CSV, not a hosted Sheet to duplicate. Import it into Google Sheets, keep A:AD intact, and add the AE:AK helpers described above. Save the working spreadsheet; export only the original data columns when preparing a CertPilot import.

Why does a date still show as invalid after I format it?

A date-looking string can remain text after formatting. Check the spreadsheet locale and source date, then enter a real date with the date picker or DATE(year,month,day). Format day-count helpers as numbers, not dates. The formulas intentionally do not guess ambiguous date strings.

What should agencies track besides renewal dates?

Track client, asset type, vendor, owner, renewal date, cancellation deadline, billing cycle, cost if appropriate, status, last reviewed date, and notes.

When should a team move from a spreadsheet to a renewal register?

Move when missed renewals would damage operations or client trust, when multiple people own decisions, or when you need alerts and dated evidence reports instead of a static list.

Does CertPilot replace Google Sheets completely?

Not always. Many teams still use spreadsheets for intake or cleanup. CertPilot's Renewals & Vendor Register is better suited as the structured record that feeds alerts, renewal-risk summaries, and evidence reports.

Next operational step

Turn daily checks into management-ready evidence.

CertPilot checks SSL, DNS, domain registration, and email authentication daily — and combines them with your renewal, people, assets, and access review registers into evidence reports. 14-day free trial, no card required.