Se rendre au contenu

Facturer au temps passé dans une agence web avec Odoo

Temps vendu, temps passé : reliez devis, feuilles de temps et factures dans Odoo 19 pour facturer forfait et régie au réel et suivre la marge par projet.
1 septembre 2026 par

Mis à jour le 28 septembre 2026 : suivi de la rentabilité depuis la SaaS 19.2 et Odoo 20, conférence de l'Odoo Experience du 24 septembre, libellés et réglages d'Odoo précisés.

Un projet vendu 40 heures en consomme 55. Personne ne l'a vu venir, parce que les temps sont notés dans un tableur, le devis dans un autre outil et la facture dans un troisième. Résultat : vous découvrez la dérive au moment de facturer, quand il est trop tard pour en parler au client. La facturation au temps passé en agence ne pose pas un problème de tarif. Elle pose un problème de données : le temps réel n'arrive jamais jusqu'à la facture, ou il y arrive trop tard.

Dans cet article, nous montrons comment une agence web peut relier devis, feuilles de temps et factures dans Odoo 19. Vous verrez comment gérer le forfait et la régie, facturer à partir des temps validés et suivre la rentabilité de chaque projet sans ressaisie.

— Investigmatik · Enquête n°01Enquête & solution
Ce qu'on ne vous dit pas sur le forfait
Temps venduTemps offert
Le suspectDes heures saisies en retard, ou jamais.
Le mobileUn devis déconnecté du projet et des feuilles de temps.
La solutionDevis, temps et facture dans le même flux Odoo.
En bref
  • L'écart entre temps vendu et temps passé vient surtout d'une saisie tardive et d'un suivi déconnecté du devis.
  • Dans Odoo, chaque ligne de service vendue crée un projet ou une tâche, et chaque feuille de temps est rattachée à cette ligne.
  • La régie se facture sur les temps réels, le forfait au prix fixe ou par jalons. Les deux peuvent cohabiter sur une même commande.
  • La facture est générée depuis la commande, à partir des temps validés par le manager.
  • En Odoo 19.0, le panneau de rentabilité d'un projet facturable compare le chiffre d'affaires et le coût réel des heures. Depuis la SaaS 19.2 et dans Odoo 20, des rapports dédiés le remplacent (budget, marges réelles et prévisionnelles).

Pourquoi le temps vendu ne correspond jamais au temps passé ?

Dans une agence web, le devis est une estimation faite avant de connaître le vrai périmètre. Ensuite, le projet vit : retours client, allers-retours sur la maquette, contenus livrés en retard, petites demandes « rapides » qui s'accumulent. Rien de tout cela n'est anormal. Le problème vient de ce que personne ne le mesure au fil de l'eau.

Les causes les plus fréquentes :

  • Saisie en fin de semaine ou de mois. Les collaborateurs reconstituent leurs temps de mémoire. Les petites interventions disparaissent.
  • Temps saisi « sur le projet » sans tâche. Impossible ensuite de savoir si c'est la recette ou le développement qui a dérapé.
  • Aucun lien entre le devis et le suivi. Le chef de projet ne sait pas combien d'heures il reste sur le budget vendu.
  • Hors-périmètre non isolé. Les demandes supplémentaires sont absorbées dans le forfait au lieu d'être refacturées.

Tant que les heures vivent à côté de la vente, la facture reflète le devis, jamais la réalité. La première étape consiste donc à rattacher chaque heure à ce qui a été vendu.

Pièce à conviction n°1L'écart invisible
REFONTE AU FORFAITVENDU : 120 H+30 H= 1 350 € DE MARGE PERDUE30 H × 45 € DE COÛT HORAIRE, SUR AUCUNE FACTUREÉVOLUTIONS EN RÉGIE20 H→ 1 800 € FACTURÉS, HEURE PAR HEURE
Exemple fictif de l'article : un forfait vendu 120 h en consomme 150. Les 30 heures de trop ne figurent sur aucune facture. La ligne en régie, elle, facture chacune de ses 20 heures.

Comment structurer les feuilles de temps par projet et par tâche ?

Dans Odoo, la structure part de la vente. Un produit de type service peut être paramétré pour créer automatiquement, à la confirmation de la commande, un projet, une tâche dans un projet existant, ou un projet et sa tâche. Les heures vendues deviennent les heures allouées de la tâche.

Un projet par client, une tâche par livrable

Pour un site vitrine, un découpage simple suffit : conception, intégration, développement, recette, mise en ligne. Chaque tâche porte ses heures allouées. Le collaborateur saisit son temps directement sur la tâche, depuis l'app Projet ou l'app Feuilles de temps, avec le chronomètre ou en saisie manuelle.

Le chef de projet voit en continu les heures passées face aux heures allouées. Une tâche qui dépasse 80 % de son budget se repère avant qu'elle n'explose.

Des règles de saisie claires

  • Saisie quotidienne, ou au plus tard en fin de semaine.
  • Une description courte et utile : elle apparaîtra dans le détail joint à la facture.
  • Une tâche dédiée au hors-périmètre, rattachée à une ligne de commande séparée.
  • Les temps internes (avant-vente, formation) sur un projet interne non facturable.

La validation par le manager

L'app Feuilles de temps propose un circuit de validation : le manager contrôle les temps de son équipe, corrige si besoin, puis valide. Dans Feuilles de temps ‣ Configuration ‣ Paramètres, section Facturation, limitez la facturation aux seules feuilles de temps validées. C'est ce qui évite d'envoyer au client une heure mal imputée.

Forfait ou régie : comment facturer chaque cas dans Odoo ?

Tout se joue dans la politique de facturation du produit de service, définie dans l'app Ventes. Trois options couvrent l'essentiel des cas d'une agence.

Type de missionPolitique de facturationCe qui est facturé
Régie, TMA, supportBasé sur les feuilles de tempsLes heures réellement saisies (et validées)
Forfait découpé en étapesBasé sur les jalonsChaque jalon atteint, par exemple 30 % à la maquette
Forfait simple ou pack d'heuresPrépayé/Prix fixeLe montant commandé, indépendamment du temps passé

La régie

Avec la politique « Basé sur les feuilles de temps », la quantité livrée sur la ligne de commande suit les heures saisies. Vous facturez ce qui a été fait. C'est la logique naturelle pour la maintenance, la TMA ou l'accompagnement SEO mensuel.

Le forfait

Au forfait, les heures restent saisies. Elles ne pilotent pas la facture, mais elles pilotent la marge. Les jalons conviennent aux refontes de site : vous facturez à la validation de la maquette, puis à la mise en ligne. Le prix fixe convient aux petites prestations et aux packs d'heures prépayés.

Mixer les deux sur une même commande

Une commande peut combiner une ligne au forfait pour la refonte et une ligne en régie pour les évolutions hors périmètre. Chaque ligne suit sa propre politique. Le client signe un seul devis. Vous gardez deux logiques de facturation distinctes.

C'est souvent le point le plus délicat du paramétrage. Nous le détaillons pour ce métier sur notre page intégrateur Odoo pour agences web et marketing.

Comment générer la facture automatiquement depuis les temps validés ?

Une fois la structure en place, la facturation devient une opération de contrôle, plus de la ressaisie. Le circuit type :

  1. Les collaborateurs saisissent leurs temps sur les tâches.
  2. Le manager valide les feuilles de temps de la période.
  3. La quantité livrée se met à jour sur les lignes de commande en régie.
  4. Depuis la commande, vous cliquez sur « Créer une facture » ; en masse, depuis la liste des commandes à facturer, sur « Créer des factures ».
  5. Odoo génère un brouillon de facture avec les quantités à facturer. Vous pouvez restreindre les temps pris en compte à une période donnée.

Le détail des feuilles de temps peut être joint à la facture. Le client voit qui a travaillé, sur quoi et combien de temps. Les discussions sur la facture diminuent, parce que la justification est déjà là.

Les frais engagés pour le client (hébergement, licences, déplacements) passent par l'app Dépenses (notes de frais). Une catégorie de dépense peut être refacturée au prix coûtant ou au prix de vente sur la commande du client.

Pour le détail des options, la documentation officielle Odoo 19 sur la facturation au temps passé reste la référence.

Pièce à conviction n°2La chaîne sans ressaisie
11DEVIS22PROJET33TEMPS44VALIDATION55FACTURE0 RESSAISIE
Le devis confirmé crée le projet, les temps s'imputent sur la ligne de commande, le manager valide, la facture reprend uniquement les heures validées.

Exemple : tableau de rentabilité par projet

En Odoo 19.0, chaque projet facturable affiche un panneau de rentabilité dans son tableau de bord. Il agrège le chiffre d'affaires facturé et à facturer, ainsi que les coûts, dont celui des feuilles de temps. Ce coût repose sur le coût horaire renseigné sur la fiche de chaque employé. Les montants remontent aussi en comptabilité analytique, sur le compte analytique du projet.

Mise à jour du 27/09/2026 : depuis la SaaS 19.2 (Odoo Online), et pour toutes les bases avec Odoo 20, le panneau de rentabilité du tableau de bord projet est remplacé par des rapports dédiés au budget et aux marges réelles et prévisionnelles. Le principe ne change pas : coûts et revenus remontent sur le compte analytique du projet.

Prenons un exemple hypothétique : une agence de 8 personnes vend une refonte de site au forfait de 12 000 €, estimée à 120 heures. Le coût horaire moyen de l'équipe est fixé à 45 €. En parallèle, une ligne de régie à 90 € de l'heure couvre les évolutions hors périmètre.

Poste (exemple fictif)VenduRéaliséMontant
Refonte au forfait120 h150 h12 000 € facturés
Évolutions en régieà l'heure20 h1 800 € facturés
Coût des feuilles de temps–170 h x 45 €7 650 €
Marge du projet––6 150 €

Lecture : le forfait a dépassé de 30 heures, soit 1 350 € de marge perdue sur cette ligne. Sans la ligne de régie, les 20 heures d'évolutions auraient elles aussi été absorbées. Le tableau montre où la marge fuit, tâche par tâche. Il sert aussi à mieux chiffrer le prochain devis de ce type.

L'IA va-t-elle remplir vos feuilles de temps ?

C'est la promesse qui circule le plus : « avec Odoo 20, l'IA saisit les temps à votre place ». Nous avons vérifié dans la documentation officielle. La réalité est plus nuancée, et plutôt rassurante.

Ce qui existe déjà : l'Assistant Feuilles de temps

Disponible sur Odoo Online depuis la SaaS 19.1 (janvier 2026) et documenté en version 20.0, l'Assistant Feuilles de temps s'appuie sur ActivityWatch, une petite application installée sur le poste, complétée, si besoin, d'une extension Chrome ou Firefox. Elle observe les fenêtres, les onglets et les adresses consultées. Des règles reconnaissent l'activité (un ticket GitHub, un document Google, une réunion Meet) et proposent une ligne de temps rattachée au bon projet et à la bonne tâche. Les événements du calendrier et du Planning complètent les suggestions. Depuis la 19.4, les règles se partagent entre collègues.

Le collaborateur garde la main : il sélectionne une suggestion, puis la crée. Rien n'est saisi à son insu.

Ce que ce n'est pas : de l'IA générative

La page de documentation ne parle pas d'intelligence artificielle. Le libellé de la ligne n'est pas rédigé par une IA, il vient du modèle défini dans la règle. Pour une agence qui travaille sur des projets clients confidentiels, c'est une bonne nouvelle.

Mise à jour du 28/09/2026 : dans le résumé de sa conférence à l'Odoo Experience 2026 (24 septembre), un développeur d'Odoo décrit un moteur de règles complété par un apprentissage sur le poste. Aucune donnée ne quitte l'ordinateur et aucune IA générative n'est mentionnée.

Ce que promettent les concurrents

Le marché est coupé en deux. Timely met en avant une IA qui remplit la feuille entière et rédige les descriptions, à valider ensuite. Memtime revendique l'inverse : pas d'IA, des règles et des données locales, au nom de la confidentialité et de la fiabilité. Odoo a choisi le second camp.

Où l'IA d'Odoo aide vraiment une agence

  • Les agents IA (depuis la 19.3) créent ou modifient des fiches, y compris à partir d'un fichier.
  • Une automatisation Studio « Mettre à jour avec l'IA » peut affecter une tâche au collaborateur le plus compétent : c'est l'exemple même de la documentation.
  • L'agent Demander à l'IA résume un fil de discussion avant un point client.

Notre conseil : activez l'assistant, partagez quelques règles d'équipe et gardez la validation des feuilles de temps décrite plus haut. La suggestion accélère la saisie, la validation protège la facture.

— Investigmatik · Radar IAPromesse vs réalité
  • Disponible · SaaS 19.1
    Assistant Feuilles de tempsSuggestions de lignes de temps à partir de l'activité du poste, du calendrier et du Planning. Chaque ligne est validée par le collaborateur.Source
  • Idée reçue
    « L'IA d'Odoo 20 remplit vos temps »Aucune annonce dans les notes de version d'Odoo 20. Conférence du 24/09 : règles et apprentissage local, aucune IA générative mentionnée, données gardées sur l'ordinateur.Source
  • Disponible · SaaS 19.3
    Agents IA qui créent des fichesUn agent crée ou met à jour des fiches, y compris à partir d'un fichier téléversé.Source
  • Disponible
    Automatisation « Mettre à jour avec l'IA »Exemple documenté : affecter une tâche au salarié le plus compétent.Source
  • Non trouvé
    Descriptions de temps rédigées par l'IAAucune annonce dans la documentation 20.0 ni dans les conférences de l'Odoo Experience (24–26/09) consacrées aux feuilles de temps.

Questions fréquentes

Peut-on facturer au temps passé sans que tous les collaborateurs aient une licence Odoo ?

Pour que chacun saisisse ses propres temps, chaque collaborateur doit être utilisateur d'Odoo. Un manager peut saisir des temps pour un employé sans accès, mais on retombe alors dans la ressaisie. Pour une agence, la saisie concerne de toute façon toute l'équipe de production.

Mise à jour du 27/09/2026 : Odoo 20 crée une licence « Light User » à 7,90 € par mois (prix affiché, sur devis). Son périmètre, détaillé sur la page tarifs, couvre notamment congés, présences, notes de frais et planning, sans les feuilles de temps, et exclut l'app Projet : comptez un utilisateur complet par collaborateur qui saisit ses temps (précisé le 28/09/2026). Et sur une base en Odoo 20, le contrat Enterprise du 24 septembre 2026 rend payant l'employé sans accès : toute fiche employé active non liée à un utilisateur interne actif est facturée comme un Light User (précisé le 28/09/2026).

Comment éviter de facturer des heures non contrôlées ?

Activez la validation des feuilles de temps et le réglage qui limite la facturation aux temps approuvés. Seules les heures validées par le manager arrivent sur la facture.

Peut-on appliquer des taux horaires différents selon le profil ?

Oui. Il suffit de créer un produit de service par profil (développeur, chef de projet, designer) avec son propre prix, puis de rattacher les temps de chaque profil à la bonne ligne de commande.

Conclusion

La facturation au temps passé fiable ne dépend pas d'un meilleur tableur. Elle dépend d'une chaîne continue : devis, tâches, temps validés, facture, rentabilité. Odoo 19 couvre cette chaîne nativement. Le travail consiste à bien la paramétrer pour votre façon de vendre. Chez Investigmatik, on commence toujours par là : comprendre comment vous vendez avant de configurer quoi que ce soit. Si votre agence veut passer à cette organisation, découvrez notre approche d'intégration Odoo dédiée aux agences web.

Vos factures ne reflètent pas le temps réellement passé ?

Lors d'un appel, nous identifions avec vous où vos heures se perdent entre le devis, la production et la facture.

Réserver un appel diagnostic gratuit
Facture électronique : un mois après, où en êtes-vous ?
« Pas de sanction en 2026 » ? Pas si simple. Un mois après le 1er septembre, nous confrontons les idées reçues sur la facture électronique aux textes.