Subscription Tracker Spreadsheet (Free Google Sheet)
Build a free subscription tracker spreadsheet in Google Sheets with annual-cost and next-renewal formulas, renewal reminders and a cancel checklist.
In short
A subscription tracker spreadsheet lists every subscription once, with its price, billing cycle and first charge date, and formulas work out the yearly cost and next renewal date. Build it free in Google Sheets from the columns below, highlight renewals due within a week, and set reminders so you decide to keep or cancel before you pay.
A subscription tracker spreadsheet is a list of every service you pay for regularly, with each one's price, billing cycle and next renewal date. Formulas turn those into a yearly total and a "due soon" warning. Below are the free Google Sheets columns and formulas, a way to get reminded before each renewal, and a checklist for cancelling the ones you no longer use.
Why use a spreadsheet to track subscriptions?
Subscriptions are designed to be forgotten. Each one is small, renews quietly and arrives on a different day. Ten of them at $8 to $15 each easily add up to over $1,000 a year, and almost nobody can list all ten from memory.
A spreadsheet fixes that with three things you don't get from a bank statement:
- One list. Every subscription, whichever card, app store or PayPal account it's billed to.
- The yearly number. "$12.99 a month" sounds small. "$155.88 a year" makes you think about it.
- The date before the charge. A statement tells you what you've already paid. A tracker tells you what's coming, while you can still cancel.
There's one thing a spreadsheet won't do: find subscriptions for you. Neither does Voice Sheet, which doesn't detect subscriptions or connect to your bank. You list them once by hand, which takes about 20 minutes, and the sheet does the rest. If keeping your bank login out of third-party apps matters to you, that's the trade, and we explain why we made it in how to track expenses without linking your bank.
How do you make a subscription tracker spreadsheet?
Create a new Google Sheet, name the first tab Subscriptions, and add these columns in row 1:
| Column | Header | Type | Example |
|---|---|---|---|
| A | Service | Text | Video streaming |
| B | Category | Dropdown | Entertainment |
| C | Price | Currency | 15.49 |
| D | Cycle | Dropdown: Monthly, Quarterly, Yearly | Monthly |
| E | Start date | Date (first paid charge) | 3/14/2025 |
| F | Months | Formula | 1 |
| G | Annual cost | Formula | 185.88 |
| H | Next renewal | Formula | 11/14/2026 |
| I | Days left | Formula | 11 |
| J | Status | Dropdown: Active, Trial, Paused, Cancelled | Active |
| K | Paid with | Text or dropdown | Visa ••4421 |
| L | Notes | Text | Cancel at account › membership |
You only type in A to E and J to L. F to I are formulas, so the sheet stays correct on its own as the months go by.
Make Category, Cycle and Status dropdowns (select the column, then Insert → Dropdown). Fixed values matter here because the totals and highlights match on exact text. Useful categories are Entertainment, Music, Software, Cloud storage, News, Fitness, Food delivery and Other.
Free trials: enter the date of the first paid charge as the Start date and set Status to Trial. The Next renewal column then shows the day the trial turns into a bill.
Currency: keep the whole sheet in one currency. If you pay for something in another currency, enter the amount from your card statement, or keep a separate copy of the sheet for that currency.
The formulas: annual cost and next renewal
Type these into row 2 and drag them down as far as your list goes. Each one returns an empty cell for blank rows, so you can fill the formulas down ahead of time.
F2, months per billing cycle:
=IF(D2="", "", SWITCH(D2, "Monthly", 1, "Quarterly", 3, "Yearly", 12))
G2, annual cost:
=IF(F2="", "", C2*12/F2)
H2, next renewal date. This counts whole billing cycles from the start date and steps to the next one after today:
=IF(OR(E2="", F2="", J2="Cancelled"), "",
IF(E2>TODAY(), E2,
EDATE(E2, F2*(INT(DATEDIF(E2, TODAY(), "M")/F2)+1))))
I2, days until renewal:
=IF(H2="", "", H2-TODAY())
Format H as a date and I as a plain number. Because the formulas use TODAY(), the dates move forward by themselves each time a renewal passes.
If you pay anything weekly, skip the Cycle formulas for that row and type its annual cost (price × 52) into G directly.
Add a summary block
Put the totals on a second tab called Summary, or in a few cells to the right of your list:
| What | Formula |
|---|---|
| Yearly total (everything not cancelled) | =SUMIFS(Subscriptions!G:G, Subscriptions!J:J, "<>Cancelled") |
| Monthly equivalent | =SUMIFS(Subscriptions!G:G, Subscriptions!J:J, "<>Cancelled")/12 |
| Yearly total for one category (name in A5) | =SUMIFS(Subscriptions!G:G, Subscriptions!B:B, A5, Subscriptions!J:J, "<>Cancelled") |
| Saved by cancelling | =SUMIFS(Subscriptions!G:G, Subscriptions!J:J, "Cancelled") |
| Renewing in the next 30 days | =SORT(FILTER(Subscriptions!A2:I, Subscriptions!I2:I<>"", Subscriptions!I2:I<=30), 8, TRUE) |
The last one lists every upcoming renewal, sorted by date. It's the view to check on the first of each month. If SUMIFS is new to you, our SUMIFS by month guide explains how the criteria pairs work.
Keep cancelled rows rather than deleting them. "Saved by cancelling" is the most motivating number in the sheet.
Highlight renewals that are due soon
Conditional formatting turns the list into an early warning:
- Select A2:L on the Subscriptions tab.
- Open Format → Conditional formatting and choose Custom formula is.
- Enter
=AND($I2<>"", $I2<=7)and pick an amber fill. Rows renewing within a week now stand out. - Add a second rule,
=$J2="Trial", with a different color, so trials are always visible. - Add a third,
=$J2="Cancelled", with grey text, so cancelled rows fade into the background.
Open the sheet and anything amber needs a decision this week.
Get reminded before each renewal
A highlighted row only helps if you open the sheet. For a nudge on your phone, you have two free options, and they work well together.
Google Calendar for the decision. For yearly and other expensive renewals, add an event three to seven days before the Next renewal date, repeating yearly, with the cancel link in the description. That's your "keep it or cancel it" moment, while there's still time to act.
Voice Sheet for the record. If you also log what you spend, the subscription still has to land in your expense sheet when it's charged. Voice Sheet's recurring expense reminders are built for this:
- Connect your expenses spreadsheet in the app and choose the tab you log spending on.
- Add the subscription once ("Video streaming 15.49, entertainment"), and switch on Remind me for this entry.
- Pick Monthly (or every X days) and the day it renews.
- When the notification arrives, tap it. The entry opens pre-filled with the same values and today's date. Change the amount if the price went up, then tap Submit.
Reminders can repeat daily, weekly, monthly, every X days or every X hours. There's no yearly option, so use the calendar event for annual plans. Reminders are part of the free plan and run on your phone. They go off on the schedule you set, not because Voice Sheet saw a charge, since it never sees your bank account.
One habit worth building: when a reminder fires and the price has changed, update column C on the Subscriptions tab too. Quiet price rises are where subscriptions creep up most.
Find every subscription you already have
Before the sheet is useful, it needs a complete list. Spend 20 minutes checking these places:
- The last three months of card and bank statements. Three months catches quarterly charges. Look for anything that repeats.
- iPhone: Settings → your name → Subscriptions.
- Android: Google Play → profile icon → Payments & subscriptions → Subscriptions.
- PayPal: Settings → Payments → Manage automatic payments.
- Your email. Search for "renewal", "receipt", "your subscription" and "trial ends".
- Other people's cards. Family plans and shared accounts billed to a partner still cost your household money.
If the list surprises you, you're in good company. Most people find at least one subscription they'd forgotten about.
A cancel checklist
For each row, ask one question: would I sign up for this again today, at this price? If not, work through these steps:
- Find where it's billed. App Store and Google Play subscriptions are cancelled there, not in the app itself. Apple explains how in its cancel a subscription guide, and Google has the same for Google Play subscriptions.
- Check the renewal date first. Most services let you use what you've paid for until the period ends, so cancelling early rarely costs you anything.
- Export anything you want to keep. Photos, playlists, documents and saved articles.
- Cancel, and save the confirmation. Screenshot it or keep the email, and note the date in column L.
- Set Status to Cancelled. The row turns grey and its cost moves into "Saved by cancelling".
- Delete the reminder or calendar event for that service.
- Check next month's statement to make sure the charge actually stopped.
Pausing is worth considering for seasonal services such as sports streaming, or a gym in the months you travel. Set Status to Paused and add a calendar event for when you'd want it back.
Keep the tracker going
The sheet takes 20 minutes to set up and about five minutes a month to maintain:
- When you sign up for something, add a row straight away, especially for free trials.
- On the 1st of each month, check the "next 30 days" list and decide on anything renewing.
- Once a quarter, sort by Annual cost and question the top three.
If you'd like subscriptions to sit inside a full budget, add a Subscriptions category to the free Google Sheets expense tracker template, and use the yearly total from this sheet as its monthly budget (divided by 12). Voice Sheet's ready-made Google Sheets templates don't include a subscription tracker, but the app works with any sheet that has a header row, including this one.
Frequently asked questions
How do I make a subscription tracker in Google Sheets?
Create a sheet with Service, Category, Price, Cycle, Start date and Status columns. Add formula columns for months per cycle, annual cost, next renewal and days left. Then add a conditional formatting rule that highlights renewals due within seven days, and a summary cell that totals the yearly cost of everything still active.
How do I calculate the annual cost of a subscription in a spreadsheet?
Multiply the price by the number of payments in a year. In Google Sheets, put the months per billing cycle in one column (1 for monthly, 3 for quarterly, 12 for yearly) and use =C2*12/F2. A $9.99 monthly plan comes to $119.88 a year, which is usually the number that makes people cancel.
Can a spreadsheet find my subscriptions automatically?
No. A spreadsheet only knows what you type into it, and Voice Sheet doesn't detect subscriptions or read bank transactions either. You find them once, from your card statements, the App Store, Google Play and PayPal, then list them. After that, formulas and reminders do the remembering without linking your bank.
How do I get reminded before a subscription renews?
Use the Next renewal and Days left columns, and highlight any row due within seven days. For a push notification, add a Google Calendar event a few days before each renewal, or set a monthly Voice Sheet reminder that opens the payment pre-filled. Either way, you decide before the charge instead of after.
What is the best free subscription tracker?
For most people, a Google Sheet is the best free option. It costs nothing, needs no bank login and keeps the list in your own Drive. Dedicated apps can find subscriptions automatically from bank data, which is genuinely useful, but they need access to your accounts and often charge for cancelling on your behalf.
