Subscription charges pile up quietly. Most people carry around 12 recurring charges and would guess three or four if you asked them cold. The gap comes from free trials that default to autopay, annual plans that renew without a nudge, and charges scattered across apps, banks, and payment processors.

Working out how to categorize subscriptions in a budget solves two problems at once. You get a real per-month figure for charges that do not bill monthly, and your projections stop breaking on the ones that skip eleven months and land in the twelfth.

Find All Your Subscriptions

Subscriptions hide in five places: bank statements, credit card statements, the Apple App Store and Google Play subscription lists, email receipts, and passwords saved in your browser. Start with three to six months of card and bank history sorted by merchant, because repeating charges cluster together the moment you sort by description.

Exporting a statement takes minutes. Log into your bank, find Download Transactions or Export, pick the last three to six months, then sort the Description column alphabetically. One pass usually surfaces 80% of your subscriptions inside an hour, and the stragglers turn up later in app-store lists and old receipts.

Set Up a Subscription Tracker

A subscription tracker logs recurring automatic charges only. Bills you check and pay by hand belong somewhere else, since the point here is the money that moves without you touching anything. The build below uses Notion relations, rollups, and nested formulas, which puts it at the intermediate-to-advanced end of Notion work.

Start with one subscriptions database and give it seven properties. Each one either records a fact or feeds a formula later:

  • Name: subscription service (Netflix, Amazon Prime, etc.)
  • Amount: cost per billing cycle
  • Cycle: a single-select with options Monthly, Quarterly, Semiannually, and Annually (use single-select, not multi-select, since each subscription has one billing cycle)
  • Start Date: when the subscription began
  • Next Payment: formula-driven, calculated from start date and cycle
  • Category: relation to a separate categories database
  • Per Month: formula-normalized cost for monthly comparison

Create a Categories Database

Categories are what make the totals useful. Entertainment holds Netflix and Hulu, memberships holds Amazon Prime and Costco, and productivity holds the software you pay for every month.

Build a categories database with nothing but a name property, then link it to the subscriptions database through a relation property called Category. That relation is the prerequisite for the rollup two steps down, so skipping it costs you the step you actually want.

Normalize Costs to Monthly with Formulas

Cycles differ, so raw amounts do not compare. A nested ifs formula converts every cycle into its monthly equivalent:

if(prop("Cycle") == "Monthly", prop("Amount"),
if(prop("Cycle") == "Quarterly", prop("Amount") / 3,
if(prop("Cycle") == "Semiannually", prop("Amount") / 6,
if(prop("Cycle") == "Annually", prop("Amount") / 12,
prop("Amount")))))

This is the sinking-funds idea rebuilt in a database: set aside the monthly slice now so the annual charge lands on money that is already waiting. Netflix at about $9.99 a month needs no conversion. Amazon Prime at roughly $159 a year becomes about $13.25 a month, and a $60 Costco membership works out to about $5.

Calculate Next Payment Dates

Nobody should be updating a next-payment date by hand. dateAdd and dateBetween handle it together, pushing the start date forward by however many full intervals have already passed:

if(prop("Cycle") == "Monthly",
dateAdd(prop("Start Date"), dateBetween(now(), prop("Start Date"), "months"), "months"),
if(prop("Cycle") == "Quarterly",
dateAdd(prop("Start Date"), dateBetween(now(), prop("Start Date"), "quarters"), "quarters"),
if(prop("Cycle") == "Semiannually",
dateAdd(prop("Start Date"), 6 * dateBetween(now(), prop("Start Date"), "months") / 6, "months"),
if(prop("Cycle") == "Annually",
dateAdd(prop("Start Date"), dateBetween(now(), prop("Start Date"), "years"), "years"),
null))))

Notion supports years, months, weeks, days, quarters, hours, and minutes as intervals, and semiannual is not among them. Treat those as plus six months and the dates come out right anyway.

Sum Spending per Category

Rollups need a relation to walk, which is why the Category property had to come first. On the categories database, add a rollup that targets related subscriptions and sums their Per Month values. Each category now shows its real monthly cost and recalculates itself whenever you add or cancel a service.

In the example, memberships (Amazon Prime plus Costco) comes to about $18.25 a month. Entertainment rolls up streaming, productivity rolls up software, and each total gives you a number concrete enough to argue with when you decide what stays.

View Subscriptions by Cycle and Date

Board view grouped by Cycle sorts everything into monthly, quarterly, semiannual, and annual columns, so your billing frequency is visible in a glance instead of a spreadsheet scan. Calendar view grouped by Next Payment does the other job. It shows which week the large annual charges land in, which is the view you want when you plan cash flow.

Why Subscription Categorization Matters for Budgeting

Budget projections are only as good as their baseline. Subscriptions scattered across three statements and two app stores keep that baseline low, and every month ends up tighter than the plan promised. Normalizing everything to a monthly figure fixes the arithmetic before you stack any spending decisions on top of it.

Category totals then change what you cancel. One service rarely looks expensive on its own, while a category total makes the concentration obvious enough to act on.

Knowing what is safe to spend once subscriptions are counted

The Notion build gives you accurate numbers, and then the hard part stays manual. Every month you weigh the per-month total against what is sitting in the account, remember which annual charges are still coming, and do the adjustment in your head before deciding whether tonight’s $60 dinner is fine.

Without that friction, the same task is one number you already trust. Subscriptions are counted, the annual ones are spread across the months, and the figure shifts on its own as each renewal arrives.

Dzing treats subscriptions as planned operations: enter each recurring charge once with its amount and cycle, and it feeds the safe-to-spend number alongside your budgets and savings goals. The formula behind that number comes with a full breakdown, so you can see which recurring charges pulled it down and by how much.