Skip to main content
Avoid vague PM RFPs: a procurement-ready preventive‑maintenance RFP that mandates CMMS deliverables

Avoid vague PM RFPs: a procurement-ready preventive‑maintenance RFP that mandates CMMS deliverables

How to write a scope that forces vendors to prove work-order outcomes, evidence, and invoice logic — instead of promising them

Most preventive-maintenance RFPs fall apart in the same spot. The scope reads like a wish list — "provide quarterly PM on all HVAC assets, maintain records, respond promptly to emergencies" — and then everyone spends the next 18 months arguing about what "records" and "promptly" actually meant. The vendor bills you. You dispute it. Nobody has clean data to settle it. The renewal comes around and you're worse off than when you started.

The fix isn't tighter legal language. It's forcing the RFP to specify the exact CMMS artifacts a vendor has to produce for a work order to count as complete, for an invoice to be payable, and for an SLA breach to be provable. That's the difference between a contract you can enforce and one you can only complain about.

This is a walkthrough of how to build that RFP — the deliverables, the evidence rules, the invoice-trigger logic, the SLA math, and a pilot-site onboarding checklist that gets you to enforceable data in the first 60 days instead of the first year.

Why vague PM RFPs quietly cost you money

The core problem is that a vague scope shifts all the ambiguity in your favor on paper but against you in practice. When the contract says "complete PM as scheduled," the vendor decides what "complete" means. When there's a dispute, you have no shared record to point to — just a signed paper ticket in a truck cab somewhere, or a line item on an invoice with no linked evidence.

A typical example: a mid-size property portfolio put out a PM RFP for rooftop units across nine sites. The winning bid came in about 12% under the others. Looked great on paper. Except the scope never defined what a completed PM record had to contain, never required photos or meter readings, and never tied the monthly invoice to verified work-order closure. Eight months in, the facilities team suspected roughly a quarter of the "completed" PMs were drive-bys — filter swaps skipped, belt checks never done — but they couldn't prove a single one. The 12% savings evaporated into two failed compressors that a real belt-and-coil check would have flagged.

That's the pattern. Vagueness doesn't save money. It defers the cost to the moment you most need leverage and have none.

This keeps happening because RFPs get written by procurement and legal, who optimize for pricing terms and liability clauses, while the people who actually know what a defensible work-order record looks like — the maintenance team — get pulled in too late or not at all. The deliverables section is where maintenance has to take the pen.

The deliverable that changes everything: a defined "closed work order"

Before you write a single SLA, define what a completed work order must contain to be accepted into your CMMS. This one definition does more work than the rest of the RFP combined, because everything else — payment, SLA compliance, audit — keys off it.

Require that every PM and corrective work order the vendor closes includes, at minimum:

  1. Asset ID matching your CMMS hierarchy (not a free-text description)
  2. Technician identity and actual on-site time window
  3. Task-level completion — each line on the PM checklist marked done, skipped, or failed, with a reason for anything not "done"
  4. Required readings for that asset class (amp draws, differential pressure, superheat/subcool, whatever the PM demands)
  5. Before/after photos for any physical intervention
  6. Parts consumed, matched to part numbers
  7. Failure findings and any follow-up work order generated

One point worth emphasizing: don't let the vendor close work orders in their system and send you a summary. Make them close in your CMMS, or push structured data into it via integration. A PDF report attached after the fact is not a deliverable — it's a story about a deliverable. If the data doesn't land in your system as structured fields, you can't run SLA math on it, you can't audit it, and you're back to arguing.

If you've dealt with unstructured contractor data before, the same discipline that makes a work-order–centric vendor governance system work is what makes this RFP enforceable: the work order is the unit of truth, not the invoice.

Evidence rules: specify them by asset class, not globally

A blanket "attach photos and readings" rule fails because it's either too much for simple tasks or too little for critical ones. Vendors will meet the letter of a vague evidence rule with the cheapest possible interpretation.

Tier your evidence requirements instead. Here's a simple structure that works well in an RFP appendix:

Work typeEvidence required to closeRejected if missing
Filter/basic PMChecklist complete + 1 after-photoAny checklist line blank
Belt/coil/mechanical PMChecklist + before/after photos + amp readingsPhotos or readings absent
Safety-critical PM (life safety, electrical)Full checklist + photos + readings + technician cert referenceAny item missing
Corrective repairDiagnosis note + parts list + before/after photos + follow-up WO if neededNo diagnosis or no photos
Emergency responseArrival timestamp + condition-found photo + action taken + temporary vs permanent flagNo timestamp or no condition photo

The "rejected if missing" column is what makes evidence rules actionable. Your CMMS or your reviewer can reject an incomplete closure automatically, which means the vendor learns fast that half-documented work doesn't get paid. When rules are enforced at closure instead of at audit, quality corrects itself in weeks, not quarters.

Require the temporary vs permanent flag as a structured field on emergency and corrective work.

One thing people consistently overlook: require a flag for temporary vs permanent fixes on emergency and corrective work. Vendors paid per response have a quiet incentive to apply band-aids that generate repeat calls. Making them declare "temporary" in a structured field turns that into a visible pattern you can act on at renewal.

Invoice-trigger logic: no closed work order, no line item

This is where you take back the leverage vague RFPs give away. State plainly in the RFP that invoices must reconcile line-by-line to verified, closed work orders in the CMMS, and that any line without a matching closure is not payable until resolved.

Concretely, the RFP should mandate:

  1. Each invoice line references a specific work-order number
  2. That work order must be in "verified complete" status — meaning it passed the evidence rules above, not just marked closed by the vendor
  3. Fixed-fee PM contracts still require the underlying work orders to exist and pass evidence checks; the fixed fee doesn't exempt them from documentation
  4. Emergency and time-and-materials work reconciles against arrival/departure timestamps and parts records, not against a technician's handwritten hours
  5. Disputed lines are quarantined, not held against the whole invoice — you pay clean lines on time and hold only what's genuinely unresolved

That last point matters more than it looks. Vendors accept strict evidence rules far more easily when they know clean work gets paid fast. An RFP that pairs tough evidence requirements with prompt payment for compliant work is one good vendors actually want to win. The ones who push back hardest on documentation requirements are usually the ones planning to skip them.

A realistic before/after: a facilities team that added CMMS-reconciled invoice logic to their renewal found that in the first quarter, roughly 6–9% of invoiced lines couldn't be matched to a compliant closed work order. Not fraud, mostly — sloppiness, missing photos, work orders closed with blank checklists. But at their spend level, that was several thousand dollars a month that previously would have been paid without question. Within two billing cycles the mismatch rate dropped under 2%, because the vendor's techs adapted once payment actually depended on it.

SLA metrics that are actually measurable

Half of PM RFP SLAs are unmeasurable as written. "Respond promptly" and "minimize downtime" mean nothing you can compute. Every SLA in your RFP should be a metric your CMMS can calculate from timestamps and status changes without anyone interpreting anything.

Good SLA definitions read like this:

  1. Response time = minutes between work-order creation and vendor arrival timestamp (from a verified on-site check-in, not a phone claim)
  2. PM schedule compliance = percent of scheduled PMs completed within the defined window (e.g., ±7 days), measured on verified-complete status
  3. First-visit fix rate = percent of corrective work orders closed permanent without a follow-up WO within 30 days
  4. Documentation completeness = percent of closed work orders passing evidence rules on first submission
  5. Rework rate = repeat work orders on the same asset within a defined window

Set targets, but more importantly, define the measurement source for each so there's no argument about how it's calculated. Tie escalation and financial credits to specific thresholds. If you already run a work-order triage matrix with priority rules and SLA targets, reuse those priority tiers here so the vendor's response SLAs line up with your internal triage — otherwise you'll end up with two conflicting definitions of "urgent."

An SLA you can't compute automatically is one you won't enforce. If measuring compliance requires someone to manually pull records once a quarter, it won't happen consistently, and the metric becomes decorative. Design every SLA so the number falls out of the CMMS on its own.

The pilot-site onboarding checklist

Don't roll a new PM contract across your whole portfolio on day one. Run it at one or two pilot sites first, specifically to prove the data plumbing works before scale exposes every gap at once. The RFP should require the vendor to complete onboarding at pilot sites within a defined window — 30 to 60 days is realistic.

Use this checklist to confirm a pilot site is truly ready before expanding:

  1. [ ] Asset hierarchy at the pilot site matches CMMS IDs the vendor will reference
  2. [ ] Vendor technicians have CMMS access (or integration is live and pushing structured data)
  3. [ ] PM checklists per asset class loaded and mapped to evidence rules
  4. [ ] Test work orders created, closed, and verified end-to-end — including a deliberately incomplete one to confirm it gets rejected
  5. [ ] Arrival check-in method tested (timestamp actually captures)
  6. [ ] First test invoice reconciled line-by-line against closed work orders
  7. [ ] SLA metrics computing correctly on test data
  8. [ ] Escalation path triggered once to confirm it works
  9. [ ] Photo/reading capture working from technicians' mobile devices in the field

The most valuable item on that list is the deliberately incomplete work order. Creating a bad closure on purpose and confirming your system rejects it tells you the evidence enforcement actually functions before real money and real assets are on the line. Skip that test and you'll discover the "rejection" was never wired up — right when you're in the middle of your first live invoice dispute.

A simple visual can help align stakeholders on the pilot steps.

Process diagram

Run the pilot, prove the rejection logic, and confirm invoice reconciliation before you scale.

When this level of rigor makes sense — and when it doesn't

This isn't the right approach for every contract. If you're hiring a vendor for a single annual inspection on one low-criticality asset, a full CMMS-deliverable RFP is overkill and will scare off small shops who'd otherwise do fine work. Match the rigor to the spend and the risk.

This makes sense when:

  1. you're contracting recurring PM across multiple assets or sites
  2. the annual spend is meaningful
  3. downtime on these assets actually costs you, or you've been burned before by unverifiable vendor work

This is overkill when:

  1. it's a one-off job
  2. a truly low-stakes asset
  3. a specialized craft where the vendor's own documentation standard already exceeds yours

Who should not attempt this yet: teams whose own CMMS asset hierarchy and PM library are a mess. If your internal data is in rough shape, you can't demand structured deliverables from a vendor — you have nothing clean to reconcile against. Fix your own house first. A vendor closing work orders into a broken hierarchy just adds bad data faster.

Real scenario: a small industrial site tightens its PM contract

A single-site food processing operation was spending somewhere in the $70k–$80k range annually on outsourced PM for refrigeration and utilities. Their old contract was the classic vague type — flat monthly fee, quarterly PM "as scheduled," paper tickets. They had two unexpected refrigeration failures in one year and a growing suspicion the PMs were thin.

At renewal they rewrote the scope using the deliverable-and-evidence approach: closed work orders required into their CMMS with readings and photos, invoices reconciled to verified closures, and three computable SLAs — schedule compliance, documentation completeness, and first-visit fix rate. They ran a 45-day pilot on the refrigeration assets only before extending to utilities.

The first two months were bumpy. Documentation completeness came in around 80%, and a handful of invoice lines got held for missing evidence. By the end of the second quarter, completeness was near 97%. They'd also caught two developing issues — a failing condenser fan and low refrigerant charge — during documented PMs that the old drive-by version would have missed entirely. They went the following year without an unplanned refrigeration outage. Contract cost stayed roughly flat. The difference was they finally knew what they were paying for.

A preventive maintenance RFP is only as strong as its definition of a completed work order. Everything enforceable — payment, SLA compliance, audit defensibility — hangs off that single definition. Write the deliverables and evidence rules first, in the language of your own CMMS, and let procurement wrap the commercial terms around them. Do it in that order and you get a contract you can actually enforce. Do it the usual way and you get a year of arguments with no data to win them.

Start with the pilot. Prove the data flows, prove the rejection logic works, prove the invoice reconciles — then scale. The teams that get this right aren't the ones with the toughest legal clauses. They're the ones who made "done" mean something a system can verify.

Built for Maintenance Teams Tailored to facility and asset management workflows
Save Time Automate scheduling, tracking, and reporting tasks
Increase Uptime Prevent failures with timely inspections and repairs
Control Costs Optimize inventory and reduce emergency repairs