CMMS and Preventive Maintenance Software: A Build vs Buy Guide for Operators Still on Paper Work Orders
If maintenance still runs on paper across multiple sites, building usually wins: a focused custom CMMS typically costs $60,000 to $130,000 and ships in 12 to 16 weeks, with full multi-site platforms at $150,000 to $400,000 phased over 6 to 12 months, based on Digital Heroes delivery across 2,000+ projects. Stay with off-the-shelf only if you run one or two sites with standard workflows.
Why a CMMS makes or breaks a multi-location operator
It is 2:40 a.m. and filler line 3 at your Dayton plant just stopped. The on-shift technician finds a seized gearbox bearing and starts a work order on a carbon-copy pad. The same bearing failed eleven months ago, but nobody knows that: the record sits in a banker's box and the technician who did the repair left in March. The parts crib card shows one bearing on the shelf. The shelf is empty. The nearest replacement is at your Louisville plant, invisible because Louisville tracks spares in its own Excel file. The line restarts at 9:15 a.m. Six and a half hours of unplanned downtime, and at the throughput figures our manufacturing clients quote us, a stopped line burns $10,000 to $40,000 an hour in lost production, overtime, and scrap.
That is the standard picture when maintenance runs on paper: work orders on triplicate pads, preventive maintenance schedules on a whiteboard, asset history in filing cabinets, and inventory spreadsheets that disagree with the shelf. The cost never appears as one line item. It leaks out as expedited freight, missed ship dates, machines replaced years early because nobody can prove a rebuild would hold, and a maintenance manager who spends Fridays transcribing paper into Excel for the ops review.
The off-the-shelf CMMS market (computerized maintenance management system) is genuinely good at the entry level. MaintainX, Limble, UpKeep, Fiix, and eMaint cover the mid-market at roughly $16 to $85 per user per month at list price. IBM Maximo and SAP Plant Maintenance serve the enterprise end, scoped for companies with dedicated admin teams. This guide is for the operator in between: multiple sites, 50 to 500 technicians, equipment that already produces runtime data, and workflows the subscription tools keep fighting.
Problem 1: paper work orders leave you with no asset history
Your reliability engineer is asked whether to rebuild or replace the air compressor in Memphis. The honest answer requires every failure, part, and labor hour on that machine for five years. What exists is a stack of paper in three handwriting styles and the memory of two technicians. So the call gets made on gut feel, and gut feel bought the last compressor two years early.
Off-the-shelf tools digitize the form, which is real progress, but they impose their asset model on your operation. Technicians hit required fields designed for someone else's industry and mobile apps that die in the boiler room where coverage drops. When closeout takes four minutes of fighting a form, technicians batch work orders at end of shift from memory, and your data becomes fiction with timestamps.
A custom build starts from your hierarchy: site, line, machine, component, with parent-child rollups so a bearing failure counts against the gearbox, the conveyor, and the line above it. Failure codes come from your equipment, not a generic list. Closeout is engineered to take under a minute: photo capture, voice-to-text notes, parts scanned from the crib. The mobile app is offline-first, storing work locally and syncing when coverage returns, the single feature that decides whether technicians in dead zones use the system at all.
Problem 2: calendar-based PMs while your machines already report the truth
The whiteboard says grease the packaging conveyor every 30 days. In a heavy month it runs 600 hours and the interval is dangerously long. In a slow month it runs 90 hours and you paid a technician to service a machine that did not need it. Multiply that across 4,000 assets in ten plants and you are over-maintaining and under-maintaining at the same time, funding one mistake with the other.
Every subscription CMMS offers calendar triggers and most offer meter-based ones, but the meter readings arrive by a human walking around typing numbers into a tablet. The integrations that would automate this, pulling reads from programmable logic controllers (PLCs) or the supervisory control and data acquisition (SCADA) historian, are enterprise add-ons, partner modules, or roadmap promises. Fiix and Maximo can get there with an integration budget, but at that point you are paying custom prices for rented software.
A custom CMMS wires triggers to reality. Runtime hours and cycle counts flow in from PLCs and historians like Ignition or FactoryTalk. Vibration and temperature sensors on critical rotating equipment feed condition thresholds. When a trigger fires, the system generates the work order, attaches the task list and manuals, reserves the parts kit in the crib, and slots the job into the planner's schedule. Preventive maintenance stops being a guess about time and becomes a response to usage.
Problem 3: parts inventory that lies, at every location at once
A 45-minute belt replacement becomes a three-day outage because the belt on the card was consumed two weeks ago and never logged. Meanwhile the network holds hundreds of thousands of dollars in slow-moving spares, duplicated across sites because no crib can see another. Purchasing double-keys everything into the ERP (enterprise resource planning) system, and the two records drift apart within a month.
Mid-market CMMS inventory modules are built single-site first. Multi-location visibility starts at premium tiers, inter-site transfer workflows barely exist, and ERP connectors cover a handful of fields for a handful of systems. At every multi-site operator we have worked with, the outcome is identical: the CMMS inventory gets ignored and the real record lives in Excel.
The custom version treats parts as one network-wide catalog with per-site stocking rules. A technician in Dayton searches once and sees quantity on hand in all ten cribs, with a transfer request two taps away. Min-max levels drive reorder suggestions, approved requisitions flow into NetSuite, SAP, or Dynamics through their APIs, and receipts update crib counts automatically. Barcode labels make logging consumption faster than not logging it, which is the only way it ever happens.
Problem 4: downtime never becomes dollars anyone can act on
Your CFO asks what maintenance costs per unit produced, by plant, and which ten assets to replace this year. With paper records the plant manager cannot answer, so capital planning becomes a negotiation won by whoever argues loudest. Canned CMMS dashboards do not fix this, because they report on the vendor's data model, not your economics, and the workaround is a monthly ritual of CSV exports and pivot tables.
A custom platform captures every downtime event against the asset, the line, and the production lost, then rolls labor, parts, and contractor spend into a true cost per asset. Repair-versus-replace becomes computed, not debated: when cumulative repair cost crosses a set percentage of replacement value, the asset flags itself for capital review. The plant manager opens one dashboard each morning, and the VP of operations sees all sites ranked by downtime cost the same way. Your floor was already generating this data. The build is what puts it in front of decisions.
Problem 5: compliance evidence scattered across binders and inboxes
An OSHA visit, a customer food-safety audit, or an FDA inspection asks for the same things: lockout-tagout evidence for the last twenty jobs on that mixer, current calibration certificates for the gauges on line 2, and proof the contractor who serviced the ammonia system was qualified and insured. On paper, that is a two-day binder hunt with gaps you discover in front of the auditor. Generic CMMS audit trails record that a work order was edited, which is not compliance evidence, and e-signatures, calibration management, and contractor credentials are premium modules where they exist at all.
Built custom, the workflow itself enforces compliance. Lockout-tagout steps are required checklist items that block closeout until signed. Calibration schedules carry the certificate as an attachment with expiry alerts. Contractors work through their own portal, and an expired insurance certificate blocks assignment automatically. When the auditor arrives, the export is one click in the format your quality manager specified during design, because a competent developer asks what the auditor wants before writing code.
What a custom CMMS costs and how long it takes
Across more than 2,000 delivered projects at Digital Heroes, maintenance platforms fall into two bands. A focused first release typically runs $60,000 to $130,000 and ships in 12 to 16 weeks: work order management, an asset registry built on your hierarchy, preventive maintenance scheduling, offline-first mobile for technicians, migration of your Excel asset and parts lists, and one priority integration. A full multi-site platform runs $150,000 to $400,000 phased over 6 to 12 months, adding networked inventory, PLC and SCADA data feeds, contractor portals, compliance modules, and the cost analytics layer.
What pushes price toward the top of those bands in this category: the number and age of control-system integrations (a 1998 PLC with no Ethernet port needs gateway hardware and its own testing cycle), offline-first mobile done properly on both iOS and Android, the count of sites and how aggressively go-lives are staggered, digitizing paper history for critical assets, and validation work in regulated industries. The cheapest sequencing is almost always work orders and PM scheduling first, live at two pilot sites, then inventory and integrations in later phases while technicians already use the system daily.
Build vs buy: the honest answer
Buy off-the-shelf when you run one or two sites with fewer than about 20 technicians, standard assets, and no controls integration. MaintainX at $16 to $49 per user per month or Limble will get you off paper in a week, and that outcome beats any architectural argument. Nobody should build software they do not need.
Build when the math and the workarounds say so. At 300 users, MaintainX Premium at its $49 list price is about $176,000 per year, every year, for software you will never own and cannot reshape. If your planners keep shadow spreadsheets around the tool, if condition-based triggers have sat on your vendor's roadmap for two years, if multi-site parts visibility requires an enterprise tier plus consultants, you are already paying custom prices in subscriptions and labor. Our position after building this category repeatedly: a multi-site operator with 100 or more technicians and instrumented equipment recovers the build cost inside 24 to 36 months, then owns the asset instead of renting it forever.
How to choose a developer for CMMS software
Make them draw the asset data model in the first meeting: parent-child hierarchies, failure code taxonomies, meter types, and how a component swap preserves history. A team that has built maintenance software sketches this from memory. One that has not will propose a generic tickets table, and you will pay to discover the difference in month four.
Demand integration receipts. Ask which PLC families, which historians, and which ERP systems they have actually connected, and how they handled the machine that only spoke Modbus. Vague answers about APIs mean you are funding their education.
Interrogate the offline story. Ask exactly what happens when two technicians edit the same work order in a dead zone and both sync later. If the answer is not a specific conflict-resolution design, technicians will lose data, and a technician who loses data once goes back to paper forever.
Get the migration plan and ownership terms before signature: how Excel registries are imported and cleaned, how much paper history gets digitized for critical assets, and written confirmation that source code, schema, and documentation transfer to you at final payment. A developer who hesitates on that last point is selling you a subscription with extra steps.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- Retailers improving Core Web Vitals saw measurable gains: Vodafone improved LCP by 31% for 8% more sales, Lazada saw a 16.9% mobile conversion increase, and Cdiscount saw a 6% Black Friday revenue uplift. Source: web.dev (Google Chrome team) (2021) →
- The right combination of digital transformation actions can unlock as much as US$1.25 trillion in additional market capitalization across Fortune 500 companies, while the wrong combinations put more than US$1.5 trillion at risk; companies with all three core factors (strategy, aligned technology, and change capability) saw a 5% market-value lift relative to peers. Source: Deloitte (2023) →
- WordPress powers 41.5% of all websites and holds 59.2% of the market among sites running a known content management system, making it by far the most-used CMS on the web. Source: W3Techs (2026) →
- An analysis of enrollment and completion data for 221 MOOCs (Katy Jordan, published in the International Review of Research in Open and Distributed Learning, IRRODL, 16(3), 2015 - not the Journal of Distance Education) found completion rates ranging from 0.7% to 52.1%, with a median completion rate of 12.6%, and completion negatively correlated with course length (longer courses had lower completion rates) - underscoring how unsupported self-paced online courses struggle to finish learners. Source: Journal of Distance Education (via ERIC / Katharina Jordan) (2015) →
Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.
Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.