Why a SaaS Inventory Is the Foundation of Everything

Every downstream cost management activity - license right-sizing, renewal negotiation, duplicate elimination, security review - requires knowing what tools you have. You cannot cancel unused licenses if you do not know which licenses exist. You cannot negotiate renewals if you do not know when they are coming. You cannot eliminate duplicates if you do not know you have them.

The inventory is not the goal; it is the prerequisite for every goal that involves managing your software portfolio intelligently. Companies that try to reduce SaaS costs without first building a complete inventory end up doing incomplete work - catching the obvious waste while missing the systemic problems that represent the majority of savings.

The first-audit finding: When companies build their first complete SaaS inventory, they find on average 40% more tools than they knew about. The tools they did not know about account for roughly 25% of total SaaS spend.

What to Include in Your Inventory

A SaaS inventory that is useful for cost management needs more than a list of vendor names and prices. The fields that matter are:

Core Identity Fields

  • Vendor name: The actual company name (Atlassian, not "project management tool")
  • Product name: The specific product, because many vendors have multiple products at different prices (Jira vs. Confluence vs. Jira Service Management)
  • Category: The functional category (project management, CRM, communication, security, analytics, etc.)
  • URL: The login URL, which helps when multiple products exist under one vendor

Financial Fields

  • Monthly cost: The actual monthly amount being charged (convert annual to monthly equivalent)
  • Annual cost: The total annual spend for budget reporting
  • Billing cadence: Monthly, annual, or usage-based
  • Next renewal date: The date the subscription will auto-renew
  • Notice required: Days advance notice required to cancel without auto-renewing (often 30, 60, or 90 days)
  • Payment method: Which card or bank account is being charged

Usage and Access Fields

  • Licensed seats: Number of user seats you are paying for
  • Active users: Number of users who logged in within the past 30 days
  • Primary department: The main department using the tool
  • Business owner: Named individual responsible for the renewal decision
  • IT owner: Person responsible for user provisioning and security review

Management Fields

  • Status: Active, Under Review, or Marked for Cancellation
  • Last reviewed: Date of most recent usage and value review
  • Contract type: Month-to-month, annual, or multi-year
  • SSO enabled: Whether the tool integrates with your identity provider
  • Data classification: What type of company data the tool accesses (helpful for security review)

How to Build One from Scratch

For a first-time inventory build, the most reliable starting point is financial data rather than interviews or surveys. People underreport tools they use - financial data does not.

Step 1: Pull Transaction Data

Export 13 months of transactions from every company bank account and credit card. Filter for recurring charges. Look for merchant names that appear in multiple months with similar amounts. This is your raw SaaS spend data.

Step 2: Resolve Merchant Names to Products

Bank transaction descriptors often use abbreviated or legal entity names. Work through your transaction list and resolve each one to the actual product. "SQUARESPACE INC" is Squarespace. "FASTLY INC" is Fastly CDN. Build a lookup table as you go - you will need it when these transactions recur.

Step 3: Fill in the Inventory Fields

For each identified tool, populate as many inventory fields as possible from the transaction data (cost, billing cadence, renewal date estimate). For fields that require knowledge of the tool (owner, active users, seat count), you will need to either check the vendor admin console or ask the business owner.

Step 4: Assign Owners

For every tool, identify one person who is responsible for the renewal decision. Send them a brief summary: "You appear to be the primary user of [Tool Name]. The subscription costs $[X]/month. Can you confirm this is still needed?" This step surfaces tools that owners want to cancel - sometimes many of them.

Efficiency tip: Do not try to fill in every field before you have a named owner. Get owner confirmation first - it is not worth spending 30 minutes researching a tool that the owner will immediately say should be cancelled.

How to Keep It Current

The hardest part of SaaS inventory management is not building it the first time - it is keeping it accurate over time. An inventory that is six months out of date is worse than no inventory, because it creates false confidence about completeness.

Trigger-Based Updates

The most reliable approach is trigger-based updates: specific events automatically trigger an inventory update. The key triggers are: new hire (creates new user accounts), termination (should trigger deprovisioning review), new purchase approval (adds to inventory before it goes live), and subscription cancellation (removes from inventory). Building these triggers into your HR and procurement workflows ensures the inventory stays current without requiring manual review sweeps.

Monthly Financial Reconciliation

Once a month, cross-reference new transactions against your inventory. Any new SaaS merchant that appeared in the past 30 days should be investigated, categorized, and added to the inventory. This catches shadow IT and unapproved purchases within a month rather than letting them accumulate for a year.

Automated Inventory Building

For teams that want the inventory to build and maintain itself automatically, SubScrub connects to your financial data and maintains a living SaaS inventory - automatically discovering new tools as they appear in transactions, resolving merchant names to products, and alerting you to changes. The goal is eliminating the manual maintenance burden that causes most spreadsheet-based inventories to go stale within 90 days.

Staleness warning: The most common failure mode for SaaS inventories is not bad initial data - it is good initial data that goes stale. If you build a complete inventory but do not update it when employees join, leave, or purchase new tools, you will have a false sense of completeness within 60 days.