Practical completion is a contractual milestone. It is not proof that the building works. I have sat in too many handover meetings where the contractor waved a binder of glossy O&M manuals and expected a signature, while the actual control system had never been tested end to end. The FM team inherits the gap. This is a checklist of what I refuse to sign for, framed as a commissioning (Cx) evidence pack, so the refusal is grounded in missing documents rather than a hunch.
What to refuse to sign for
Handover is the last moment you hold leverage. Once retention is released and the contractor demobilises, every missing document becomes a change order or an unfunded task for your own team. So the rule I work to is simple: no evidence, no acceptance. The evidence pack below is what turns "I do not think this is finished" into "clause X requires this deliverable and it is absent."
Eight artefacts make up the pack. Each one prevents a specific, expensive defect that otherwise surfaces months later when the warranty conversation has already gone cold.
Approved sequences of operation
The sequence of operation is the written logic that governs how plant behaves: staging, setpoints, resets, interlocks, occupancy modes, and failure responses. If it has not been formally reviewed and approved, you are accepting whatever the controls programmer happened to type. I want the design intent sequence and the as-installed sequence side by side, with any deviations flagged and approved in writing. When the chiller short-cycles next summer, the approved sequence is the document that tells you whether the plant is broken or was simply programmed wrong.
Point-to-point test records
Point-to-point (sometimes called wire-to-wire) testing proves that every physical input and output is wired to the right terminal, scaled correctly, and reading true. A temperature sensor that reads 22 at the controller but sits in the wrong duct is not a software problem, it is a commissioning failure that no trend log will reveal until the space complains. I want a signed record per point: point name, type, expected value, observed value, pass or fail, and the name of the person who witnessed it. Sampling is acceptable on very large point counts, but the sampling basis has to be stated.
Functional performance test sheets per system
Point-to-point proves the plumbing. The functional performance test (FPT) proves the behaviour. An FPT drives each system through its real operating modes and confirms it responds as the sequence says it should: does the lead pump stage the lag pump at the right differential pressure, does the economiser open on the right outdoor conditions, does the plant fail safe on loss of flow. I want a completed FPT sheet per system, not one blanket sign-off for the building. A worked chilled-water example is further down this page, and the numbers in it are the whole point.
The test that separates real Cx from paperwork
If a functional performance test result reads "operates satisfactorily" it is worthless. A real FPT states a numeric pass criterion, the measured value, the instrument used, and the ambient conditions at the time. Adjectives are how deferred defects get signed off. Numbers are how you win the retention conversation later.
Trend-log proof over a defined period
A single-day FPT catches gross faults. It does not catch a valve that hunts overnight or a reset schedule that never engages because the building never reached the trigger condition on test day. That is why I want trend logs at a stated sampling interval over a defined period, typically one to two weeks of continuous operation covering both occupied and unoccupied cycles. The trend is the proof that the sequence holds up under real load, not just under the commissioning agent's staged scenario. Define the period and the tags in the specification, or the contractor will hand you a two-hour snapshot and call it a trend.
Alarm-configuration listing
An unconfigured alarm layer is a building that cannot tell you when it is failing. I want the full alarm list as configured: point, alarm condition, limit, priority, delay, and routing (who or what receives it). This is also where nuisance alarms hide. If every alarm is set to critical priority, the operators will suppress the lot within a month and you have lost the whole layer. The alarm listing lets you audit priority discipline before the operators inherit the noise.
Controller backup files and licensed tooling
This is the artefact contractors most often withhold, sometimes deliberately, because it is their lock-in. I want the controller backup files (the actual program and database for every controller), plus the licensed engineering tooling and credentials needed to open, edit, and reload them. Without the backups, a failed controller means a callback to the original integrator at their rate. Without the tooling, you own a building you are not allowed to reprogram. Make both explicit contract deliverables; see my note on BMS specification clauses for the wording that closes this gap.
As-built points schedule, machine-readable
The points schedule is the master list of every controlled and monitored point in the building. I want it as-built (reflecting what was actually installed, not the tender design) and in machine-readable form: a spreadsheet or structured export, not a PDF scan of a marked-up drawing. A machine-readable points schedule is what feeds the CMMS asset import, the integration mapping, and every future analytics project. A PDF is what forces someone to retype 4,000 rows by hand. This schedule is the spine that connects the control system to the asset hierarchy and, later, to a BMS-to-CAFM integration.
The handover checklist
Here is the pack as a single accept-or-reject checklist. The right-hand column is the argument you make when a line is missing: name the defect the artefact prevents, and the conversation stops being about opinion.
| Evidence item | Accept / Reject | Defect it prevents |
|---|---|---|
| Approved sequences of operation (design intent + as-installed) | Reject if absent | Plant runs on undocumented logic; no baseline to judge misbehaviour against |
| Point-to-point test records, signed and witnessed | Reject if absent | Miswired or mis-scaled points that read plausibly but control the wrong thing |
| Functional performance test sheets, per system, with numeric criteria | Reject if adjectives only | Systems that pass on paper but never actually staged, reset, or failed safe |
| Trend logs over a defined period, stated interval | Reject if snapshot only | Overnight hunting, resets that never engage, faults invisible on test day |
| Alarm-configuration listing (limit, priority, delay, routing) | Reject if absent | Blind building, or nuisance-alarm floods that operators suppress wholesale |
| Controller backup files, all controllers | Reject if absent | A failed controller becomes a paid callback to the original integrator |
| Licensed engineering tooling + credentials | Reject if withheld | You own a building you are contractually unable to reprogram |
| As-built points schedule, machine-readable | Reject if PDF only | Manual re-keying into the CMMS; broken integration and analytics downstream |
Worked example: chilled-water FPT
Here is what a real functional performance test sheet looks like for a primary chilled-water system. Notice that every criterion is a number with a tolerance, an instrument, and a recorded condition. This is the level of specificity that makes an FPT defensible.
| Test step | Pass criterion (numeric) | Result |
|---|---|---|
| Chilled-water supply temperature at steady state | 6.7 C, tolerance +/- 0.5 C, held for 30 min | 6.9 C → Pass |
| Supply-to-return delta T at design load | >= 5.5 C sustained | 5.8 C → Pass |
| Differential-pressure setpoint at remote sensor | 150 kPa, tolerance +/- 10 kPa | 146 kPa → Pass |
| Lead pump stages lag pump | Lag starts when DP falls below 120 kPa for > 60 s | Staged at 118 kPa → Pass |
| Chiller staging on rising load | Chiller 2 enables above 65% capacity, 5 min delay | Enabled at 67% → Pass |
| Loss-of-flow safety | Chiller trips within 10 s of flow switch open | Tripped at 7 s → Pass |
| Valve leakage at full close | Coil leaving temp rises < 0.3 C over 10 min, valve commanded shut | 0.9 C rise → Fail |
The last row is why this matters. "The chilled-water system works fine" would have signed off a passing valve. A leakage criterion of 0.3 C caught a control valve that does not seat, which will waste energy every hour the plant runs. That single failed line is worth more than the entire glossy manual set.
Three parties, three naming schemes
Here is the practitioner reality that no standard fully rescues you from. In almost every construction-to-CMMS handover I have run, the asset register, the BMS points list, and the O&M manuals are produced by three different parties on three different schedules with three different naming conventions. The mechanical contractor names a pump one way, the controls integrator tags the same pump another way, and the O&M author calls it a third thing in the manual. After handover, reconciling those three views into one asset identity is slow, error-prone, and entirely avoidable.
The reconciliation tax nobody budgets for
Reconciling three naming schemes after handover always costs more than mandating one asset ID at design stage. The cheap fix is a single naming standard written into the specification, imposed on every party before anyone orders a label. The expensive fix is a data-cleansing project six months later, staffed by people who were not there when the plant was installed and have to reverse-engineer which tag means which pump.
Mandate one asset ID at design stage and require the points schedule, the asset register, and the O&M index to all carry it. That single decision removes the largest hidden cost in the entire handover.
Tie retention to Cx evidence
The mechanism that makes all of this stick is where you attach the money. If retention release is tied to practical completion, the contractor gets paid the moment the building is nominally usable, and the evidence pack becomes a favour you have to chase. If retention release is tied to acceptance of the Cx evidence pack, the incentive flips: the contractor cannot close the commercial position until the documents exist and pass review.
In practice I ask for the release to be staged. A portion follows practical completion so the contractor is not starved of cash, and a defined portion is held explicitly against the itemised Cx deliverables in the checklist above, released only as each is accepted. Write the specific artefacts into the contract as named deliverables, not as a vague "commissioning documentation" line, or you will spend the defects-liability period arguing about what "documentation" meant.
A note on standards, and independence
The commissioning process I have described aligns with the framework in the ASHRAE commissioning guidelines, commonly cited as Guideline 0 for the overall process and Guideline 1.1 for HVAC and refrigeration technical requirements, and with the commissioning-management approach in CIBSE Code M. I would treat those numbers as a starting point rather than gospel: guideline numbering and revision dates change, and CIBSE and ASHRAE update and occasionally renumber their publications, so confirm the current edition against the source before you cite it in a specification.
Independence note: I am not affiliated with ASHRAE, CIBSE, or any controls vendor. The thresholds and criteria in this article are illustrative practitioner defaults, not a substitute for project-specific commissioning engineering. Every building has different design conditions, and your pass criteria should come from your own design intent.
Written by Muhammad Abbas
CMMS / CAFM Manager & Enterprise Integration Specialist · 22+ years across ERP, EAM, CAFM and enterprise integration.
Work with me