How a Nordic Facility Provider Cut Contractor Response to 6 Hours
contractor management facility operations
facility management digitalization
CAFM systems

How a Nordic Facility Provider Cut Contractor Response to 6 Hours

Contractor management across 18 buildings meant 18 WhatsApp groups and 4-day response times. Here's how one Nordic FM company fixed it.

Ovidiu Pica

Author

25 Mar 2026

Published

0

Views

A 350-person facility service provider in Denmark was managing 18 commercial properties. Their contractor coordination involved 23 active WhatsApp groups, 4 different email threads per building, and a Technical Facility Manager who spent 3 hours daily just figuring out which contractor was supposed to be where.

Average time from tenant request to technician arrival: 4.2 days. For a lightbulb.

The Situation Before: Organized Chaos

The company had grown from 6 buildings to 18 over four years. Each building came with its own contractor relationships, its own communication habits, and its own "system" (usually meaning the previous facility manager's personal phone).

Their stack looked familiar:

  • Planon for space management and lease tracking (underutilized)
  • Excel for preventive maintenance schedules (12 separate files, one per building cluster)
  • WhatsApp for contractor communication (23 groups, some dormant, some hyperactive)
  • Email for tenant requests (forwarded an average of 3.4 times before reaching someone who could act)
  • Paper checklists for compliance inspections (scanned monthly, filed in SharePoint, rarely referenced)

The Director of Operations put it bluntly: "We have systems. What we don't have is a system."

Their Planon instance held good data about spaces and contracts, but nothing about what was actually happening in those spaces day to day. Contractor management in facility operations was essentially tribal knowledge held by three people, two of whom were approaching retirement.

The Problem: Three Handoffs to Change a Lightbulb

When a tenant in Building 7 reported a broken ceiling light, here's what happened:

  1. Tenant emails building reception
  2. Reception forwards to the regional coordinator
  3. Regional coordinator checks which electrical contractor covers Building 7 (consults Excel)
  4. Coordinator messages contractor via WhatsApp
  5. Contractor responds (sometimes same day, sometimes 48 hours later)
  6. Coordinator confirms with tenant
  7. Contractor visits, discovers they need a specific fixture
  8. Contractor messages coordinator about the part
  9. Coordinator approves purchase
  10. Contractor returns to complete work
  11. Coordinator manually updates the Excel maintenance log

Eleven steps. Three people in the loop who never see the lightbulb. Average elapsed time: 4.2 days.

flowchart TD
    A[Tenant reports issue via email] --> B[Reception forwards to Regional Coordinator]
    B --> C[Coordinator checks Excel for contractor assignment]
    C --> D[Coordinator messages contractor on WhatsApp]
    D --> E{Contractor responds?}
    E -->|24-48 hours| F[Coordinator confirms schedule with tenant]
    F --> G[Contractor visits site]
    G --> H{Parts needed?}
    H -->|Yes| I[Contractor messages coordinator]
    I --> J[Coordinator approves via WhatsApp]
    J --> K[Contractor returns]
    K --> L[Work completed]
    H -->|No| L
    L --> M[Coordinator updates Excel manually]
    
    style A fill:#ffcccc
    style C fill:#ffcccc
    style D fill:#ffcccc
    style M fill:#ffcccc

The red nodes represent manual coordination overhead. Four of eleven steps exist only because systems don't talk to each other.

The costs were concrete:

  • Regional coordinators: 2.5 FTE spent on contractor coordination (not facility management, just message relay)
  • Missed SLAs: 34% of tenant requests exceeded the 48-hour target response time
  • Compliance gaps: 3 buildings had expired fire safety certifications because renewal requests got lost in email
  • Contractor invoicing: Monthly reconciliation took 40 hours because nobody could match WhatsApp approvals to invoices

The Technical Facility Manager told us: "I know every contractor personally. I know who's good, who's slow, who overcharges. But that's all in my head. When I'm on vacation, everything takes twice as long."

What We Built: A Contractor Coordination Layer

We didn't replace Planon. The company had invested in it, and it held valuable data. Instead, we built a coordination layer that connected what they already had.

For tenants: A simple web form (no app download required) linked to each building's QR code in common areas. Tenant submits request with photo, location auto-detected from QR code, request timestamped and logged.

For coordinators: A dashboard pulling from Planon (building and space data), the contractor database we migrated from their 12 Excel files, and live request status. One view showing all 18 buildings, filterable by urgency, contractor, request type.

For contractors: A mobile interface (works in any browser, no app) showing their assigned jobs, building access codes, parts approval workflow, and job completion confirmation with photo upload.

The technical depth: Their 12 Excel files had evolved independently over 4 years. Column names varied ("Contractor," "Vendor," "Service Provider"). Date formats varied (DD.MM.YYYY, MM/DD/YY, written months). Phone numbers had inconsistent formatting. We built a normalization parser that mapped 47 different column header variations to a unified schema, flagged 23 duplicate contractor entries, and identified 8 contractors listed for buildings they no longer serviced.

The data migration took 3 days. The platform build took 5 weeks.

sequenceDiagram
    participant T as Tenant
    participant S as System
    participant C as Coordinator Dashboard
    participant CO as Contractor Mobile
    participant P as Planon

    T->>S: Submit request via QR form
    S->>P: Pull building/space data
    S->>S: Auto-assign contractor based on rules
    S->>CO: Push notification with job details
    S->>C: Update dashboard (new request)
    CO->>S: Contractor accepts (ETA)
    S->>T: Auto-notify tenant of ETA
    CO->>S: Job complete + photo
    S->>C: Update dashboard (resolved)
    S->>P: Sync maintenance record

Contractor assignment logic: The system uses rules the coordinators defined. Building 7 electrical goes to Contractor A unless the request mentions "emergency lighting," which goes to Contractor B (they hold the certification). If Contractor A hasn't responded in 4 hours, escalate to coordinator. If the request mentions "water" or "leak," flag as priority and notify building manager directly.

This wasn't machine learning. It was their existing decision tree, extracted from the heads of three coordinators during a 2-hour workshop, codified into routing rules. The value isn't sophistication. The value is that it works at 2 AM when nobody's awake to forward emails.

Integration: What Stays, What Changes

We kept their existing tools in place:

  • Planon remains the system of record for spaces, leases, and assets
  • SharePoint still stores compliance documents
  • Their accounting system still processes invoices

What changed:

  • WhatsApp is no longer the coordination backbone (contractors can still use it for questions, but job status lives in the system)
  • Excel maintenance files replaced by the unified contractor database (with export to Excel for anyone who wants it)
  • Email forwarding chains replaced by direct request routing

The coordinator dashboard shows what we've written about before regarding field service: technicians (and contractors) deserve to know what they're walking into before they arrive. Job details, building access, previous work history at that location, parts that have been pre-approved.

The Results: Six Months Later

Metric Before After Calculation
Average request-to-resolution 4.2 days 6.4 hours Measured from submission timestamp to completion photo
Coordinator time on contractor coordination 2.5 FTE 0.6 FTE Time tracking over 4-week period
Missed 48-hour SLA 34% 4% Requests exceeding 48 hours / total requests
Compliance certificate renewals missed 3 in prior year 0 in 6 months Fire safety, electrical inspection, elevator certification
Invoice reconciliation time 40 hours/month 4 hours/month Finance team tracked over 3 months

Annual savings calculation:

Coordinator time recovered: 1.9 FTE × EUR 52,000 average loaded cost = EUR 98,800

SLA penalty avoidance: Their contracts included penalties for chronic SLA misses. Two tenants had been threatening lease non-renewal. Estimated retention value: EUR 180,000 over 3 years (conservative, using 1-year lease value)

Invoice reconciliation: 36 hours/month × 12 months × EUR 45/hour = EUR 19,440

Compliance fine avoidance: Fire safety certificate lapse had triggered a EUR 8,000 fine the prior year. Assume similar avoided: EUR 8,000

First-year measurable savings: EUR 126,240 (excluding tenant retention)

The platform cost EUR 47,000 to build and deploy. Ongoing costs are hosting (EUR 200/month) and our support retainer (EUR 1,500/month for the first year, optional renewal).

Payback period: 4.5 months.

What Made This Work

Three factors:

1. We didn't try to replace everything. Planon stayed. SharePoint stayed. The accounting system stayed. We connected what existed rather than demanding a full platform migration. Status meetings exist because systems don't talk to each other. Fix the integration, and the meetings (and the manual coordination) become unnecessary.

2. Contractors actually adopted it. Because it was a browser link, not an app. Because it showed them useful information (access codes, contact for the building manager, history of similar jobs). Because the approval workflow for parts was faster than WhatsApp back-and-forth. Contractor adoption hit 89% within 6 weeks.

3. The routing rules came from the coordinators, not from us. We didn't impose a new process. We documented their existing mental model and automated it. They could modify rules themselves through a simple interface. When Contractor A changed their emergency availability, the coordinator updated it in 2 minutes.

flowchart LR
    subgraph Before
        A1[12 Excel files] --> B1[Manual lookup]
        A2[23 WhatsApp groups] --> B1
        A3[Email chains] --> B1
        B1 --> C1[Coordinator decides]
        C1 --> D1[Manual dispatch]
    end
    
    subgraph After
        A4[Unified contractor database] --> B2[Rule-based routing]
        A5[Tenant request form] --> B2
        A6[Planon building data] --> B2
        B2 --> C2[Auto-dispatch to contractor]
        C2 --> D2[Coordinator monitors exceptions]
    end
    
    style B1 fill:#ffcccc
    style D1 fill:#ffcccc
    style B2 fill:#ccffcc
    style D2 fill:#ccffcc

Is This Your Situation?

If your contractor management in facility operations looks like the "before" picture:

  • Multiple WhatsApp groups per building
  • Excel files that only one person really understands
  • Tenant requests that pass through 3+ people before reaching someone who fixes them
  • Compliance deadlines tracked in calendars (or not tracked at all)
  • Coordinators spending more time on message relay than actual facility management

We can show you what the "after" looks like in your specific environment. Working prototype in 7 days. Full platform build typically 6-8 weeks depending on integration complexity.

POC cost: EUR 3,500. You keep the prototype regardless of whether you proceed.

Talk to us about your contractor coordination problem

Tags

contractor management facility operations
facility management digitalization
CAFM systems
workflow automation software
operations management platform

Thanks for reading!

Be the first to react

Comments (0)

Loading comments...