Enterprises are bleeding money on Microsoft 365 licensing. Not because the service is expensive—but because they're paying for seats that nobody uses. A 5,000-user EA with unchanged baseline counts from two years ago typically harbours 600–900 redundant licence assignments. The people who occupied those seats have left. Their roles have shifted. But the subscription count never adjusted. And now, at renewal, the customer will be asked to confirm a 3-year commitment built on outdated data.

This is not inevitable. Licence harvesting—the systematic identification and recovery of assigned-but-unused M365 licences—recovers 15–35% of overpaid spend across most enterprise portfolios. The process is methodical, contractually sound, and grounded in hard data.

15–35%
Average M365 cost overrun in mature EAs. A typical 5,000-seat org recovers 600–900 unused licence assignments and £268,000–£402,000 annually.

The Overpayment Problem

Most enterprises inherit their M365 licence baseline from a procurement event three or more years ago. The initial count was often conservative—designed to accommodate future hires, departmental expansion, and margin for error. But licence management post-purchase is typically fragmented across IT operations, HR, and purchasing. When employees depart, their accounts are disabled but not always unlicensed. When roles shift, nobody adjusts the SKU. When services go live and uptake lags, the baseline count was already baked into the EA.

The CFO sees only the commit: "We've budgeted for 5,000 users. We'll pay for 5,000 users." And IT, constrained by time and resources, lacks visibility into whether those 5,000 are actually active.

The data tells a different story. Microsoft's own usage analytics show that in a typical 5,000-seat EA, 80–85% of accounts have some monthly activity. The remaining 15–20% are assigned but inactive: disabled accounts, service accounts set up years ago, users who accepted a licence but never activated, test accounts that were never retired. At a more granular level, SKU misalignment is even more prevalent. Organisations license 40–50% of their user base on E5 when they only use E3-level features.

Over a 3-year EA term, that compounds. At typical per-user-per-month (PUPM) pricing of £21–£28, a 700-licence inefficiency across an all-E3 estate adds £176,400–£235,200 to the commitment. A 300-licence E5 overallocation adds another £75,600–£100,800. The total: hundreds of thousands of pounds—often more than the savings achieved through the EA discount itself.

What Licence Harvesting Actually Means

Licence harvesting is not licence cancellation. It's not breach of contract or aggressive cost-cutting that leaves the business vulnerable. It's right-sizing: the active identification and recovery of licences that are genuinely redundant, followed by an honest restatement of the true subscription baseline at renewal or true-up.

Harvesting separates four distinct categories of waste:

Redundant Assignments

Users who have departed the organisation but remain assigned a licence. An account marked "disabled" in Active Directory but still holding an M365 licence assignment is a straightforward recovery—no user, no seat required.

Over-Provisioned SKUs

Users assigned E5 (or E3) who never consume features beyond E1 (or E3). A user with E5 who checks email, uses Teams, and accesses shared documents—but never touches Copilot, Advanced Threat Protection, or Analytics—is using an E3 licence. The SKU downgrade to the appropriate tier recovers licence overhead without service loss.

Unactivated Licences

Assigned but never onboarded. A user with an M365 licence who has never logged in, never synced OneDrive, and shows no sign-in activity for 90+ days. These are straightforward candidates for unassignment.

Orphaned Service Accounts

Service accounts, test accounts, and shared mailboxes assigned full M365 licences when they require only mailbox or library access. These can often be reassigned to cheaper shared services or licenses with narrower scope.

None of these categories involve removing a licence from an active, productive user. The business suffers no service degradation. Users see no change. The organisation simply stops paying for what it isn't using.

Finding the Waste: Your Data Sources

Licence harvesting is data-driven. You cannot harvest blind. Here are the authoritative sources:

Microsoft 365 Admin Center & Usage Analytics

The M365 Admin Center surfaces last activity dates for every licensed user and the Copilot dashboard shows actual feature consumption. Export user lists with last sign-in, mailbox activity, OneDrive sync, and Teams usage. This is your primary source of truth for inactivity detection. The 90-day threshold is standard: no activity in 90 days signals a candidate for review.

Entra ID (formerly Azure AD) Sign-In Logs

Pull the full sign-in audit for the past 180 days. Filter on your M365 application (Office 365) and identify users with zero successful sign-ins. Cross-reference these with your HR termination log. Disabled accounts with no sign-in activity are automatic candidates.

Azure AD Audit Logs

Review licence assignments and group membership changes over the past 12 months. Identify bulk assignments (often campaign-based) and spot-check their current activity status. Audit logs also show when licences were assigned to accounts that were already disabled or marked for deletion.

PowerShell: Get-MsolUser & Get-AzureADUser

Query the directory directly. Export all users with their assigned SKUs, last sign-in date, and disabled status:

PowerShell Commands

Get-MsolUser -All | Select DisplayName, SignInName, LastDirSyncTime, Licenses, BlockCredential gives you full assignment status. Use Get-AzureADUser -Filter "UserState eq 'Deleted'" -All to find soft-deleted accounts still assigned licences.

M365 Usage Analytics (Power BI)

The Usage Analytics dashboard (available in M365 Admin Center) breaks down per-product feature utilisation: Exchange, OneDrive, Teams, SharePoint, etc. Use this to identify which users have E5 but never touch the advanced security, compliance, or analytics features that justify the premium.

The 6-Step Harvesting Process

Once you've identified waste, execute harvesting in waves. Rushing risks business disruption. A methodical approach builds confidence and prevents unintended licence removal.

Step Owner Duration Output
1. Export & Cross-Reference IT/Licensing Admin 1 week Master list of all licence assignments with last activity, joined to HR termination and org structure data
2. Cross-Reference with HR Licensing + HR Ops 2 days Identification of departed users still holding licences; confirmation of org chart accuracy
3. Identify Over-Provisioned SKUs IT/Licensing Admin 1 week Segmentation of users into usage tiers; downgrade candidates identified (E5→E3, E3→E1, etc.)
4. Department Validation Department Heads 2 weeks Confirmation or challenge of harvest list; risk flagging for users in sensitive roles
5. Recover Licences in Waves IT/Licensing Admin 4 weeks Staged removal and SKU downgrade; 72-hour hold on unassignment for rollback
6. Quantify at Renewal Procurement + Finance Ongoing New baseline count documented; savings applied to true-up credit or renewal negotiation

Step 1: Export All Licence Assignments with Last Activity

Pull the complete user roster from M365 Admin Center and Entra ID. Include:

  • User principal name (UPN) and display name
  • Assigned SKUs (all products)
  • Last sign-in date (Entra ID)
  • LastMailboxActivity (Exchange audit logs)
  • OneDrive sync date
  • Teams activity (last message, call, or file access)
  • Account disabled status (yes/no)
  • Last directory sync (hybrid/cloud-only indicator)

Step 2: Cross-Reference with HR Termination Data

Obtain the complete list of employee departures from HR for the past 18 months. Match against licence holders by name and email. Any hit is automatic: a departed user still assigned a licence is clear recovery. Often, 40–60% of the initial harvest list comes from this step alone. It's also the lowest-risk category: nobody argues that a departed employee should retain a licence.

Step 3: Identify Over-Provisioned SKU Users

Segment users by assigned SKU and cross-reference with actual feature usage. Users with E5 who have never activated Teams Phone, Advanced Security, Copilot Pro, or eDiscovery are candidates for E3 downgrade. Users on E3 with no Exchange, OneDrive, or Teams activity might be candidates for E1. Use the Usage Analytics dashboard to quantify the distance between assigned tier and actual consumption.

Step 4: Validate with Department Heads

Do not remove licences based on IT opinion alone. Present the harvest list (anonymised, grouped by department) to department heads and business leaders. They know if a user is on maternity leave, sabbatical, or phased retirement. They know if a low-activity user is actually a key decision-maker who works offline most of the time. This step catches false positives and builds stakeholder buy-in. It's also your insurance: if a department head explicitly confirms that a user should retain a licence, and you remove it anyway, that's on IT. If they sign off, it's a business decision and IT executed the plan.

Step 5: Recover Licences in Waves

Don't rip off the band-aid. Execute removals and downgrades in small cohorts over 4 weeks. Start with departed users (lowest risk), then move to over-provisioned SKUs, then unactivated accounts. Monitor for support tickets, unexpected service impact, and user complaints. Implement a 72-hour "undo" window for each wave: if a critical user was accidentally harvested, you can restore them without business loss.

Step 6: Quantify at Renewal

Document the new baseline count. This is your renewal or true-up baseline—the honest number of active, appropriately-sized users your organisation requires. Feed this into renewal negotiation or true-up reconciliation with Microsoft.

Quantification: The Financial Case

Here's where harvesting justifies the effort. Let's assume a realistic scenario: a 5,000-user EA with mixed E3 and E5 allocation.

Redundant Assignments (700 users)

700 × £24/user/month

£16,800/month = £201,600/year from departed users still holding licences.

E5→E3 Downgrade (300 users)

300 × £8/user/month differential

£2,400/month = £28,800/year from SKU right-sizing of over-provisioned premium users.

Unactivated Accounts (150 users)

150 × £24/user/month

£3,600/month = £43,200/year from never-activated assigned licences.

Service Account Consolidation (50 accounts)

50 × £18/account/month

£900/month = £10,800/year from reassigning full M365 licences to shared mailboxes or standalone Exchange.

Total Annual Recovery: £284,400 from a single harvesting project. Over a 3-year EA, this is £853,200 in avoided spend—or the leverage to renegotiate the 3-year commitment baseline, directly reducing the fixed annual cost.

If your organisation has 10,000+ users, multiply these numbers. If you have a higher E5 allocation, the E5→E3 differential is larger. Either way, harvesting is typically a six-figure annual recovery in any mid-market or enterprise organisation.

True-Up vs Renewal: Where the Harvested Licences Live

This is critical contractual nuance. How you apply harvested licence reductions depends on your renewal timeline.

True-Up Scenario

If you're mid-contract and harvest 800 licences, those 800 become a true-up credit at the next true-up event (usually annually). The true-up reconciles your current seat count against your commit baseline. If you've harvested 800, your true-up liability is calculated on 4,200 users instead of 5,000. This reduces your true-up payment. Example: a true-up at standard PUPM rates might have charged £4,000/month for 800 excess users. Harvest those 800, and you avoid that £4,000/month charge—effectively a credit.

Renewal Scenario

If you're approaching EA renewal, harvested licences become your new baseline commitment. Instead of renewing 5,000 users (and re-confirming the overpay), you renew 4,200. The 3-year fixed cost is now calculated on 4,200, not 5,000. Over three years, this is a multiplicative saving: (5,000 − 4,200) × £24 × 12 × 3 = £691,200 (before true-up step-downs or volume rebates).

Know which scenario applies to you. If renewal is within 12 months, harvesting directly reduces your 3-year commitment. If renewal is 2+ years away, harvesting creates true-up credits in the interim.

Microsoft's Counter-Arguments and How to Navigate Them

Microsoft won't celebrate your harvesting project. The vendor's incentive is to keep baseline counts high and the commitment static. Expect these objections—and here's how to address them:

Objection 1: "Your Commitment Includes Committed Quantities"

Microsoft will claim you've committed to 5,000 users for three years and harvesting violates that. This is contractual sophistry. Your EA commits to paying for assigned seats—it doesn't commit you to assigning licences to inactive accounts or over-provisioned users. The contract commits you to the baseline; your organisation commits to justifying that baseline. If your baseline is outdated, it's not enforceable. Push back: "We're aligning actual assignments with active usage. The commitment was to pay for active, appropriate-tier users. That's what we're delivering."

Objection 2: "EA Renewals Include Step-Down Limits"

Some EAs include language capping annual seat reduction to a percentage (e.g., "no more than 5% annual step-down"). If your harvest exceeds that, Microsoft will claim overage fees apply. This is a real contractual constraint, but it's negotiable. If you're mid-contract, you can harvest freely up to the step-down limit, then carry the remainder forward for the next year or true-up. If you're at renewal, the step-down constraint typically lifts: you're re-baselining the entire agreement.

Objection 3: "True-Ups Have a Minimum Floor"

Some EA terms include a minimum true-up liability—e.g., "annual true-up charges shall not fall below 10% of annual commit." If you harvest so aggressively that your true-up liability drops below the floor, Microsoft applies the floor. This is rare, but it exists in some older EAs. Review your true-up terms. If you're facing this, it's a negotiation point at renewal: floors that discourage right-sizing should be removed.

The overarching principle: harvesting is defensible, legal, and contractually sound. You're not breaching your EA—you're fulfilling it honestly. A good licensing attorney will back you. And if Microsoft pushes back with undefined "commitment" language, that's a sign your EA is poorly drafted and should be renegotiated at renewal.

Get Your Licence Audit
Identify hidden savings in your M365 estate. Our 20-year licensing team will benchmark your assignments against actual usage and quantify your harvest opportunity.
Request Audit

Tools for Ongoing Governance

Harvesting is not a one-time project. Organisations accumulate new users, lose others, and SKU preferences shift. A quarterly licence review cadence prevents creep back into over-allocation.

Native Tools

  • M365 Usage Analytics (Power BI) – Built into Admin Center. Free. Track monthly active users, feature adoption, and user segmentation by consumption tier.
  • Entra ID Sign-In Logs – Native auditing. Zero cost. Definitive source for activity verification and inactivity detection.
  • PowerShell – The most powerful free tool. Query assignment, audit logs, and organisational metadata at scale.

Third-Party Platforms

  • CoreView – Licence analytics and automated right-sizing. Dashboards, tenant health, and governance workflows. Enterprise-class.
  • Juriba – Digital workspace analytics. Maps actual usage patterns and deployment effectiveness. Strong for E5 feature utilisation validation.
  • Aternity – User experience monitoring and digital employee experience. Identifies when users have licences but aren't actively productive.
  • SailPoint IIQ – Identity governance and access lifecycle management. Automates licence assignment and de-provisioning tied to HR events and role changes.

If you're harvesting at scale (5,000+ users) or your EA is complex (blended SKUs, geographies, purchase orders), third-party tooling usually pays for itself in better visibility and lower manual labour. If you're running a smaller estate with strong Excel discipline, native tools suffice.

Timing and the Renewal Window

The best time to harvest is 8–6 months before your EA renewal. This gives you enough time to identify waste, validate with departments, execute removals, and quantify your new baseline—all before renewal discussions begin. When your licensing account manager asks, "How many seats do you need?" you answer with confidence backed by data, not last year's inflated count.

If you're already at renewal, start the harvest immediately. Most vendors will allow baseline restatement at signing. It's much harder to reduce the baseline during a live three-year commitment.

Key Takeaways

  • Most 5,000+ seat EAs contain 600–900 redundant, over-provisioned, or unactivated licence assignments worth £200k–£400k annually.
  • Licence harvesting is a structured, low-risk process: identify with data, validate with department heads, execute in waves, quantify at renewal.
  • Harvesting is not licence cancellation or contract breach. It's honest baseline restatement grounded in usage truth.
  • Recovered licences create true-up credits mid-contract or baseline reductions at renewal—both reduce your EA cost.
  • Microsoft may push back with "committed quantities" or step-down language, but these are negotiable constraints, not absolutes.
  • Quarterly licence reviews using native tools (Usage Analytics, Entra ID) or third-party platforms (CoreView, Juriba) prevent regression after the initial harvest.
  • The financial case is compelling: a single project often recovers six figures annually and improves your negotiating position at renewal.