# MRO and Class C audit in Global Shop Solutions

> How to audit MRO and Class C consumables spend in Global Shop Solutions, where rate cards live outside the ERP and invoices go unmatched. Read the full guide.

Source: https://valuexpa.com/insights/how-do-you-audit-mro-and-class-c-consumables-spend-in-global
Publisher: ValueXPA (https://valuexpa.com)
Updated: 2026-10-22

---

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 forms quietly: fasteners, safety supplies, gloves, lubricants, small tools, priced against a catalog nobody re-checks after the first purchase order.

Global Shop Solutions runs the purchase order and the receipt. It was not built to hold a vendor's catalog pricing, tiered discount schedule, or minimum order terms as enforceable rules. That gap between what the ERP tracks and what the contract promises is where an MRO audit has to start.

## Executive Summary

MRO and Class C consumables spend is high in transaction count and low in unit value, which is exactly the profile that AP review skips. A three-way match in Global Shop Solutions confirms the PO, the receipt, and the invoice agree with each other. It does not confirm any of the three still matches the vendor's contracted catalog price, because that catalog lives in a spreadsheet or a PDF price list outside the ERP.

The mechanism is simple: a vendor's list price changes, a rebate tier resets, or a blanket PO's unit cost goes stale, and Global Shop Solutions keeps clearing invoices against the last price it was told, not the price the contract currently requires. Nothing in the match logic flags the difference, because there is no second source of truth inside the system to compare against.

What changes it is treating the vendor's rate card as a control input, not a filing artifact: loading it as a structured reference, running the invoice against it on a cadence, and routing exceptions to someone who owns the vendor relationship. A Margin Drift Diagnostic does this retrospectively across 12 to 18 months of historical spend, per ValueXPA's published scope, and hands back a prioritized recovery and prevention roadmap in 2 to 4 weeks.

## 1. Why does Class C spend go unaudited in the first place?

**Class C spend gets skipped because each invoice is small enough to fall below the threshold anyone bothers to question, even though the category's total spend is not small. A single mispriced box of fasteners looks like noise. A rate card that has quietly drifted 4% across two thousand line items over a year does not look like anything at all, because no one ever adds those lines up against the contract that was supposed to govern them.**

AP review in most manufacturers is built around dollar thresholds. A $6,000 tooling invoice gets a second look. A $38 invoice for safety gloves does not, whatever the unit price actually is against the vendor's catalog.

Global Shop Solutions will happily process both the same way: PO issued, goods received, invoice matched on quantity and total, paid. The system has no concept of "this vendor's list price for this SKU changed in March" unless someone manually updates the item cost record, and Class C items are the ones least likely to get that manual attention because there are so many of them.

## 2. What does three-way matching in Global Shop Solutions actually check?

**Three-way matching in Global Shop Solutions checks that the invoice quantity and price agree with the purchase order, and that the purchase order agrees with what was received. It confirms internal consistency between three documents the system itself generated or logged. It does not test whether the price on the purchase order was ever correct against the vendor's current contracted rate, because the contract is not a document the match logic reads.**

The control catches a classic error: someone bills for 500 units when only 400 shipped, or bills twice for the same receipt. Those are real, recoverable findings, and the match logic is genuinely good at finding them.

What it cannot do is open the vendor's rate card and ask whether $4.10 per unit is still the contracted price for that SKU, or whether it should have stepped down to $3.85 once cumulative volume crossed a tier. That comparison requires a second source of pricing truth loaded outside the PO itself, and Global Shop Solutions has no native field for it.

A contract compliance audit fills exactly that gap: it takes the rate card as a structured input and checks every invoice line against it, not just against the PO the same drifted price generated.

## 3. Which contract terms actually govern MRO pricing?

**MRO contracts typically carry four kinds of terms that a purchase order alone will not reflect: a catalog price list, a volume-tier discount schedule, a minimum order charge, and an annual price escalation clause tied to an index. Each one requires checking the invoice against something other than the PO, because the PO was generated once and none of these terms update it automatically as conditions change over the life of the agreement.**

### A. Catalog price list

The base unit price per SKU, usually issued as an annual or semi-annual PDF or spreadsheet from the vendor. Global Shop Solutions stores whatever unit cost was keyed in at PO creation, which can be months or years older than the vendor's current list.

### B. Volume-tier discounts

A lower per-unit rate that should apply once cumulative purchases cross a threshold. The ERP tracks purchase history by item, but nothing recalculates the applicable tier and compares it to what the invoice actually charged.

### C. Minimum order and small-lot fees

Surcharges for orders under a stated quantity or dollar value. These are easy for a vendor to apply inconsistently, and easy for AP to wave through since the fee itself looks like a normal line item.

### D. Price escalation clauses

Annual increases tied to an index or a flat percentage cap. Without checking the invoice date against the escalation schedule, an early or oversized increase passes through unnoticed.

## 4. How does input cost movement change what a fair MRO price looks like?

**Machinery and general-purpose equipment input costs move on their own schedule, and a rate card negotiated a year ago can be stale in either direction. Per the US Bureau of Labor Statistics Producer Price Index for machinery and equipment, general purpose (series WPU114), the August 2026 index stood at 380.808, up 5.5% year over year, read September 25, 2026. That is the scale of movement a stale contract can miss.**

A vendor is entitled to pass through real input cost increases if the contract allows it. The audit question is not whether prices move. It is whether the increase actually applied matches what the contract permits, on the date it was permitted to take effect.

Without a documented index reference, an AP team has no way to tell a justified 5% increase from an unjustified 9% one. The PPI series gives a checkable external benchmark for general-purpose machinery and equipment costs, which is the category most MRO consumables sit inside. Citing it requires the read date, because the index updates monthly and an undated figure goes stale within weeks.

## 5. How do you set up the audit itself?

**Start by pulling every active vendor rate card into one structured reference, then export twelve to eighteen months of MRO invoice lines from Global Shop Solutions and match each line against its SKU on the card. Flag any line where the invoiced price exceeds the contracted price, where a volume tier should have triggered and did not, or where a minimum order fee applied to a qualifying order. Route each flag to the person who owns that vendor relationship.**

The mechanics are not complicated. The obstacle is almost always that the rate card does not exist in a usable form: it is a PDF attachment in an email thread from eighteen months ago, or a spreadsheet three revisions out of date.

Getting that catalog into one place, current and complete, is most of the actual work. Once it exists, matching against Global Shop Solutions export data is a straightforward comparison, and it is the step that a periodic recovery audit and a forward-looking control both depend on equally.

- **Consolidate the rate cards:** Collect every active vendor's current catalog price list, tier schedule, and fee terms into one structured file, not a folder of PDFs.

- **Export the invoice history:** Pull 12 to 18 months of MRO and Class C invoice lines from Global Shop Solutions at the SKU level, not the PO summary level.

- **Match line by line:** Compare each invoiced unit price against the contracted price for that SKU on the date of invoice, not the date the PO was created.

- **Flag and assign owners:** Route each mismatch to the buyer or category owner responsible for that vendor, with the contract clause attached as evidence.

## 6. Should you fix this in Global Shop Solutions or build a control outside it?

**Global Shop Solutions can hold an updated unit cost once you tell it what the current price should be, but it has no mechanism to test a future invoice against a tier schedule, an escalation cap, or a minimum-order clause on its own. Whether that gap gets closed inside the ERP through disciplined manual updates or through a forward control layered on top depends on how many active vendor contracts you are trying to keep current at once.**

For a handful of MRO vendors with simple flat pricing, keeping the item cost table current by hand is workable. Someone updates it when a new price list arrives, and the existing three-way match does the rest.

That stops working once tier schedules, escalation clauses, and minimum-order terms are involved across more than a few vendors, because none of those conditions are things a static item cost field can express. At that point the choice is between a periodic audit that catches drift after it has accumulated, or a system that checks every invoice against the current contract terms as it arrives. See our comparison of a [diagnostic-first approach against a software-first one](/insights/diagnostic-or-software-what-to-buy-first) for how to sequence that decision.

For the wider pattern this sits inside, start with the [margin drift](/insights/best-invoice-validation-software-smb) guide. See also [build vs. buy: can you do contract-to-invoice matching in excel?](/insights/build-vs-buy-can-you-do-contract-to-invoice-matching-in) and [margin drift diagnostic for infor cloudsuite syteline](/insights/for-infor-syteline).

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

### Does Global Shop Solutions have a built-in way to enforce vendor rate cards?

No. Global Shop Solutions stores the unit cost keyed into a purchase order and matches invoices against that PO and the receipt. It has no native field for a vendor's tiered discount schedule, escalation clause, or minimum order fee, so those terms have to be checked separately against the contract.

### How far back should an MRO audit look?

A Margin Drift Diagnostic typically reviews 12 to 18 months of historical spend, across ValueXPA diagnostics, which is enough time to catch a full annual price cycle including any escalation that took effect mid-year and any volume tier that should have triggered partway through.

### What counts as a Class C item for this kind of audit?

Class C consumables are typically the high-transaction-count, low-unit-value categories: fasteners, safety supplies, gloves, lubricants, shop rags, small tools, and similar MRO items purchased repeatedly in small quantities against a standing vendor agreement.

### Can this audit be done with the export tools already in Global Shop Solutions?

Yes, the invoice and purchase history export is standard. The harder part is not the export, it is having a current, structured version of the vendor's rate card to match it against, since that document usually lives outside the ERP entirely.

### Is a rising Producer Price Index a valid reason for a vendor to raise MRO prices?

It can be, if the contract's escalation clause ties increases to an index like the one the US Bureau of Labor Statistics publishes for machinery and equipment. The audit question is whether the increase applied matches what the clause actually permits, on the date it took effect, not whether input costs moved at all.

### Does a diagnostic replace the need for AP review in Global Shop Solutions?

No. The diagnostic is complementary to the AP process already running in the ERP. Three-way matching still catches quantity and receipt errors; the diagnostic adds the contract-price comparison that matching was never built to perform.

### Who should own fixing a flagged pricing mismatch?

Whoever holds the vendor relationship, usually a category buyer or procurement lead, should own resolving a flagged mismatch, since correcting it may require a conversation with the vendor about a credit memo or a corrected rate card, not just an AP adjustment.

### What does the diagnostic produce at the end of the engagement?

A prioritized recovery and prevention roadmap, delivered in 2 to 4 weeks, that names the specific vendors and SKUs where invoiced price diverged from contracted price, along with recommended controls to prevent the same drift going forward.

### 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

MRO and Class C consumables spend is high in transaction count and low in unit value, which is exactly the profile that AP review skips. A three-way match in Global Shop Solutions confirms the PO, the receipt, and the invoice agree with each other. It does not confirm any of the three still matches the vendor's contracted catalog price, because that catalog lives in a spreadsheet or a PDF price list outside the ERP. The mechanism is simple: a vendor's list price changes, a rebate tier resets, or a blanket PO's unit cost goes stale, and Global Shop Solutions keeps clearing invoices against the last price it was told, not the price the contract currently requires. Nothing in the match logic flags the difference, because there is no second source of truth inside the system to compare against. What changes it is treating the vendor's rate card as a control input, not a filing artifact: loading it as a structured reference, running the invoice against it on a cadence, and routing exceptions to someone who owns the vendor relationship. A Margin Drift Diagnostic does this retrospectively across 12 to 18 months of historical spend, per ValueXPA's published scope, and hands back a prioritized recovery and prevention roadmap in 2 to 4 weeks.

## 1. Why does Class C spend go unaudited in the first place?

Class C spend gets skipped because each invoice is small enough to fall below the threshold anyone bothers to question, even though the category's total spend is not small. A single mispriced box of fasteners looks like noise. A rate card that has quietly drifted 4% across two thousand line items over a year does not look like anything at all, because no one ever adds those lines up against the contract that was supposed to govern them. AP review in most manufacturers is built around dollar thresholds. A $6,000 tooling invoice gets a second look. A $38 invoice for safety gloves does not, whatever the unit price actually is against the vendor's catalog. Global Shop Solutions will happily process both the same way: PO issued, goods received, invoice matched on quantity and total, paid. The system has no concept of "this vendor's list price for this SKU changed in March" unless someone manually updates the item cost record, and Class C items are the ones least likely to get that manual attention because there are so many of them.

## 2. What does three-way matching in Global Shop Solutions actually check?

Three-way matching in Global Shop Solutions checks that the invoice quantity and price agree with the purchase order, and that the purchase order agrees with what was received. It confirms internal consistency between three documents the system itself generated or logged. It does not test whether the price on the purchase order was ever correct against the vendor's current contracted rate, because the contract is not a document the match logic reads. The control catches a classic error: someone bills for 500 units when only 400 shipped, or bills twice for the same receipt. Those are real, recoverable findings, and the match logic is genuinely good at finding them. What it cannot do is open the vendor's rate card and ask whether $4.10 per unit is still the contracted price for that SKU, or whether it should have stepped down to $3.85 once cumulative volume crossed a tier. That comparison requires a second source of pricing truth loaded outside the PO itself, and Global Shop Solutions has no native field for it. A contract compliance audit fills exactly that gap: it takes the rate card as a structured input and checks every invoice line against it, not just against the PO the same drifted price generated.

## 3. Which contract terms actually govern MRO pricing?

MRO contracts typically carry four kinds of terms that a purchase order alone will not reflect: a catalog price list, a volume-tier discount schedule, a minimum order charge, and an annual price escalation clause tied to an index. Each one requires checking the invoice against something other than the PO, because the PO was generated once and none of these terms update it automatically as conditions change over the life of the agreement. ### A. Catalog price list The base unit price per SKU, usually issued as an annual or semi-annual PDF or spreadsheet from the vendor. Global Shop Solutions stores whatever unit cost was keyed in at PO creation, which can be months or years older than the vendor's current list. ### B. Volume-tier discounts A lower per-unit rate that should apply once cumulative purchases cross a threshold. The ERP tracks purchase history by item, but nothing recalculates the applicable tier and compares it to what the invoice actually charged. ### C. Minimum order and small-lot fees Surcharges for orders under a stated quantity or dollar value. These are easy for a vendor to apply inconsistently, and easy for AP to wave through since the fee itself looks like a normal line item. ### D. Price escalation clauses Annual increases tied to an index or a flat percentage cap. Without checking the invoice date against the escalation schedule, an early or oversized increase passes through unnoticed.

## 4. How does input cost movement change what a fair MRO price looks like?

Machinery and general-purpose equipment input costs move on their own schedule, and a rate card negotiated a year ago can be stale in either direction. Per the US Bureau of Labor Statistics Producer Price Index for machinery and equipment, general purpose (series WPU114), the August 2026 index stood at 380.808, up 5.5% year over year, read September 25, 2026. That is the scale of movement a stale contract can miss. A vendor is entitled to pass through real input cost increases if the contract allows it. The audit question is not whether prices move. It is whether the increase actually applied matches what the contract permits, on the date it was permitted to take effect. Without a documented index reference, an AP team has no way to tell a justified 5% increase from an unjustified 9% one. The PPI series gives a checkable external benchmark for general-purpose machinery and equipment costs, which is the category most MRO consumables sit inside. Citing it requires the read date, because the index updates monthly and an undated figure goes stale within weeks.

## 5. How do you set up the audit itself?

Start by pulling every active vendor rate card into one structured reference, then export twelve to eighteen months of MRO invoice lines from Global Shop Solutions and match each line against its SKU on the card. Flag any line where the invoiced price exceeds the contracted price, where a volume tier should have triggered and did not, or where a minimum order fee applied to a qualifying order. Route each flag to the person who owns that vendor relationship. The mechanics are not complicated. The obstacle is almost always that the rate card does not exist in a usable form: it is a PDF attachment in an email thread from eighteen months ago, or a spreadsheet three revisions out of date. Getting that catalog into one place, current and complete, is most of the actual work. Once it exists, matching against Global Shop Solutions export data is a straightforward comparison, and it is the step that a periodic recovery audit and a forward-looking control both depend on equally. 1. Consolidate the rate cards: Collect every active vendor's current catalog price list, tier schedule, and fee terms into one structured file, not a folder of PDFs. 2. Export the invoice history: Pull 12 to 18 months of MRO and Class C invoice lines from Global Shop Solutions at the SKU level, not the PO summary level. 3. Match line by line: Compare each invoiced unit price against the contracted price for that SKU on the date of invoice, not the date the PO was created. 4. Flag and assign owners: Route each mismatch to the buyer or category owner responsible for that vendor, with the contract clause attached as evidence.

## 6. Should you fix this in Global Shop Solutions or build a control outside it?

Global Shop Solutions can hold an updated unit cost once you tell it what the current price should be, but it has no mechanism to test a future invoice against a tier schedule, an escalation cap, or a minimum-order clause on its own. Whether that gap gets closed inside the ERP through disciplined manual updates or through a forward control layered on top depends on how many active vendor contracts you are trying to keep current at once. For a handful of MRO vendors with simple flat pricing, keeping the item cost table current by hand is workable. Someone updates it when a new price list arrives, and the existing three-way match does the rest. That stops working once tier schedules, escalation clauses, and minimum-order terms are involved across more than a few vendors, because none of those conditions are things a static item cost field can express. At that point the choice is between a periodic audit that catches drift after it has accumulated, or a system that checks every invoice against the current contract terms as it arrives. See our comparison of a [diagnostic-first approach against a software-first one](/insights/diagnostic-or-software-what-to-buy-first) for how to sequence that decision. For the wider pattern this sits inside, start with the [margin drift](/insights/best-invoice-validation-software-smb) guide. See also [build vs. buy: can you do contract-to-invoice matching in excel?](/insights/build-vs-buy-can-you-do-contract-to-invoice-matching-in) and [margin drift diagnostic for infor cloudsuite syteline](/insights/for-infor-syteline).

## Common questions

### Does Global Shop Solutions have a built-in way to enforce vendor rate cards?

No. Global Shop Solutions stores the unit cost keyed into a purchase order and matches invoices against that PO and the receipt. It has no native field for a vendor's tiered discount schedule, escalation clause, or minimum order fee, so those terms have to be checked separately against the contract.

### How far back should an MRO audit look?

A Margin Drift Diagnostic typically reviews 12 to 18 months of historical spend, across ValueXPA diagnostics, which is enough time to catch a full annual price cycle including any escalation that took effect mid-year and any volume tier that should have triggered partway through.

### What counts as a Class C item for this kind of audit?

Class C consumables are typically the high-transaction-count, low-unit-value categories: fasteners, safety supplies, gloves, lubricants, shop rags, small tools, and similar MRO items purchased repeatedly in small quantities against a standing vendor agreement.

### Can this audit be done with the export tools already in Global Shop Solutions?

Yes, the invoice and purchase history export is standard. The harder part is not the export, it is having a current, structured version of the vendor's rate card to match it against, since that document usually lives outside the ERP entirely.

### Is a rising Producer Price Index a valid reason for a vendor to raise MRO prices?

It can be, if the contract's escalation clause ties increases to an index like the one the US Bureau of Labor Statistics publishes for machinery and equipment. The audit question is whether the increase applied matches what the clause actually permits, on the date it took effect, not whether input costs moved at all.

---

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
