# MRO and Class C: audit in house or a firm?

> MRO and Class C consumables span thousands of low-value SKUs. Here is how to decide whether to audit that spend in house or bring in a firm.

Source: https://valuexpa.com/insights/should-you-audit-mro-and-class-c-consumables-in-house-or-use
Publisher: ValueXPA (https://valuexpa.com)
Updated: 2026-09-07

---

Margin drift is the gap between what a vendor contract says and what the invoice actually charges. In MRO and Class C consumables, that gap hides inside thousands of low-dollar line items: fasteners, safety gear, gloves, tape, lubricants, small tools.

No single line is worth much. The catalog behind it is. A distributor's price file can run tens of thousands of SKUs, and a rate change on a handful of them rarely shows up on anyone's desk until a full catalog comparison forces it into view.

## Executive Summary

The decision is not whether MRO spend deserves review. It clearly does: every SKU on a vending machine or stockroom shelf sits on a contract price that can drift without anyone noticing. The decision is whether your team has the tooling and the time to compare a live invoice against a full contracted catalog, line by line, on a recurring basis.

Internal AP and procurement teams are built to process invoices, not to reconcile catalog files with tens of thousands of rows against what actually got billed. That is a data-matching problem, not a judgment problem, and it rewards specialized tooling over headcount.

A firm earns its scope when the catalog is large, the SKU count is high, and substitution pricing is common. In house review holds up when the vendor list is short, the catalog is small, and someone already owns the comparison. The rest of this page walks through both conditions so you can place your own spend correctly.

## 1. Should you audit MRO and Class C consumables in house or use a firm?

**It depends on catalog size and SKU count, not on company size. A vendor with a few hundred SKUs and simple pricing is reasonable to review in house with a spreadsheet comparison. A vendor with thousands of SKUs, frequent substitutions, and a vending or VMI program attached is a data-matching problem that outgrows manual review quickly, and that is where a firm's tooling earns its cost.**

The honest answer is that the two options are not interchangeable and the right one depends on inputs only you have: how many active SKUs are on contract, how often the vendor changes its catalog, and whether anyone on your team currently owns a full price comparison as a recurring task rather than a one-time project.

If nobody owns that comparison today, the spend has likely been running unchecked for a while, and the first useful step is finding out how large the gap actually is before deciding who closes it going forward.

A fixed-scope diagnostic answers that question without committing you to a long-term arrangement either way. See the sub-hub on MRO and Class C spend audit for how that scope is typically structured.

## 2. What makes MRO and Class C spend hard to audit in house?

**The difficulty is volume, not complexity. A single MRO vendor contract can price thousands of SKUs, and a manual review means opening the contracted price list and the invoice side by side and checking every row. AP staff process invoices against purchase orders, not full catalogs, so a catalog-wide comparison is a different task entirely and one most AP workflows were never built to run.**

Three-way matching checks the invoice against the purchase order and the receipt. It does not test whether the unit price on line 4,200 of a 6,000-line catalog still matches the contracted rate. That check requires the full price file, not the PO.

Most internal systems store the PO and the invoice. Fewer store a current, versioned copy of the contracted catalog itself, and fewer still diff that catalog against what actually appears on invoices month over month.

This is a data engineering gap as much as a staffing gap. Closing it in house means building and maintaining the comparison, not just assigning someone to look at invoices more carefully.

## 3. What does a specialist audit firm actually check that internal review misses?

**A firm brings the full contracted catalog into a structured comparison against a period of invoices, row by row, and flags every SKU where the billed price departs from the contracted price. It also checks for substitution pricing, where a discontinued part is replaced with a similar one billed at a different rate with no contract reference for the change.**

The mechanism is straightforward: load the contract's price file, load the invoice detail for the audit period, and match on SKU. Anywhere the invoiced unit price departs from the contracted price, that is a finding. Anywhere a SKU on the invoice does not appear on the contracted list at all, that is a second kind of finding: an undocumented substitution.

This matching runs cleanly once, on a fixed scope, over a defined lookback period. It is the same kind of work described for freight and 3PL invoices and for maintenance and repair invoices, applied here to a catalog instead of a lane table or a work order.

See how do you audit MRO and Class C consumables invoices for the full mechanics of that comparison.

## 4. How does substitution pricing affect the in house vs firm decision?

**Substitution pricing tilts the decision toward a firm because it is the hardest pattern to catch manually. A part number changes, the new part is priced differently, and nothing on the invoice flags the change as anything other than a normal purchase. Catching it requires cross-referencing part number history against the contract, which is exactly the kind of structured lookup manual review tends to skip.**

A price increase on an unchanged SKU is at least visible if someone checks that SKU against the contract. A substitution hides the same kind of increase behind a part number that never appeared on the original price list, so there is no contracted row to compare it against directly.

Catching this requires either a cross-reference table mapping old SKUs to new ones, or a review of the vendor's substitution notices against what the contract actually authorizes. Neither is something AP sees in the normal invoice workflow.

See substitution pricing: when the part changes and the price doesn't follow for the mechanism in full.

## 5. When does in house review make more sense than hiring a firm?

**In house review holds up when the vendor count is small, each catalog is a few hundred SKUs rather than several thousand, and someone already has ownership of a recurring price comparison as part of their role. Below that scale, the fixed cost of a full diagnostic may exceed what a manual spreadsheet check can catch in an afternoon.**

Scale is the deciding variable, not intent. A company with two or three MRO vendors and simple, stable pricing can reasonably assign a procurement analyst to check the catalog against invoices quarterly, using the same spreadsheet comparison a firm would run, just at smaller scope.

What changes the answer is a vending program, a VMI arrangement, or a catalog that gets revised on a schedule the vendor controls rather than one you see in advance. Those conditions add SKUs and substitution events faster than a part-time internal review can track them.

See vending and VMI programs: the visibility trade for how those programs change what visibility you actually have into pricing.

## 6. How do input cost trends affect what a fair MRO price looks like?

**A contracted MRO rate is not static forever. Machinery and equipment input costs move, and a vendor invoking a legitimate price escalation clause is different from one drifting off the contracted rate without authorization. Checking which one you are looking at requires reading the escalation clause, not assuming every increase is a finding.**

The US Bureau of Labor Statistics Producer Price Index for general purpose machinery and equipment stood at 379.724 in July 2026, up 5.6% year over year (read 2026-09-06). That movement is real and it flows into some MRO contract pricing through escalation clauses tied to a published index.

An audit distinguishes between a price change the contract actually authorizes and one that exceeds what the escalation clause permits. Both a firm and an internal reviewer need the contract language in hand to make that call. Without it, every increase looks the same on the invoice regardless of whether it is contractual.

## 7. What should you do first if you have not audited MRO spend before?

**Start by pulling the current contracted price file for your largest MRO vendor and comparing it against a recent invoice period, even a partial one. That single comparison tells you whether the gap is large enough to justify a full diagnostic or small enough to fold into an existing quarterly review, without committing to either path in advance.**

A single vendor, single quarter comparison is small enough to run internally as a test even if you eventually decide the ongoing work belongs with a firm. It answers the scale question directly instead of guessing at it.

If that first comparison turns up findings, the next question is whether they represent a one-time cleanup or an ongoing pattern worth a recurring control. A fixed-scope diagnostic answers both in one pass across your full MRO vendor list rather than one vendor at a time.

See the sub-hub on [indirect spend audit categories](/guides/indirect-spend-audit-categories) for how MRO fits alongside the other categories worth the same kind of review.

For the wider pattern this sits inside, start with the [margin drift](/guides/indirect-spend-audit-categories) guide. See also [accessorial charge audit: the surcharges nobody validates](/guides/accessorial-charge-audit-the-surcharges-nobody-validates) and [duplicate freight billing and the multi-carrier consolidation problem](/guides/duplicate-freight-billing-and-the-multi-carrier).

## 8. Frequently Asked Questions (People Also Ask)

### Is MRO and Class C spend worth auditing if the dollar amounts per line are small?

Individual line items are small, but the catalog behind them is not. A price drift across hundreds of SKUs on a large vending or VMI program can accumulate to a material amount even though no single invoice line looks unusual on its own.

### Can our ERP catch MRO pricing errors automatically?

An ERP checks the invoice against the purchase order and receipt. It does not typically hold a versioned copy of the full contracted catalog to compare against, so a price drift on a SKU not flagged at PO creation passes through unnoticed.

### What is substitution pricing in an MRO contract?

It is when a vendor replaces a contracted part number with a similar one, often because the original was discontinued, and prices the replacement without referencing the original contract rate. The invoice shows a new SKU with no direct contracted comparison point.

### Do vending machine programs make MRO auditing harder?

Yes, mechanically. A vending program reports consumption and replenishment, not always the underlying contracted unit price for each restocked item, which reduces the visibility an AP team has into whether each restock was billed at the contracted rate.

### How often should an MRO catalog be checked against invoices?

There is no single correct cadence sourced here, but the check needs to happen on a recurring basis rather than once, because vendor catalogs and substitutions change on the vendor's schedule, not yours.

### Does a not-to-exceed clause apply to MRO contracts?

Some MRO and maintenance contracts include a not-to-exceed or escalation cap. Whether yours does depends on the specific agreement; the presence of that clause is the first thing to check before treating any price increase as a violation.

### What is the difference between an MRO audit and a general AP recovery audit?

An AP recovery audit looks for duplicate payments, missed credits and overbilling across all vendors. An MRO-specific audit adds a catalog-level price comparison that only applies where a vendor bills against a large, versioned SKU list.

### Is this general information or legal advice on contract enforcement?

This is general information about how MRO invoice audits work mechanically, not legal advice. Contract enforcement and any dispute over billed pricing should be reviewed with counsel familiar with the specific agreement.

### Is contract complexity quietly draining your operating margin?

A small systematic drift between your negotiated contracts and your actual vendor billing compounds quietly across a year of invoices. Stop guessing at your exposure and run a targeted audit.

**[Take the Free Screener → https://valuexpa.com/margin-drift-screener](https://valuexpa.com/margin-drift-screener)**

## Executive Summary

The decision is not whether MRO spend deserves review. It clearly does: every SKU on a vending machine or stockroom shelf sits on a contract price that can drift without anyone noticing. The decision is whether your team has the tooling and the time to compare a live invoice against a full contracted catalog, line by line, on a recurring basis. Internal AP and procurement teams are built to process invoices, not to reconcile catalog files with tens of thousands of rows against what actually got billed. That is a data-matching problem, not a judgment problem, and it rewards specialized tooling over headcount. A firm earns its scope when the catalog is large, the SKU count is high, and substitution pricing is common. In house review holds up when the vendor list is short, the catalog is small, and someone already owns the comparison. The rest of this page walks through both conditions so you can place your own spend correctly.

## 1. Should you audit MRO and Class C consumables in house or use a firm?

It depends on catalog size and SKU count, not on company size. A vendor with a few hundred SKUs and simple pricing is reasonable to review in house with a spreadsheet comparison. A vendor with thousands of SKUs, frequent substitutions, and a vending or VMI program attached is a data-matching problem that outgrows manual review quickly, and that is where a firm's tooling earns its cost. The honest answer is that the two options are not interchangeable and the right one depends on inputs only you have: how many active SKUs are on contract, how often the vendor changes its catalog, and whether anyone on your team currently owns a full price comparison as a recurring task rather than a one-time project. If nobody owns that comparison today, the spend has likely been running unchecked for a while, and the first useful step is finding out how large the gap actually is before deciding who closes it going forward. A fixed-scope diagnostic answers that question without committing you to a long-term arrangement either way. See the sub-hub on MRO and Class C spend audit for how that scope is typically structured.

## 2. What makes MRO and Class C spend hard to audit in house?

The difficulty is volume, not complexity. A single MRO vendor contract can price thousands of SKUs, and a manual review means opening the contracted price list and the invoice side by side and checking every row. AP staff process invoices against purchase orders, not full catalogs, so a catalog-wide comparison is a different task entirely and one most AP workflows were never built to run. Three-way matching checks the invoice against the purchase order and the receipt. It does not test whether the unit price on line 4,200 of a 6,000-line catalog still matches the contracted rate. That check requires the full price file, not the PO. Most internal systems store the PO and the invoice. Fewer store a current, versioned copy of the contracted catalog itself, and fewer still diff that catalog against what actually appears on invoices month over month. This is a data engineering gap as much as a staffing gap. Closing it in house means building and maintaining the comparison, not just assigning someone to look at invoices more carefully.

## 3. What does a specialist audit firm actually check that internal review misses?

A firm brings the full contracted catalog into a structured comparison against a period of invoices, row by row, and flags every SKU where the billed price departs from the contracted price. It also checks for substitution pricing, where a discontinued part is replaced with a similar one billed at a different rate with no contract reference for the change. The mechanism is straightforward: load the contract's price file, load the invoice detail for the audit period, and match on SKU. Anywhere the invoiced unit price departs from the contracted price, that is a finding. Anywhere a SKU on the invoice does not appear on the contracted list at all, that is a second kind of finding: an undocumented substitution. This matching runs cleanly once, on a fixed scope, over a defined lookback period. It is the same kind of work described for freight and 3PL invoices and for maintenance and repair invoices, applied here to a catalog instead of a lane table or a work order. See how do you audit MRO and Class C consumables invoices for the full mechanics of that comparison.

## 4. How does substitution pricing affect the in house vs firm decision?

Substitution pricing tilts the decision toward a firm because it is the hardest pattern to catch manually. A part number changes, the new part is priced differently, and nothing on the invoice flags the change as anything other than a normal purchase. Catching it requires cross-referencing part number history against the contract, which is exactly the kind of structured lookup manual review tends to skip. A price increase on an unchanged SKU is at least visible if someone checks that SKU against the contract. A substitution hides the same kind of increase behind a part number that never appeared on the original price list, so there is no contracted row to compare it against directly. Catching this requires either a cross-reference table mapping old SKUs to new ones, or a review of the vendor's substitution notices against what the contract actually authorizes. Neither is something AP sees in the normal invoice workflow. See substitution pricing: when the part changes and the price doesn't follow for the mechanism in full.

## 5. When does in house review make more sense than hiring a firm?

In house review holds up when the vendor count is small, each catalog is a few hundred SKUs rather than several thousand, and someone already has ownership of a recurring price comparison as part of their role. Below that scale, the fixed cost of a full diagnostic may exceed what a manual spreadsheet check can catch in an afternoon. Scale is the deciding variable, not intent. A company with two or three MRO vendors and simple, stable pricing can reasonably assign a procurement analyst to check the catalog against invoices quarterly, using the same spreadsheet comparison a firm would run, just at smaller scope. What changes the answer is a vending program, a VMI arrangement, or a catalog that gets revised on a schedule the vendor controls rather than one you see in advance. Those conditions add SKUs and substitution events faster than a part-time internal review can track them. See vending and VMI programs: the visibility trade for how those programs change what visibility you actually have into pricing.

## 6. How do input cost trends affect what a fair MRO price looks like?

A contracted MRO rate is not static forever. Machinery and equipment input costs move, and a vendor invoking a legitimate price escalation clause is different from one drifting off the contracted rate without authorization. Checking which one you are looking at requires reading the escalation clause, not assuming every increase is a finding. The US Bureau of Labor Statistics Producer Price Index for general purpose machinery and equipment stood at 379.724 in July 2026, up 5.6% year over year (read 2026-09-06). That movement is real and it flows into some MRO contract pricing through escalation clauses tied to a published index. An audit distinguishes between a price change the contract actually authorizes and one that exceeds what the escalation clause permits. Both a firm and an internal reviewer need the contract language in hand to make that call. Without it, every increase looks the same on the invoice regardless of whether it is contractual.

## 7. What should you do first if you have not audited MRO spend before?

Start by pulling the current contracted price file for your largest MRO vendor and comparing it against a recent invoice period, even a partial one. That single comparison tells you whether the gap is large enough to justify a full diagnostic or small enough to fold into an existing quarterly review, without committing to either path in advance. A single vendor, single quarter comparison is small enough to run internally as a test even if you eventually decide the ongoing work belongs with a firm. It answers the scale question directly instead of guessing at it. If that first comparison turns up findings, the next question is whether they represent a one-time cleanup or an ongoing pattern worth a recurring control. A fixed-scope diagnostic answers both in one pass across your full MRO vendor list rather than one vendor at a time. See the sub-hub on [indirect spend audit categories](/guides/indirect-spend-audit-categories) for how MRO fits alongside the other categories worth the same kind of review. For the wider pattern this sits inside, start with the [margin drift](/guides/indirect-spend-audit-categories) guide. See also [accessorial charge audit: the surcharges nobody validates](/guides/accessorial-charge-audit-the-surcharges-nobody-validates) and [duplicate freight billing and the multi-carrier consolidation problem](/guides/duplicate-freight-billing-and-the-multi-carrier).

## Common questions

### Is MRO and Class C spend worth auditing if the dollar amounts per line are small?

Individual line items are small, but the catalog behind them is not. A price drift across hundreds of SKUs on a large vending or VMI program can accumulate to a material amount even though no single invoice line looks unusual on its own.

### Can our ERP catch MRO pricing errors automatically?

An ERP checks the invoice against the purchase order and receipt. It does not typically hold a versioned copy of the full contracted catalog to compare against, so a price drift on a SKU not flagged at PO creation passes through unnoticed.

### What is substitution pricing in an MRO contract?

It is when a vendor replaces a contracted part number with a similar one, often because the original was discontinued, and prices the replacement without referencing the original contract rate. The invoice shows a new SKU with no direct contracted comparison point.

### Do vending machine programs make MRO auditing harder?

Yes, mechanically. A vending program reports consumption and replenishment, not always the underlying contracted unit price for each restocked item, which reduces the visibility an AP team has into whether each restock was billed at the contracted rate.

### How often should an MRO catalog be checked against invoices?

There is no single correct cadence sourced here, but the check needs to happen on a recurring basis rather than once, because vendor catalogs and substitutions change on the vendor's schedule, not yours.

---

ValueXPA runs a fixed-scope Margin Drift Diagnostic that validates every service vendor invoice against contract terms, for $100M+ US industrial manufacturers and distributors. Two to four weeks. The client retains 100% of recoveries. https://valuexpa.com/contact-us
