How to find every subscription your company pays for
Updated August 22, 2026
Start from the general ledger rather than the card statement, because the ledger is the only record that contains every payment regardless of how it was made. Pull at least twelve months, group by vendor, and look for charges that repeat on a steady cadence.
Why not start from the card statement?
Because it is a partial list that looks like a complete one, which is the worst property a list can have. It holds the tools bought on the card and none of the ones paid by ACH, check, bill pay, or annual invoice. Finishing it feels like finishing the job. See why card tools miss subscriptions.
What do you actually need?
- At least twelve months of transactions, so annual contracts appear at all. A ninety-day window cannot see a yearly charge, and yearly charges are the large ones.
- Vendor name, date, and amount per transaction. That is enough; you do not need memos or attachments to find a cadence.
- Every account, not just the one the card settles to. Bill pay, operating account, and reimbursements all carry software.
How do you tell a subscription from a one-off?
Cadence and stability. A subscription bills at a regular interval for a stable amount. A one-off does not repeat, and a variable cost repeats at amounts that move with usage. Sort each vendor's charges by date and the pattern is usually obvious by the third occurrence.
The parts that stay hard by hand are matching messy vendor names to real products, spotting two vendors that sell the same thing, and normalizing an annual invoice against monthly charges so the totals compare. Those are the three things worth automating, and they are the reason a bank feed alone does not produce this list.
What should you do with the list?
- Flag anything charging unchanged for six or more periods with nothing else in the book referencing it. See zombie subscription.
- Compare each vendor against its own history rather than against a budget, which is how price creep surfaces.
- Group by what the tool does, not by vendor name, which is how duplicate tooling surfaces.
- Date each annual contract's anniversary so its cancellation window is known before it closes.
You can run the whole method by hand from a CSV export. The demo page shows the same method run by the detection engine over a sample ledger, with a dollar figure attached to each finding.