Skip to content
Open to board advisory and board seats — 2H 2026, then CY 2027–2028.
See details →
Writing

The Software Vendor Is Coming to Audit You. Have Your Numbers First.

A vendor "license review" is a revenue motion wearing compliance clothes. The defense is continuous entitlement-vs-deployment reconciliation, so you walk into the true-up carrying your own number instead of arguing against theirs.

By Michael YorkMay 3, 2026 9 min read 1,994 words All postsTable of contents

The email that starts a software audit almost never uses the word "audit." It says "license review." It's warm. It comes from someone whose title includes "customer success" or "compliance advisory," and it proposes a short call to "make sure you're getting the most from your investment." Somewhere in the third paragraph is a reference to a section of your agreement you signed years ago and never read — the clause that grants the vendor the right to inspect your usage on reasonable notice.

That email is not a compliance exercise. It is the opening move of a negotiation you did not schedule, run by a team with a quota. The audit clause sits in nearly every enterprise software contract, and it sits there because it works: a formal review reliably surfaces a gap between what you bought and what you deployed, and that gap converts into a purchase. Some vendors run this as a named revenue motion. The polite framing is real. So is the number at the end of it.

I sit on the receiving end of audits for a living — SOC 2, FFIEC-adjacent examinations, the security questionnaires that come with serving 1,500+ financial institutions. Those are compliance exercises; you pass them by proving what you claim. A software license audit wears the same clothes and is a different animal. It is a discovery exercise whose purpose is to find money. You defend it the way you defend any adversarial number: by showing up with your own.

The audit is a sales motion, not a compliance exercise

Start by naming what it is, because the framing determines the response. A compliance auditor is indifferent to the outcome. A license reviewer is compensated by it. The two look identical on the calendar and could not be more different in intent, and treating the second like the first — cooperative, eager to help — is exactly the reflex the process is built to exploit.

The timing tells you the rest. Reviews cluster around the moments when your leverage is lowest and your distraction is highest: the quarter before a renewal, a cloud migration that scrambled your deployment footprint, a reorg or a layoff that broke whoever used to track entitlements, an acquisition that doubled the estate overnight. Vendors read the same press releases you do. When a company changes hands, the audit letters follow, because integration is precisely when nobody can say with confidence what is deployed where.

Contract changes open the same door. When Broadcom restructured VMware licensing after the acquisition — moving to subscription bundles and repricing the portfolio, as widely reported — every customer's existing deployment had to be re-mapped onto a new metric. A re-map is an audit surface. Any time the unit you are charged by changes, the distance between what you own and what you run gets re-measured, and re-measurement is where the invoice lives.

You lose by default because nobody owns the reconciliation

Here is the structural reason audits work, and it has nothing to do with dishonesty on your side. Two numbers drift apart continuously and in opposite directions. Entitlement — what you actually bought, the metrics and caps and editions written into your contracts — is static, buried in PDFs on procurement's shared drive, and understood by whoever signed the deal, who has since left. Deployment — what is actually running — changes every day, because engineering is measured on shipping, not on staying inside a license cap nobody ever showed them.

Nobody owns the space between those two numbers. Procurement owns the contract and can't see the infrastructure. Engineering owns the infrastructure and never saw the contract. Finance sees the invoice and assumes it reflects reality. So when the review lands, the vendor arrives with a spreadsheet — their measurement of your deployment, run through their reading of your entitlement — and it is the only number in the room. Whoever brings the only number wins. It is very hard to argue a finding down when you have nothing to argue with.

This is the same failure mode I see everywhere in security and platform work: the asset you can't inventory is the asset you can't defend. An unknown host is an ungoverned host. An untracked license is an unbudgeted liability. The audit does not create the exposure. It discovers what you already didn't know.

The license metric is the weapon, not the license count

Amateurs count licenses. The money is in the metric — the unit the contract charges by — because the metric is where a small deployment fact becomes a large financial one. A handful of trap patterns account for most of what audits find, and every one of them is a place where the technical reality and the contractual definition come apart.

  • Processor and core metrics on virtualized infrastructure. This is the classic, and it is where the largest findings live. A per-core product running on a virtualization cluster can, under the vendor's licensing position, require you to license every physical core the software could migrate to — not the cores it actually runs on. Oracle's long-standing treatment of VMware vSphere as "soft partitioning," widely documented, is the canonical example: draw the boundary wrong and a two-host workload gets licensed as if it spans the whole datacenter.
  • Sub-capacity licensing you have to earn with tooling. IBM's sub-capacity model lets you pay for the capacity a workload uses rather than the full server — but only if you deploy the metric tool, ILMT, and file the quarterly reports. Skip the tool and you are contractually licensed at full capacity by default. The discount isn't automatic. It is conditional on a control you probably never stood up.
  • Indirect and digital access. A named-user metric looks simple until a downstream system reads the data. SAP's indirect-access position — that a third-party application, or a bot querying the system, can constitute licensable use — has been litigated publicly and reshaped how those metrics get counted. The trap is that your integration architecture, not your user list, determines the bill.
  • Edition and option creep. The gap between what an edition includes and what a feature flag enables is a favorite finding. A DBA turns on partitioning, an advanced-security option, or a diagnostics pack to solve a real problem, never realizing it is separately licensed. The feature works, so nobody questions it — until the audit script enumerates every option that was ever switched on.
  • Non-production you assumed was free. Development, test, staging, and passive disaster-recovery nodes are licensable under many agreements unless a specific clause says otherwise. "It's just standby" is not a licensing position. It is an assumption, and the contract rarely shares it.

Build an entitlement ledger, then reconcile against it continuously

The defense is not a better lawyer. It is a discipline you already know how to run, borrowed from asset management and applied before anyone asks. Software Asset Management — the ISO/IEC 19770 family formalizes it — is unglamorous inventory work, and it is the entire game. Reduced to its core, it is two artifacts and a loop.

The entitlement ledger is the first artifact: a single, current source of truth for what you own. Every agreement, the metric it charges by, the quantity, the caps, the editions and options included, the renewal date, and the audit clause itself — extracted from the PDFs and turned into structured data a machine can compare against. Most organizations have never built this. The contracts exist. The ledger doesn't.

The deployment map is the second: what is actually running, expressed in the same unit as the entitlement. Not "we run Oracle," but the core counts, the enabled options, the named users, the indirect integrations — measured the way the vendor's own scripts would measure them. If the only way you can see your estate is through the vendor's tooling, then the audit is the first time you are reading your own exposure, and you are reading it in their language.

The loop is the reconciliation: entitlement minus deployment, run continuously, so your compliance position is a number you can read on any given Tuesday rather than a discovery you make under duress. This is not exotic. It is the same inventory-and-configuration discipline that platform and security teams already run for hosts, identities, and cloud resources. When we built AgentOS, our internal governed agent platform, the hard part was never the models — it was maintaining a live, trustworthy inventory of what existed and what it was entitled to do, and reconciling the two automatically. License compliance is that problem wearing a procurement hat. You cannot govern what you cannot see, and you cannot defend a number you have to reconstruct from memory.

When the letter arrives, run the process — don't just answer it

Suppose you did none of that, and the review lands anyway. You still have far more control than the friendly tone implies, and how you run the first two weeks sets the size of the number at the end.

  1. Route it to one owner, and make that owner procurement or legal — not the engineer the vendor emailed. Vendors prefer to work directly with a technical contact who will helpfully run their scripts and hand back raw data. Every response should pass through a single point of contact who controls scope.
  2. Pin the scope and the clock to the contract. The audit clause defines what can be examined, on what notice, and how often. Read it. "Reasonable notice" and a defined scope are your friends; an open-ended fishing expedition is not the thing you agreed to.
  3. Run your own measurement first, quietly, before you hand over anything. You want to know your exposure before the vendor does, because that number tells you whether you are negotiating a rounding error or a material liability.
  4. Remediate what you legitimately can before you report. Uninstall the option nobody uses. Correct the partitioning boundary. Decommission the zombie instance. You cannot rewrite history, but you can shrink the current footprint, and a shrinking footprint changes the conversation.
  5. Negotiate the true-up as the commercial event it is. The finding is an opening bid, not a verdict. It almost always resolves into a forward purchase, and the vendor wants the renewal more than the penalty. Your leverage is a defensible number and the credible alternative of buying less — or buying elsewhere.

Step back and the true-up is a P&L event that was predictable, budgetable, and largely avoidable. I say that from one seat below the one that owns the software P&L, but the shape is legible from where I sit: the organizations that get surprised are the ones that treat software spend as a stack of renewals to approve, and the ones that don't are the ones that treat the portfolio as a managed liability with an owner, a ledger, and a reconciliation cadence. The audit is a tax on not knowing your own numbers. It is one of the few taxes you can opt out of by doing boring work in advance.

Have your numbers first

Build the entitlement ledger before anyone asks for it. Measure your deployment in the vendor's own unit, not your own convenient one. Reconcile the two on a monthly cadence owned by a named person who sits between procurement and engineering. Then, when the friendly "license review" email arrives, you don't scramble — you already know whether it's a rounding error or a real number, and you walk into the true-up carrying the only thing that changes the outcome: a defensible number of your own.

I'm curious where readers who have actually been through a major vendor audit would push back — especially on the metric traps that don't surface until the script runs. Which vendor's metric caught you off guard, and what did you change in how you track entitlements afterward? Leave a comment. I read them, and the war stories are where the real playbook lives.

License ComplianceVendor AuditSoftware Asset ManagementProcurement