Mis à jour le 28 septembre 2026 : suivi de la rentabilité depuis Odoo 19.2 et Odoo 20, alerte de vente additionnelle, heures restantes, crédits IA, probabilité CRM, churn et concurrents précisés.
Le retainer est le modèle préféré des agences : un forfait mensuel, un client fidèle, un chiffre d'affaires prévisible. Sur le papier, c'est le contrat idéal. Dans les faits, c'est souvent celui qui rapporte le moins. Les heures débordent sans que personne ne le voie, les « petites demandes » s'accumulent et la facture reste la même mois après mois. Le problème ne vient pas du client. Il vient du pilotage.
Un retainer agence marketing rentable repose sur trois choses : savoir en temps réel combien d'heures ont été consommées, réagir avant le dépassement et facturer sans ressaisie. Dans cet article, nous détaillons comment Odoo 19 couvre chacun de ces points, avec les modules Abonnements, Ventes, Feuilles de temps et Projet, et quels indicateurs suivre chaque mois sur l'ensemble de vos clients.
- Un retainer perd de la marge quand les heures consommées ne sont pas rapprochées du forfait vendu.
- Dans Odoo 19, un produit de service prépayé lié à un projet affiche les heures restantes sur la tâche et les heures consommées sur la commande.
- Au-delà d'un pourcentage des heures vendues, Odoo crée une activité pour le commercial, avant l'épuisement du forfait si la ligne n'est pas encore entièrement facturée.
- L'app Abonnements gère la facturation récurrente et le renouvellement automatique.
- Cinq indicateurs suffisent pour piloter un portefeuille de retainers chaque mois.
Qu'est-ce qu'un retainer et pourquoi il fuit en marge ?
Un retainer est un engagement récurrent : le client paie un montant fixe chaque mois en échange d'un volume de prestations. Ce volume est exprimé en heures (« 20 heures par mois »), en livrables (« 8 posts, 2 newsletters, 1 rapport ») ou dans un mélange des deux. C'est la forme la plus courante de l'abonnement client en agence.
La marge fuit pour des raisons très concrètes :
- Les temps ne sont pas saisis, ou saisis en fin de mois de mémoire. Ce qui n'est pas saisi n'existe pas.
- Les temps sont saisis, mais pas rattachés au bon client. Ils finissent dans un projet « interne » ou « divers ».
- Personne ne compare consommé et vendu avant la clôture du mois. Le dépassement est constaté, jamais anticipé.
- Le périmètre glisse. Une demande hors forfait est traitée « pour rendre service », puis devient la norme.
- Le renouvellement est tacite et reconduit le même prix alors que le volume réel a augmenté.
Exemple hypothétique : un retainer de 3 000 € pour 20 heures, soit 150 € de l'heure vendue. Si l'équipe passe en réalité 26 heures, le taux effectif tombe à environ 115 €. Sur douze mois, cet écart représente 72 heures offertes. Aucune ligne comptable ne le montre si le temps n'est pas suivi par client.
Comment suivre la consommation d'heures par client ?
La base, c'est un seul référentiel pour la vente, le projet et le temps passé. Dans Odoo 19, la chaîne est la suivante.
Un produit de service prépayé lié à un projet
Vous créez un produit de type service, avec la politique de facturation « Prépayé/Prix fixe » et une unité de mesure en heures. Dans l'option de création à la commande, vous choisissez de générer un projet (ou un projet et une tâche). Quand la commande est confirmée, Odoo crée le projet du client et le relie à la ligne de commande.
Des feuilles de temps rattachées à la ligne de commande
Chaque saisie dans l'app Feuilles de temps, ou directement sur une tâche, est imputée sur l'élément de commande client correspondant. Sur la tâche, le champ des heures restantes sur la commande se met à jour à chaque saisie et passe en rouge lorsque le volume vendu est dépassé. Sur la commande elle-même, la colonne « Délivré » reflète les heures consommées.
Une analyse par client, pas par collaborateur
Le projet porte un compte analytique. Toutes les heures valorisées au coût de chaque collaborateur y remontent, ainsi que le chiffre d'affaires facturé. Les rapports de rentabilité du projet vous donnent donc, client par client, le revenu, le coût du temps passé et la marge. Dans Odoo 19.0, chaque projet facturable affiche un panneau de rentabilité dans son tableau de bord. Depuis la version SaaS 19.2 d'Odoo Online et dans Odoo 20, des rapports dédiés le remplacent : budget, marges réelles et prévisionnelles.
Chez Investigmatik, on insiste sur un point : la saisie quotidienne. Le minuteur des feuilles de temps et la saisie depuis les tâches réduisent la friction. Une règle d'équipe claire fait le reste.
Que faire en cas de dépassement du forfait mensuel ?
Un dépassement n'est pas un échec. C'est une information commerciale. Encore faut-il l'avoir à temps.
Être alerté avant le dépassement
Sur un produit de service prépayé, Odoo 19 propose sur la fiche de l'article un pourcentage de vente additionnelle (« Alerter le vendeur pour une vente incitative lorsque le travail effectué dépasse… des heures vendues »). Au dépassement, Odoo crée une fois une activité pour le vendeur de la commande. Réglé à 80 %, par exemple, il laisse le temps d'appeler le client avant d'avoir épuisé le forfait. Attention : si la ligne est déjà entièrement facturée, l'alerte ne part qu'au-delà de 100 %.
Choisir la bonne réponse
Il n'existe pas de règle unique. Tout dépend du contrat et de la relation. Le tableau ci-dessous résume les options courantes.
| Situation | Réponse recommandée | Mise en œuvre dans Odoo |
|---|---|---|
| Dépassement ponctuel et justifié (campagne, lancement) | Facturer les heures supplémentaires | Ajouter une ligne de service sur la commande ou un devis complémentaire |
| Dépassement récurrent sur plusieurs mois | Revoir le forfait à la hausse | Vente additionnelle sur l'abonnement (upsell) avant la prochaine échéance |
| Dépassement dû à des demandes hors périmètre | Recadrer et chiffrer à part | Nouveau devis dédié, projet ou tâche séparés |
| Sous-consommation régulière | Ajuster ou réorienter le contenu | Modification du plan ou de la quantité à l'échéance |
Précisez dans le contrat si les heures non consommées sont perdues, reportées ou plafonnées. Sans cette règle écrite, chaque fin de mois devient une négociation.
Comment automatiser le renouvellement et la facturation récurrente ?
La facturation récurrente de l'agence ne devrait demander aucune ressaisie. L'app Abonnements d'Odoo 19 s'en charge.
- Plans récurrents : vous définissez une périodicité (mensuelle, trimestrielle, annuelle) et l'appliquez au produit de retainer.
- Facturation automatique : à chaque échéance, Odoo génère la facture de la période. Si le client a enregistré un moyen de paiement, le prélèvement peut être automatique.
- Renouvellement : l'abonnement se prolonge période après période. Vous fixez une durée d'engagement si le contrat en prévoit une, et vous préparez un renouvellement avec de nouvelles conditions quand le forfait doit évoluer.
- Vente additionnelle : depuis l'abonnement en cours, vous ajoutez des heures ou un service ; Odoo calcule le prorata jusqu'à la prochaine échéance.
- Clôture : un abonnement résilié est clôturé à la main avec un motif, ou automatiquement après un impayé, ce qui alimente l'analyse du churn.
Pour les retainers en heures, une approche simple consiste à combiner l'abonnement mensuel, qui porte la facturation, et un projet par client, qui porte la consommation. La configuration exacte dépend de votre contrat type : heures remises à zéro chaque mois, report ou enveloppe annuelle. C'est précisément le point à valider avant le paramétrage. La documentation officielle d'Odoo sur les abonnements détaille chaque réglage.
Si vous souhaitez voir comment ces briques s'assemblent dans un déploiement complet, consultez notre page Odoo pour les agences marketing et digitales.
Vue multi-clients : les indicateurs à suivre chaque mois
Piloter un retainer, c'est bien. Piloter un portefeuille de quinze retainers, c'est autre chose. Il faut une vue consolidée, lisible en dix minutes.
| Indicateur | Question à laquelle il répond | Où le trouver dans Odoo |
|---|---|---|
| MRR (revenu mensuel récurrent) | Combien rapportent nos retainers chaque mois ? | Abonnements, rapport MRR |
| Taux de consommation par client | Qui est proche ou au-delà de son forfait ? | Feuilles de temps, analyse par projet et par commande |
| Marge par client | Quels retainers sont réellement rentables ? | Rapports de rentabilité du projet (tableau de bord en 19.0, rapports dédiés depuis la SaaS 19.2) ; comptabilité analytique |
| Taux horaire effectif | Combien rapporte réellement une heure passée ? | Rapport croisé chiffre d'affaires / heures saisies |
| Churn et renouvellements à venir | Quels contrats risquent de partir ? | Abonnements, analyse et vue des échéances |
Exemple hypothétique : un client affiche 140 % de consommation trois mois de suite, avec une marge négative. Ce n'est pas un problème de production. C'est un forfait sous-dimensionné, à renégocier avant le renouvellement. Sans vue consolidée, ce signal reste invisible jusqu'au bilan annuel.
Ces rapports se filtrent, se regroupent et s'ajoutent à un tableau de bord partagé. Une revue mensuelle de trente minutes avec la direction et les chefs de projet suffit à prendre les bonnes décisions : relancer, recadrer, réviser le prix. C'est l'un des chantiers que nous traitons en priorité dans nos projets Odoo pour agences.
L'IA peut-elle surveiller vos retainers ?
On entend souvent que l'IA « détecte les dépassements et prédit les départs de clients ». Dans Odoo, la documentation raconte une autre histoire.
Le dépassement : une règle, pas une IA
Depuis la SaaS 19.4, le dépassement d'un service prépayé apparaît et se facture directement depuis l'assistant de facturation. C'est une règle de facturation, fiable et prévisible. Combinée au pourcentage d'alerte vu plus haut, elle couvre l'essentiel du besoin, sans IA.
Le churn : un statut, pas une prédiction
Dans l'app Abonnements, un client perdu est un statut posé à la clôture, manuelle (avec une raison) ou automatique après un impayé. Aucune prédiction de départ n'est documentée. Le score de probabilité du CRM repose, lui, sur un modèle d'apprentissage automatique (bayésien naïf) entraîné sur votre historique d'affaires gagnées et perdues, qu'Odoo présente comme calculé par l'IA. Il ne relève pas de l'IA générative, et il prédit la signature d'une affaire : il ne dit rien du départ d'un client.
Ce que vous pouvez construire
Odoo fournit les briques pour aller plus loin, à condition de les assembler :
- un champ IA, ajouté via Studio (ce qui peut changer votre formule) ou en champ de propriété : par exemple un niveau de risque calculé à partir des échanges et de la consommation du client. Il se recalcule au clic, et la tâche quotidienne ne remplit que les champs vides ;
- une action serveur IA, qui laisse l'IA choisir l'action à mener. La documentation prévient elle-même que le résultat n'est pas garanti.
Ces fonctions ont un coût. Depuis Odoo 20, toutes les fonctions IA consomment des crédits Odoo AI, à partir de 1 € le crédit, avec une consommation qui varie selon la demande. En Odoo 19 sur Odoo.sh ou sur site, il faut vos propres clés OpenAI ou Gemini, facturées par le fournisseur. Chiffrez l'usage avant de le généraliser à tout le portefeuille.
Mise à jour du 27/09/2026 : avec Odoo 20, toutes les fonctions IA exigent des crédits IAP, même si la keynote d'ouverture a présenté l'IA comme incluse dans l'abonnement. Et selon la page tarifs d'Odoo, Studio, comme l'IA agentique, relève du plan Personnalisé.
Ce que promettent les concurrents
Sellsy met en avant un assistant qui résume la relation client et rédige les échanges, avec un modèle Mistral et des données hébergées en Europe. Furious annonce une IA qui analyse risques et opportunités et transforme un brief en devis. Sur les retainers, Odoo mise sur des règles solides plutôt que sur des prédictions : moins spectaculaire, plus vérifiable.
- Disponible · SaaS 19.4Dépassement de prépayé facturableUne règle de facturation : le dépassement apparaît et se facture depuis l'assistant.Source
- Idée reçue« L'IA prédit le départ de vos clients »Dans Abonnements, le churn est un statut posé à la clôture, manuelle ou automatique après un impayé. Aucune prédiction documentée.
- Payant · à construireChamps IAUn champ calculé par IA, ajouté via Studio ou en champ de propriété, peut qualifier un client à partir de ses données.Source
- Payant · à construireActions serveur IAL'IA choisit l'outil et ses paramètres. La documentation précise que le résultat n'est pas garanti.Source
- Coût à prévoirCrédits Odoo AIDepuis Odoo 20, toutes les fonctions IA en consomment, à partir de 1 € le crédit, selon la fonction et la taille de la demande. En Odoo 19 sur Odoo.sh ou sur site : vos propres clés OpenAI ou Gemini.Source
Questions fréquentes
Faut-il l'app Abonnements pour gérer un retainer dans Odoo ?
Pas obligatoirement. Un produit de service prépayé suffit pour suivre la consommation. L'app Abonnements devient utile dès que vous voulez automatiser la facturation récurrente, le renouvellement et le suivi du MRR.
Peut-on reporter les heures non consommées sur le mois suivant ?
Oui, mais c'est d'abord une règle contractuelle. Dans Odoo, le report se modélise par la structure des commandes et des projets. Nous la définissons avec vous avant le paramétrage.
Mes collaborateurs doivent-ils saisir leurs temps tous les jours ?
C'est fortement recommandé. Une saisie hebdomadaire reste acceptable. Au-delà, les données deviennent approximatives et l'alerte de dépassement arrive trop tard.
Conclusion
Un retainer ne perd pas de marge par malchance. Il en perd parce que le vendu, le consommé et le facturé vivent dans des outils différents. Odoo 19 les réunit : service prépayé, feuilles de temps, seuil d'alerte, abonnements et rentabilité par projet. Le logiciel ne fait pas tout. La règle contractuelle et la discipline de saisie restent décisives. Mais avec les bons indicateurs, chaque fin de mois devient une décision, plus une surprise.
Vos retainers sont-ils vraiment rentables ?
Lors d'un appel diagnostic, nous passons en revue votre modèle de forfait et la façon de le piloter dans Odoo.
Réserver un appel diagnostic gratuit