L'application Maintenance d'Odoo gère une liste plate d'équipements et des demandes d'intervention. C'est suffisant pour un parc de vingt machines dans un seul atelier, et insuffisant dès que le parc a une structure — des sous-ensembles, des sites, des statuts, des contrats.
Seize modules communautaires donnent au parc la forme qu'il a en réalité.
Résumé
Quatre modules traitent la structure : une hiérarchie d'équipements parent-enfants avec nom complet calculé, une hiérarchie de catégories, une hiérarchie d'équipes de maintenance avec ses compteurs de demandes — à faire, bloquées, planifiées, non planifiées, en priorité élevée —, et un socle ajoutant une description et un chef d'équipe.
Cinq modules traitent l'identification : une référence interne, une séquence définie au niveau de la catégorie avec préfixe et numéro suivant, des étiquettes colorées, un référentiel de statuts d'équipement liés aux catégories, et un suivi des utilisations avec indicateur d'indisponibilité et compteur.
Trois modules traitent le rattachement : un référentiel d'emplacements de maintenance hiérarchiques et géolocalisés, repris sur l'équipement, le plan et la demande ; le partenaire sur l'équipement et sur la demande, avec les compteurs correspondants sur la fiche contact ; et le lien avec le catalogue produit.
Quatre modules enfin traitent les contrats et les droits : les contrats de maintenance reliés aux équipements, des groupes d'accès dédiés à l'application, une couche de sécurité par équipe, et son extension aux employés.
L'essentiel
- Des équipements hiérarchiques : machine, sous-ensemble, composant.
- Des emplacements de maintenance hiérarchiques et géolocalisés.
- Des statuts d'équipement liés aux catégories.
- Une séquence par catégorie, avec préfixe et numéro suivant.
- Un suivi des utilisations et un indicateur d'indisponibilité.
- L'équipement relié au catalogue produit.
- Des contrats de maintenance rattachés aux équipements.
- Des groupes d'accès dédiés à l'application Maintenance.
Ce que ces modules ajoutent à l'instance
| Famille | Modules | Nombre |
|---|---|---|
| Structure | base_maintenance, maintenance_equipment_hierarchy, maintenance_equipment_category_hierarchy, maintenance_team_hierarchy | 4 |
| Identification | maintenance_equipment_ref, maintenance_equipment_sequence, maintenance_equipment_tags, maintenance_equipment_status, maintenance_equipment_usage | 5 |
| Rattachement | maintenance_location, maintenance_partner, maintenance_product | 3 |
| Contrats et droits | maintenance_equipment_contract, base_maintenance_group, maintenance_security, hr_maintenance_security | 4 |
Les menus : Maintenance ▸ Configuration ▸ Statuts des équipements, Equipment Tags, Maintenance Locations, et Maintenance ▸ Équipement ▸ Utilisations.
Donner une structure au parc
Un parc d'équipements est toujours un arbre : une ligne de production contient des machines, une machine contient des sous-ensembles, un sous-ensemble contient des pièces d'usure. Une liste plate oblige à répéter l'information dans le nom — « Ligne 2 / Convoyeur / Moteur » — et interdit toute analyse par niveau.
maintenance_equipment_hierarchy (LGPL-3) ajoute à l'équipement un parent, ses enfants, leur nombre et un nom complet calculé. maintenance_equipment_category_hierarchy fait de même pour les catégories.
maintenance_team_hierarchy hiérarchise les équipes de maintenance et ajoute des compteurs utiles sur chacune : demandes à traiter, bloquées, planifiées, non planifiées, et en priorité élevée.
Ces compteurs sont la base d'un pilotage réel : une équipe avec quarante demandes non planifiées n'a pas le même problème qu'une équipe avec quarante demandes bloquées.
base_maintenance (LGPL-3) est un socle minimal : il ajoute une description et un chef d'équipe à l'équipe de maintenance, et sert de dépendance à deux autres modules. Son README est réduit à sa catégorie.
Identifier un équipement
maintenance_equipment_refajoute une référence interne à l'équipement — le numéro de l'étiquette collée sur la machine, qui n'est jamais son nom.maintenance_equipment_sequencedéfinit une séquence au niveau de la catégorie : préfixe, numéro suivant. Les compresseurs se numérotentCOMP-0001, les chariotsCHAR-0001, sans intervention.maintenance_equipment_tagsajoute des étiquettes colorées — sous garantie, critique, à remplacer — avec leur référentiel sous Maintenance ▸ Configuration ▸ Equipment Tags.maintenance_equipment_status(LGPL-3) crée un référentiel de statuts d'équipement — nom, note, séquence, catégories concernées —, et pose un statut sur l'équipement. Son README est minimal ; les champs sont relevés sur instance.maintenance_equipment_usageajoute un suivi des utilisations : un modèle d'utilisation, un compteur et un indicateur indisponible sur l'équipement.
Le statut lié aux catégories est le détail qui rend le référentiel utilisable : les statuts d'un véhicule — immobilisé, en révision, réformé — n'ont rien à voir avec ceux d'une presse. Un référentiel commun produit une liste de trente statuts dont personne ne sait lesquels s'appliquent.
L'indicateur d'indisponibilité compte pour la planification : un équipement en cours d'utilisation ne peut pas recevoir une intervention préventive, et le savoir évite une tournée pour rien.
Rattacher : lieu, tiers, produit
maintenance_location crée un référentiel d'emplacements de maintenance : hiérarchiques — emplacements enfants, nom complet —, avec une description, des coordonnées de géolocalisation et le nombre d'équipements. L'emplacement se pose sur l'équipement, sur le plan de maintenance et sur la demande.
C'est le module qui transforme une application d'atelier en application multi-sites : un technicien qui part en tournée a besoin de savoir où se trouve la machine, pas seulement laquelle.
maintenance_partnerajoute un partenaire désigné sur l'équipement et un partenaire sur la demande, avec sur la fiche contact les listes et compteurs d'équipements et de demandes de maintenance. C'est le besoin du mainteneur qui intervient chez ses clients.maintenance_productrelie le parc au catalogue : un article et une catégorie d'articles sur l'équipement, une catégorie d'articles sur la catégorie d'équipement, et une case peut être en maintenance sur l'article. Son README est minimal ; les champs sont relevés.
Relier l'équipement à l'article du catalogue est ce qui permet de savoir combien de machines du même modèle sont en service, et laquelle tombe en panne plus souvent que les autres. Sans ce lien, chaque équipement est un cas unique.
Contrats et droits d'accès
maintenance_equipment_contract relie les contrats aux équipements : une liste de contrats et leur nombre sur l'équipement, une liste d'équipements sur le contrat. Il dépend du module de contrats récurrents.
C'est le raccord entre le parc et la facturation : un contrat de maintenance couvre des équipements identifiés, et la facturation récurrente de ce contrat est traitée dans les contrats récurrents.
base_maintenance_groupfournit des groupes d'accès de base pour l'application Maintenance.maintenance_securityajoute une couche de sécurité à l'application. Son README est réduit à sa catégorie et il n'ajoute aucun champ : le comportement est à évaluer sur instance.hr_maintenance_securityétend cette sécurité au module de maintenance des employés, qui gère les équipements affectés au personnel.
Les droits comptent ici plus qu'ailleurs : une application Maintenance ouverte à tous laisse n'importe quel utilisateur clôturer une demande d'intervention, ce qui vide les indicateurs de leur sens.
Limites connues
- Six modules de ce dépôt ont un README réduit à leur catégorie :
base_maintenance,maintenance_equipment_status,maintenance_equipment_usage,maintenance_product,maintenance_security,hr_maintenance_security. Les champs décrits ici sont relevés sur instance. maintenance_securityn'ajoute aucun champ : son effet est une couche de règles, à vérifier avant de s'y fier.- La hiérarchie d'équipements utilise les champs
parent_leftetparent_right: un mécanisme d'arbre coûteux en écriture sur de très gros parcs. maintenance_locationgarde un ancien champlocationà côté du nouveau : vestige de migration, à ne pas utiliser.- Les statuts sont liés aux catégories, pas imposés : rien n'empêche d'affecter un statut à un équipement d'une autre catégorie si le lien n'est pas renseigné.
maintenance_equipment_contractdépend du dépôtcontract: une brique de plus, et un choix d'architecture de facturation récurrente.- Le lien produit suppose un catalogue tenu : sans article, l'équipement reste un cas unique.
Identité technique
Les seize modules viennent du dépôt OCA maintenance, branche 18.0 — 31 modules au total. Treize sont en AGPL-3, trois en LGPL-3. Les dépendances : maintenance et base_maintenance en interne, contract pour les contrats d'équipement, product pour le lien catalogue, hr_maintenance pour la sécurité des équipements du personnel.
Voir aussi planifier et exécuter la maintenance pour le reste du dépôt.
Questions fréquentes
Peut-on modéliser une machine et ses sous-ensembles dans Odoo ?
Oui, avec maintenance_equipment_hierarchy : un équipement parent, ses enfants, leur nombre et un nom complet calculé. Sans lui, la liste est plate et l'information se répète dans le nom — « Ligne 2 / Convoyeur / Moteur » —, ce qui interdit toute analyse par niveau.
Comment gérer un parc réparti sur plusieurs sites ?
maintenance_location crée un référentiel d'emplacements de maintenance hiérarchiques et géolocalisés, posé sur l'équipement, le plan et la demande. C'est ce qui transforme une application d'atelier en application multi-sites : un technicien en tournée a besoin de savoir où est la machine.
Peut-on numéroter automatiquement les équipements ?
Oui : maintenance_equipment_sequence définit une séquence au niveau de la catégorie — préfixe et numéro suivant. Les compresseurs se numérotent COMP-0001, les chariots CHAR-0001. À combiner avec maintenance_equipment_ref, qui porte la référence de l'étiquette physique.
Comment savoir quel modèle de machine tombe le plus souvent en panne ?
En reliant le parc au catalogue avec maintenance_product : un article et une catégorie d'articles sur l'équipement, une case peut être en maintenance sur l'article. Sans ce lien, chaque équipement est un cas unique et aucune comparaison n'est possible.
Peut-on rattacher un contrat de maintenance à des équipements ?
Oui, avec maintenance_equipment_contract : une liste de contrats sur l'équipement, une liste d'équipements sur le contrat. Il dépend du dépôt contract, donc du choix d'architecture de facturation récurrente — à instruire avant de l'installer.
Se faire accompagner
Un parc d'équipements mal structuré produit des indicateurs faux : des pannes réparties sur des équipements uniques, aucune comparaison possible entre machines du même modèle, et un taux de disponibilité calculé sur une liste plate. La structure se pose au début, parce que restructurer un parc en service suppose de reprendre tout l'historique d'intervention.
Nous commençons donc par l'arbre — sites, lignes, machines, sous-ensembles — et par le lien au catalogue, avant de parler de préventif. Un historique rattaché au bon niveau vaut mieux qu'un planning. Voir les prestations d'Atalios Consulting ou demander un rappel.
Pour aller plus loin
En résumé
L'application Maintenance d'Odoo gère une liste plate d'équipements — suffisant pour vingt machines dans un atelier, insuffisant dès que le parc a une structure. Seize modules lui donnent sa forme réelle : arbre d'équipements, emplacements géolocalisés, statuts par catégorie, lien catalogue, contrats. Parlons de votre parc.