Se rendre au contenu

Feuilles de temps en Odoo CE — du chrono à la facturation

Saison 11 · Article 3/5 · Hub Projet & Services
13 mai 2026 par
Feuilles de temps en Odoo CE — du chrono à la facturation
B.Mustapha
| Aucun commentaire pour l'instant

Saison 11 · Article 3/5 · Gestion de Projet & Analytique CE

Feuilles de temps Odoo Community : guide complet 2026

Saisir un temps sur une tâche, suivre les heures par consultant et par mission, préparer la facturation — tout ça se fait en CE avec hr_timesheet. Mais la validation manager, le timer en un clic, la grille hebdomadaire, l'app mobile offline — c'est EE. Cet article pose les bases CE honnêtement : comment piloter trois consultants sur trois missions sans EE, les pièges à éviter, et ce qui justifiera l'upgrade le jour venu.

Ce que tu vas apprendre

Activer hr_timesheet

Module, prérequis projet allow_timesheets + account_id, trois entrées de saisie possibles.

Suivre avec les vues CE

Pivot, graph, calendrier, liste editable — sans grille hebdo EE mais avec les bons axes.

Contourner l'absence EE

Pas de workflow validation, pas de timer, pas de mobile offline — 3 patterns de contournement éprouvés.

1. Pourquoi compter les heures dès aujourd'hui

Dans une ESN qui pilote plusieurs missions en parallèle, la question revient chaque lundi matin : « Combien d'heures sur la mission Audit Réseau la semaine dernière ? ». Tant que le suivi se limite au compteur de tâches « En cours », la réponse n'arrive pas. Le kanban dit ce qui bouge, pas le volume horaire engagé — voir Tâches, dépendances & suivi en Odoo CE pour la fondation tâches.

Le verdict opérationnel tombe vite : à partir d'aujourd'hui, chaque consultant saisit ses heures jour par jour dans Odoo. Pas de feuille Excel parallèle, pas de fin de mois récapitulatif. Trois missions concurrentes — Audit Réseau, App Métier, Déploiement WiFi — passent sur une seule source de vérité. Reste à activer le module, apprendre la saisie, et être lucide sur ce que CE ne fait pas.

2. Activer hr_timesheet : prérequis projet

Le module Feuilles de temps (hr_timesheet) s'installe depuis le menu Applications. À l'installation, deux greffes : un onglet « Feuilles de temps » apparaît sur chaque fiche tâche, et le menu Feuilles de temps s'ajoute à la barre principale (analyse, saisie, configuration).

Deux prérequis projet conditionnent la saisie. Un, l'option allow_timesheets=True doit être cochée sur la fiche projet (case « Feuilles de temps » dans l'onglet Paramètres). Sans elle, le bouton de saisie reste masqué partout. Deux, le champ account_id (compte analytique) doit être renseigné — pour la fondation projet, voir Démarrer ses projets dans Odoo CE. Sans compte analytique, les heures se saisissent mais ne s'agrègent pas pour la facturation.

📖 Définition — Feuille de temps vs compte analytique

Une ligne timesheet (account.analytic.line) = 1 employé × 1 tâche × 1 durée × 1 date. Le compte analytique (account.analytic.account) derrière le projet agrège toutes les lignes pour la facturation et le reporting de marge.

Sur les trois missions de l'agence, les deux cases sont cochées et les comptes analytiques renseignés. Les démos qui suivent portent sur une semaine type de trois jours, du lundi au mercredi.

3. Saisir un temps : trois entrées possibles

Une ligne de feuille de temps en Odoo (account.analytic.line) se crée par trois chemins, tous équivalents en base mais distincts en ergonomie quotidienne.

Entrée 1 — Depuis la fiche tâche, onglet Feuilles de temps. C'est le chemin le plus naturel : le consultant ouvre la tâche sur laquelle il travaille, descend dans l'onglet dédié, ajoute une ligne. Les champs project_id, task_id, employee_id sont alimentés automatiquement — l'utilisateur est lié à son enregistrement employé, voir Les employés dans Odoo 19. Reste à saisir date, name et unit_amount. Le chef de mission technique crée par exemple deux lignes sur « Reconnaissance site Tiaret » : 4h le lundi (déplacement + premier relevé), 6h le mardi (cartographie complète). Le mercredi, il bascule sur « Rapport d'audit v1 » pour 6h supplémentaires.

Entrée 2 — Depuis la fiche projet, onglet Feuilles de temps. Variante utile quand la tâche n'existe pas encore, ou pour du transverse projet (réunion, préparation). Le champ task_id reste vide ou pointe sur une tâche générique « Pilotage ».

Entrée 3 — Depuis le menu Feuilles de temps → Mes feuilles de temps. Vue centralisée par consultant : le développeur senior y ajoute trois lignes successives — 4h lundi, 8h mardi, 4h mercredi sur « Setup environnement dev » de la mission App Métier. Format saisie en lot, idéal pour rattraper une demi-semaine en fin de mercredi soir.

Onglet Feuilles de temps de la tâche Reconnaissance site Tiaret avec 2 lignes 4h+6h saisies
Figure 1 — Onglet Feuilles de temps sur la tâche « Reconnaissance site Tiaret » (mission Audit Réseau). Deux lignes saisies par le chef de mission technique : 2026-05-11 — Déplacement et premier relevé — 4h, et 2026-05-12 — Cartographie complète RJ45 — 6h. Sous-total effective_hours = 10h visible en pied. Champ unit_amount éditable inline.

4. 🔵 Workflow CE vs validation EE

La validation manager des feuilles de temps nécessite Odoo Enterprise.

En Odoo 19 CE, chaque ligne timesheet passe directement en état « validé » dès sa création — hr_timesheet ne dispose d'aucun champ state (draft / submitted / approved) ni d'action action_validate. La workflow d'approbation manager est absente du code source CE.

Quatre fonctionnalités EE absentes du noyau Community :

Workflow validation draft → submitted → approved

Les consultants soumettent en fin de semaine, le manager valide ou rejette ligne par ligne. Aucun équivalent dans hr_timesheet CE.

Vue grille hebdomadaire (timesheet_grid)

Grille 7 colonnes lun→dim pour saisir une semaine entière sur une vue, avec totaux journaliers. Module EE uniquement.

Timer Start/Stop intégré

Chronomètre sur chaque tâche, démarrage en un clic, arrêt qui crée automatiquement la ligne timesheet. Widget EE uniquement.

Application mobile timesheet

Saisie offline depuis smartphone, synchronisation différée à la reconnexion réseau. App native EE absente de Community.

En CE, le contournement pragmatique tient en trois patterns : valider à voix le lundi matin lors du sprint hebdo, laisser une note Discuss sur le projet, ou ajouter un champ boolean custom validated_by_manager via un petit module métier.

5. Vues de suivi CE : pivot, graph, calendrier, liste

Quatre vues natives Community pilotent le suivi timesheet au quotidien — sans vue grille hebdo, mais avec les bons outils d'agrégation.

Pivot

Mesure unit_amount, axes employee × project × task. Le cœur du reporting hebdo.

Graph

Bar / Line / Pie, totaux heures par projet ou par consultant. Visuel comité de pilotage.

Calendrier

Champ date, vue jour/semaine/mois. Repère les jours sans saisie d'un coup d'œil.

Liste editable

Saisie inline, tri multi-colonnes, export Excel natif. Idéal pour la saisie en lot.

La responsable opérationnelle ouvre Feuilles de temps → Analyse, passe en vue Pivot : lignes = employee_id, mesure = unit_amount. Le tableau s'affiche : 16h pour le chef de mission technique, 16h pour le développeur senior, 10h pour la technicienne réseaux, et 0h pour les comptes système (Administrator) — total 42 heures sur la semaine pour les trois consultants. Pour creuser, il suffit d'ajouter project_id en colonne pour répartir mission par mission. La vue analytique remplit le rôle qu'aurait tenu une grille hebdo EE, à condition que la saisie reste régulière. F11·4 — Maîtriser la comptabilité analytique en CE ouvrira la mécanique des comptes analytiques.

Vue pivot timesheet 42 heures total par employé
Figure 2 — Vue pivot Feuilles de temps. Lignes : employés (Administrator 0h, chef de mission technique 16h, direction 0h, technicienne réseaux 10h, développeur senior 16h). Mesure : Heures (unit_amount). Total = 42h pour les 3 consultants opérationnels. Boutons Mesures · Inverser axes · Recharger · Export Excel.

6. Saisie en lot : list editable et raccourcis clavier

La vue liste de /odoo/timesheets se prête à la saisie de plusieurs jours d'affilée. Mode list editable activé par défaut sur le modèle account.analytic.line : un clic sur une cellule passe en édition inline, sans rechargement de page, sans bascule formulaire.

Le développeur senior saisit ses trois lignes du sprint dev en moins de deux minutes : clic « Nouveau », ligne 1 lundi sur la mission App Métier / « Setup environnement dev » / 4h. Tab jusqu'au champ suivant, Entrée pour passer à la ligne suivante. Ligne 2 mardi 8h, ligne 3 mercredi 4h. Total 16h saisies en flux continu, sans recharger la page.

💡 Astuce — Raccourcis clavier liste editable

Tab déplace le curseur de cellule en cellule, Maj+Tab recule. Entrée valide la ligne courante et passe à la suivante. Échap annule. Pour saisir une semaine complète : filtrer sur la période, trier par date, éditer du haut vers le bas.

La technicienne réseaux applique la même méthode pour ses 10 heures de la semaine sur la mission Audit Réseau (tâche Test débit fibre) — 3h, 5h, 2h sur la tâche « Test débit fibre ». L'export Excel natif est accessible en haut à droite pour archivage hors Odoo.

Vue list editable timesheet 11 lignes total 42 heures pied de liste
Figure 3 — Vue liste editable, menu Feuilles de temps → Toutes les feuilles de temps. Onze lignes affichées (1-11/11) : 3 lignes chef de mission technique sur Audit Réseau (Reconnaissance + Rapport audit, 4+6+6 = 16h), 3 lignes développeur senior sur App Métier (Setup environnement, 4+8+4 = 16h), 3 lignes technicienne réseaux sur Audit Réseau (Test débit fibre, 3+5+2 = 10h), plus 2 lignes système Administrator à 0h. Colonnes : Date, Employé, Projet, Tâche, Description, Temps passé. Pied de liste : Total = 42:00. Édition inline disponible sur chaque cellule.

7. Lecture sprint hebdo — 42 heures, trois missions

Au sprint hebdo suivant, la direction ouvre la vue pivot préparée par la responsable opérationnelle : 42 heures cumulées sur la semaine. Le chef de mission technique pèse 16h sur l'Audit Réseau (reconnaissance + rapport v1). Le développeur senior pèse 16h sur l'App Métier (setup environnement dev). La technicienne réseaux pèse 10h sur l'Audit Réseau (tâche Test débit fibre).

Rôle Mission Tâche Lun Mar Mer Total
Chef de mission technique Audit Réseau Reconnaissance site 4h 6h 10h
Chef de mission technique Audit Réseau Rapport audit v1 6h 6h
Développeur senior App Métier Setup environnement dev 4h 8h 4h 16h
Technicienne réseaux Audit Réseau Test débit fibre 3h 5h 2h 10h
Total semaine 11h 19h 12h 42h

Le rituel de validation est verbal : la direction lit le pivot à haute voix, chaque consultant confirme ses heures, la responsable opérationnelle note dans le Discuss du projet le tag « heures semaine validées ». Pas de workflow draft → submitted → approved — la cadence hebdomadaire compense l'absence du circuit EE. L'article F11·5 — Facturer au temps & analyser la rentabilité projet ouvrira la transformation de ces 42 heures en facturation client via sale_timesheet.

8. Pièges & quatre alertes utiles

Quatre pièges récurrents en CE — anticipés, ils ne se rejouent pas. Trois alertes serveur action à activer pour fiabiliser le flux.

❌ Piège 1 — Tâche archivée

Une tâche avec active=False refuse toute création de timesheet — erreur silencieuse à la sauvegarde. Réactiver la tâche avant saisie, ou créer la ligne sur le projet sans tâche.

❌ Piège 2 — Employé archivé

Un consultant dont hr.employee.active=False ne peut plus saisir — l'écran retourne « Aucun employé associé à votre utilisateur ». Vérifier en premier l'état RH avant tout débogage timesheet.

❌ Piège 3 — allow_timesheets=False

Case décochée sur la fiche projet → bouton de saisie absent partout (onglet tâche, menu projet). Toujours cocher cette option à la création du projet, sinon la saisie devient invisible.

❌ Piège 4 — account_id manquant

Projet sans compte analytique = heures saisies mais non agrégeables pour la facturation. Sur les projets migrés depuis v17, vérifier systématiquement le champ « Compte analytique » de l'onglet Paramètres.

🔔 Trois alertes server action à activer

Alerte 1 — Rappel saisie hebdo. Scheduler vendredi 17h qui somme unit_amount sur 5 jours et notifie en Discuss les consultants sous 30h.

Alerte 2 — Tâche dépassée. Scheduler quotidien qui compare effective_hours à 1.2 × planned_hours et alerte le chef de mission au-delà.

Alerte 3 — Projet sans compte analytique. Scheduler hebdomadaire qui détecte allow_timesheets=True couplé à account_id vide et alerte la responsable opérationnelle. Ces trois automatismes compensent en grande partie l'absence du workflow EE — à condition de les câbler dès la mise en route du module.

Conclusion

Tu sors avec un module hr_timesheet activé, trois entrées de saisie maîtrisées, quatre vues de suivi et quatre pièges anticipés. Le rituel hebdomadaire — celui qu'une ESN met en place chaque lundi matin — compense l'absence du workflow draft / submitted / approved EE tant que l'équipe reste sous une dizaine de consultants. Au-delà, la grille hebdo, le timer et la validation manager EE deviennent vraiment décisifs. Pas avant.

Voir aussi dans ce hub Projet & Services

Publié
F11·1 — Démarrer ses projets dans Odoo CE

Structure, kanban, équipes — la fondation.

Publié
F11·2 — Tâches, dépendances & suivi en Odoo CE

Ce qui existe en CE, et ce qui demande EE.

Article actuel
F11·3 — Feuilles de temps en Odoo CE

hr_timesheet — saisie, suivi, facturation.

Publié
F11·4 — Comptabilité analytique Odoo CE

Plans, distribution, marges projet.

Publié
F11·5 — Facturer au temps & rentabilité projet

sale_timesheet, dashboard marge, KPI.

Articles complémentaires

#58 — Les employés dans Odoo 19

Prérequis RH direct : employee_id sur la ligne timesheet est alimenté depuis la fiche employée.

#47 — La comptabilité dans Odoo 19

Contexte facturation, même niveau intermédiaire — utile en amont de F11·5.

Se connecter pour laisser un commentaire.
Tâches, dépendances & suivi en Odoo CE (et ce qui demande EE)
Saison 11 · Article 2/5 · Hub Projet & Services