Guide · Facturation
Facturer le temps passé avec Odoo, de la saisie à la facture
Quand on facture au temps passé, chaque heure travaillée doit se retrouver sur la facture, une seule fois. Odoo sait le faire, y compris en Community, avec un service facturé d'après les feuilles de temps. Mise en place, erreurs fréquentes, et apport de TimeViking.
Mis à jour le · par l'équipe TimeViking
Le principe de la facturation des heures dans Odoo
Dans Odoo, une ligne de temps est une ligne analytique sur un projet, généralement avec une tâche. La facturation ne passe pas par la ligne elle-même mais par une commande client :
- un service dont la politique de facturation est « Basé sur les feuilles de temps » ;
- une commande client confirmée avec ce service ;
- un projet ou une tâche rattaché à la ligne de commande ;
- des lignes de temps sur ce projet ou cette tâche, qui reprennent automatiquement l'article de la commande ;
- une facture pour les heures livrées non encore facturées.
C'est le rôle du module sale_timesheet, installé par Odoo dès que Ventes et Feuilles de temps sont utilisés ensemble. Il fait partie de Community : nous l'avons vérifié dans le code source d'Odoo 18, 19 et 20.
Prenons une ESN qui déploie un logiciel chez un client du secteur logistique, au temps passé. Le devis devient une commande, les tâches sont regroupées dans un projet, et chaque vendredi le chef de projet consulte sur la commande le nombre d'heures déjà livrées.
Mise en place pas à pas
Créez un service facturé au temps passé
Dans Ventes : un article de type Service, avec la politique de facturation Basé sur les feuilles de temps (Based on Timesheets) et, sous Créer à la commande, une tâche ou un projet. Renseignez le tarif horaire.
Confirmez la commande client
Établissez un devis avec ce service et le nombre d'heures prévu, puis confirmez-le. Odoo crée le projet ou la tâche et le rattache à la ligne de commande.
L'équipe saisit ses heures sur cette tâche
Chaque ligne de temps sur le projet ou la tâche reprend l'article de la commande client. La colonne Délivré de la commande totalise les heures.
Contrôlez les heures
Dans Feuilles de temps, filtrez par projet et par période, et vérifiez que chaque ligne porte un article de commande. Sans article, la ligne ne sera pas facturée.
Générez la facture
Sur la commande : Créer une facture. Odoo reprend les heures livrées non encore facturées. Une fois la facture comptabilisée, ces lignes sont verrouillées.
Trois modes de tarification d'un projet
Pour un projet facturable, Odoo vous laisse choisir comment valoriser les heures (champ Tarif) :
| Mode | Quand l'utiliser |
|---|---|
| Taux de la tâche | Chaque tâche est rattachée à sa propre ligne de commande. Idéal pour vendre des prestations différentes à des clients différents. |
| Taux du projet | Un tarif horaire unique pour tout le projet, quel que soit l'intervenant. |
| Taux de l'employé | La même prestation à un tarif propre à chaque personne, par exemple consultant junior et senior. On associe une ligne de commande à chaque employé. |
Odoo attribue en outre à chaque ligne de temps un type de facturation : sur feuilles de temps, à prix fixe, par jalons, manuel ou non facturable. En regroupant les rapports de Feuilles de temps sur ce critère, vous voyez la part des heures qui se transforme en chiffre d'affaires.
Les erreurs les plus fréquentes
Sur le forum d'Odoo, les mêmes questions reviennent sans cesse, et la cause est presque toujours identique : une ligne de temps qui n'est pas rattachée à l'article de la commande.
- Projet créé manuellement. Sans ligne de commande, les heures ne seront jamais facturées. Rattachez le projet ou la tâche à un article de commande.
- Politique de facturation modifiée en cours de route. Odoo ne l'applique pas aux lignes déjà saisies.
- Saisie sur la mauvaise tâche. Une tâche interne ou sans ligne de commande n'est pas prise en compte.
- Commande non confirmée. Le projet et le rattachement n'existent qu'après confirmation.
Astuce : affichez la colonne Article de la commande client dans la liste des Feuilles de temps. Une cellule vide, c'est une heure qui ne sera pas facturée.
Heures facturées : verrouillage
Une fois qu'une ligne de temps figure sur une facture comptabilisée, Odoo en interdit la suppression (« You cannot remove a timesheet that has already been invoiced »), y compris pour un administrateur. Pour corriger, il faut annuler la facture ou émettre un avoir. Dans Odoo 18 et 19, le champ de la facture s'appelle timesheet_invoice_id, dans la 20 reinvoice_move_id ; le fonctionnement ne change pas.
L'apport de TimeViking
TimeViking n'émet pas de factures : c'est le travail d'Odoo. Il garantit en revanche que les heures arrivent dans Odoo à temps et au bon endroit.
- La bonne tâche, du premier coup. L'équipe choisit un projet et une tâche issus d'Odoo, y compris sur smartphone. Odoo rattache la ligne à l'article de commande de la tâche, exactement comme une saisie faite dans Odoo.
- Approbation hebdomadaire avant facturation. Le chef de projet consulte par personne les heures soumises et la part facturable, et renvoie la semaine en cas d'anomalie. Voir valider les feuilles de temps dans Odoo.
- Heures facturables et montants par projet, client ou collaborateur, exportables vers Excel et CSV.
- Les lignes facturées ne sont pas touchées. Si une ligne figure sur une facture, l'application ne la modifie ni ne la supprime, et en indique la raison.
Pour en savoir plus, consultez la page intégration Odoo et nos tarifs.
Essayez TimeViking avec votre propre Odoo.
Gratuit pour les équipes jusqu'à 3 utilisateurs, pour toujours. Les équipes plus grandes l'essaient 30 jours gratuitement, sans carte.
Questions fréquentes
Odoo Community permet-il de facturer des heures ?
Oui. Le module sale_timesheet (Ventes et Feuilles de temps réunis) fait partie de Community, sous licence LGPL-3, dans Odoo 18, 19 et 20. Enterprise n'est pas nécessaire.
Pourquoi les heures livrées de la commande ne collent-elles pas aux feuilles de temps ?
En général, des lignes ne sont pas rattachées à l'article de la commande : projet créé manuellement, ou tâche sans article. Affichez la colonne Article de la commande client dans la liste des Feuilles de temps et filtrez sur les valeurs vides. Et une politique de facturation modifiée après coup ne s'applique pas rétroactivement.
Une ligne de temps facturée est-elle encore modifiable ?
Non, dès que la facture est comptabilisée : Odoo refuse aussi la suppression. Il faut annuler la facture ou émettre un avoir. TimeViking ne force jamais ces lignes et explique pourquoi elles sont verrouillées.
TimeViking établit-il les factures ?
Non. La facturation se fait dans Odoo. TimeViking envoie les heures dans Odoo, sur le bon projet et la bonne tâche, pour qu'Odoo les rattache à la commande. Dans l'application, vous voyez par projet les heures facturables et leur montant, exportables vers Excel.
Autres guides
- Odoo Community et feuilles de temps
- Valider les heures dans Odoo
- L'app de feuilles de temps sur mobile
- Modèle gratuit de feuille de temps
- Heures de début et de fin
- Conseils feuilles de temps Odoo
- Pourquoi Odoo Feuilles de temps
- Odoo Feuilles de temps : guide pas à pas
- La vue calendrier des feuilles de temps Odoo