CMMS Software: Data Model, Integration, Build vs Buy
CMMS software runs maintenance: assets, work orders, preventive schedules, and spare parts. Here is the data model behind it, how it schedules PMs and integrates with ERP and IoT, the KPIs it computes, and when to build instead of buy.

On this page

CMMS software runs the maintenance side of a physical operation: the assets a team is responsible for, the work done to keep them running, the preventive jobs due before something breaks, and the spare parts each repair consumes. A maintenance team that runs from memory and clipboards loses the asset history, misses the schedule, and discovers a failure when the line stops. A CMMS keeps the one record that prevents all three.
This article is for the team deciding how to run maintenance in a plant, fleet, or facility, not for the vendor shortlist. It works through the parts the category pages skip: the data model that ties assets, work orders, schedules, and parts together; how a CMMS generates preventive work on time and on usage; where it integrates with ERP and the machines on the floor; and the KPIs it computes as formulas over that model. The thread through all of it is the engineering, the structure that decides whether a system fits how you maintain.
The short version
- CMMS (computerized maintenance management system) is the software a maintenance team uses to track assets, schedule preventive work, run work orders, and manage the spare parts repairs consume.
- The whole system rests on five linked entities, an asset registry, the work order at the center, work requests, PM definitions, and meters, with cost and downtime rolling up the asset hierarchy.
- A CMMS schedules preventive maintenance on two kinds of trigger, time-based (fixed or floating calendar dates) and meter-based (run hours, cycles, or mileage), and many jobs fire on whichever comes first.
- A CMMS runs maintenance execution, while EAM widens the scope to the full asset lifecycle and predictive maintenance is the condition trigger that tells the CMMS when to generate work.
- Integration carries most of the value: ERP over REST APIs for parts and cost, the shop floor over OPC-UA for automatic meter readings, and IoT sensors over MQTT for condition-triggered work orders.
- Buying an off-the-shelf CMMS fits standard maintenance, while a custom build wins for a nonstandard asset hierarchy, deep ERP or MES integration, or a white-label product, with cost typically from about $25K to past $500K.
What CMMS software is, and what the acronym means
A CMMS is the system that knows every asset a maintenance team owns, everything done to each one, and everything still due, so the work runs from a single trustworthy record instead of someone's recollection. CMMS stands for computerized maintenance management system, and the expansion is literal: it is the computerized version of the maintenance log, the PM calendar, and the parts cage a plant once kept on paper. The acronym predates the cloud and has stuck since, because the function is stable even as the technology moved from a back-office server to a phone in a technician's hand.
What a CMMS is for is narrower than the feature lists suggest. It captures asset history so a recurring fault is visible rather than rediscovered each time. It enforces a preventive schedule so service happens before failure. It routes unplanned work, the breakdown reported at 2 a.m., into the same record as the planned. And it tracks the parts and labor each job consumes, so maintenance has a cost and a paper trail. Strip the screens away and a CMMS is a small set of linked records, which is exactly where its design has to be right.
The data model behind CMMS software
Everything a CMMS does rests on a handful of linked entities. Vendors sell modules and screens; the durable view is the data model underneath, because that structure decides whether a system can represent your operation at all. Five entities carry the weight.
The asset registry holds the equipment a team maintains, but its defining feature is the hierarchy. Assets nest in a parent-child tree, typically site, then building or production line, then system, then the individual machine, down to the replaceable component. That tree matters because cost, failure history, and downtime roll up it: a component's repairs accrue against the machine, the machine's against the line, so a manager sees which line bleeds the most maintenance hours, not just which bolt was replaced.
The work order is the central entity, the record everything else links to. A single work order points at the asset, the technician or crew assigned, the parts consumed, the labor booked, the cost incurred, and the status it sits in. It is the transactional heart of a CMMS the way a sales order is the heart of order software. The work request feeds it: a lightweight report, often raised by an operator, that says something is wrong, and a planner converts the real ones into work orders, keeping the noise of every reported issue out of the planned-work record.
The PM definition is a template, not an event: it describes a recurring preventive job, its task list, the parts it needs, and the trigger that schedules it, and the system generates a work order from that template each time the trigger fires. The meter is the reading that drives usage-based triggers and feeds condition logic: run hours, cycles, mileage, temperature, recorded against an asset over time.
Work orders: reactive, corrective, and preventive
If the work order is the central entity, its type and its lifecycle are where maintenance strategy shows up in the data, and the mix between the types is the clearest signal of whether an operation is in control of its equipment or chasing it.
Reactive work, also called breakdown or emergency maintenance, is run-to-failure: the asset stops, and the work order is raised to fix it after the fact. It is the most expensive mode, because failure picks the timing and an unplanned stop drags collateral cost with it. Corrective work addresses a known defect before it becomes a failure, a worn bearing spotted on inspection and scheduled for replacement, planned rather than panicked. Preventive work is the scheduled, recurring maintenance generated from PM definitions to stop failures arising at all. Reliability engineers frequently select between these strategies using SAE JA1011, the evaluation standard for Reliability-Centered Maintenance (RCM) processes that maps each failure mode to the right task policy. A healthy operation shifts its mix away from reactive toward preventive and corrective over time, and because every job is a typed record, that shift is measurable rather than felt.
The lifecycle is a state machine every work order moves through, and modeling it explicitly is what makes the record trustworthy. A typical flow runs requested, approved and planned (a planner adds tasks, parts, and an assignee), scheduled, in progress, on hold (waiting for a part or access), completed, and closed after review. Each transition stamps who and when, which later lets the system compute how long work waited versus how long it took. For some assets a state is a legal control: OSHA's Control of Hazardous Energy standard, codified in the federal lockout-tagout rule at 29 CFR 1910.147, requires documented energy isolation procedures before servicing equipment, while NFPA 70E governs arc-flash and electrical safety permits on energized switchgear. A mature CMMS encodes those permits and lockout checklists as mandatory steps gating the in-progress state, so safety is part of the record rather than a hope.
How CMMS software schedules preventive maintenance
Preventive maintenance is the reason most teams buy a CMMS, and how the system decides when a PM is due is what separates a real tool from a shared calendar. A PM definition fires on a trigger, and there are two fundamentally different kinds, with a third combining them.
Time-based triggers fire on the calendar, and they split in a way that matters more than it first looks. A fixed schedule fires on set dates regardless of when the last one was done: the first of every month, come what may. A floating schedule calculates the next due date from the last completion, so a PM done five days late pushes the next one five days out. Fixed suits calendar-bound obligations like a regulatory inspection; floating suits service spaced by elapsed time since the work happened, and confusing the two either nags about jobs already done or lets intervals silently stretch.
Meter-based triggers fire on usage instead of time. The CMMS reads a meter, run hours, cycles, mileage, and generates the work order when the reading crosses a defined interval, for example a service every 250 operating hours. This is essential for assets whose wear tracks use rather than the calendar: a generator run twice a year and one run continuously should not be serviced on the same monthly tick. As the U.S. Department of Energy Operations and Maintenance Best Practices Guide documents, shifting from purely calendar-driven intervals to meter- and condition-driven maintenance cuts unnecessary parts replacement while catching high-utilization wear earlier. Meter triggers depend on readings arriving, by manual entry or, far better, automatically from the machine, which is where integration enters. Many real PMs are combined, firing on whichever threshold arrives first, and scheduled maintenance windows must coordinate with production planning software so planned downtime does not collide with critical order runs. The engineering challenge is the generation logic: creating the right work order, with the right tasks and parts, exactly once per trigger, without duplicating or skipping, across thousands of definitions.
MRO spare-parts inventory in a CMMS
A work order that calls for a part it cannot get is just a delayed breakdown, which is why a CMMS carries a spare-parts store, the MRO (maintenance, repair, and operations) inventory that repairs consume. It is a real inventory subsystem, but it lives inside the maintenance model and connects to it through the work order.
The link is consumption. When parts are issued to a work order, the CMMS deducts them from the storeroom and books their cost to that job, so a repair's true cost includes its materials and an asset's history shows what it has eaten in parts. Each part carries a stock level, a reorder point, and a storeroom location, and when stock falls below the reorder point the system flags a replenishment; PM definitions can reserve the parts a scheduled job will need, so the kit is on the shelf when the technician arrives. The mechanics of valuation, reorder policy, and stock accuracy are the same discipline we cover in manufacturing inventory software; the MRO store applies it to spares, with the defining twist that demand is driven by work orders, not sales. Get the parts-to-work-order link right and maintenance cost becomes real; leave it out and the CMMS tracks labor while the larger spend stays invisible.
CMMS vs EAM, and CMMS vs predictive maintenance
Two boundary questions decide how far a CMMS reaches, and both are about scope rather than rivalry, keeping a team from buying the wrong category.
CMMS versus EAM is a question of breadth across the asset lifecycle. A CMMS runs maintenance: assets, work orders, PMs, parts. Enterprise asset management widens the frame to the whole life of an asset, adding capital planning, asset financials and depreciation, procurement and contract management, and multi-site portfolio views. The cleanest way to see it is in the data model: EAM extends the asset record with financial and lifecycle attributes a pure CMMS keeps thin, and adds entities, contracts, capital projects, depreciation schedules, that maintenance execution has no slot for. The international reference is ISO 55000 and its management-system requirements standard ISO 55001, which frame managing physical assets across their lifecycle to realize value and balance cost, risk, and performance, EAM's remit more than a CMMS's, and that relationship feeds our manufacturing ERP breakdown. Many teams start with a CMMS for execution and grow toward EAM as capital and finance become the question, which is why the categories increasingly blur into one product.
CMMS versus predictive maintenance is a question of execution versus trigger, and the two are partners, not alternatives. Predictive maintenance reads sensor and machine data to estimate when an asset will fail, so the fix lands just before the failure does; NIST frames this condition-based approach through monitoring, diagnostics, and prognostics for manufacturing. The CMMS acts on that estimate: it receives the condition signal or threshold breach, generates the work order, and tracks the labor, parts, and cost of the repair. Predictive maintenance decides when work is needed; the CMMS schedules, dispatches, and closes it. We cover the prediction layer in predictive maintenance software; the point here is the handoff, the condition trigger that becomes a CMMS work order, not the machine learning behind it.
Integrating CMMS software with ERP, IoT, and the shop floor
A CMMS that stands alone is a better clipboard; wired into the systems around it, it becomes the place maintenance, cost, and machine condition meet, and that integration is the strongest reason to build rather than settle. Three connections carry most of the value, each crossing a real boundary with its own protocol.
The first runs to ERP, for parts, purchasing, and cost. A spare's purchase often has to happen in the ERP that owns procurement and the ledger, so the two exchange part masters, purchase orders, receipts, and the maintenance cost that posts back to finance, a structured exchange usually over REST APIs that keeps the spares store and the books reconciled rather than maintained twice. The second runs down to the shop floor and SCADA/PLC systems that already watch the machines. The controllers holding equipment to setpoints also count runtime, cycles, and states, and reading those values over OPC-UA lets the CMMS populate meter readings automatically instead of by clipboard, which is what makes meter-based PMs trustworthy. The execution side of that boundary is the subject of what an MES does.
The third, and the one that turns a CMMS from records into prevention, is IoT condition telemetry. Sensors on an asset stream vibration, temperature, or pressure, often over a lightweight protocol like MQTT, into a layer that evaluates them against thresholds or a predictive model within a broader smart factory architecture. When a reading breaches its limit, the layer raises a condition trigger, and the CMMS turns it into an auto-generated work order with the asset, a task list, and reserved parts attached, so a planned, parts-ready job exists before a human noticed anything. The engineering is in the mapping, machine tag to asset to meter to PM, and in making the generation idempotent so a flapping sensor does not spawn a hundred work orders.
The maintenance KPIs CMMS software computes
The payoff of a clean data model is measurement: because every work order, asset, and downtime event is a typed record, a CMMS can compute maintenance performance as formulas rather than guesses. The canonical definitions come from SMRP, the Society for Maintenance and Reliability Professionals, whose metrics are the non-vendor standard, and each KPI is a calculation over entities the model already stores.
MTBF, mean time between failures, is operating time divided by the number of failures, and it measures reliability: how long an asset runs before it breaks. MTTR, mean time to repair, is total repair time divided by the number of repairs, measuring maintainability: how fast the team restores a failed asset. The two combine into availability, which SMRP expresses as MTBF divided by the sum of MTBF and MTTR, the share of time an asset is ready to run. That figure is exactly the input the OEE calculation consumes as its availability component, which is why we derive OEE there. PM compliance, the leading indicator of the set, is preventive jobs completed on time divided by the number scheduled, and it predicts the others: skip PMs and MTBF falls, reactive work climbs, availability drops. Each formula is only as honest as the timestamps and links behind it, the whole argument for getting the data model right before chasing a dashboard.
Build, configure, or buy CMMS software
With the model, scheduling, integration, and KPIs in view, the decision is which parts to buy, configure, and build, and the honest framework starts from one question: how standard is your maintenance? The parts that look like every other operation's are well served by a package; the parts that are yours alone are where a package fights you.
Buying or configuring an off-the-shelf CMMS is the right default for the common ground. If your asset hierarchy, work-order flow, and PM logic resemble the industry norm, a mature product gives you years of accumulated functionality, a maintained roadmap, and the mobile, offline-first field app field execution requires, since a technician at a remote pump has no signal and the work order has to work anyway. Stay close to standard, because every customization is a thing you re-test forever. Building custom wins for the differentiators: a nonstandard asset hierarchy no package models, deep integration into a specific ERP or MES, embedding maintenance inside a product you already ship, or a white-label CMMS you offer to your own customers. When the list of workarounds becomes the implementation, you are already paying for custom software without owning it.
On cost, the practical range runs from roughly $25K for a focused maintenance layer or a tightly configured deployment, up past $500K for a multi-site platform with deep ERP and IoT integration and a custom mobile app. The number is moved most by site count, the depth of integration to ERP and the shop floor, and whether condition-triggered auto-generation is in scope. The pattern most teams land on is hybrid: keep a standard CMMS for execution and build the integration and analytics layers around it, the shape of work we do in our custom software development, product development, and manufacturing practices. AirpartChain anchors aircraft-part and asset records to a tamper-evident ledger, the same asset-record problem a CMMS solves from the maintenance side; our AI industrial reporting system automates shift-level operational and maintenance reporting from raw floor data; and HaulBreeze and the Conveya transportation-management rebuild are both layers engineered around existing systems of record. Idealogic does not sell a packaged CMMS; we build the asset, work-order, and integration layers that make maintenance software fit an operation that does not run like the template.

CTO and Co-founder at Idealogic. Directing engineering, systems architecture, security, and full-stack delivery across web, mobile, and blockchain.
Frequently asked questions
CMMS stands for computerized maintenance management system. It is the software a maintenance team uses to track physical assets, schedule preventive maintenance, execute work orders, and manage the MRO spare parts repairs consume. Although the name dates to the era when maintenance logs moved from paper clipboards onto computers, the core job remains unchanged: keeping one authoritative record of every asset, every repair performed, and every preventive task still due.
CMMS software records a maintenance operation's equipment and the work performed on it across five linked entities. An asset registry organizes equipment in a parent-child hierarchy from site down to component. Work orders form the central transactional record linking assets, technicians, parts, labor, and costs. A work-request inbox captures operator problem reports, preventive maintenance templates generate scheduled jobs from calendar or meter triggers, and an MRO storeroom module tracks spare parts.
The difference is lifecycle scope. A CMMS focuses on maintenance execution: asset records, work orders, preventive schedules, and spare parts. Enterprise asset management (EAM) widens that scope across the entire asset lifecycle under ISO 55000 and ISO 55001, adding capital planning, asset financials, depreciation, procurement contracts, and multi-site portfolio governance. Many manufacturers start with a CMMS for shop-floor maintenance execution and expand into EAM as capital lifecycle tracking becomes necessary.
They perform complementary roles and work best together. Predictive maintenance software analyzes real-time sensor telemetry such as vibration, temperature, and amperage to estimate remaining useful life and predict when a component will fail. A CMMS is the execution system of record that acts on that prediction: it receives the condition alert, automatically generates an inspection or replacement work order, reserves the required spare parts, dispatches the technician, and logs the repair history.
A CMMS generates preventive work orders from templates using calendar or usage triggers. Time-based schedules fire either on fixed calendar dates or on floating intervals calculated from the last completion date. Meter-based schedules fire on equipment usage, reading run hours, production cycles, or mileage and generating a work order when the counter crosses a set threshold. Many critical assets combine both triggers, scheduling service on whichever threshold arrives first.
Buy and configure an off-the-shelf CMMS when your asset hierarchy, work-order state machine, and preventive scheduling follow standard industry patterns, since commercial packages include mature offline mobile apps. Build custom software, or a hybrid integration layer around a commercial core, when your operation requires a nonstandard asset model, automated OPC-UA and MQTT condition triggers, deep ERP and MES synchronization, or a white-label maintenance portal embedded inside your own equipment product.
A connected CMMS exchanges data across three operational boundaries. It connects to ERP via REST APIs to synchronize MRO spare-part masters, purchase orders, inventory receipts, and maintenance labor and material costs. It links to shop-floor PLCs, SCADA, and MES over OPC-UA to ingest live runtime hours and cycle counts for meter-based scheduling. Finally, it subscribes to IoT sensor gateways over MQTT so threshold breaches automatically generate condition-based work orders.
Using Society for Maintenance and Reliability Professionals (SMRP) definitions, a CMMS calculates four core metrics from work-order timestamps and asset logs. Mean time between failures (MTBF) divides operating time by failure count to measure reliability. Mean time to repair (MTTR) divides total repair time by repair events to measure maintainability. Availability equals MTBF divided by MTBF plus MTTR, while preventive maintenance compliance divides on-time completed PMs by scheduled PMs.
More from the journal

What Is MES? Manufacturing Execution Systems Explained
A manufacturing execution system (MES) governs real-time shop-floor production at ISA-95 Level 3: dispatching work orders, enforcing station interlocks, capturing OPC UA telemetry, and building lot genealogy. Here is the engineering blueprint.

Quality Management Software: Modules, Integration, eQMS
Quality management software runs the quality system: document control, non-conformance, CAPA, audits, SPC, and supplier quality. Here are the modules, how they close the loop, how the QMS integrates with ERP and MES, what validation demands, and when to build instead of buy.

Production Planning Software: MRP vs APS and Finite Scheduling
Standard ERP material requirements planning assumes infinite machine capacity and static lead times. Here is how modern Advanced Planning and Scheduling software uses constraint programming, setup matrices, and real-time MES telemetry to build executable factory schedules.