Se rendre au contenu

Champ de suivi Odoo expliqué : Surveillez les changements d'enregistrement en toute confiance.

Découvrez comment fonctionne l'attribut de suivi dans Odoo, quand l'utiliser et comment le configurer dans votre modèle de données.
6 mars 2026 par
Champ de suivi Odoo expliqué : Surveillez les changements d'enregistrement en toute confiance.
Dasolo
| Aucun commentaire pour l'instant

Si vous vous êtes déjà demandé qui a changé un champ sur un enregistrement Odoo et quand, la fonction de suivi est votre réponse.


Odoo vous permet de suivre les modifications sur des champs spécifiques et d'enregistrer chaque modification directement dans le fil de discussion de l'enregistrement. Cela donne aux équipes une visibilité complète sur l'évolution des données commerciales au fil du temps, sans avoir à créer un système d'audit séparé.

Que vous configuriez des champs Odoo Studio ou que vous écriviez un module Python personnalisé, comprendre comment fonctionne le suivi des champs est une partie essentielle du travail avec le modèle de données Odoo. Ce guide vous explique tout ce que vous devez savoir.

Qu'est-ce que le champ de suivi dans Odoo


Dans Odoo, le suivi n'est pas un type de champ en soi. C'est un attribut que vous pouvez activer sur des champs existants, tels que Char, Many2one, Sélection, Entier ou Date. Lorsque le suivi est actif sur un champ, Odoo enregistre chaque changement de valeur dans le fil de discussion, affichant l'ancienne valeur, la nouvelle valeur, la date et l'utilisateur responsable.

Cela apparaît dans l'interface comme une note de journal dans le fil de messages du dossier. Par exemple, sur un prospect CRM, vous pourriez voir : "Étape changée de Nouveau à Qualifié", enregistré automatiquement au moment où un représentant commercial fait avancer l'affaire.

L'attribut de suivi est disponible sur la plupart des types de champs standard d'Odoo et peut être activé via Odoo Studio ou directement dans le code Python dans le cadre d'un projet de développement Odoo personnalisé.

Quelles données cela stocke

Chaque changement suivi est enregistré en tant qu'enregistrement mail.message lié au document. Le message contient :

  • L'étiquette du champ qui a changé
  • La valeur précédente (avant le changement)
  • La nouvelle valeur (après le changement)
  • L'horodatage de la modification
  • L'utilisateur qui a effectué le changement

Cet historique est toujours visible par quiconque ayant un accès en lecture au dossier. Il ne nécessite aucune configuration supplémentaire au-delà de l'activation du suivi sur le champ.

Comment fonctionne le champ


Pour que le suivi fonctionne, le modèle doit utiliser le mixin mail.thread. Ce mixin fournit l'infrastructure de messagerie et de journalisation qui alimente le chatter. La plupart des modèles commerciaux standard d'Odoo, y compris sale.order, crm.lead, account.move et stock.picking, héritent déjà de mail.thread.

Lorsqu'un utilisateur enregistre un dossier qui a des champs suivis modifiés, Odoo compare les anciennes et nouvelles valeurs et écrit automatiquement un message de journal dans le chatter. Aucune action supplémentaire n'est requise de la part de l'utilisateur.

Comportement Technique dans l'Odoo ORM

D'un point de vue technique, l'Odoo ORM intercepte les écritures au niveau du modèle. Lorsqu'un appel à write() modifie un champ suivi, le framework capture la valeur précédente, applique le changement, puis crée un enregistrement mail.message décrivant la différence.

En Python, le suivi est activé en ajoutant tracking=True à une définition de champ dans votre configuration de champs python Odoo :

state = fields.Selection(
    [('draft', 'Brouillon'), ('confirmed', 'Confirmé')],
    tracking=True
)

Vous pouvez également utiliser un numéro de priorité de 1 à 10 pour contrôler l'ordre d'affichage lorsque plusieurs champs suivis changent dans la même opération d'enregistrement. Les numéros inférieurs apparaissent en premier dans le message de journal :

partner_id = fields.Many2one('res.partner', tracking=1)
priority = fields.Selection(tracking=10)

Interaction avec d'autres enregistrements

Les changements suivis sont stockés directement sur l'enregistrement où se trouve le champ. Ils ne se propagent pas automatiquement aux enregistrements liés. Si vous souhaitez un suivi à travers des modèles liés, vous devez l'activer séparément sur chaque modèle où cela est pertinent.

C'est intentionnel. Le modèle de données Odoo garde la piste d'audit proche de l'objet modifié, ce qui facilite la révision de l'historique sans naviguer à travers plusieurs enregistrements liés.

Cas d'utilisation en entreprise


Voici cinq exemples pratiques où l'activation du suivi des champs apporte une réelle valeur ajoutée dans les opérations quotidiennes.


1. Gestion de la CRM et du Pipeline de Ventes

Les équipes de vente doivent savoir quand un prospect passe d'une étape à une autre et qui a effectué ce changement. L'activation du suivi sur le champ stage_id dans le module CRM donne aux responsables une chronologie complète de chaque transition de statut.

Cela aide à identifier où les affaires stagnent, soutient les examens de pipeline et facilite le coaching des représentants commerciaux sur la base de données réelles plutôt que de la mémoire.


2. Flux de travail d'approbation des achats et des factures

En comptabilité et en approvisionnement, la conformité à l'audit nécessite souvent de savoir qui a approuvé un document et quand. Le suivi du champ state sur les commandes d'achat ou les factures de fournisseurs rend cette histoire immédiatement disponible dans le fil de discussion sans avoir besoin d'un module d'audit séparé.

Ceci est particulièrement utile dans les entreprises soumises à des contrôles financiers ou à des exigences d'audit interne.


3. Gestion des stocks et de l'inventaire

Lorsque les quantités de produits ou les emplacements de stockage changent de manière inattendue, le suivi des champs sur les mouvements de stock ou les produits aide les gestionnaires d'entrepôt à identifier rapidement la source des écarts.

Plutôt que de fouiller dans les journaux ou de demander à des collègues, la réponse se trouve juste là dans le fil de discussion de l'enregistrement concerné.


4. Gestion de la qualité des données clients

Si votre équipe met régulièrement à jour les dossiers clients, vous pouvez suivre les changements dans des champs critiques comme email, phone ou pricelist_id sur le modèle partenaire. Cela maintient un historique des modifications des données de contact directement dans le CRM, ce qui est utile pour les équipes de service client et les examens de qualité des données.


5. Dossiers RH et employés

Le suivi des changements dans des champs comme le poste, le département ou le grade salarial sur les dossiers des employés garantit un historique transparent de toute modification. Cela est important pour la conformité RH dans de nombreuses industries et facilite considérablement la réalisation d'audits internes.


Créer ou personnaliser le champ de suivi


Il existe deux principales façons d'activer le suivi sur un champ dans Odoo : utiliser Odoo Studio pour une approche sans code, ou écrire du code Python pour une mise en œuvre entièrement technique.

Utiliser Odoo Studio

Odoo Studio facilite l'activation du suivi sur les champs existants sans écrire de code. Ouvrez Studio sur le modèle concerné, cliquez sur le champ que vous souhaitez surveiller et recherchez le bouton Suivre les modifications dans le panneau des paramètres du champ.

Une fois activé, tous les futurs changements apportés à ce champ apparaîtront dans le chatter. C'est l'approche recommandée pour les administrateurs et les utilisateurs commerciaux qui souhaitent ajouter le suivi dans le cadre de leur flux de travail de personnalisation Odoo, sans impliquer un développeur.

La même interface Studio peut être utilisée lorsque vous créez des champs dans Odoo à partir de zéro. Lors de l'ajout d'un nouveau champ personnalisé via Studio, vous pouvez activer le suivi dès la création du champ.

Utiliser Python dans un module personnalisé

Pour les développeurs construisant ou étendant des modules, l'attribut de suivi est ajouté directement à la définition du champ dans la classe du modèle. C'est une pratique standard dans tout guide de développeur Odoo ou tutoriel technique Odoo.

Le modèle doit également hériter de mail.thread pour que le suivi ait un effet. Voici un exemple minimal :

from odoo import models, fields

class ProjectTask(models.Model):
    _name = 'project.task'
    _inherit = ['project.task', 'mail.thread']

    x_client_priority = fields.Selection(
        [('low', 'Faible'), ('medium', 'Moyenne'), ('high', 'Élevée')],
        string='Priorité Client',
        tracking=True
    )

C'est un modèle typique lorsque vous devez étendre un modèle existant dans le cadre d'un projet de développement Odoo. Le champ se comporte comme n'importe quelle autre entrée de champ de base de données Odoo, mais maintenant chaque changement de sa valeur est automatiquement enregistré.

Remarque importante sur les modèles personnalisés

Lors de la création de modèles personnalisés entièrement nouveaux, assurez-vous d'inclure _inherit = ['mail.thread', 'mail.activity.mixin'] dans la définition de votre modèle. Sans cela, l'attribut de suivi sera silencieusement ignoré et aucune modification ne sera enregistrée dans le chatter.

C'est un point qui fait trébucher de nombreux développeurs suivant un tutoriel sur les champs Odoo pour la première fois. Le mixin n'est pas optionnel si vous souhaitez que le suivi fonctionne.

Meilleures pratiques


Le suivi des champs est facile à configurer mais facile à mal utiliser. Ces directives vous aideront à tirer le meilleur parti de cette fonctionnalité.

Ne suivez que les champs qui comptent

Activer le suivi sur chaque champ crée du bruit dans les discussions et rend plus difficile la recherche d'historique pertinent. Concentrez-vous sur les champs qui sont réellement utiles pour l'audit : états, étapes, utilisateurs responsables, dates clés et valeurs financières.

Utilisez des numéros de priorité pour plus de clarté

Lorsque plusieurs champs sont suivis sur le même modèle, utilisez des numéros de priorité de 1 à 10 pour contrôler comment les changements sont regroupés dans le message de journal. Cela améliore la lisibilité dans les discussions, surtout sur les modèles avec de nombreux champs suivis.

Combinez avec des droits d'accès

Le suivi est le plus utile lorsqu'il est combiné avec des règles d'enregistrement appropriées et des contrôles d'accès. Il n'y a que peu de valeur à maintenir une piste d'audit si tout le monde dans le système peut la modifier librement. Sécurisez votre modèle de données avant de compter sur les discussions comme mécanisme d'audit.

Documentez vos champs suivis

Tenez un registre clair des champs pour lesquels le suivi est activé, surtout dans des projets partagés ou multi-développeurs. Cela évite la confusion lors des revues de code et prévient le double suivi accidentel après les mises à jour de module.

Testez avant de passer en production

Vérifiez toujours le comportement du suivi dans un environnement de staging avant de déployer en production. Certains types de champs, en particulier les champs calculés ou liés, peuvent se comporter différemment des champs stockés standard lorsque le suivi est impliqué.

Pièges courants


Voici les erreurs qui surviennent le plus souvent lors du travail avec le suivi des champs dans Odoo.

Oublier d'hériter de mail.thread

C'est le problème le plus fréquent. Si un modèle personnalisé n'hérite pas de mail.thread, l'attribut de suivi sera silencieusement ignoré. Aucun message d'erreur n'est généré et aucun message de journal n'apparaîtra dans le chatter. Vérifiez toujours la chaîne d'héritage du modèle lorsque le suivi ne semble pas fonctionner.

Suivi des champs calculés non stockés

Les champs calculés peuvent être suivis, mais uniquement s'ils sont stockés avec store=True. Un champ calculé non stocké n'a pas de valeur persistante dans les champs de la base de données Odoo, donc il n'y a rien à comparer avant et après un changement. Si vous essayez de suivre un champ calculé non stocké, le suivi n'aura silencieusement aucun effet.

Activer le suivi sur trop de champs

Il est tentant d'activer le suivi partout pour maximiser la transparence. En pratique, cela encombre le chatter et rend réellement plus difficile la recherche de changements significatifs. Soyez sélectif et concentrez-vous sur les champs ayant une réelle valeur d'audit ou opérationnelle.

S'attendre à un suivi lors d'opérations SQL en masse ou directes

Le suivi est déclenché par l'ORM Odoo lorsque les enregistrements sont modifiés en utilisant la méthode standard write(). Les mises à jour SQL directes, les importations en masse qui contournent l'ORM ou certains appels d'API de bas niveau ne déclencheront pas le suivi. Si vous utilisez l'API XML-RPC ou des opérations par lots, vérifiez que les écritures passent par la couche ORM.

Conflits entre les définitions de Studio et de Python

Si un champ a été initialement créé et configuré dans Odoo Studio avec le suivi activé, faites attention lorsque vous modifiez également le même champ dans un module Python. Des définitions conflictuelles entre Studio et code peuvent entraîner un comportement inattendu lors des mises à jour de module ou des mises à jour de base de données.

FAQ


Puis-je suivre un champ sur n'importe quel modèle dans Odoo ?

Seuls les modèles qui héritent de mail.thread prennent en charge le suivi des champs. La plupart des modèles commerciaux standard dans Odoo incluent déjà ce mixin, mais les modèles personnalisés doivent le déclarer explicitement dans leur définition de classe.

L'activation du suivi affectera-t-elle les performances ?

L'impact est minimal pour la plupart des cas d'utilisation. Chaque changement suivi crée un enregistrement mail.message, ce qui ajoute une petite surcharge à l'opération d'écriture. Pour les modèles transactionnels à très fort volume, réfléchissez au nombre de champs que vous suivez pour éviter de créer un nombre excessif d'enregistrements de journal.

Puis-je désactiver le suivi sur un champ sans perdre l'historique existant ?

Oui. Désactiver le suivi arrête l'enregistrement des nouveaux changements, mais tous les messages de journal existants dans le chatter restent accessibles. L'historique déjà capturé est préservé et ne sera pas supprimé.

Le suivi fonctionne-t-il sur les champs Many2many ?

Le suivi des champs Many2many est pris en charge dans Odoo. Le chatter affiche quels enregistrements ont été ajoutés ou supprimés de la relation, plutôt que de montrer une valeur avant et après. Cela fonctionne, mais gardez à l'esprit que le format d'affichage est différent de celui des champs de valeur simples.

Puis-je utiliser le suivi sans Odoo Studio ?

Absolument. Le paramètre tracking est un attribut de champ Python standard dans le cadre Odoo. Vous pouvez l'activer dans n'importe quel module personnalisé sans utiliser Studio du tout. Studio fournit simplement une interface visuelle sans code pour la même fonctionnalité sous-jacente. C'est une partie standard de tout tutoriel sur les champs Odoo ou guide de développement Odoo.

Conclusion


L'attribut de suivi est l'une de ces fonctionnalités Odoo qui ajoute discrètement beaucoup de valeur sans nécessiter beaucoup de configuration. En l'activant sur les bons champs, vous offrez à votre équipe une piste d'audit fiable, réduisez les litiges sur qui a changé quoi, et établissez une base pour une meilleure gouvernance des données au sein de votre organisation.

Que vous le configuriez via Odoo Studio pour une configuration rapide sans code, ou que vous l'implémentiez via un module Python personnalisé dans le cadre d'un projet de développement ou de personnalisation Odoo plus large, le résultat est le même : une visibilité totale sur la façon dont vos données commerciales évoluent au fil du temps.

La clé est de savoir où l'appliquer. Concentrez-vous sur les champs qui influencent les décisions, les approbations et la responsabilité dans vos flux de travail, et vous obtiendrez la plupart des avantages avec très peu d'efforts.

Chez Dasolo, nous aidons les entreprises à mettre en œuvre, personnaliser et optimiser Odoo pour s'adapter à leurs processus commerciaux spécifiques. Que vous ayez besoin d'aide pour concevoir votre modèle de données, activer le suivi des champs dans vos flux de travail, ou construire des modules personnalisés à partir de zéro, notre équipe est là pour vous soutenir.

Contactez-nous aujourd'hui pour discuter de votre mise en œuvre d'Odoo. Contactez-nous et trouvons ensemble la meilleure approche pour votre projet.

Champ de suivi Odoo expliqué : Surveillez les changements d'enregistrement en toute confiance.
Dasolo 6 mars 2026
Partager cet article
Se connecter pour laisser un commentaire.