The subscription tracker spreadsheet, done properly
Download the free CSV below, then in Google Sheets choose File → Import to load it. Eight columns — service, amount, currency, cycle, next renewal, category, payment method, notes — cover every subscription you own, and only the renewal date needs a formula.
Download the template
The file is a plain CSV: eight columns, three filled-in example rows so you can see the shape, and blank rows underneath. It opens in Google Sheets, Excel, Numbers, LibreOffice or anything else that reads a comma-separated file. No sign-up, no email wall.
- Download subby-subscription-tracker-template.csv.
- For Google Sheets: open a spreadsheet and choose File → Import.
- Select the downloaded file, then pick an import location. Create new spreadsheet gives you a clean copy; Replace spreadsheet overwrites whatever is open.
- Leave the separator on Detect automatically. If every row lands in one column, run it again and choose Comma.
- For Excel, Numbers or LibreOffice, just open the file directly — no import step needed.
Then delete the three example rows and start with the subscription you are most annoyed about.
The eight columns, and why each one earns its place
These are the same fields a dedicated tracker stores, which is not a coincidence — they are the minimum set that lets you answer “what is charging me, when, and can I stop it”.
- Service — the name on your statement, not the name in your head. “Amazon Digital” is what you’ll be searching for later, even if you think of it as a video subscription.
- Amount — the number that actually leaves your account, tax included, on one line per plan. Split a family plan into rows only if separate charges appear.
- Currency — the ISO code (USD, EUR, GBP, RON). Skip this and your total is fiction the first time something bills in a second currency.
- Billing cycle — monthly, yearly, weekly, quarterly, or something odd like every 45 days. Real billing is not always monthly, and the ones that aren’t are the ones people forget.
- Next renewal — the single most valuable cell in the sheet. It is the one that answers “can I still cancel before it charges?”
- Category — entertainment, work, health, home. Categories are what turn a list into a decision: four streaming rows next to each other make their own argument.
- Payment method — card ending, PayPal, direct debit, or which app store bills it. When you go to cancel, this tells you where to look, and app-store subscriptions cancel in the store, not on the provider’s website.
- Notes — the contract end date, the price you were paying before the increase, who else in the house uses it, whether it is a trial. This column is where you write the reason you’ll want later.
Making the renewal date calculate itself
Typing dates by hand is how a sheet rots. Two formulas cover almost every subscription you own.
- Monthly and yearly cycles: Google Sheets’ EDATE function “returns a date a specified number of months before or after another date”, with the syntax EDATE(start_date, months). A monthly subscription is EDATE of the last payment plus 1; a yearly one is plus 12; a quarterly one plus 3.
- Weekly and day-based cycles: plain addition. The last payment plus 7 for weekly, plus 14 for biweekly, plus 28 for a four-weekly cycle, plus 45 for the odd one.
The rule that keeps a series honest: always calculate the next date from the previous due date, never from today. Anchor on today and every skipped week nudges the whole series forward until the sheet is quietly wrong about everything. Subby uses exactly this rule internally, and it is the difference between a list that stays accurate for a year and one that stops being trusted in March.
Date math at the end of the month. A subscription that first charged on the 31st cannot renew on the 31st of every month. Whatever your spreadsheet does with January 31 plus one month, check that first February renewal by hand before you rely on it — and if you keep a “charged on the 31st” note in the Notes column, you’ll know why the date looks odd six months from now.
Two habits that keep it alive
- Update on the day you’re charged, not on the day you remember. Move the Next renewal cell forward the moment the notification from your bank lands. Thirty seconds, once, beats an hour of archaeology in three months.
- Total it with a currency column, not with mental arithmetic. Convert to one currency in a separate column and total that. A mixed-currency sum is the most common way a subscription sheet ends up understating what you pay.
What a spreadsheet genuinely can’t do
This is the honest part, and it is the reason most subscription spreadsheets are abandoned within two months.
- It cannot remind you. A cell holding tomorrow’s renewal date is worth nothing if nobody opens the file. Every trial you have ever been charged for was, technically, written down somewhere.
- It only knows what you last told it. A price rise, a plan change, a card swap — none of it reaches the sheet unless you go and type it in.
- It isn’t in your pocket at the moment you need it. The useful moment is standing in a queue wondering whether the thing you signed up for last month has already charged you.
None of that makes a spreadsheet useless. It is genuinely the right tool when you want to model scenarios, share a household budget with someone who lives in Sheets, or keep a year of history to argue with. Use it for the audit. Just don’t ask it to be the alarm clock — that is the job it structurally cannot do, and the third time you get charged for something you had already written down is the day you find that out.
Forgot to update the sheet again?
Subby keeps the same eight fields — and reminds you before each renewal, so the list stays honest without you.
Free · No account · No bank login