The sixty-second answer
Do not try to remember them. Take a full year of payment records, group them by merchant, and look for anything that repeats on a schedule. A full year matters because annual subscriptions only appear once. Then sort the list by what would actually break if it stopped on Monday, and cancel from the bottom.
Why the list in your head is always wrong
Ask any owner to name their software subscriptions and you will get the big ones: the accounting package, the email, the phone system. Those are not the problem. They are large, visible, and someone thinks about them at renewal.
The ones that leak money share three properties. They are small enough that no single charge is worth investigating. They are billed annually, so they surface once and then vanish for eleven months. Or the merchant name on the statement is a holding company, a payment processor, or an abbreviation that matches nothing you would search for.
That last one defeats the usual approach of scanning a statement. You are looking for a product name that never appears.
Work from records, not recollection
The reliable method is mechanical. Take twelve full months of payment records - every account and every card the business uses, not just the main one. Group the transactions by merchant rather than by date. Then look for cadence.
Monthly charges are obvious once grouped. Quarterly ones are visible if you have the full year. Annual ones appear exactly once, which is precisely why a three-month review misses them and why the exercise has to cover twelve months to be worth doing.
Cadence is the signal, not the amount. A charge that appears on roughly the same day each month is a subscription whether or not you think of it as one.
The four categories worth separating
Once you have the list, it is tempting to sort by cost. Sort by consequence instead.
Load-bearing. Something stops working if this stops. Your email, your payment processing, your booking system. Cost is almost irrelevant here; interruption is the risk.
Genuinely used. Somebody opens it most weeks. Worth keeping, worth checking the tier - paying for twenty seats when four people work there is the most common single overpayment.
Dormant on purpose. Kept for a reason that has not come up lately. A backup, a seasonal tool, a domain you are holding. These look like waste and are not.
Forgotten. Nobody can say what it does or who signed up. This is the category the whole exercise exists to find, and it is usually smaller than people expect and older than they would like.
Duplicates are decisions nobody made
Duplicate subscriptions are rarely a mistake by one person. They accumulate because different people solved the same problem at different times, and neither knew about the other. File storage and video calling are the usual culprits, because almost every larger product bundles a version of both.
A duplicate is not automatically waste. Two storage services can be a deliberate separation of client files from internal ones. The problem is not having two - it is having two by accident, which means nobody has decided which one is authoritative when they disagree.
What the tax side requires
Software subscriptions used to earn business income are generally deductible, provided the amount is reasonable and any personal-use portion is excluded [2]. The practical constraint is evidence. A bank line proves money moved; it does not establish what was purchased or that the purchase was a business expense.
The invoice does both, which is why the receipt matters more than the statement. Business records generally have to be kept until six years after the end of the last taxation year they relate to [1], and a subscription you cancel today still needs its records held for that period.
Doing this continuously instead of annually
The annual audit works, and almost nobody repeats it. It is tedious, it takes an afternoon, and its reward is finding something you have already been paying for a year.
The alternative is to let the detection happen as receipts arrive. If receipts are being captured anyway - forwarded, photographed, or pulled from email - then recurring merchants can be identified continuously rather than in a once-yearly sweep. That turns a forgotten annual renewal into something you are told about the second time it happens, rather than the fifth.
That is the specific job Penny does inside MapleExpense: watching for merchants that repeat and surfacing them, so the list is maintained rather than reconstructed.
A reasonable first pass
If you have never done this, the first pass finds the most. Pull twelve months, group by merchant, and write down anything that recurs. Mark each one load-bearing, used, dormant, or forgotten. Cancel the forgotten ones. Check the seat count on the used ones.
Then put a date in the calendar for a year from now - because the only thing that reliably regrows is the forgotten category.