A reasonable exception rate for maintenance invoices

There is no industry benchmark for maintenance invoice exception rates. Here is how to define, measure, and act on your own, built from mechanism, not.

Twitter LinkedIn WhatsApp
Ask AI: ChatGPT Claude Gemini Grok
A reasonable exception rate for maintenance invoices

Margin drift is the gap between what a vendor contract says and what the invoice actually charges. On a maintenance and repair invoice, that gap shows up as a labor rate that no longer matches the master service agreement, a part billed at a substitute price, or work billed beyond the approved scope of a work order.

"What is a reasonable exception rate" is the wrong first question, because no dataset exists anywhere to answer it. The right first question is what an exception should mean on your invoices, and how consistently you are checking for it.

Executive Summary

There is no industry-wide exception rate for maintenance and repair invoices that a controller can look up and adopt. No dataset exists that breaks recovery findings down by category, so any number presented as a benchmark is invented, not measured. What a finance team can build instead is a rate specific to its own contract book: the share of invoices in a review period that fail a defined check against the master service agreement, work order scope, or parts price list.

The mechanism that produces exceptions is stable even where the rate is not. A maintenance invoice draws from a labor rate schedule, a scope of work, and a parts price list, three separate documents that rarely update on the same schedule. When one moves and the others do not, the next invoice bills against a stale reference, and the discrepancy shows up as an exception the moment someone checks it against the current agreement.

What changes the number a company sees is not the vendor, it is the review method: whether every invoice is checked against current contract terms or only sampled, and how tightly "exception" is defined. A team that fixes its own definition and applies it consistently gets a number that means something over time, even with no external benchmark to compare it to.

1. Why is there no published exception rate for this category?

No published exception rate for maintenance and repair invoices exists because no licensed dataset breaks audit findings down by spend category. Distribution of findings by category and average recovery per category are both data the industry has not assembled and published. Any number presented as an industry average for this category is invented rather than measured, and should be treated as a red flag rather than a benchmark to adopt.

A number that sounds authoritative is not the same as a number with a source. Vendors selling AP automation or audit software have an incentive to publish a round figure like a percentage exception rate, because it makes their tool sound calibrated against a real market.

But a category-level benchmark requires a dataset of engagements tagged by category, with denominators (total invoices reviewed) attached to numerators (exceptions found). That dataset does not exist in public form for maintenance and repair spend specifically.

The honest response is to build your own baseline rather than borrow someone else's. A rate measured against your own contract terms, over your own invoice volume, is more useful than an unsourced industry figure, because it is actually yours to act on.

  • No category breakdown: No public dataset splits audit findings by maintenance, freight, labor, or MRO category.
  • No denominator disclosed: A quoted percentage with no stated invoice count behind it cannot be checked or repeated.
  • Incentive to round up: A vendor selling a detection tool benefits from a headline number that implies frequent findings.

2. What should count as an exception on a maintenance invoice?

An exception is any line where the invoice cannot be reconciled to its own reference documents: a labor rate above the master service agreement's current schedule, a part number billed at a price not on the current parts list, work performed outside the approved work order scope, or a warranty repair billed as new work. Define these categories in writing before counting anything, so the rate you produce is comparable period to period.

Definition comes before measurement. If "exception" is left informal, two reviewers checking the same invoice batch will produce two different rates, and neither number is usable for tracking improvement.

A workable definition has four tests: does the labor rate match the current master service agreement, does the part price match the current parts list, does the scope of work match the approved work order, and is a warranty repair billed as billable work.

Each test produces a pass or fail per invoice line, not a subjective judgment call. That is what makes the resulting rate something you can track from quarter to quarter and use to hold a vendor relationship accountable.

A. Rate and price checks

These compare a billed figure against a document: the labor rate against the master service agreement, the part price against the current parts list. A stale document produces a false exception, so the check is only as good as whether the reference document itself is current.

B. Scope and classification checks

These compare the work performed against what was authorized. Scope drift on a work order and warranty work billed as new work both fall here. They require reading the work order or warranty terms alongside the invoice, not just matching numbers.

3. How does the PPI for machinery repair explain why exceptions accumulate?

The US Bureau of Labor Statistics' Producer Price Index for commercial machinery repair and maintenance stood at 237.468 in July 2026, up 9.1% year over year (BLS PPI, series PCU8113--8113--, read 2026-09-06). When the underlying cost of repair labor and parts moves at that pace, a master service agreement's rate schedule that was current at signing becomes stale within a contract year, and every invoice billed against it afterward is a candidate for review.

A rate schedule is a snapshot. It reflects the cost environment at the moment it was negotiated, and it does not update itself when input costs move.

A 9.1% year-over-year move in the underlying PPI series (BLS, read 2026-09-06) means a labor or parts rate agreed twelve months earlier is measuring a different cost environment than the one the vendor is now operating in. That gap can move in either direction: a vendor may under-bill against a rate that has become unfavorable to them, or a stale contract clause may let an increase pass through without the escalation cap the agreement actually specifies.

Either way, the invoice and the contract are answering different questions unless someone checks them against each other on a schedule that keeps pace with how fast the underlying cost index moves.

4. How do you build your own exception rate from scratch?

Pick a review period, pull every maintenance and repair invoice paid in it, and check each line against the four tests: labor rate, part price, work order scope, and warranty classification. Divide the number of invoices with at least one failed test by the total invoices reviewed. Track that rate by vendor and by contract, not as a single company-wide figure, because a stale rate schedule on one contract does not tell you anything about another.

The unit of measurement matters. A single blended rate across every maintenance vendor hides which specific contract is producing the exceptions, and blends a vendor with a current rate schedule together with one whose schedule has not been touched in years.

Segment by vendor first, then by contract if a vendor holds more than one. A vendor with three site contracts negotiated at different times will show three different exception rates, and the difference tells you which contract needs renegotiation first.

Re-run the same four tests every review period using the same definitions. The value of the rate is in its trend, not its absolute level: a rate that falls after a rate schedule refresh confirms the refresh worked, and a rate that keeps climbing tells you the contract itself, not the vendor's billing behavior, is the problem.

5. Can a rising rate ever mean your process is working?

Yes. A rising exception rate immediately after a team starts checking every invoice against current contract terms usually reflects better detection, not worse vendor behavior, because exceptions that existed all along were simply not being found before. The number to watch is not the level in month one, it is the trend after the review process has run for several full cycles against a stable definition.

A team that moves from spot-checking to full invoice-to-contract matching will see its exception rate jump, sometimes sharply, in the first review period. That is not a sign the vendor got worse. It is a sign the review got better at finding what was already there.

The useful comparison is month three against month one of consistent full review, not month one against whatever informal process came before it. A rate that stays flat or falls after the initial jump indicates the underlying contract and vendor behavior are stable. A rate that keeps rising after the process has stabilized points to a contract that needs a rate schedule refresh, not a review process that needs tightening further.

6. When does a low exception rate stop being reassuring?

A low exception rate is only meaningful if the review checked every invoice against a current contract, work order, and parts list. A rate produced by sampling a fraction of invoices, or by checking against a rate schedule that itself has not been refreshed, will read low regardless of how much drift is actually present, because the check was never positioned to find it.

The exception rate is a measurement of what the review caught, not a measurement of what happened. Those are only the same thing if the review method is complete.

Two common gaps make a rate look better than it is. First, sampling: checking one invoice in ten and extrapolating misses whatever drift happens to fall in the nine invoices not reviewed. Second, a reference document problem: if the master service agreement or parts list used for comparison is itself out of date, an invoice that matches the stale document will pass a check that should have failed it.

Before trusting a low rate as good news, confirm the review covered full invoice volume and compared against the current version of every reference document, not last year's.

For the wider pattern this sits inside, start with the margin drift guide. See also the six categories drift hides in and accessorial charge audit: the surcharges nobody validates.

7. Frequently Asked Questions (People Also Ask)

Is there an industry-standard exception rate for maintenance invoices?

No. No public dataset breaks audit findings down by spend category with a stated denominator, so any figure presented as an industry-standard exception rate for maintenance and repair invoices has no source behind it. Build a baseline from your own invoice volume instead, using a fixed definition of what counts as an exception.

What counts as an exception versus a normal billing variance?

An exception is a line that fails a defined test against a reference document: the labor rate does not match the master service agreement, the part price does not match the current parts list, the work falls outside the approved work order scope, or a warranty repair is billed as new work. A variance with no reference document to check against is not yet an exception, it is just unverified.

Should the exception rate be calculated per vendor or company-wide?

Per vendor, and per contract if a vendor holds more than one. A single company-wide rate blends a vendor with a current rate schedule together with one whose schedule has gone stale, which hides exactly the information the rate exists to surface.

Why did our exception rate go up after we improved our review process?

That usually means detection improved, not that vendor billing got worse. Moving from spot-checking to full invoice-to-contract matching finds exceptions that existed before but were not being caught. Compare the rate after several stable review cycles, not the first month against whatever informal process came before it.

Does the PPI for machinery repair tell us our exception rate should be higher?

It explains why exceptions accumulate over time, not what your specific rate should be. The BLS Producer Price Index for commercial machinery repair and maintenance moved 9.1% year over year through July 2026 (read 2026-09-06), which means a rate schedule set a year earlier is measuring a different cost environment. That is a reason to refresh the schedule and check it, not a number to plug into your own rate.

How often should we re-run the exception check?

On a fixed period, such as monthly or quarterly, using the same four tests each time: labor rate, part price, work order scope, and warranty classification. Consistency in timing and definition is what makes the resulting trend meaningful. Changing the definition between periods breaks the comparison.

Can a vendor with a low exception rate still be leaking margin?

Yes, if the review that produced the rate sampled a fraction of invoices or compared against a reference document that itself is stale. A low rate only means something if it came from checking every invoice against the current master service agreement, work order, and parts list.

What do we do once we know our exception rate?

Use it to prioritize which contracts to renegotiate or refresh first: the vendor or site contract with the highest sustained rate after several stable review cycles is the one whose rate schedule or scope terms most need updating. The rate is a diagnostic input, not an end result on its own.

Is a zero exception rate realistic?

Not as a permanent state. Rate schedules, parts lists, and scopes drift out of alignment with actual cost and work over time, which is what a rising Producer Price Index for the category illustrates. A sustained zero rate over multiple periods more often indicates the review is not catching what is there than that nothing is wrong.

Where does this fit with a broader indirect spend audit?

Maintenance and repair is one of several indirect spend categories where the same reference-document mismatch shows up, alongside freight, contract labor, and IT services. The mechanism, a rate or scope document that has gone stale relative to the invoice, repeats across categories even though the specific documents differ.

Margin Drift Resources