Publicité
ERP IMPLEMENTATION
🇫🇷 Lire en français →

Spare Parts & MRO Inventory Management in Industrial ERP: ABC/XYZ Classification, Min/Max Policies and CMMS Integration

How to structure MRO spare parts inventory in your industrial ERP: ABC/XYZ classification, min/max reorder policies, CMMS integration, and KPIs. Practical guide 2026.

Spare Parts & MRO Inventory Management in Industrial ERP: ABC/XYZ Classification, Min/Max Policies and CMMS Integration

In any industrial ERP, production inventories receive constant attention: bills of materials, MRP calculations, planned orders, and coverage by product family. Spare parts and MRO (Maintenance, Repair & Operations) inventory, on the other hand, often fall into a blind spot. Nobody has really configured them, and the maintenance manager ends up juggling between a makeshift storage room and emergency purchase orders.

The outcome is binary: either critical parts run out, bringing production lines to a halt for hours or days, or there is massive overstocking of slow-moving parts that ties up capital without ever turning over. Both situations are costly, just in different ways. This guide lays out the methodology to avoid them by using your ERP rigorously.

Why Spare Parts Resist Standard MRP

Dependent vs Independent Demand: Two Opposing Logics

A production component is driven by dependent demand: you know in advance how much you will consume, because manufacturing orders plan that consumption. MRP calculates requirements, triggers replenishment, and inventory stays close to zero between cycles.

A spare part follows the opposite logic. Its consumption is independent and unplanned: it depends on when a breakdown occurs, how often preventive maintenance is scheduled, or what an inspection reveals. You cannot predict how many bearings will be replaced in October. You only know you need to have them on hand when the line goes down.

This fundamental difference requires different ERP configuration. Applying the same replenishment mode to both categories means under-dimensioning critical parts and overstocking slow-moving ones.

Downtime Cost: Higher Than the Catalogue Price

For a critical spare part, the real cost is not its purchase price. It is the downtime cost of the machine it supports: production stoppage, the hourly cost of mobilised operators, customer delivery penalties, and express breakdown service fees.

This calculation must drive stocking decisions. A £60 bearing on a packaging line running 16 hours a day justifies a safety stock of three units. The same part on an auxiliary machine can be ordered on demand without serious risk. Machine criticality is the cardinal parameter of MRO management, and it has nothing to do with the part’s price tag.

ABC/XYZ Classification: Prioritising Spare Parts

The ABC Layer: Annual Consumption Value

ABC classification applied to MRO starts from annual consumption value per reference — not unit value. A £12 part replaced 200 times a year carries more weight than a £1,500 part replaced once every three years.

  • Class A: 10 to 20% of references account for 70 to 80% of consumption value. These are the parts to manage with the most rigour: precise reorder points, consumption histories analysed, contracted suppliers.
  • Class B: the next 30% of references. Intermediate monitoring, with quarterly parameter reviews.
  • Class C: the long tail — 50 to 70% of references for only 5 to 15% of value. Simple, stable rules with annual reviews.

The XYZ Layer: Consumption Variability

The XYZ layer qualifies regularity of consumption, independently of value:

  • X: regular and predictable consumption. The part is replaced according to a preventive maintenance plan with a known frequency. Replenishment can be planned with precision.
  • Y: irregular consumption but with identifiable patterns. The part is replaced following breakdowns whose frequency can be estimated from MTBF history.
  • Z: sporadic consumption, impossible to forecast. The part may sit in stock for two years without movement, then be consumed three times in a month following a cluster of failures.

The combination of both axes produces nine cells. AX parts require fine-grained management with calculated safety stocks. CZ parts pose the real MRO challenge: should you hold them despite the carrying cost, or accept the risk of a stockout?

Configuring ABC/XYZ in Your ERP

In SAP S/4HANA, ABC and XYZ indicators are set on the material master (transaction MM02), in the “ABC indicator” and “Consumption indicator” fields. The analysis engine can calculate them automatically from stock movement history (transaction MC40). However, these calculations must be initialised manually during an ERP project — leaving indicators blank, which is common in migrations, is a significant error.

In Microsoft Dynamics 365 Supply Chain Management, ABC segmentation is configured in coverage group parameters. The analysis can be launched via the Inventory Costing module to segment the catalogue by consumption value.

In Odoo Inventory, native ABC classification does not exist in standard versions, but it can be simulated via product categories and differentiated reorder rules per category.

Defining Min/Max Replenishment Policies

Three Policies for Three Part Profiles

MRO management uses three main policies, each suited to a different consumption profile.

Min/Max Policy: you define a minimum stock level (the reorder trigger point) and a maximum stock level (the target level after replenishment). When stock falls below the minimum, a purchase proposal is generated. This is the most common policy for regular or semi-regular parts. It is straightforward to configure and to explain to maintenance teams.

Periodic Replenishment: stock is reviewed at a fixed date (weekly, monthly) and replenished to the target level. Suited to low-criticality parts with short supplier lead times that do not justify real-time monitoring. The risk: if significant consumption occurs between two reviews, a stockout is possible.

On-Demand Replenishment: the order is triggered by a work order from the CMMS, at the point when the part is actually needed. Suited to very expensive, very rarely consumed parts, or parts whose supplier lead time is compatible with intervention timelines. The risk is a stockout if the part is needed urgently, making this policy unsuitable for critical production equipment.

Calculating Safety Stock and Reorder Point

For regular-consumption parts, safety stock is calculated from supplier lead time and consumption variability over that period.

Practical example: a critical bearing in a production facility with these parameters:

  • Average monthly consumption: 0.5 units (6 units per year)
  • Supplier lead time: 21 days (0.7 months)
  • Consumption variability: a breakdown can occur at any time; maximum consumption of 2 units per month assumed over the risk period

Consumption during supplier lead time (average case): 0.5 × 0.7 = 0.35 units Target safety stock: 2 units (to cover a sudden breakdown during the replenishment period) Reorder point: 2 + 0.35, i.e. 3 units in stock

In SAP MM, these parameters are entered on the material master, “MRP 2” view: safety stock, replenishment lead time, minimum order quantity. The system then automatically generates purchase proposals when stock falls below the reorder point.

Managing Sporadic-Consumption Parts (Z Profile)

Z-profile parts present a specific challenge: with very low and highly irregular consumption, classical statistical methods do not work. The stocking decision must rest on machine criticality, not consumption analysis.

An effective approach is the criticality/lead-time matrix:

  • Critical part, short lead time (under 48 hours): no stock required, on-demand sourcing.
  • Critical part, long lead time (more than 5 days): stock is mandatory, even with near-zero consumption. The carrying cost of one part is always lower than the cost of a line stopped for the duration of the supplier lead time.
  • Non-critical part, any lead time: on-demand replenishment, no permanent stock.

Managing Obsolete Parts and Sole-Source Components

Identifying At-Risk Parts in the ERP

Two categories of parts warrant particular vigilance: parts whose associated equipment is approaching end of life, and parts available from only one supplier or one manufacturer.

Detecting at-risk parts in the ERP relies on two data flows:

  1. Part-to-equipment linkage: a part can only be flagged as “at risk” if the ERP knows which equipment it serves. This linkage — often called the “recommended spare parts list” or “spare parts BOM” in manufacturer terminology — must be entered during deployment and updated with each new machine addition.

  2. Equipment status: the ERP (or the connected CMMS) must know each machine’s age, depreciation schedule, and any planned replacement decisions. If a press is scheduled for decommissioning in 18 months, spare parts specific to that press should no longer be replenished.

Last-Time-Buy Strategies and Substitute Management

When a supplier announces end of production for a part (End of Life), or when a machine is being phased out, a “last-time-buy” decision is required: a final order sized to cover the equipment’s remaining useful life.

This calculation is rarely done rigorously. You need to estimate the residual annual consumption, multiply by the remaining years, add a safety margin for unexpected failures, and compare the carrying cost against the cost of sourcing an emergency substitute.

In the ERP, substitute items are managed via replacement linkages (transaction MM02 in SAP, alternative products in Odoo). These substitutes must be identified and technically validated before the stockout occurs — not during.

Automated Alerts in the ERP

The most complete industrial ERPs allow configuring alerts on at-risk parts:

  • Alert on parts with no movement for N months, with the immobilised value quantified
  • Alert on parts linked to an identified end-of-life piece of equipment
  • Alert on items with a “sole source” supplier (only one active supplier in the procurement master)

In IFS Cloud, these alerts are configured in the Fleet & Asset Management module, by linking spare parts to Maintenance Objects. In SAP S/4HANA, the PM/EAM module (Plant Maintenance / Enterprise Asset Management) manages this linkage, with criticality reports available via transactions IPPE or BW/Analytics.

ERP and CMMS Integration: The Maintenance Parts Flow

Why Bidirectional Synchronisation Is Essential

Double-entry is a classic problem in environments where ERP and CMMS coexist without integration: a technician opens a work order in the CMMS, uses a part on site, but the ERP does not know about it. ERP inventory no longer reflects physical reality. The next replenishment proposals are wrong.

Bidirectional integration resolves this problem via two flows:

ERP to CMMS flow: when a work order is created, the CMMS queries the ERP to validate parts availability. If the part is available, a stock reservation is created in the ERP. If insufficient stock exists, an emergency purchase request is triggered.

CMMS to ERP flow: when a work order is closed, actual part consumption is sent back to the ERP and recorded as stock issues. ERP inventory is adjusted in real time. Part returns (repaired parts, unused parts) generate corresponding stock receipts.

Configuration in Leading Solutions

IFS Cloud handles this flow natively in its Service & Maintenance module. Work orders are created directly in IFS and consume inventory managed in the same system. Integration is native because IFS Cloud is a full ERP — not a coupling between two distinct tools. This is one of IFS’s key strengths for manufacturers whose core business is maintenance.

SAP S/4HANA uses the PM (Plant Maintenance) module for work orders and MM/WM (Materials Management / Warehouse Management) for inventory. PM work orders generate MM stock reservations, and operation confirmations trigger goods issues. The flow is robust but configuration complexity is real: valuation profiles, movement types, and authorisations must be correctly set up during deployment.

Dynamics 365 Supply Chain Management with the Asset Management module follows a similar logic: parts requests from maintenance orders create purchase order lines or warehouse picks. Integration is native within the Microsoft suite, simplifying the project for organisations already on the Microsoft ecosystem.

Infor CloudSuite Industrial offers integration between its Equipment & Service module and inventory management. Maintenance flow configuration is less documented than SAP or IFS, which implies more integrator support for complex scenarios.

Managing Parts Returns to Stock

A frequently overlooked flow: returns after repair. When an electric motor is sent for external repair, it leaves stock but will return in three weeks. The ERP must track this return to avoid generating an unnecessary replacement order.

This flow requires a specific stock status, often called “parts in repair” or “consigned stock — external”. In SAP MM, this is handled via movement type 501 (free goods receipt) or via subcontracting order management (movement types 541/543). Correct configuration of these flows is often forgotten during ERP deployment, and the correction is costly in terms of accounting adjustments.

KPIs to Track in the ERP for MRO Inventory

An effective MRO dashboard for a maintenance manager rests on a small number of readable indicators — not dozens of metrics that obscure what matters.

Service-Level Indicators

Critical parts service rate: percentage of critical parts requests fulfilled without delay during a corrective work order. The target is generally set above 98% for Class A parts in the criticality matrix. A rate below this signals insufficient stock parameters or an incomplete part-to-equipment master.

Average fulfilment lead time: for non-stocked parts, the average time between need identification and parts receipt. This indicator measures MRO supplier performance and the relevance of the on-demand sourcing policy.

Inventory Indicators

Obsolescence rate: value of parts with no movement for more than 24 months, as a proportion of total MRO stock value. A high rate signals either a poorly calibrated initial overstock or decommissioned equipment whose associated parts were never cleared.

MRO stock turnover: the number of times average stock is replenished over one year. Very low turnover (below 0.5 times per year in a category) indicates overstocking. Very high turnover on critical parts may reveal undersized safety stock.

Immobilised stock value by equipment family: this indicator helps prioritise rationalisation efforts. If 40% of MRO stock value is tied to a single production line whose upgrade is already planned, that is an immediate action signal.

A Typical Dashboard Example

For a maintenance manager in an industrial mid-market company, a useful monthly dashboard typically includes:

  • Critical parts service rate (with a red alert threshold below 97%)
  • Top 10 references to replenish based on the reorder point
  • List of overstocked parts (stock > 24 months coverage)
  • Obsolete parts value by equipment
  • Alerts on sole-source parts below minimum stock threshold

In SAP S/4HANA, these views are available via native PM/MM reports or dedicated Fiori Apps (F2070 “MRO Stock Analysis” in some configurations). In Dynamics 365, Power BI Embedded enables building this type of dashboard by directly querying inventory and work order tables.

Further Reading

This guide covers MRO inventory management from a methodological perspective. Two related resources on the site cover the solution side in more detail: