Documentation8 min de lecture

Étapes, statuts et hiérarchie des tâches de projet

Dix-huit modules OCA du dépôt `project` structurent les projets dans Odoo 18 Community : `project_task_default_stage` et `project_task_stage_state` **restaurent deux fonctions retirées du cœur d'Odoo depuis la version 8** — les étapes marquées par défaut, et l'état porté par l'étape. Les seize autres, des transitions restreintes à la hiérarchie de projets et de tâches.

Planification de projet et suivi du temps passé par les équipes

Un projet se pilote par ses étapes : ce qui est à faire, en cours, bloqué, terminé. Odoo laisse ces étapes entièrement libres — ce qui convient à une équipe de trois personnes et devient ingérable à trente.

Dix-huit modules communautaires rendent ces étapes contrôlables, et ajoutent la hiérarchie que les projets réels ont toujours.

Résumé

Six modules traitent les étapes de tâche : des étapes par défaut attribuées automatiquement, un état porté par l'étape, le changement d'état automatique après un nombre de jours, l'ordre des colonnes verrouillé en vue kanban, les transitions restreintes à certains utilisateurs, et la création d'étapes dès la création du projet.

Quatre traitent le projet lui-même : un statut distinct de l'étape, des informations supplémentaires sur les étapes de projet dont un indicateur de clôture, la date du dernier changement d'étape, et deux indicateurs d'avancement en pourcentage adossés aux heures.

Huit enfin traitent la hiérarchie et les liens : des projets parents, des tâches ancêtres, le blocage d'une tâche parente tant qu'une sous-tâche est ouverte, la date d'échéance synchronisée entre parent et enfants, des filtres sur les tâches racines, des tâches liées sans rapport de hiérarchie, deux niveaux de priorité supplémentaires, et le repliement automatique de l'étape personnelle.

L'essentiel

  • Des étapes par défaut et un état porté par l'étape — deux fonctions retirées depuis Odoo 8.
  • Les transitions restreintes : seuls certains utilisateurs déplacent une tâche vers certaines étapes.
  • L'ordre des colonnes kanban verrouillé, pour qu'un utilisateur ne le réorganise pas.
  • Un statut de projet distinct de son étape.
  • Une hiérarchie de projets : un programme découpé en sous-projets.
  • Une tâche parente bloquée tant qu'une sous-tâche reste ouverte.
  • La date d'échéance du parent synchronisée avec ses sous-tâches.
  • Deux niveaux de priorité en plus du niveau standard.

Ce que ces modules ajoutent à l'instance

FamilleModulesNombre
Étapes de tâcheproject_task_default_stage, project_task_stage_state, project_task_stage_auto_state, project_task_stage_lock, project_task_stage_change_restriction, project_task_stage_mgmt6
Projetproject_status, project_stage_extra_info, project_stage_last_update_date, project_milestone_status4
Hiérarchieproject_parent, project_task_ancestor, project_task_parent_completion_blocking, project_task_parent_due_auto, project_parent_task_filter, project_task_related6
Confortproject_task_add_very_high, project_task_personal_stage_auto_fold2

Un menu ajouté : Projet ▸ Configuration ▸ États du projet, le référentiel des statuts.

Les étapes : deux restaurations et quatre contrôles

Deux modules de ce lot restaurent des fonctions présentes dans Odoo 8 et retirées depuis : les étapes marquées « par défaut », attribuées automatiquement aux nouveaux projets, et l'état porté par l'étape — en cours, terminé, annulé. Sans ce second, rien ne distingue une étape de clôture d'une étape ordinaire.

ModuleCe qu'il contrôle
project_task_stage_change_restrictionLes transitions : qui peut déplacer une tâche vers quelle étape
project_task_stage_lockL'ordre des colonnes kanban, qu'un utilisateur ne peut plus réorganiser
project_task_stage_auto_stateLe changement d'état automatique après un nombre de jours dans la même étape
project_task_stage_mgmtLa création des étapes dès la création du projet, sans passer par la configuration

La restriction des transitions est le contrôle le plus demandé : seule la personne qui recette peut faire passer une tâche en « validé », seul le responsable peut la clore. Sans cela, le kanban est une suggestion.

Le changement d'état automatique répond à l'autre bout du problème : les tâches oubliées dans une colonne depuis six mois, qui faussent toutes les statistiques.

Piloter le projet, pas seulement ses tâches

  • project_status ajoute un statut de projet — en attente, en cours, suspendu — distinct de l'étape. L'étape dit où en est le projet dans le circuit ; le statut dit s'il avance.
  • project_stage_extra_info enrichit les étapes de projet d'une description et d'un indicateur étape de clôture, pour filtrer ce qui est réellement terminé.
  • project_stage_last_update_date enregistre la date du dernier changement d'étape : un projet qui n'a pas bougé depuis deux mois se repère en un tri.
  • project_milestone_status ajoute deux indicateurs d'avancement en pourcentage, adossés aux heures allouées et consommées.

La distinction statut / étape est celle qui manque le plus dans les revues de projet : un projet peut être à l'étape « réalisation » et avoir le statut « suspendu ». Confondre les deux conduit à présenter comme actifs des projets à l'arrêt.

Les feuilles de temps qui alimentent les indicateurs d'avancement sont traitées dans projets, rôles et feuilles de temps.

La hiérarchie : projets, tâches, liens

Les projets parents

project_parent introduit une relation parent/enfant entre projets : un programme se découpe en sous-projets, une affaire en lots, un client en chantiers.

Les tâches et leurs ancêtres

  • project_task_ancestor restaure la notion de tâche ancêtre — la racine d'une hiérarchie de sous-tâches imbriquées — sur les tâches et les lignes de feuilles de temps. C'est elle qui permet d'agréger le temps passé sur une arborescence entière.
  • project_task_parent_completion_blocking empêche de clore une tâche parente tant qu'une sous-tâche reste ouverte.
  • project_task_parent_due_auto synchronise la date d'échéance de la tâche parente avec celles de ses sous-tâches encore ouvertes.
  • project_parent_task_filter ajoute des filtres sur les tâches racines et leurs sous-tâches.
  • project_task_related crée un lien de tâche liée entre deux tâches sans rapport hiérarchique — deux sujets connexes qui s'influencent.

Le blocage de la tâche parente est le garde-fou qui évite le projet « terminé » dont trois sous-tâches sont encore ouvertes. C'est l'erreur de reporting la plus fréquente en gestion de projet — et elle est systématiquement découverte par le client.

Deux modules de confort complètent : project_task_add_very_high ajoute deux niveaux de priorité au-delà du standard, et project_task_personal_stage_auto_fold synchronise l'étape personnelle d'un utilisateur avec l'étape de projet quand la tâche est clôturée — ce qui vide « Mes tâches » de ce qui est fait.

Limites connues

  • Deux modules restaurent des fonctions retirées par l'éditeur : leur maintenance suit le dépôt communautaire.
  • Restreindre les transitions suppose une matrice : qui peut faire passer quoi, décidée avant le paramétrage.
  • Le changement d'état automatique clôt des tâches sans intervention : le délai doit être choisi avec les équipes.
  • La hiérarchie de projets complique les rapports standard : les agrégations ne remontent pas d'elles-mêmes.
  • Le blocage de la tâche parente peut gêner quand une sous-tâche reste ouverte pour une raison légitime.
  • Statut et étape coexistent : sans règle d'usage, l'un des deux n'est pas tenu.

Identité technique

Les dix-huit modules viennent du dépôt OCA project, branche 18.0 — 67 modules au total —, en licences AGPL-3 et LGPL-3 selon le module. Deux dépendent des feuilles de temps (hr_timesheet) pour les indicateurs d'avancement et la notion d'ancêtre.

La famille voisine : projets, rôles et feuilles de temps, qui traite l'affectation et le temps passé.

Questions fréquentes

Peut-on restreindre qui déplace une tâche vers une étape ?

Oui, avec project_task_stage_change_restriction : le déplacement vers certaines étapes est réservé à des utilisateurs ou des groupes. C'est le contrôle le plus demandé — seule la personne qui recette peut faire passer une tâche en « validé ». Sans lui, le kanban est une suggestion.

Qu'est-ce que l'état d'une étape, et pourquoi le restaurer ?

C'est un champ — en cours, terminé, annulé — porté par l'étape, présent dans Odoo 8 et retiré depuis. project_task_stage_state le restaure. Sans lui, rien ne distingue une étape de clôture d'une étape ordinaire, et tout calcul d'avancement devient conventionnel.

Quelle différence entre le statut et l'étape d'un projet ?

L'étape dit où en est le projet dans son circuit — cadrage, réalisation, recette. Le statut (project_status) dit s'il avance : en cours, suspendu, en attente. Un projet peut être à l'étape « réalisation » et suspendu : confondre les deux conduit à présenter comme actifs des projets à l'arrêt.

Peut-on empêcher de clore une tâche dont les sous-tâches sont ouvertes ?

project_task_parent_completion_blocking l'interdit tant qu'une sous-tâche n'est pas elle-même dans une étape de clôture. C'est l'erreur de reporting la plus fréquente en gestion de projet — et celle que le client découvre immanquablement.

Peut-on organiser les projets en arborescence ?

Oui : project_parent introduit une relation parent/enfant entre projets — un programme découpé en sous-projets, une affaire en lots. Attention, les rapports standard n'agrègent pas d'eux-mêmes sur cette hiérarchie.

Se faire accompagner

Les étapes de projet sont le premier endroit où un ERP est contourné : si le kanban ne reflète pas la réalité, les équipes tiennent leur propre liste à côté. Les modules de contrôle — transitions réservées, ordre verrouillé, blocage du parent — servent précisément à ce que le tableau reste vrai.

Nous commençons donc par la matrice des transitions, puis par la distinction statut / étape, qui change les revues de projet. Le reste est du confort, et peut attendre. Voir les prestations d'Atalios Consulting, notre méthode ou demander un rappel.

Pour aller plus loin

En résumé

Deux fonctions retirées par l'éditeur rétablies — étapes par défaut et état d'étape —, des transitions réservées pour que le kanban reste vrai, un statut distinct de l'étape pour les revues, et la hiérarchie que les projets réels ont toujours : programmes, lots, sous-tâches. Parlons de votre gestion de projet.

Documentation OCAProjetsServices

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