Optimizing Microsoft 365 Licenses for MSPs | Junto

Written by Reed Watne | Apr 21, 2026 1:06:54 AM

Somewhere in your client base right now, there are Microsoft 365 licenses assigned to users who left the company months ago, Business Premium licenses on accounts that only use email, and E5 subscriptions where E3 would cover everything the user actually needs. These wasted licenses don’t generate tickets. Nobody complains about them. They just quietly bill every month, adding up to thousands of dollars in unnecessary spend across your managed clients.

For MSPs, license optimization isn’t just about saving clients money — though that matters. It’s about demonstrating value, strengthening client relationships, and creating the kind of proactive insight that differentiates a strategic IT partner from a reactive help desk. The MSP that walks into a QBR with a concrete cost-saving recommendation earns more trust than one that only shows up when something breaks.

Where M365 License Waste Hides

License waste isn’t a single problem — it’s several related issues that compound across a client base.

Orphaned Licenses

An employee leaves, and their M365 license stays active. Maybe the offboarding process missed the license removal step. Maybe the account was disabled but the license wasn’t reclaimed. Maybe the client asked to keep the mailbox active “temporarily” six months ago and nobody followed up.

At $12-57 per user per month depending on the plan, a handful of orphaned licenses per client adds up fast. Across 50 managed clients, it’s not uncommon to find tens of thousands of dollars in annual waste from orphaned licenses alone.

Over-Provisioned Plans

Not every user needs Business Premium or E3. The receptionist who only uses email and Teams doesn’t need the same license as the power user running Power BI and SharePoint workflows. But during onboarding, it’s easier to assign the same license to everyone than to evaluate each user’s actual needs.

Over time, this convenience creates systematic over-provisioning. A client with 100 users might have 80 on Business Premium when 50 of them could be on Business Basic — a difference of thousands of dollars per year.

Unused Services Within Licenses

Even correctly provisioned licenses may include services nobody uses. A client paying for E5 to get phone system capabilities might not have enabled the calling plans. A Business Premium license includes Intune, but if you’re managing devices through NinjaOne, that capability goes unused.

This is harder to optimize because the solution might be bundling — E3 plus a standalone calling plan might be cheaper than E5 — and those calculations depend on the specific mix of services the client actually uses.

Shared Mailbox Licenses

Shared mailboxes in M365 don’t require a license unless they exceed 50 GB or need archive capabilities. But many MSPs (or their predecessors) assigned licenses to shared mailboxes as a default. These are among the easiest waste to find and eliminate.

The Traditional Way: Spreadsheets and Manual Audits

Most MSPs handle license optimization through periodic manual audits. An account manager or technician exports the license report from M365, cross-references it with the client’s employee list, identifies discrepancies, and builds a recommendation.

This process works, but it has significant drawbacks:

It’s time-consuming. A thorough audit of one client takes 1-2 hours. Across your entire client base, it’s a multi-day project that competes with billable work for technician time.

It’s infrequent. Because it’s time-consuming, it happens quarterly at best — often only during QBR prep. Waste accumulates between audits.

It misses cross-client patterns. A manual audit examines one client at a time. It doesn’t easily surface patterns like “we’re over-provisioning Business Premium across all clients” or “our onboarding process consistently assigns E3 when E1 would suffice.”

It doesn’t connect to Pax8 billing. The M365 admin center shows what’s assigned. Pax8 shows what you’re paying for. Reconciling the two requires yet another manual step.

Using Junto for License Optimization

Junto’s General Assistant connects to both Microsoft 365 and Pax8, which means you can query license data, usage data, and billing data from a single conversation. No swiveling between portals.

Finding Orphaned Licenses in One Question

“Which users across all clients have M365 licenses but haven’t signed in for more than 90 days?”

Junto queries M365 sign-in activity across your managed tenants and returns a list of inactive accounts with their assigned licenses and last login dates. Cross-referencing with ConnectWise shows whether these users have open tickets (suggesting they’re active but not using M365) or no recent activity at all (suggesting they’ve left).

Identifying Over-Provisioning

“Show me users on Business Premium or E3 who have only used Exchange and Teams in the past 60 days.”

This surfaces users whose actual usage doesn’t justify their current license tier. The General Assistant can estimate the savings from downgrading — “Moving these 45 users from Business Premium to Business Basic would save $540/month across 3 clients.”

Reconciling with Pax8

“Compare our Pax8 M365 subscription counts with actual assigned licenses for each client.”

This catches the gap between what you’re buying from Pax8 and what’s actually assigned. If you’re paying for 50 Business Premium licenses but only 43 are assigned, you’re paying for 7 unused seats. If you have 50 assigned but only purchased 45, someone’s using licenses you’re not billing for — a different problem, but equally important.

Building the QBR Recommendation

“Generate a license optimization summary for Baker & Associates with current spend, recommended changes, and projected savings.”

The General Assistant pulls current license assignments, usage data, and Pax8 billing to build a structured recommendation:

  • Current state: 85 licenses across 3 tiers, $4,200/month
  • Recommended changes: Downgrade 12 users from Premium to Basic, remove 4 orphaned licenses, convert 3 mailboxes to shared
  • Projected savings: $680/month ($8,160/year)
  • Affected users listed with current and recommended license tiers

That’s a QBR-ready recommendation generated in seconds, not hours.

Turning Optimization Into a Recurring Conversation

License optimization isn’t a one-time project — it’s an ongoing process. Users leave, roles change, new services get adopted, and Microsoft regularly adjusts pricing and plan features.

The MSPs that extract the most value from license management treat it as a recurring service:

Monthly Checks

Set up a monthly cadence where Junto scans for orphaned licenses and usage anomalies. Flag these for account managers to include in their client communications. A quick “we saved you $200 this month by catching unused licenses” email builds trust and demonstrates ongoing value.

Onboarding Standardization

Use Junto to verify that new user provisioning matches the client’s approved license matrix. When a technician provisions a new user, the General Assistant can check whether the assigned license aligns with the user’s role — catching over-provisioning at the source rather than during a quarterly audit.

Offboarding Verification

Integrate license reclamation into your offboarding runbook. When a user is offboarded, the runbook verifies that their license was reclaimed and flagged for reuse or cancellation. No more licenses slipping through the cracks because the offboarding process was incomplete.

Annual True-Up

Once a year, run a comprehensive analysis across all clients. Compare current licensing with actual usage, evaluate whether newer Microsoft plan options offer better value, and present a portfolio-wide optimization report. This is the kind of strategic insight that earns MSPs a seat at the business strategy table, not just the IT table.

The ROI Conversation

When you present license optimization savings to a client, you’re not just saving them money — you’re demonstrating that you’re actively managing their technology investment, not just keeping the lights on.

A client who sees “$8,000 per year in unnecessary M365 spend” identified and resolved isn’t going to shop around for a cheaper MSP. They’re going to trust that you’re looking out for their interests — which is exactly the relationship every MSP wants.

The tools to find this waste already exist in your stack. The data is in M365 and Pax8. What’s been missing is a way to query it efficiently, reconcile it across tools, and present it as actionable recommendations without burning hours of technician time.

Find your clients’ unused licenses in one conversation. Connect M365 and Pax8 to Junto and see the savings. Explore the integration documentation for setup details.