An analytics dashboard open on a laptop screen
SAP license measurement

SAP engine and package license compliance. Run the measurement before SAP reads it.

How USMM and LAW count SAP engine usage and named users, the five traps that inflate the result, and the 90 day rehearsal that corrects it before submission.

Contact Us Negotiation Advisory
500+Enterprise clients
$2B+Under advisory
PublishedFebruary 13, 2026UpdatedSeptember 25, 2026
ContentsKey takeawaysEngine and package metricsUSMM and LAWMeasurement trapsChecking your positionRehearsing the measurementWhat we have seenAudit defense recordsWhat SAP will saySmall and large customersWhat to do nextFAQ

SAP audits the count its own tools produce inside your systems. Run USMM and LAW yourself 90 days early, clean up dormant users, broad roles and stale engine usage, then submit a number you have already checked.

Key takeaways
  • Engines and packages use different metrics. Engines count usage units such as documents, orders or payroll lines, while packages count named users by type.
  • USMM measures, LAW combines. USMM produces a count per SAP system, and LAW or SLAW merges those counts into the global position SAP reviews.
  • Small settings drive the result. Locked users still count and unclassified dialog users default to the most expensive type, while users past their validity date drop out.
  • Indirect access is a separate position. Your order documents record whether you chose document based or named user pricing for access from third party systems.
  • A rehearsal changes the outcome. In our reviews an unrehearsed count ran 15 to 30 percent above entitlement, and cleansing closed most of that gap.
  • Your records are the audit defense. Hold the order documents, the matching certificates and the cleansed measurement record before SAP asks for them.

SAP counts your licenses with its own tools, run inside your own systems. USMM measures each system, LAW combines the results, and that file becomes the audit position SAP compares with your contract. Run the same tools yourself first and you see SAP's number while there is still time to correct it.

What this page covers

SAP ECC and SAP S/4HANA on premises engine and package license compliance under the SAP Software Use Rights. For the wider commercial picture, read it alongside our SAP services overview and the SAP Knowledge Hub.

How are SAP engine and package licenses measured?

Package licenses are counted by named user, priced by the user type assigned to each person. Engine licenses are counted in usage units that each engine defines, over a set period. Both appear in the same system measurement, but each has its own counting and aggregation rules.

Engine license metrics

Sales documents, purchase orders, contracts, payroll lines, materials and transactions all serve as engine metrics. Each engine has a defined unit and a measurement window, written into your order form rather than into the software.

Some engines are licensed on a company figure such as revenue that no SAP table holds, so you declare it yourself during the measurement. Check the declared figure against the definition in your order form, because a figure from the wrong reporting line inflates the count. Our note on industry engine licensing covers engine metrics in more detail.

Package license metrics

Package licenses cover Professional User, Limited Professional, Employee Self Service, Developer Access and the application specific user types. Each type carries its own price and usage scope. Newer S/4HANA contracts use a different set of categories, explained in our guide to S/4HANA user types.

Indirect access pricing

Indirect access is priced as a separate position. Under the 2018 SAP licensing changes, announced on April 10, 2018, the customer elects document based pricing or named user pricing for access that does not come from a person logged into SAP.

The document model counts nine document types. Existing ECC customers could keep their current terms, so the election, or the lack of one, has to be read from your own order documents. The digital access guide covers the document model.

Where each part of the SAP count comes from
License categoryWhat is countedWhere the count comes fromUsual source of inflation
Package (named users)Users by assigned user typeUser master and the License Data tab in SU01Dormant or overclassified users
Engine (usage)Documents, lines, orders, contracts or transactions per periodEngine measurement programs, or self declarationUsage left from retired transactions
Indirect accessDocuments or named users, as electedOrder documents plus an integration inventoryNew third party integrations

Before any measurement, build the reference you will compare it against:

  • Pull the certificate inventory. Identify every engine and package license entitlement and the contracted quantity.
  • Map engines to systems. Record which engines run on which SAP system instances.
  • Map users to roles. Document the role to user type mapping that drives the classification.
  • Plot the indirect access position. List the third party systems that interact with SAP and the pricing model chosen for them.
Watch the briefingResearch briefing · 3:48

Optimize the Estate First: The SAP Work That Pays for the Negotiation

What do USMM and LAW do in an SAP license measurement?

USMM, the User and System Measurement transaction, produces the count for one SAP system. The License Administration Workbench (LAW) collects the USMM results from every system into a single global position, which is what SAP reviews.

The USMM run

USMM reads the user master, the role assignments, the engine usage tables and the relevant transaction logs. You can run it as often as you like. Only the Send to SAP function is final, because a result sent that way becomes your submission.

  • Locked users still count. Locking a leaver's account does not remove it.
  • Expired users do not count. A user past their validity end date drops out.
  • Unclassified dialog users default to the most expensive type. An empty License Data tab is priced at the top of the list.
  • Technical users are reported separately. Background system users (type B), and usually service users (type S), appear as technical users outside the named user totals.

The LAW aggregation

LAW consolidates the USMM output and removes double counting for users who exist in more than one system. LAW 2.0 (transaction SLAW) groups users by user ID, by email address or, as a last resort, by name. Where IDs differ between systems, the rule you pick changes the total.

How the result reaches SAP

SAP's measurement plan, held on the On Premise Consumption card in SAP for Me, lists the systems it expects you to measure. You upload the finished LAW XML or USMM file there, and that upload is the official audit position. Our guide to USMM, LAW, SLAW and STAR covers the tooling further.

The SAP measurement tools and how to use each one
ToolScopeOutputHow to use it
USMMSingle SAP systemPer system countRehearsal at any time
LAWAll SAP systemsAggregated countFinal check before submission
SLAW (LAW 2.0)All systems, with consolidation rulesCleansed aggregationUser grouping and rules
SAP for MeOnline portalSubmitted positionMeasurement plan and submission record

Which measurement traps inflate an SAP license count?

Five traps appear in nearly every SAP audit. Each pushes the measured count above real use, and each can be fixed before the official run.

Dormant users counted as Professional

Users who have not signed in for 90 days keep their highest user type. Reclassify them before USMM runs, and end the validity of anyone who has left.

Roles that push users into the wrong type

A user given a Professional role for a one off task carries that classification for the whole audit period. Role rationalization replaces those broad roles with task specific ones that match a cheaper type.

Engine usage from retired transactions

Retired transactions stay in the engine measurement until the tables are cleared. An engine reset before USMM runs removes them, within what your contract allows.

Indirect access drift

Each new third party system that integrates with SAP widens the indirect access surface. Before renewal, record every interface, what it creates in SAP and which pricing model covers it.

Test and training users on production

Test users with production access count as production users. A system separation review takes those IDs out of production or ends their validity there. Our SAP contract negotiation guide shows how these traps feed renewal pricing.

How do you check your own SAP license position before SAP does?

The standard SAP transactions your Basis team already uses show most of what USMM will report, with no extra software.

  • SU01, License Data tab. The contractual user type for each user. Blank entries will be priced at the default type.
  • RSUSR200. Users by last logon date. Filter for no logon in 90 days to find dormant accounts.
  • SUIM. Which users hold which roles, so you can spot broad roles given to occasional users.
  • ST03N. The workload monitor shows which transactions each user runs, the evidence behind any reclassification.
  • USMM and SLAW test runs. Measure without sending, and compare grouping by user ID with grouping by email.

How do you rehearse the SAP measurement before the official run?

Run USMM and LAW against production 90 days before the official measurement window. The rehearsal shows the gap between what SAP will measure and what you own, and leaves time to fix the causes.

  1. Run USMM on each system. Pull the per system measurement and the user type breakdown.
  2. Run LAW for the global view. Aggregate across systems and find the duplicates.
  3. Compare to the certificate inventory. Measure the gap between the measured position and the entitled position.

The four cleansing steps

Each step removes one source of inflation, and all four run in the 90 day window between rehearsal and official measurement.

  1. Dormant user reclassification. Move users with no sign in across the prior 90 days to a lower user type.
  2. Role rationalization. Remove Professional roles assigned for one off tasks and replace them with task specific roles.
  3. Engine usage reset. Clear retired transactions from the engine measurement tables where the contract permits it.
  4. Indirect access audit. Document every third party system that integrates with SAP and confirm the pricing model election.

A worked example on a hypothetical user count

Say your rehearsal shows 3,000 named users: 1,800 Professional, 700 Limited Professional, 400 Employee Self Service and 100 Developer. You own 1,400 Professional, 1,000 Limited Professional, 600 Employee Self Service and 100 Developer licenses, so you are 400 Professional users over.

Hypothetical cleansing of a 3,000 user measurement
StepProfessionalLimited ProfessionalTotal named users
Rehearsal result1,8007003,000
End validity for 150 dormant leavers1,6507002,850
Reclassify 100 dormant but employed users1,5508002,850
Replace broad roles for 120 approvers and report users1,4309202,850
Remove 30 test IDs from production1,4009202,820
Entitlement1,4001,000n/a

The Professional shortfall falls from 400 to zero, with Limited Professional 80 under entitlement. Multiply 400 by your contract price per Professional user to value the rehearsal. Each change rests on RSUSR200 and ST03N evidence you can show SAP.

Mistakes that undo the rehearsal

  • Pressing Send to SAP during a test run. Your rehearsal becomes the official count.
  • Measuring only the systems you think matter. SAP's measurement plan lists the systems it expects, and each missing one becomes a question you answer under deadline.
  • Reclassifying without evidence. A user who still runs Professional transactions in ST03N will be put back by the auditor.
  • Clearing engine tables the contract does not cover. Check the order form before any reset.

What have we seen in recent SAP measurement reviews?

We ran roughly 30 to 40 SAP measurement reviews in 2024 and 2025. Before cleansing, the measured position came in well above the entitled position in almost every one. Three patterns recurred.

  • Dormant Professional users. Unused accounts still classified as Professional inflated the package count by 10 to 25 percent.
  • Rehearsal results. Across nine reviews, a 90 day rehearsal of USMM and LAW cut the measured position by around 22 percent on average. The cut held into the official measurement, and no user lost access to functionality they needed.
  • Undocumented indirect access. In 6 of 10 cases the indirect access election was not documented, so the digital access position had never been tested.
The measurement reports every account and table entry you never cleaned up, so clean them up before SAP reads them.

Why we advise against submitting the first result USMM produces

The usual advice is to wait for SAP's request, run USMM and LAW, and submit whatever the system reports. We think that is a mistake. In nearly every review we ran, the unrehearsed position landed 15 to 30 percent above the entitled count, because dormant users, stale engine usage and undocumented indirect access all report as consumption.

Rehearse 90 days early, cleanse the count, and only then submit. The same discipline protects a RISE with SAP renewal, because SAP prices the subscription from the usage it believes you have today.

A spreadsheet cost model open on a computer screen
Keep the rehearsal worksheet with the audit file: the per system USMM counts, the LAW total, and one line per change naming the report that justifies it.

What should you have ready when SAP audits the measurement?

SAP audits the LAW submission, and your defense rests on three records. Build them before the request arrives rather than under a deadline.

The order document inventory

Collect every SAP order document from the initial purchase through every amendment. Each carries an engine list, a user count and a usage right scope, and later documents do not always restate what earlier ones granted.

The certificate inventory

Match every SAP license certificate to the order document that created it. The certificate is the entitlement evidence.

The cleansed measurement record

Keep the USMM and LAW output after cleansing, with the rehearsal output beside it, so SAP can see how each number was reached.

What will SAP say during a measurement, and how should you answer?

SAP's audit and account teams return to a few standard positions. These are the ones we hear most often.

  • "Unclassified users are counted at the default type." Classify every user against the contract definitions before submission, and ask SAP to confirm those definitions in writing.
  • "Your integrations need digital access licenses." Show the election in your order documents and the integration inventory, and ask SAP to name the specific documents it considers unlicensed.
  • "The shortfall can be settled inside a RISE conversion." Ask for the shortfall priced on its own first, so you can judge the conversion offer separately.
  • "Please measure every system on the plan." Compare the plan with your own system list and query any system that is decommissioned or not productive.

Contract wording to ask for at renewal

  • User type definitions attached to the order form. The auditor must then classify against written definitions.
  • A right to exchange licenses between user types. If cleansing leaves surplus Limited Professional licenses and a Professional gap, you can convert instead of buying.
  • A written measurement method for each engine. A change in how SAP reads the tables cannot create a shortfall.
  • The indirect access election in the order document. It closes the most common open question in an audit.

How does the work change for a small and a large SAP customer?

A 500 user company on one production ERP system can rehearse in a few weeks, and most of its gain comes from dormant users and blank License Data tabs.

A 20,000 user group with a dozen or more SAP systems spends most of its time on consolidation: the SLAW grouping rule, IDs that differ between systems and engines spread across regional instances. Its integration audit also takes longest. At that scale, independent benchmarking of the renewal price matters as much as the count.

When to do what before an SAP measurement or renewal
Time before the official runWhat to do
12 monthsBuild the order document and certificate inventories, and confirm the indirect access election
6 monthsMap engines to systems and users to roles, and start the integration audit
3 monthsRun the USMM and LAW rehearsal, then the four cleansing steps
1 monthRe run USMM and LAW, check the result against the measurement plan, and prepare the submission

Redress runs this work inside the Vendor Shield subscription, the Renewal Program, our SAP service line and the Software Spend Assessment. Related reading includes SAP Intelligent Spend Group licensing and the Benchmark Program.

What to do next

  1. Pull the certificate inventory. Match every order document to its certificates and note the contracted quantities.
  2. Map your SAP systems. Record each system, its engines and its users, and compare the list with SAP's measurement plan.
  3. Run the USMM rehearsal. Measure each production system without sending anything to SAP.
  4. Run the LAW aggregation. Get the global view with duplicate users removed.
  5. Complete the four cleansing steps. Dormant user reclassification, role rationalization, engine reset and the indirect access audit.
  6. Re run USMM and LAW. Confirm the cleansed position before the official measurement.
  7. Submit the official measurement. Upload the result through SAP for Me and keep a copy with the audit file.
  8. Get an independent review. Have the count and the renewal terms checked at each stage, for example through Vendor Shield.

Frequently asked questions

What is USMM in SAP licensing?

USMM is the User and System Measurement transaction, and it runs separately in each SAP system. It reads the user master, role assignments, engine usage tables and transaction logs to produce a count for that system. You can run it as often as you want as a rehearsal, as long as you do not use the Send to SAP function.

How does LAW differ from USMM?

USMM counts one system. LAW, the License Administration Workbench, combines the USMM results from every system, removes users counted twice and produces the global position SAP receives. Its successor, LAW 2.0 (transaction SLAW), runs in a browser and adds user grouping and consolidation rules.

What user types does SAP measure?

SAP measures named users by the contractual user type set on each user record: Professional User, Limited Professional, Employee Self Service, Developer Access and application specific types, each with its own price and scope. Role assignments drive the classification, so aligning roles with real work puts each user at the lowest type the contract allows.

How are engine licenses measured?

Each engine has its own usage unit, such as sales documents, purchase orders, contracts, payroll lines or materials. USMM reads most of them from the relevant tables, and the audit compares measured usage with the contracted quantity. Engines licensed on figures like revenue are declared by the customer instead of measured.

What is the indirect access position?

It covers third party systems, bots and devices that use SAP without a person logging in. The customer elects document based or named user pricing, and the election sits in the order document. Record every integration and confirm the chosen model at each renewal, or the position stays untested until an auditor tests it.

How much can rehearsal cut the measurement?

In the nine reviews where we ran a full 90 day rehearsal, the measured position fell by around 22 percent on average. Your own result depends on how many dormant, overclassified and test accounts you carry. RSUSR200 and the License Data tab in SU01 give you a first estimate before any formal rehearsal starts.

What documents make up an SAP audit defense?

The order document inventory, covering every SAP order from the first purchase through each amendment; the certificate inventory, matching each entitlement to its order; and the cleansed USMM and LAW record. Keep the rehearsal output beside the final one so every reduction can be traced to the report behind it.

How does Redress engage on SAP compliance?

We build the certificate inventory, run the USMM rehearsal and LAW aggregation, carry out the four cleansing steps and prepare the official submission, inside the Vendor Shield subscription and the Renewal Program. The work covers the contract review, user master analysis, role rationalization plan and indirect access audit.

Are locked SAP users counted in the license measurement?

Yes. Locking an account does not remove it from USMM, so a leaver who is only locked still appears in the named user count. Set a validity end date on the user record in SU01 as part of your leaver process, so the account drops out of every later measurement without anyone remembering to clean it up.

Newsletter
Licensing news that changes what you pay

One email a week on vendor price moves, audit activity and what worked in recent renewals.

Subscribe
Vendor Shield
An advisor on call for every vendor conversation

Always on advisory for renewals, audits and contract questions across your software vendors.

Explore Vendor Shield

enterprise software licensing news, once a week.

Price changes, audit activity and what worked in recent renewals. No vendor spin.