Documentation9 min de lecture

Parc d'équipements : hiérarchie, emplacements, statuts et contrats

Le module OCA `maintenance_equipment_hierarchy` (dépôt `maintenance`, version 18.0.1.0.0, licence LGPL-3) rend les **équipements hiérarchiques** : un équipement parent, ses équipements enfants, leur nombre et un nom complet calculé — ce qui permet de modéliser une ligne de production, ses machines et leurs sous-ensembles. Quinze autres modules traitent les emplacements, les statuts, les références et les contrats de maintenance.

Machines industrielles alignées dans un atelier

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

FamilleModulesNombre
Structurebase_maintenance, maintenance_equipment_hierarchy, maintenance_equipment_category_hierarchy, maintenance_team_hierarchy4
Identificationmaintenance_equipment_ref, maintenance_equipment_sequence, maintenance_equipment_tags, maintenance_equipment_status, maintenance_equipment_usage5
Rattachementmaintenance_location, maintenance_partner, maintenance_product3
Contrats et droitsmaintenance_equipment_contract, base_maintenance_group, maintenance_security, hr_maintenance_security4

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_ref ajoute 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_sequence définit une séquence au niveau de la catégorie : préfixe, numéro suivant. Les compresseurs se numérotent COMP-0001, les chariots CHAR-0001, sans intervention.
  • maintenance_equipment_tags ajoute 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_usage ajoute 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_partner ajoute 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_product relie 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_group fournit des groupes d'accès de base pour l'application Maintenance.
  • maintenance_security ajoute 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_security n'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_left et parent_right : un mécanisme d'arbre coûteux en écriture sur de très gros parcs.
  • maintenance_location garde un ancien champ location à 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_contract dépend du dépôt contract : 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.

Documentation OCAMaintenanceOdoo Community

Partager

Fiches connexes

Équipe au travail sur des ordinateurs portables autour d'une table
Le module OCA `account_invoice_en16931` (dépôt `fr-einvoicing`, version 18.0.1.0.0, licence AGPL-3) est le socle qui fabrique le fichier de facture électronique conforme à la norme européenne **EN 16931** : Factur-X (PDF/A-3 avec XML CII embarqué), XML UBL, XML CII ou PDF accompagné d'un UBL — et il ajoute des **contrôles bloquants à la validation** d'une facture client. Les quatre modules qui s'y greffent pour la France, et ce que le socle ne fait pas.
Lire la suite
Documentation OCA, Facturation électronique
Réunion d'approbation autour d'un document de travail
Relevé sur une instance Odoo 18 Community, le module OCA `base_tier_validation` (dépôt `server-ux`, version 18.0.3.5.1, licence AGPL-3) ajoute 1 modèle, 101 champs et 3 menus, mais ne s'active sur aucun document métier par lui-même : il lui faut un module d'implémentation. C'est le point qui surprend le plus — voici ce qu'il fait réellement, et comment le mettre en service.
Lire la suite
Documentation OCA, Odoo