You have a renewal date and a number attached to it, and nobody in the building can tell you which of those seats is still doing work. That is the decision this page is about, and it is not a licensing decision. An app was pointed at a premium connector during a short pilot, and every user of that app now needs a premium license nobody put in a budget. Your next renewal number was set by decisions nobody filed as licensing decisions. Premium seats sit with a population that opens a single app and never a second. A department bought seats through its own cost center and never told IT. Dataverse tables that stopped being written to long ago still draw storage in environments nobody closed. No rule was broken anywhere in that sequence. Four mechanisms did the work: a plan tier chosen for administrative convenience, a connector that raised the license floor for every user of its app, a purchase made outside IT, and storage capacity that accrues from the licenses themselves. None of the four is visible in a license report. They are visible in the app, flow and connector inventory in the Power Platform admin center, and in the Center of Excellence Starter Kit inventory if you run one.

What kind of review tells us which Power Platform seats to release at renewal?

You hire a senior Microsoft implementation team to run this as a technology assessment, not an audit firm to run it as an attestation. The qualification that decides the outcome is build experience: whoever runs it has to have split an app and moved a connector before, because that is where the tier is actually set. The work is a license assignment review: an inventory of who holds which Power Apps and Power Automate licenses, matched against what those people actually run, so seats that no longer earn their cost can be reassigned or released at renewal. It produces no opinion, no certification, and no compliance finding, and it is not a financial or contractual audit of your Microsoft agreement. The overspend sits one level below the license list, in the design decision that forced the license: a premium connector, a Dataverse table, or an app boundary drawn one plan tier too wide. Reading the license list will not find it. This page answers at estate scope, across the Power Apps and Power Automate seats and the Dataverse storage they draw; if the seats in question are Power Apps only, that case is answered on Who Do We Hire to Evaluate Power Apps Licensing Options?; if the seats in question are Power Automate only, that case is answered on How Do I Hire a Firm to Assist with Power Automate Licensing Decisions?.

That distinction matters before you write a statement of work. If you ask for an audit and the firm hears attestation, you will get a document that tells you what you already have. If you ask for an assessment, you get the inventory plus the remediation path: which seats to reassign, which app boundary to split, which storage to scope before renewal.

What a license assignment review actually inspects

The engagement is an evidence exercise, not an interview. Ask any candidate firm which of these artifacts they will pull themselves, and which they expect you to produce:

  • The assignment list at source. To confirm which licenses a tenant actually holds, Microsoft’s capacity documentation directs administrators to “sign in to the Microsoft 365 admin center and then go to Billing > Licenses”. That list is the denominator for everything else. A review that starts from a spreadsheet somebody exported last quarter is measuring a tenant that no longer exists.
  • Actual run activity per app and per flow. Unique users, run counts, and last run date, pulled from the Power Platform admin center and from the Center of Excellence Starter Kit inventory if you run it. An assigned seat with no run in ninety days is the cheapest finding in the engagement.
  • Connector inventory per app and per flow. Every premium and custom connector, and every on premises data gateway reference. This is the single most common cause of a license tier nobody chose deliberately.
  • Environment and app boundaries. How many environments exist, who created them, and whether a single wide app is carrying five unrelated processes that could be separated so that only the users of the premium process need the premium plan.
  • Dataverse consumption by environment. Database, file, and log storage, plus which tables and which audit logs are producing the growth.
  • Overlapping entitlements. Users who hold a standalone Power Apps or Power Automate plan and also hold a Dynamics 365 or Microsoft 365 entitlement that already covers the app they run.
  • Purchasing paths outside IT. Seats bought on a departmental card, and trials that converted silently.

The deliverable you want out of this section is unglamorous: one row per assigned license, with the app or flow it exists to support, the last time that app or flow ran, and the cheapest entitlement that would still support it. Everything else in the engagement is argument about that table.

Per app, per user, and pay as you go: where the money decision actually sits

That table decides nothing until you know which of three purchasing shapes each row belongs in. Most overspend is a mismatch between the shape you bought and the way people actually use the apps. The mechanics below are Microsoft’s, published in the Power Apps and Power Automate licensing FAQ and the pay as you go plan overview. Check them against your own agreement, because Microsoft owns these terms and revises them.

  1. Per app is the narrow instrument. Microsoft states that “Power Apps per app allows users to run specific apps.” It fits a population that touches one or two applications and never opens a third. The failure mode is the opposite of overspend: an organization standardizes on per user because it is administratively simpler, and pays a broader entitlement for a population that would have been covered by the narrow one.
  2. Per user is the instrument for builders and heavy consumers. The decision input is not seniority, it is app count and premium dependency. A review should be able to name, per person, how many distinct apps they opened in the last quarter.
  3. Premium connectors override your intent. The Power Apps and Power Automate licensing FAQ is explicit that using “premium connectors in the context of an app requires all users accessing the app to be licensed by either the Power Apps per app or per user plan depending on the customer scenario.” A single connector choice inside a single app therefore sets the license floor for everybody who opens that app. This is why a connector inventory is not an optional artifact.
  4. Power Automate has its own axis. Per user and per flow are different units of account. A process that runs unattended for the whole organization is priced differently from a person who authors and runs their own automations, and the review has to classify every flow as one or the other before it can price anything.
  5. Pay as you go changes the question from how many to how much. Microsoft describes it as “a new way to pay for Power Apps and Power Automate using an Azure subscription, which allows you to get started building and sharing apps without any license commitment or upfront purchasing,” and notes that it “allows you to share apps and Power Automate flows with any user in your organization and then only pay if and when they’re used.” For a long tail of rarely used apps that is often the honest answer, and for a heavily used core app it is usually the expensive one. Deciding which is which requires the run activity from the inventory above.

No credible firm will tell you a tier is correct in the abstract. The output is a decision per population, with the usage evidence attached, so that your licensing team can defend it to procurement without re running the analysis.

Storage is the half of the bill nobody assigned

Seat count is the visible half of the bill. Storage is the other half. It grows without a decision behind it, and it is the finding that most often surprises a team looking at this for the first time.

Microsoft documents the sources of capacity in the storage report. The “Org (tenant) default” is “The default capacity given at the time of sign up.” For “User licenses” it says “More capacity added for every user license purchased.” So capacity accrues from the licenses you buy. A seat decision is therefore a storage decision, and the two get reviewed separately, because the seat list and the capacity report are read in different admin centers. The Dataverse capacity documentation describes a per license breakdown showing “how your entitlement was calculated, including base capacity and per-user license accruals,” and states the operating rule plainly: “Stay within the limits for your entitled capacity for database, log, and file storage.”

Five findings turn up here, roughly in this order, and the capacity report sizes each one in gigabytes before anybody has to argue about it:

  • Audit log growth. Auditing switched on broadly at some point, never scoped, now the largest single log consumer in the tenant.
  • Abandoned environments. Development and test environments from finished projects, still provisioned, still holding tables.
  • Attachments in Dataverse that belong in SharePoint. File capacity is the most expensive place to keep a scanned document.
  • Retention with no policy. Transactional tables that have never had a bulk delete job defined, growing linearly since go live.
  • Overage that was solved by purchase. Add on capacity bought to clear an alert, with the underlying growth never addressed. Microsoft frames the choice as freeing space or buying more capacity. Buying clears the alert in an afternoon and scoping the growth does not, so under renewal pressure the purchase wins.

Pay as you go complicates this in a useful way, because overage can be billed to an associated Azure subscription rather than blocking work. That is operationally kinder and financially quieter, which is exactly why it belongs in a review rather than in a monthly report nobody opens.

Why the overspend comes back, and the guardrails that stop it

A review that ends in a reassignment spreadsheet buys you one renewal cycle. The same drift reappears within a year unless something structural changes. The behaviors that produced it are normal and rational at the level of an individual team.

We have written up how these gaps actually present in a tenant, in 7 Power Platform governance gaps that create audit exposure and in Power Platform app sprawl governance risk explained. Microsoft’s Power Platform Center of Excellence adoption guidance treats a Center of Excellence as the answer to this. Microsoft’s wording on that page frames it as a strategic move for an organization investing in Power Platform, one that can “ensure its sustainable, scalable, and secure use across the enterprise,” and it names executive sponsorship as a component rather than an afterthought. In practice, the controls that hold license cost flat are these:

  1. A tenant inventory that refreshes itself. The Center of Excellence Starter Kit, or an equivalent, so that app, flow, connector, and maker inventory is a live dataset rather than a consulting deliverable with a date on it.
  2. Environment creation as a request, not a right. Most storage waste starts with an environment that no one had to justify. The control is the tenant governance setting that restricts who may create production and sandbox environments, held by a named owner rather than left at its default.
  3. Data loss prevention policies scoped per environment. A policy that blocks premium and custom connectors in the default environment is a license control as much as a security control, because it stops an unbudgeted tier from being triggered by a maker who had no way of knowing.
  4. Managed environment controls where the platform supports them. Sharing limits and maker welcome content put a boundary around the population that can create licensed load.
  5. A quarterly reassignment routine with a named owner. Leavers, movers, and inactive seats reviewed on a schedule, by a person whose job includes it. This is the single control that most often does not exist.
  6. An intake path for new apps that asks the license question first. One line in an intake form, naming the connectors an app will use, prevents most of what the purchasing shapes above describe.

What to expect from an assessment engagement

Those four surfaces, plus the guardrails, are what a scope of work has to cover. An assessment has a defined end, a fixed deliverable set, and no obligation on either side to continue, which is the right shape for a question whose answer might be that your licensing is already tight.

The capability behind it is implementation experience. i3solutions implements Power Platform licensing across Power Apps per-app and per-user plans, Power Automate per-flow and per-user plans, and the Microsoft 365 default entitlements where app complexity is low. That matters for a review because the recommendations have to survive contact with the platform. Recommending that an app be split so that only ten people need a premium plan is only useful if the person recommending it has split an app before.

On cost, the published band that fits this work is the scoped assessment. Phase 1 (Risk and Roadmap Assessment) typically runs $20,000 to $40,000 over two to three weeks. That is the shape of a bounded licensing and capacity review in a single tenant: inventory, findings, a reassignment plan, and a quarterly reassignment routine with a named owner.

An estate wide review spanning several tenants, or one that has to produce compliance evidence alongside the cost work, is a larger engagement priced against a different band, and a licensing review is normally one workstream inside it rather than the whole of it. Ask for that number against your own inventory rather than against a published range, because what moves it is inventory size and framework count, and neither of those is a licensing input.

The inputs that move the number are countable, and you can estimate your own position before you call anyone: how many tenants and environments, how many apps and flows in the inventory, whether the Center of Excellence Starter Kit is already running, and whether a compliance framework has to be evidenced alongside the cost work.

Ask for the reassignment table as a named deliverable, in a format your license administrator can act on directly. A findings deck that requires a follow on engagement to implement is a proposal, not an assessment.

What separates a licensing advisor from a delivery partner

A reseller reading a price list will do none of the following. A delivery firm will:

  1. Ask how they will read run activity, per app and per flow, against the assignment list. The seats already exist, so the question is not what to buy but which assigned seats and flows have earned their cost, and a firm that cannot say how last run dates and unique users will be matched to each assigned license is not planning to look.
  2. The connector inventory has to be a named deliverable. If premium connector exposure is not in the scope of work, the largest single driver of unplanned tiers is out of scope.
  3. Findings and remediation are separate lines, and one firm should be able to do both. The finding is worth nothing if nobody can split the app, so ask for a build outcome the firm has published. Replacing 32 outdated InfoPath forms with Power Apps reduced maintenance demands by 40%, saving an estimated $150K-$200K annually in IT labor and support. The detail is in Moving Beyond InfoPath with a Modern, Scalable Alternative.
  4. Put the attestation boundary in writing. An assessment is not a compliance opinion on your Microsoft agreement, and a firm that blurs that line to sound more authoritative is creating a problem for your legal team.
  5. Every licensing answer should cite Microsoft’s own documentation, not a summary of it. Licensing terms change. A reference that is a slide from last year gives you a confident answer to a question Microsoft has since re answered.

Frequently asked questions

Is a Power Platform license audit the same as a Microsoft licensing compliance audit?

No, and the difference is worth stating in the contract. A license assignment review is a technology assessment: it looks at who holds what, what they use, and where the entitlement is wider than the need. A compliance audit is an attestation exercise about your agreement with Microsoft, and it belongs with your licensing counsel or your reseller of record. This engagement produces cost findings, not an opinion.

How long does a license assignment review take?

The bounded version runs in weeks rather than months, and the constraint is almost never analysis time. It is access: getting a reader role in the Power Platform and Microsoft 365 admin centers, and getting a current export of app and flow run activity. Organizations that have the Center of Excellence Starter Kit running finish materially faster, because the inventory already exists.

Can we do this ourselves with the admin center reports?

Try it first, before you spend anything on anyone. The admin centers will show you assignment counts and capacity consumption, which is enough to size whether a problem exists. What they will not do is connect a premium connector inside a single app to the license floor it sets for everybody who opens that app, or surface an entitlement a person already holds that makes their other license redundant. That mapping is the work, and it is where an implementation background earns its fee.

Will the recommendations force us to rebuild applications?

Some of them will propose changes to app boundaries or connector choices, because that is where a license tier is actually set. A good review ranks findings by effort as well as by saving, so that the reassignment and deactivation work, which needs no development at all, is separated from the app changes that do. You should be able to take the top of that list to a renewal conversation without opening a development ticket.

What happens if the review finds that our licensing is already efficient?

Then you have a defensible position for the renewal negotiation and a documented baseline for next year, which is worth having. An assessment that can only conclude that you are overspending is not an assessment. Ask any candidate firm to write that into the statement of work: an efficient-licensing conclusion is an acceptable outcome, and the fee does not change if it is the one they reach.

What to bring to a scoping conversation

Three inputs and thirty minutes are enough to size this honestly: your current assigned seat counts by plan, a rough app and flow count, and whether anyone owns the quarterly reassignment today. From those three, the shape of the engagement is clear inside the conversation, including the case where the answer is a governance routine rather than a consulting engagement.

If you are building the internal case before anyone commits budget, that scoping conversation gives you a scoped price and a named deliverable to put in front of whoever signs it.

Contact a senior Power Platform architect

Related