Documentation9 min de lecture

Feuilles de temps : saisie, validation et types de temps

Seize modules OCA du dépôt `timesheet` complètent la saisie du temps dans Odoo 18 Community : `hr_timesheet_sheet` installe une **feuille de temps périodique** — jour, semaine ou mois — saisissable **en matrice**, avec son circuit d'approbation et ses écrans « à approuver ». Les quinze autres, des heures de début et de fin aux types de temps non facturables.

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

Odoo enregistre des lignes de temps. Il ne connaît ni la feuille hebdomadaire que les salariés remplissent, ni le circuit d'approbation qui la suit, ni la distinction entre temps facturable et temps interne.

Seize modules communautaires rétablissent ces trois notions — et quelques contrôles qui rendent la saisie exploitable.

Résumé

Six modules installent la feuille de temps périodique : une saisie en matrice par jour, semaine ou mois, avec approbation ; le rattachement aux pointages de présence ; la création automatique d'une feuille en brouillon dès qu'une ligne est saisie ; deux politiques de validation — par le chef de service ou par le chef de projet ; et des avertissements personnalisés définis par expression.

Quatre encadrent la saisie : des heures de début et de fin sur la ligne (deux modules selon qu'on utilise ou non le chronomètre), la tâche rendue obligatoire par projet, et la liste des tâches restreinte au projet choisi.

Six enfin classent et protègent : un référentiel de types de temps, des types marqués non facturables, la restriction des montants aux utilisateurs habilités, l'ouverture ou la fermeture d'une tâche depuis la ligne, la mise en évidence des week-ends et jours fériés dans le calendrier, et la désactivation du pré-remplissage du projet.

L'essentiel

  • Une feuille de temps périodique saisissable en matrice, avec approbation.
  • Deux politiques de validation : par le chef de service, ou par le chef de projet.
  • Les heures de début et de fin sur chaque ligne, en plus de la durée.
  • La tâche rendue obligatoire par projet — plus de temps imputé sans objet.
  • Des types de temps classant la nature de l'activité.
  • Des types non facturables exclus automatiquement de la facturation.
  • Les montants masqués aux utilisateurs non habilités.
  • Les week-ends et jours fériés mis en évidence dans le calendrier de saisie.

Ce que ces modules ajoutent à l'instance

FamilleModulesNombre
Feuille périodiquehr_timesheet_sheet, hr_timesheet_sheet_attendance, hr_timesheet_sheet_autodraft, hr_timesheet_sheet_policy_department_manager, hr_timesheet_sheet_policy_project_manager, hr_timesheet_sheet_warning6
Saisiehr_timesheet_begin_end, hr_timesheet_time_control_begin_end, hr_timesheet_task_required, hr_timesheet_task_domain4
Classement et protectionhr_timesheet_time_type, hr_timesheet_type_non_billable, hr_timesheet_amount_security, hr_timesheet_task_stage, hr_timesheet_unusual_days, hr_timesheet_autofill_project_off6

Les menus ajoutés : Feuilles de temps ▸ À approuver, Mes feuilles de temps, Feuille de présence, Lignes des feuilles de temps, et Projet ▸ Configuration ▸ Type de temps.

La feuille de temps, document et circuit

Dans Odoo, une ligne de temps est un enregistrement isolé. Il n'existe pas de feuille — ce document hebdomadaire qu'un salarié remplit, soumet, et qu'un responsable approuve. C'est pourtant la forme que prend le temps dans toutes les organisations qui le suivent sérieusement.

hr_timesheet_sheet installe ce document : une période configurable (jour, semaine, mois), une saisie en matrice — les projets en lignes, les jours en colonnes —, un état, et un circuit d'approbation avec ses écrans dédiés.

  • hr_timesheet_sheet_autodraft crée automatiquement la feuille en brouillon dès qu'une ligne est saisie : le salarié n'a pas à penser au document.
  • hr_timesheet_sheet_attendance relie la feuille aux pointages de présence, pour comparer temps déclaré et temps de présence.
  • hr_timesheet_sheet_policy_department_manager et hr_timesheet_sheet_policy_project_manager ajoutent deux politiques de validation : par le chef de service, ou par le chef de projet.
  • hr_timesheet_sheet_warning permet de définir des avertissements personnalisés par expression — moins de 35 heures, plus de 48 heures, un jour sans saisie.

Le choix de la politique de validation structure l'organisation : valider par chef de projet convient aux sociétés de services où chaque projet a un responsable ; valider par chef de service convient aux structures où le temps est un sujet RH.

Contrôler la saisie

ModuleCe qu'il impose ou ajoute
hr_timesheet_begin_endDes heures de début et de fin sur chaque ligne, en plus de la durée
hr_timesheet_time_control_begin_endLes mêmes champs, pour les instances utilisant le chronomètre
hr_timesheet_task_requiredLa tâche obligatoire, par projet ou par défaut pour les nouveaux projets
hr_timesheet_task_domainLa liste des tâches restreinte au projet choisi sur la ligne

Les heures de début et de fin répondent à deux besoins distincts : la preuve — dans les activités réglementées ou facturées à l'heure — et l'analyse des interruptions, qu'une durée globale masque.

La tâche obligatoire est le contrôle qui rend le temps exploitable : sans elle, les heures s'imputent sur le projet sans préciser l'activité, et l'analyse se résume à « combien d'heures sur ce client » — ce qu'on savait déjà.

Le dernier module paraît trivial et ne l'est pas : la liste des tâches proposées contient, sans lui, toutes les tâches de la base. Sur une instance à plusieurs milliers de tâches, l'utilisateur choisit la mauvaise.

Classer le temps, protéger les montants

Les types de temps

hr_timesheet_time_type ajoute un référentiel Type de temps et un champ sur chaque ligne : production, réunion interne, formation, déplacement, avant-vente. C'est la dimension qui manque pour analyser ce que l'entreprise fait de son temps, par opposition à pour qui.

hr_timesheet_type_non_billable permet de marquer certains types comme non facturables : les lignes correspondantes sont exclues de la facturation, sans que personne ait à y penser.

C'est le module qui évite la conversation gênante : facturer à un client une réunion interne ou une reprise de travail mal fait. Le marquage à la source vaut mieux qu'un tri au moment de facturer — qui n'est jamais fait entièrement.

Les montants

hr_timesheet_amount_security restreint la visibilité des montants et des coûts dans les rapports de feuilles de temps aux seuls utilisateurs habilités.

Sans lui, un collaborateur qui ouvre un rapport de temps voit le coût horaire de ses collègues — une information qui n'a pas à circuler.

Trois conforts

  • hr_timesheet_task_stage permet d'ouvrir ou fermer la tâche directement depuis la ligne de temps.
  • hr_timesheet_unusual_days met en évidence week-ends et jours fériés dans le calendrier de saisie — ce qui attrape la ligne saisie un dimanche par erreur.
  • hr_timesheet_autofill_project_off désactive le pré-remplissage automatique du projet, pour que l'utilisateur choisisse explicitement.

Les jours fériés eux-mêmes sont traités dans la fiche RH.

Limites connues

  • La feuille périodique s'ajoute aux lignes de temps : il faut choisir si les équipes saisissent dans la feuille ou dans les tâches, et s'y tenir.
  • Deux modules de début et fin coexistent : choisir selon qu'on utilise le chronomètre ou non.
  • La tâche obligatoire bloque les imputations directes sur projet : à activer projet par projet.
  • Les types de temps ne servent que s'ils restent peu nombreux : six valeurs utiles valent mieux que vingt.
  • Les avertissements par expression demandent une écriture technique : à poser une fois, avec l'administrateur.
  • hr_timesheet_sheet dépend d'un composant de matrice du dépôt web.

Identité technique

Les seize modules viennent du dépôt OCA timesheet, branche 18.0 — 34 modules au total —, en licence AGPL-3 sauf hr_timesheet_amount_security (LGPL-3). La feuille périodique dépend d'un composant de saisie en matrice du dépôt web et de sale_timesheet.

Les familles voisines : projets, rôles et feuilles de temps et planifier, consommer, facturer.

Questions fréquentes

Odoo gère-t-il une feuille de temps hebdomadaire ?

Pas nativement : il enregistre des lignes isolées. hr_timesheet_sheet installe une feuille périodique — jour, semaine ou mois — saisissable en matrice, avec un état et un circuit d'approbation. C'est la forme que prend le temps dans toute organisation qui le suit sérieusement.

Qui doit valider les feuilles de temps ?

Deux politiques existent : par le chef de service (hr_timesheet_sheet_policy_department_manager) ou par le chef de projet (..._project_manager). La première convient quand le temps est un sujet RH, la seconde aux sociétés de services où chaque projet a un responsable identifié.

Comment éviter de facturer du temps interne ?

En le marquant à la source : hr_timesheet_time_type crée un référentiel de types de temps, et hr_timesheet_type_non_billable permet d'en marquer certains non facturables — les lignes sont alors exclues de la facturation. Trier au moment de facturer n'est jamais fait entièrement.

Peut-on rendre la tâche obligatoire sur une ligne de temps ?

Oui, avec hr_timesheet_task_required, configurable par projet ou par défaut pour les nouveaux projets. Sans ce contrôle, les heures s'imputent sur le projet sans préciser l'activité, et l'analyse se résume à « combien d'heures sur ce client ».

Les collaborateurs voient-ils les coûts horaires dans les rapports ?

Par défaut, oui. hr_timesheet_amount_security restreint la visibilité des montants et des coûts aux utilisateurs habilités. C'est une information qui n'a pas à circuler entre collègues, et son exposition est rarement voulue.

Se faire accompagner

La saisie du temps échoue toujours pour la même raison : elle coûte aux équipes et profite à la direction. Les modules qui la rendent acceptable sont ceux qui réduisent l'effort — la matrice hebdomadaire, le pré-remplissage, le chronomètre — pas ceux qui ajoutent des contrôles.

Nous commençons donc par la forme de saisie, puis par la politique de validation, et enfin par les contrôles — dans cet ordre. Une feuille de temps remplie à 60 % ne sert à rien, quels que soient ses contrôles. Voir les prestations d'Atalios Consulting, notre méthode ou demander un rappel.

Pour aller plus loin

En résumé

La feuille hebdomadaire qu'Odoo n'a pas, avec sa saisie en matrice et son circuit d'approbation — par chef de service ou par chef de projet. Autour, les contrôles qui rendent le temps analysable : tâche obligatoire, types de temps, non facturable marqué à la source, montants protégés. Parlons de votre suivi du temps.

Documentation OCAServicesRH

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