Locations

Resources

Careers

Contact

Contact us

Microsoft EA Negotiation Preparation

Internal Audit: Assessing Your Current Microsoft Licensing

Internal Audit: Assessing Your Current Microsoft Licensing

Internal Audit

Introduction: Why an Internal Audit Matters

Every upcoming Microsoft Enterprise Agreement renewal is a high-stakes negotiation. Microsoft’s sales team will arrive armed with detailed data on your usage and a mandate to upsell more products and higher-tier plans.

To level the playing field, you need to know your own licensing environment inside out – before they do. Conducting an internal audit of your Microsoft licenses puts the power back in your hands, ensuring you’re not flying blind against a well-prepared vendor. Read our overview of Microsoft EA Negotiation preparations.

An internal audit is essential because it identifies exactly where you’re overspending, where you might be under-licensed, and where you have leverage to push back.

Microsoft often operates on an upsell model, encouraging customers to adopt premium bundles (such as upgrading from E3 to E5 or adding new add-ons) whether they need them or not.

By auditing first, you can spot unused licenses (“shelfware”) that quietly drain your budget and flag any compliance risks lurking under the surface.

The result is a clear picture of your current state – one that can save you money and strengthen your position when it’s time to negotiate. In short, audit first, negotiate later for a smarter, leaner Microsoft agreement.

1. Inventory All Licenses

The first step in an internal audit is to take stock of all the resources you have. You can’t optimize what you haven’t identified. Create a comprehensive inventory of all Microsoft licenses and entitlements owned by your organization.

This includes cloud subscriptions, on-premises licenses, and any special entitlements from past agreements. Be thorough: Microsoft offers a sprawling portfolio (Microsoft 365, Azure, Windows Server, SQL Server, Dynamics 365, and more), so make sure nothing is overlooked.

Key actions for inventorying your licenses include:

  • List all Microsoft 365 subscriptions: Document the count and type of each user license (e.g., Office 365 E1/E3/E5, F3 frontline, EMS, etc.) and any add-on licenses (Power BI Pro, Visio, Project, Audio Conferencing, etc.). Use the Microsoft 365 admin center to export license assignment reports to ensure your list is accurate.
  • Gather Azure usage and subscriptions: Inventory your Azure subscriptions and note your consumption levels, as well as any pre-committed Azure spend outlined in your enterprise agreement. While Azure isn’t licensed per “seat,” it’s part of your Microsoft contract – list current Azure services in use and their spend rates.
  • Include on-premises software licenses: Collect information on traditional licenses under your EA or other Microsoft agreements – for example, Windows Server, SQL Server (by core or CAL model), Exchange/SharePoint servers, client access licenses (CALs), Visual Studio, or any perpetual licenses you still utilize. Check your purchase records and deployment logs (or use tools like SCCM) to map what on-prem software is deployed versus what licenses were purchased.
  • Account for all purchase records and true-ups: Reconcile your inventory against procurement records to ensure accuracy. Include any licenses added mid-term via true-ups, additional orders, or separate contracts. Your EA True-Up reports and Microsoft license statements are a good reference to verify that your internal list matches what Microsoft has on file.
  • Track Software Assurance and upgrades: Note which licenses carry Software Assurance or are part of bundles. This can impact how you count entitlements (e.g., a Windows Server license with SA might allow version upgrades or flexible use rights that you should factor in).

After compiling this master list, validate it by cross-checking with both your IT asset management systems and procurement records. This double validation ensures that no license purchase or deployment is missed. The goal is to have a single source of truth for all Microsoft licensing assets within your organization.

Checklist:

  • Has the full inventory been validated against procurement and IT records?

Read more, Setting Goals and Leverage for Your Microsoft EA Negotiation.

2. Identify Underused or Redundant Licenses (Shelfware)

With a complete inventory in hand, the next objective is to pinpoint where you’re over-licensed. Any license that isn’t being actively used or fully utilized is essentially wasted spend – often referred to as “shelfware.”

Shelfware commonly accumulates over a multi-year agreement: employees leave or change roles, projects end, or you bought more licenses than you ended up needing. Now is the time to shine a light on these underused or redundant licenses.

Start by analyzing usage data for each license type to find obvious candidates for reduction:

  • Spot inactive user licenses: Identify users who have licenses assigned but haven’t been active for a long period (e.g., no logins in 30, 60, or 90 days). These could be former employees or test accounts that no longer require a paid license. For instance, if 50 employees left last year and their Office 365 accounts remained licensed, that’s 50 licenses providing zero value. Remove or reassign them immediately.
  • Identify over-provisioned users: Search for users on a higher-tier license who don’t fully utilize it. A classic example is a user with a Microsoft 365 E5 subscription who only ever uses email, Teams, and Office apps – features that a cheaper E3 (or even E1) license covers. Such cases represent partial waste: the user needs a license, but not the top-shelf one they have. Downgrading them would cut costs without impacting their work.
  • Unused add-ons and extras: Check if you have add-on licenses or separate products that are assigned broadly but used sparingly. Common culprits include Visio, Project, Power BI Pro, or Audio Conferencing licenses. It’s not unusual to discover that, for instance, out of 100 Visio licenses assigned, only 10 people have actually opened Visio in the last 3 months. Those other 90 licenses are prime shelfware to eliminate or scale down to the true demand.
  • Redundant or overlapping services: Sometimes organizations buy functionality that overlaps. For example, you might have a third-party security solution while also paying for a comparable Microsoft security add-on as part of a bundle. Or perhaps multiple analytics tools with overlapping capabilities. Identify these overlaps – it may make sense to drop one in favor of the other rather than paying twice for the same outcome.
  • Check for duplicate assignments or misassignments: Ensure that no user has multiple licenses serving the same purpose (e.g., two different Office 365 plans assigned to one person due to an IT oversight). Additionally, check if service accounts or shared mailboxes are unnecessarily consuming licenses – many of these can be converted to license-free alternatives if they don’t require full functionality.

A helpful way to present your findings is to create a table that maps each license type to its corresponding usage. This helps quantify the gap between what you’re paying for and what’s actually used:

License TypeAssigned CountActive Usage (actual use)Optimization Opportunity
Microsoft 365 E5 (suite)500 licenses~300 users actively using E5-only featuresDowngrade ~200 users to E3; eliminate unused premium features
Visio Plan 250 licenses10 regular Visio usersReclaim or do not renew 40 licenses that have no activity
Power BI Pro200 licenses120 active users/monthEliminate 80 unused licenses or shift to on-demand assignment as needed

In the example above, the organization assigned 500 E5 licenses, but only around 300 users actually utilize the advanced E5 features (such as Power BI Pro, Advanced Threat Protection, or Teams Phone). The optimization opportunity is to downgrade roughly 200 of those users to E3 licenses, thereby immediately eliminating the unnecessary cost. Similarly, Visio and Power BI show clear surplus where licenses can be reduced to better match actual usage.

By highlighting all such instances of shelfware, you can quantify how much of your current spend is effectively wasted. Each underused license flagged is an opportunity to save money – either by reallocating it to someone who truly needs it or by eliminating it at renewal.

Checklist:

  • Have you flagged all underused SKUs for reallocation or removal?

3. Assess Compliance Position

While hunting for unused licenses, it’s equally important to ensure that everything in use is properly licensed. An internal audit should double-check your compliance position: are there any areas where you’re using more than you’re entitled to?

Microsoft’s rules can be complex (especially for server software and indirect usage), and you do not want to be caught out of compliance during a true-up or, worse, an official audit. Identifying potential non-compliance now allows you to quietly fix it on your terms, rather than scramble under Microsoft’s spotlight later.

Steps to assess and shore up your compliance:

  • Compare entitlements to deployments: For each major product, align what you have purchased with what is deployed or consumed. For example, if your license entitlements allow for 100 installations of SQL Server Enterprise but your IT inventory shows 110 instances running, that’s a compliance gap. Similarly, if you have 500 Office 365 E3 licenses purchased but created 520 active user accounts, you’re 20 over your license count. Pinpoint all such discrepancies.
  • Check Client Access License (CAL) requirements: If you use on-premises Microsoft servers (Windows Server, SQL Server in CAL model, Exchange, SharePoint, etc.), ensure you have the appropriate CALs for every user or device accessing those servers. CAL compliance is a common blind spot. Remember that access can be direct or indirect (through a third-party system or a middleware). Microsoft’s licensing terms require a CAL for any access, regardless of the method, so ensure your CAL headcount covers all active employees/devices that connect to those systems.
  • Review virtualization and cloud use rights: Ensure your usage of virtualization (like running multiple VMs on a host with Windows/SQL Server) aligns with the licenses you have (e.g., Windows Server Datacenter edition covers unlimited VMs on a host, but Standard edition does not – are you licensed appropriately for your virtual machine footprint?). For SQL Server, if you’re using it in a virtual environment or in Azure, check if you need hybrid use benefits or if you’ve exceeded core allocations.
  • Identify indirect usage scenarios: Consider whether any non-human or external processes might be utilizing your Microsoft software. For instance, if you have an external web portal that pulls data from an internal SQL database, technically, those external users might require licensing (this is often termed “multiplexing” or indirect access). Similarly, if a third-party application writes data to Dynamics 365, those interactions might need a license. Flag these scenarios and consult your licensing terms to ensure you’re covered, or plan to adjust if not.
  • Document any shortfalls and remediate: If you do find areas of non-compliance, determine the magnitude (how many licenses are short) and have a plan to address it. You may decide to purchase additional licenses to become compliant before Microsoft forces the issue, or you might correct the usage (reduce deployments, remove unlicensed users, etc.). Taking care of it now means it won’t derail your negotiation later.

By the end of this compliance check, you should have confidence that all active usage is within the bounds of your entitlements. This serves two important purposes. First, it avoids unpleasant surprises – you don’t want Microsoft’s team to uncover a compliance issue that puts you on the defensive during negotiations. Second, it ensures any growth plans you negotiate for are built on a clean, legal foundation. It’s much easier to negotiate for future needs when you’re not also dealing with a past compliance mess.

Checklist:

  • Compliance confirmed across key product families? Any high-risk gaps escalated?

4. Analyze Usage Trends

Having a snapshot of current usage and licenses is vital, but equally important is understanding the trendline: how did you get here and where are you going?

Microsoft’s negotiators often forecast rosy growth in your usage to justify larger commitments.

By analyzing your own historical usage and realistic future needs, you can counter those assumptions with facts. This ensures you only renew what you truly need over the next term, rather than accepting a bloated forecast.

Here’s how to analyze your usage trends in preparation for renewal:

  • Review historical license counts: Examine the past 2-3 years of your Microsoft 365 user counts and other relevant license metrics. Did the number of users with Office 365 licenses grow significantly, or has it leveled off? For example, if you increased from 1,000 to 1,200 licenses over the last three years due to company growth, that represents approximately a 6% annual growth rate. Use that as a baseline for future expectations (adjusting for any planned hiring sprees or reductions). If growth has flattened recently, that’s evidence you might not need many additional licenses next term, contrary to what Microsoft might project.
  • Examine Azure consumption patterns: Azure usage can fluctuate with projects, so analyze the data closely. Identify trends in your monthly or quarterly Azure spend. Are costs doubling every year, or did they spike and then come down after a migration was completed? Distinguish one-time project-related spikes from sustained growth. For instance, you might find that a big cloud project drove up Azure costs for a few months, but in the future, it will normalize. Such insight prevents you from committing to an unnecessarily high Azure spend based on an outlier period.
  • Assess the adoption of new products: If your organization has recently rolled out new Microsoft services (such as Dynamics 365 modules, Power Platform apps, advanced security or compliance features), evaluate how widely they’re being used. It’s common for Microsoft to offer bundles that include these, anticipating that you’ll expand your usage. Check the reality: maybe only one department is testing Power BI, or a handful of users trialed Dynamics. If the actual adoption is small, you can question whether you need a large increase (or any increase) in those areas. Align license counts with the proven adoption, not marketing aspirations.
  • Correlate with business plans: Engage with your business stakeholders to understand the coming years. Are you opening new offices, going through a merger, or planning a hiring surge? That could mean more licenses needed. Conversely, are there efficiency initiatives, potential layoffs, or shifts to non-Microsoft solutions in some areas? That could mean stagnation or a reduction in licenses. By tying license needs to concrete business events (e.g., “we expect 5% headcount growth next year” or “we plan to move some workloads to a third-party platform”), you create a realistic forecast.
  • Challenge Microsoft’s growth assumptions: Often, Microsoft might suggest something like “you should increase your Office 365 commitment by 20% for growth and new services.” Don’t accept this blindly. If your analysis indicates a growth rate of 5-10% at most, stick to your data. Likewise, if they push the idea that you’ll want to upgrade a majority of users to E5 for security and AI features, but your internal feedback says only a small IT group will use those, plan accordingly. Use your usage trend evidence to counter one-size-fits-all upsell arguments.

By analyzing trends, you transform the negotiation from a sales pitch into a fact-based discussion. You can say, “Our user count has only grown 5% annually, so we’re comfortable committing to 5-10% more licenses, not the 25% Microsoft suggests.” Or, “We’ve tracked our Azure usage and plan, and we’ll commit to X dollars based on those numbers, but anything beyond that we’ll handle with pay-as-you-go if needed.” This data-driven approach prevents over-commitment. It also shows Microsoft that your team has done its homework, making it harder for them to inflate your requirements without challenge.

Checklist:

  • Have growth trajectories been validated and tied to business plans?

5. Optimize Before Negotiation

With all the insights gathered from the audit, the final preparatory step is to take action and optimize your license usage before you enter negotiations. The idea is simple: why negotiate (and pay) for a bunch of licenses you don’t actually need?

By cleaning up now, you ensure the contract renewal starts from the leanest possible baseline. Remember, once you sign a new 3-year agreement, you’ll be largely committed to those quantities – you can always increase them if needed (and pay more). Still, you typically cannot decrease committed licenses until the next renewal. Therefore, any excess left in your estate now would become a fixed cost for years to come. Better to eliminate that waste upfront.

Key optimization moves to execute before negotiation:

  • Reclaim and reassign licenses immediately: For every user identified in the audit who no longer needs a license – remove it. This includes deprovisioning accounts of former employees, converting certain accounts to license-free alternatives (such as shared mailboxes), and generally freeing up any licenses not actively used. Not only does this prevent you from paying for these again, it also updates Microsoft’s systems to show fewer active assignments (which influences how they view your renewal needs).
  • Downgrade high-cost licenses where justified: If you’ve pinpointed users on expensive licenses (E5, Dynamics 365 Enterprise, etc.) that could suffice with a lower tier, initiate a downgrade plan. In some cases, you might execute this at renewal time (if your agreement terms require waiting), but at a minimum, have it approved internally and ready. For cloud subscriptions that allow flexibility, you might start downgrading in the portal ahead of renewal so that by the time negotiations happen, you’re already on a lower count of premium licenses. This directly reduces your renewal quote.
  • Eliminate unused products and add-ons: Make decisions on any products that showed little to no usage. If nobody is using a certain add-on or service, plan to cut it from the renewal. For example, if your audit reveals that a Dynamics 365 module was purchased for 50 users but only five users use it, consider removing it entirely or reducing it to just those 5. The same applies to features like extra compliance, analytics, or telephony features that come as part of bundles – if they’re not needed, don’t continue paying for them.
  • Address compliance gaps proactively: Should your compliance review have uncovered any shortfalls (e.g., you were 10 SQL Server licenses short), resolve it now rather than carrying it as a liability into the negotiation. You might purchase a small number of licenses to become compliant or adjust usage as needed. By doing this quietly and ahead of time, you avoid the scenario where Microsoft’s team uses a compliance issue as leverage to force an upsell or penalty during renewal discussions.
  • Optimize cloud resource usage: Beyond license counts, consider tuning your Azure environment or other metered services for efficiency. If you identified idle VMs, oversized instances, or unused cloud services, shut them down or right-size them. This could lower your Azure spending baseline, which in turn affects what Microsoft will try to target for your next Azure commitment. Show that you’ve trimmed the fat – it signals that you won’t pay for inefficiency.
  • Document all changes and establish a new baseline: As you execute these optimizations, update your inventory and records accordingly. Know exactly what your post-cleanup license counts are for every product. This is the baseline you will use in negotiations. It should be significantly leaner than when you started the audit. Having this documented also means you can clearly explain to Microsoft any differences between what they saw last year and what you need now (“We reduced 200 unused licenses through internal efficiencies”). It puts you in control of the narrative.

By optimizing before negotiation, you essentially walk into the renewal meeting with a clean house.

You’re no longer negotiating to pay for yesterday’s inefficiencies. Instead, you can focus the discussion on the future – the new projects and value you actually plan to get from Microsoft – without the baggage of unused licenses inflating the deal.

This proactive cleanup can sometimes reduce your renewal quantities (and costs) by double-digit percentages, directly translating into savings. It also demonstrates to Microsoft that you are a savvy customer who won’t fall for the “blanket renewal” of everything you had before.

Checklist:

  • Shelfware eliminated? Is the optimized baseline confirmed before Microsoft sees it?

Read more about our Microsoft EA Negotiation Service.

Microsoft EA Negotiation Planning How to Prepare & Gain Leverage

Would you like to learn more about our Microsoft EA negotiation services?

Name

Author

  • Fredrik Filipsson

    Fredrik Filipsson is the co-founder of Redress Compliance, a leading independent advisory firm specializing in Oracle, Microsoft, SAP, IBM, and Salesforce licensing. With over 20 years of experience in software licensing and contract negotiations, Fredrik has helped hundreds of organizations—including numerous Fortune 500 companies—optimize costs, avoid compliance risks, and secure favorable terms with major software vendors. Fredrik built his expertise over two decades working directly for IBM, SAP, and Oracle, where he gained in-depth knowledge of their licensing programs and sales practices. For the past 11 years, he has worked as a consultant, advising global enterprises on complex licensing challenges and large-scale contract negotiations.

    View all posts