Contract-centred setup
Each O&M contract holds its sites, assets, scope, visit frequency, SLAs and billing terms — and everything else hangs off it.
An O&M contract is a promise: these sites, these assets, this response time, this many visits — every month, for years. We build that promise into Odoo, so planned maintenance, reactive calls, technicians, spare parts, SLA reporting and the monthly invoice all run from the contract itself, in Arabic and English.
Whether you run O&M contracts for clients — government buildings, hospitals, schools, compounds, malls — or maintain your own portfolio, the work has two halves. Planned preventive maintenance (PPM) keeps assets running on a schedule; reactive work orders deal with whatever breaks in between. A CMMS (computerised maintenance management system) is what holds both.
Odoo covers a lot of that natively: its Maintenance app handles equipment and preventive schedules, Helpdesk handles requests with SLA policies, Field Service handles technician jobs on a phone, and Inventory and Purchase handle spare parts. What an FM company needs on top is the contract: which sites and assets it covers, what visits are due, what the SLA penalties are, and what to invoice this month.
That contract layer is what we build. It turns Odoo from a maintenance tool into the system that runs the O&M business — and the monthly report your client asks for comes out of the same data your technicians enter.
Standard apps first, custom code only where an O&M contract needs it.
Each O&M contract holds its sites, assets, scope, visit frequency, SLAs and billing terms — and everything else hangs off it.
Every chiller, pump, lift and panel recorded by site and floor; technicians scan a tag to open its history and checklist.
A year of planned maintenance generated from asset classes and contract scope, balanced across your teams.
Requests from a client portal, phone or WhatsApp logged with priority, response and resolution clocks per contract.
Jobs, checklists, photos, parts used and client sign-off from a phone — in Arabic or English.
The monthly KPI pack and the contract invoice — with any SLA deductions — produced from the same records.
Scope, asset lists, SLA tables, manpower schedules and billing terms from your real O&M contracts.
Sites, buildings and assets imported and tagged; existing PPM schedules carried over.
Standard Maintenance, Helpdesk, Field Service and Inventory first, then the contract, SLA and billing layer.
One contract runs a full month on the system — visits, calls, report and invoice — before the rest move.
Remaining contracts migrated; technicians, supervisors and finance trained in Arabic and English.
Odoo’s Maintenance app covers equipment records, preventive schedules and maintenance requests. For FM companies we extend it with a full asset register, PPM plans per contract, SLA tracking and contract billing.
Yes. Each contract carries its own response and resolution targets by priority; breaches are recorded against the request and can feed deductions on the monthly invoice.
Yes — through a client portal, in Arabic or English, where they raise requests, follow their status and download the monthly report.
The fixed monthly fee, extra works, chargeable parts and any SLA deductions are calculated from the contract and the month’s records, and the invoice is issued with ZATCA e-invoicing.
Very little. A job opens with its checklist; the technician ticks steps, adds photos and parts, and gets the client’s signature. We train supervisors to coach their teams.
Send the scope and SLA table of one contract. We’ll show how it would run in Odoo — assets, PPM, requests, report and invoice — with a fixed, phased scope.
We reply within one business day.