- Home
- Apps
- Specialized Solutions
- Facility Management & Cleaning Services
Illustrative previewA build-to-order Odoo module for facility management and janitorial companies to run recurring site contracts,
cleaning schedules, staff rosters and per-site billing in one system.
ECOSIRE scopes, builds, installs and supports it on Odoo 17, 18 or 19.
What is Facility Management & Cleaning Services?
A build-to-order Odoo module for facility management and janitorial companies to run recurring site contracts, cleaning schedules, staff rosters and per-site billing in one system. ECOSIRE scopes, builds, installs and supports it on Odoo 17, 18 or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
Cleaning and facility-management companies live or die on recurring execution: dozens of sites, each with its own scope, frequency, assigned crew, consumables and SLA — repeating every week and month. In stock Odoo you can fake pieces of this with project, planning, maintenance and a subscription add-on, but nothing ties a physical site to its contract, its recurring visit calendar, the roster of staff who are supposed to show up, and the invoice that should follow. Schedules end up in spreadsheets, supervisors reconcile attendance by WhatsApp, and month-end billing becomes a manual reconstruction of "what did we actually deliver at each site." That gap is where margin leaks and SLA penalties appear.
ECOSIRE builds a purpose-fit Odoo module that models your operation directly. At its core is a facility/site registry (facility.site) linked to res.partner for the client, carrying location, contacted supervisor, assigned team and a one-to-many of on-site assets (facility.asset) — floors, restrooms, HVAC units, whatever you clean or maintain. A facility.contract model holds the commercial terms, billing frequency and the SLA definition, with a recurrence engine (an ir.cron job plus a @api.depends-driven next-visit compute) that generates the actual facility.visit occurrences — daily, weekly, or custom RRULE-style patterns — instead of you cloning tasks by hand. Each visit references the site, the planned crew shift, the consumables checklist and a completion state that supervisors close from the field.
On top of that we wire the day-to-day flows: staff rostering and shift assignment per site (integrating cleanly with hr employees and, on Enterprise, planning), an SLA tracker that stamps response/completion deadlines and flags breaches via automated actions, and a per-site consumables and equipment inventory backed by stock so restock and usage are real transactions, not notes. Security is proper Odoo — ir.model.access.csv for group-level CRUD plus record rules so a site supervisor sees only their sites while operations managers see the whole portfolio. Views are delivered as list/form/kanban/calendar XML (with OWL components where a richer field widget earns its keep), and month-end billing runs off delivered visits, either drafting account.move invoices directly or pushing billable lines so finance keeps one workflow. QWeb reports give you a site service sheet and an SLA-compliance summary, and every model is reachable over Odoo's XML-RPC / JSON-RPC API for integration with access-control hardware, client portals or a mobile check-in app.
Because this is build-to-order, nothing here is a shrink-wrapped download. We start from a short scoping call, agree the exact models, contract types, SLA rules and billing logic your business actually uses, then build against your target — Odoo 17.0, 18.0 or 19.0, Community or Enterprise (we tell you honestly which capabilities lean on Enterprise apps like planning and which we implement natively so Community stays viable). Typical delivery is one working week from confirmed scope. You get the installable source, a staging UAT round, and a support window after go-live — not a black box, but a module your own team can read, run and extend.
What you get
- Installable module source code for your confirmed Odoo version (17.0, 18.0 or 19.0), Community or Enterprise
- Installation and configuration on your environment, including `ir.model.access.csv`, record rules and cron setup
- Technical documentation: model/field reference, ERD, security matrix and integration/API notes
- End-user guide plus a live training session for supervisors, dispatchers and finance
- UAT on a staging database with a signed-off test script and a documented rollback plan
- Post-go-live support window for bug fixes and configuration adjustments
- Git repository handover with full commit history and branch/tag conventions
- Seed/demo data and a QWeb report set (service sheet + SLA summary) ready to adapt to your branding
Who this is for
Facility management company owner / operations director
Runs multiple client sites under recurring contracts and needs one system that connects each site's scope, schedule, crew and billing so nothing is delivered unbilled or missed against SLA.
Janitorial / cleaning-service operations manager
Builds weekly rosters, assigns crews to sites and tracks that recurring visits actually happen — wants auto-generated schedules and shift assignment instead of spreadsheets and group chats.
Site supervisor / team lead
Works from the field, needs a simple list of today's visits per site, a consumables checklist, and a one-tap way to mark work done that flows straight back to billing and SLA tracking.
Finance / accounts manager
Owns month-end invoicing across dozens of sites and needs billing driven automatically from delivered visits into `account.move`, with clean reports rather than manual reconstruction.
How Facility Management & Cleaning Services Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Fit to facility/cleaning workflow | Built around sites, contracts, recurring visits, rosters and SLA | Whatever you spec, if you get it right | Generic; rarely models sites + SLA together | No site or SLA concept out of the box |
| Recurring schedule generation | Cron + compute auto-generates visits per contract | Must design and build the recurrence engine | Often manual task cloning or basic repeats | Manual recurring tasks in project/planning |
| Per-site billing from delivered work | Done visits draft `account.move` automatically | You build the billing bridge yourself | Usually disconnected from delivery | Manual invoices reconstructed by hand |
| Security scoping | Groups + record rules so supervisors see own sites | Depends on developer discipline | Coarse, often all-or-nothing access | Generic access rights, no site scoping |
| Odoo version targeting | Built for 17/18/19, Community or Enterprise | Tied to whatever you commission | May lag latest version or need Enterprise | Current version only, no vertical logic |
| Delivery time | one working week from confirmed scope | Months of internal build and QA | Instant install but poor fit | Immediate but no vertical capability |
| Ownership & extensibility | Full source + git repo handover | You own it but carry all the effort | Closed module, limited to vendor roadmap | Core code, but no facility features to extend |
| Support after go-live | Support window + optional upgrade retainer | Your team maintains it | Vendor support, variable quality | Community/Enterprise support, not vertical |
Frequently Asked Questions about Facility Management & Cleaning Services
Is this an existing app I can download and install right now?
No. This is a build-to-order Odoo module. ECOSIRE scopes it with you, builds it against your target Odoo version, then installs and supports it. There is no instant apps.odoo.com download — you get source code and a working system tailored to how your facility operation actually runs.
How long does delivery take?
Typical delivery is one working week from confirmed scope. After the scoping call we agree the exact models, SLA rules and billing logic; that written scope starts the clock. Larger portfolios or heavy integrations (access hardware, mobile check-in) can extend the timeline, and we tell you honestly up front.
Which Odoo versions and editions do you support?
We build for Odoo 17.0, 18.0 and 19.0, on Community or Enterprise. Some conveniences (like the `planning` shift board) lean on Enterprise apps; where you're on Community we implement equivalent capability natively and document exactly what differs, so you're never surprised by an Enterprise dependency.
How does the recurring-schedule generation work technically?
Each contract defines a frequency, and an `ir.cron` job plus a `@api.depends` next-visit compute generates `facility.visit` records forward on the calendar — daily, weekly or custom patterns. You don't clone tasks manually; supervisors just work the generated visits, and completed ones feed SLA tracking and billing.
What about support and updates after go-live?
Every build includes a post-go-live support window for bug fixes and configuration tweaks. Because you receive the full git repository and source, your own team can maintain and extend it. We also offer ongoing support and version-upgrade retainers if you'd rather we handle 17→18→19 migrations for you.
Can it bill each site automatically and integrate with our other tools?
Yes. Delivered (done) visits drive per-site invoicing into `account.move` with configurable fixed-fee, per-visit or consumables-based logic. All custom models are exposed over Odoo's XML-RPC / JSON-RPC API, so we can integrate check-in hardware, a client portal or a mobile app during or after the build.
Will supervisors only see their own sites?
Yes. Security is proper Odoo — `ir.model.access.csv` sets group-level CRUD and record rules scope visibility, so a site supervisor sees only their assigned sites while operations managers see the entire portfolio. We define the exact group matrix with you during scoping.
Related Modules

Equipment Rental & Plant Hire Management
Build-to-order Odoo module to rent out machinery and plant with reservations, deposits, returns and renewals — built, installed and supported by ECOSIRE.

Events & Wedding Management
A build-to-order Odoo module for event and wedding planners that unifies the booking pipeline, venue and resource availability, vendor coordination, crew scheduling and deposit-to-milestone billing. ECOSIRE builds, installs and supports it for Odoo 17, 18 or 19.

Field Service & Maintenance Contracts
Custom-built Odoo module: dispatch technicians to sites with contracts, SLAs, work orders, checklists and on-site invoicing.

Fine Dining Restaurant
An industry-specific Odoo configuration module that reshapes POS, reservations, and kitchen operations around the realities of fine dining service. ECOSIRE scopes, builds, installs, and supports it for your establishment — this is a made-to-order build, not an off-the-shelf download.
Facility Management & Cleaning Services
A build-to-order Odoo module for facility management and janitorial companies to run recurring site contracts, cleaning schedules, staff rosters and per-site billing in one system. ECOSIRE scopes, builds, installs and supports it on Odoo 17, 18 or 19.
- Site registry model (`facility.site`) linked to `res.partner`, with location, assigned team, supervisor and a one-to-many of on-site assets (`facility.asset`)
- Recurrence engine that auto-generates `facility.visit` occurrences from a contract frequency via `ir.cron` + a `@api.depends` next-visit compute — daily, weekly or custom patterns
- Service contract model (`facility.contract`) holding billing frequency, term dates, scope-of-work lines and the linked SLA definition
- SLA tracking with response/completion deadline stamps and automated-action breach flagging when a visit closes late or is missed