Supply Chain

Odoo Maintenance: free CMMS software for SMBs

Community + Enterprise

Track equipment and manage maintenance requests

Odoo Ready Partner
★★★★★4.9 on Clutch
Calgary, in-house team
Odoo Maintenance logo
What it does

What Odoo Maintenance does

Odoo Maintenance is the app that runs your equipment maintenance from one board. Track every piece of equipment, log every breakdown, schedule every preventive service, assign every technician, and report on Mean Time Between Failures and Mean Time To Repair from the same dashboard the shop floor already uses. The same record carries the request, the assignee, the time spent, the parts used, and the resolution.

Factories, fleet operators, building owners, hospitals, food processors, equipment rental shops, and any business that owns gear that breaks runs here. Maintenance requests come in two flavours: Corrective (something broke, fix it) and Preventive (scheduled service before something breaks). You can test Odoo Maintenance free on the Odoo trial; pricing kicks in only if you install more than one Odoo app.

For Odoo's own product overview, see Odoo's product listing.

How it works

The day-to-day flow

Setup starts on the Equipment list. Each piece of equipment carries a category (presses, forklifts, HVAC units, vehicles), a location, an assigned technician or team, a purchase date, a warranty, and a maintenance schedule (the recurring service interval if any). When a piece of equipment is first added, the effective date becomes the anchor for the MTBF calculation that surfaces later.

A breakdown comes in two ways. The operator on the floor raises a Corrective request on the equipment from the mobile app (a press jammed, a forklift will not start, an HVAC unit is leaking), and the request lands on the maintenance team's board with a priority and a description. A technician picks it up, works it, logs time and parts, and closes it with a resolution note. The close date and the time-to-repair feed into the MTBF and the MTTR reports automatically.

A Preventive request runs the other way. Each piece of equipment can carry a recurring time-based service schedule (every X days, weeks, months, or years) with an end date or no end at all. A scheduled service request is created in advance of the next due date, so the team has time to plan. The technician runs the service on schedule, closes the request, and the next preventive request is queued for the next interval. Preventive work runs alongside corrective work on the same board, so the team sees both queues at a glance and can prioritize.

Calibre configures Odoo Maintenance for Alberta businesses: step by step, in writing.

Speak to an Implementation Specialist
In this module

What's inside Odoo Maintenance

Equipment List With Categories
Track every piece of equipment by name, category (presses, forklifts, HVAC, vehicles, IT hardware), location, purchase date, warranty expiry, vendor, serial number, and assigned technician or team. The same record carries the maintenance history and the upcoming preventive schedule.
Corrective and Preventive Request Types
Every maintenance request is tagged as Corrective (something broke, fix it now) or Preventive (scheduled service before something breaks). Both types share the same board, the same assignee fields, and the same time and parts logging.
Recurring Preventive Schedules
Each piece of equipment can carry a recurring maintenance schedule on a time interval (every X days, weeks, months, or years). The next preventive request is created in advance so the team has time to plan. When the request is closed, the next one in the recurrence queues automatically. Schedules can run forever or until a configured end date.
MTBF and MTTR Reporting
Mean Time Between Failures and Mean Time To Repair calculate automatically per equipment based on the close dates and request dates of corrective requests. The dashboard shows which equipment is failing more frequently, which is taking the longest to repair, and which categories are trending the wrong way.
Priority and Status Tracking
Each request carries a priority (Very Low, Low, Normal, High) and an in-progress status (In Progress, Blocked, Ready for Next Stage). Blocked requests surface for the maintenance manager so a waiting-on-parts request does not get lost in the queue.
Time and Parts Logged Per Request
Technicians log the time spent on each request and the parts consumed. With Odoo Inventory installed alongside, parts pulled from stores decrement on-hand counts automatically. With Timesheets, time spent flows to the technician's timesheet for billing or labour reporting.
Equipment Assignment to a Team or Technician
Each equipment can be assigned to a maintenance team or directly to a technician. New requests on that equipment route to the assigned team's board by default, so the right group picks it up without anyone manually routing.
Mobile Request Submission From the Floor
Operators on the shop floor raise a request from the mobile app: pick the equipment, pick the priority, describe the problem, attach a photo of the failure, and submit. The maintenance team sees the request on their board within seconds.
Calendar View for Scheduling
The team calendar shows scheduled preventive work, open corrective work, and the assigned technician for each. Managers planning a week of work see the load at a glance and can move requests between technicians to balance the queue.
Reports and Equipment History
Pivot and graph reports break maintenance data down by equipment, category, technician, request type, period, and resolution. Each equipment carries a full chronological history of every request, every part consumed, and every technician who worked on it.
Built for

Is Odoo Maintenance right for your team?

Outgrowing the entry-level tools

SMBs whose data lives in QuickBooks, HubSpot Free, or Excel spreadsheets that were set up when the business was smaller. The team now spends hours building reports by hand and reconciling between tools every month-end.

Operations across multiple tools

Retail, manufacturing, mechanical, or professional services businesses with 10 to 200 employees running on a patchwork of point tools. The team wants one database for the whole company instead of Zapier holding it together.

At a glance Community + Enterprise Cloud, Odoo.sh, or self-host iOS + Android app 15-day free trial CSV migration from current tool Odoo Ready Partner support
Bundle

Apps people often run with Odoo Maintenance

Odoo Maintenance plugs into the operational backbone of the shop. Odoo Manufacturing posts a maintenance request when a work centre is taken offline for service, and a failing Quality check on the manufacturing floor (with the Quality bridge) can raise a corrective request on the machine that produced the bad batch. Odoo Inventory provides the parts: a part consumed on a maintenance request decrements on-hand stock and can trigger a reordering rule when the bin runs low. Odoo Timesheets picks up the technician's time so labour reporting and billing roll up correctly. Odoo Employees stores the technician roster and the team-of relationship that drives assignment routing. Odoo Calendar shows preventive work on the team calendar alongside the rest of the schedule.

Pricing

What Odoo Maintenance costs

One App Free
CA$0
forever
  • One app, unlimited users
  • Multi-company allowed
  • Odoo Online hosting
  • Dependent apps included free
If Odoo Maintenance is the only Odoo app you install
Custom
CA$55
/user/month, billed yearly
  • Everything in Standard
  • Studio (no-code customizer)
  • Multi-company management
  • Hosting: Online, Odoo.sh, or on-premise
  • External API access
Choose this when you need custom layouts or multi-company management.
Calibre Implementation
Quote
phase-by-phase, in writing
  • Scoping, configuration, training
  • Data migration from your current tool
  • Named engineer through go-live and support
Book the call →
Free 45-minute scoping call. Quote in writing before any code ships.

Pricing source: Odoo's published Standard and Custom plans as of 2026-05. Calibre quotes in CAD; conversion from Odoo's local pricing in your region may vary.

Questions

Common questions about Odoo Maintenance

Is Odoo Maintenance free?
You can test Odoo Maintenance free on the Odoo 15-day trial. Beyond the trial, Odoo's one-app-free rule means it runs free for unlimited users, forever, but only if it is the only Odoo app you install. The free version covers equipment tracking, corrective and preventive requests, recurring schedules, MTBF and MTTR reporting, the team calendar, mobile request submission, and the standard reports. The moment you add a second app (Inventory for parts management, Manufacturing for work-centre integration, Quality for failure escalation, anything else), the setup moves to the paid Standard plan, which is around CA$35.20 per user per month billed annually for the full Odoo suite. Most plants pair Maintenance with at least Inventory, so the paid tier kicks in early.
What's the difference between Odoo Maintenance in Community and Enterprise?
The core maintenance workflow is identical: equipment, corrective and preventive requests, recurring schedules, MTBF and MTTR reporting, the calendar, and the standard reports all work in the free Community edition. Enterprise adds the polish layer: the polished native mobile app for floor operators submitting requests with photos, the Quality bridge for raising a maintenance request from a failing inspection, the Manufacturing bridge for tying preventive schedules to work-centre runtime, and enhanced pivot dashboards. Most growing plants move to Enterprise for the mobile app and the Quality link.
Can we migrate our existing equipment list and maintenance history into Odoo?
Yes. Odoo Maintenance accepts CSV and Excel imports for the equipment list (name, category, location, serial, vendor, warranty), the maintenance teams and technician roster, historical maintenance requests (date, equipment, type, technician, parts, resolution), and recurring preventive schedules. The work is rarely the upload itself, it is mapping your existing equipment codes and category schemes to Odoo's structure cleanly so MTBF and MTTR reporting comes out right. Calibre handles the mapping during the rollout and keeps the old CMMS live as a read-only reference for the first month so the maintenance team can check a prior repair during the transition.
Does Odoo Maintenance connect with our inventory and manufacturing?
Yes to both, when the bridges are in. Inventory is the parts source: a part consumed on a maintenance request decrements on-hand stock and can trigger a reordering rule when the bin runs low, so the technician does not have to walk to the parts crib to find an empty shelf. Manufacturing routes work-centre downtime back to maintenance: a work centre taken offline for preventive service shows on the manufacturing schedule as unavailable, and a failing Quality check (with the Quality bridge) can raise a corrective request on the machine involved automatically.
Can technicians submit and update requests from the shop floor?
Yes. The Odoo mobile app (iOS and Android) covers the technician side: see assigned requests, update status (In Progress, Blocked, Ready for Next Stage), log time and parts, attach photos of the failure or the repair, and close requests with a resolution note. Push notifications fire when a new request is assigned. For floor operators raising new requests, the mobile app submits with the equipment and a photo in two taps. The polished native mobile app is part of the Enterprise tier; Community users get the responsive web admin, which works on a phone but is not as smooth for thumb taps.
How does the preventive maintenance schedule work?
Each equipment carries a recurring maintenance schedule expressed as a time interval: every X days, weeks, months, or years. The next preventive request is created in advance of the next due date so the team has time to source parts and schedule the technician. When the request is closed, the next one in the recurrence queues for the next interval automatically. Schedules can run forever or stop at a configured end date, and they can be paused or edited without losing the history of completed services. Usage-based or mileage-based recurrence (every 1,000 hours, every 5,000 km) is not built into core Maintenance; it requires a custom rule against runtime data or odometer readings tracked elsewhere.
Can we calculate MTBF and MTTR per equipment automatically?
Yes. The MTBF (Mean Time Between Failures) for each equipment calculates from the close dates and request dates of corrective requests against that equipment, anchored to the equipment's effective date. The MTTR (Mean Time To Repair) calculates from the time between request creation and request close. Both metrics surface on the equipment's record and roll up to the category dashboard so a manager planning capital spend sees which categories are getting expensive to keep running.

Working with Calibre

How long does a Calibre implementation typically take?
Single-module rollouts on an existing Odoo setup run 2-6 weeks depending on data migration scope. Greenfield Odoo with a multi-module rollout runs 4-16 weeks. Calibre commits to a written, phase-by-phase timeline after the free scoping call before any code is written.
How much does a Calibre implementation cost?
Cost depends on module scope, user count, custom work, and migration complexity. Calibre's posture is a written fixed-phase quote after the scoping call rather than an hourly engagement, so the cost is committed in writing before the first commit.
What happens to our data if we ever want to leave Odoo?
Everything exports. CSV, XML, or a full PostgreSQL database dump, yours on day one. Migrating off Odoo has been done before and it's not a one-way door.
Speak to an Implementation Specialist

Talk to Calibre about Odoo Maintenance.

Written, phase-by-phase quote before any code is written. Odoo Ready Partner, Calgary. In-house team, no offshore handoffs.

Speak to an Implementation Specialist Try the 15-day free trial

What you get

  • Free 45-minute scoping call with an Odoo-certified engineer
  • Module-by-module fit/gap assessment
  • Written, phase-by-phase quote
  • Named engineer for implementation and support
  • Data-export commitment in writing