Introduction
Dans Odoo, les modèles définissent comment les données sont structurées et stockées dans la base de données. Chaque élément de données commerciales avec lequel vous travaillez, des commandes de vente aux factures en passant par les leads, vit dans un modèle.
Comprendre les modèles Odoo est essentiel tant pour les développeurs que pour les consultants fonctionnels. Les modèles sont la base de l'architecture des données Odoo. Ils définissent les champs Odoo, les relations et la logique commerciale.
Cet article se concentre sur le modèle crm.lead. Il alimente le pipeline de vente dans Odoo CRM. Que vous construisiez des modules personnalisés, intégriez des systèmes externes ou configuriez des flux de travail de vente, vous travaillerez avec ce modèle.
Qu'est-ce que le modèle crm.lead
Le modèle crm.lead représente les pistes et les opportunités dans Odoo. C'est l'endroit central où les données du pipeline de vente sont stockées. Un seul modèle dans Odoo gère à la fois les pistes en phase précoce et les opportunités qualifiées.
Ce modèle est utilisé par le module CRM. Les modules de vente, de marketing et de site web l'étendent ou y font référence. Lorsqu'un visiteur remplit un formulaire sur votre site web, lorsqu'un commercial crée une opportunité, ou lorsqu'une piste est convertie en client, vous travaillez avec crm.lead.
Le modèle utilise l'héritage de modèle Odoo pour ajouter des fonctionnalités. Le module CRM de base définit la structure principale. D'autres modules comme crm_iap_lead_enrich ou website_crm ajoutent des champs et des comportements. Chaque module étend ce dont il a besoin sans dupliquer le noyau.
Champs clés dans le modèle
Voici les champs Odoo les plus importants dans le modèle crm.lead. Comprendre ceux-ci vous aidera à travailler efficacement avec les pistes et les opportunités.
1. nom
Type : Char. Ce champ stocke le nom ou le titre de la piste ou de l'opportunité. C'est l'identifiant principal affiché dans les vues en liste et kanban. Pour une piste, cela pourrait être "Demande depuis le site web." Pour une opportunité, cela pourrait être "Contrat d'entreprise - Acme Corp."
2. contact_name
Type : Char. Le nom de la personne de contact. Utilisé lorsque la piste n'est pas encore liée à un res.partner. Lorsque vous convertissez une piste, cette valeur est souvent copiée dans le nouvel enregistrement partenaire.
3. email_from
Type : Char. L'adresse e-mail principale de la piste. Odoo l'utilise pour les communications avant la conversion. C'est le principal moyen d'identifier et de dédupliquer les pistes.
4. téléphone
Type : Char. Le numéro de téléphone principal. Affiché sur le formulaire de la piste et utilisé pour l'enregistrement des appels et les activités de suivi.
5. mobile
Type: Char. Numéro de téléphone mobile. Souvent utilisé pour les SMS ou le suivi urgent lorsqu'il diffère du téléphone principal.
6. partner_id
Type: Many2one (res.partner). Lien vers le contact ou l'entreprise lorsque le lead est qualifié ou converti. Avant la conversion, ce champ est vide. Après conversion, il renvoie au partenaire créé ou associé.
7. user_id
Type: Many2one (res.users). Le vendeur responsable du lead. Utilisé pour l'attribution, le reporting et la planification des activités. Alimente les tableaux de bord "Mes Opportunités" et d'équipe.
8. team_id
Type: Many2one (crm.team). L'équipe de vente. Organise les leads par équipe pour une attribution en rotation et un reporting basé sur l'équipe.
9. stage_id
Type: Many2one (crm.stage). L'étape actuelle dans le pipeline. Les étapes définissent l'entonnoir : Nouveau, Qualifié, Proposition, Négociation, Gagné, Perdu. Le passage entre les étapes entraîne l'automatisation et le reporting.
10. type
Type: Sélection. Indique si l'enregistrement est un Lead ou une Opportunité. Les Leads sont en phase précoce. Les Opportunités sont qualifiées et ont un revenu attendu. Le type affecte les vues et les étapes disponibles.
11. revenu_attendu
Type : Flottant. Le revenu attendu si l'opportunité est gagnée. Utilisé pour le reporting de la valeur du pipeline et les prévisions. Souvent calculé à partir de la probabilité et d'un montant de transaction.
12. probabilité
Type : Flottant. La probabilité de gain en pourcentage (0 à 100). Utilisé dans les calculs de pipeline pondéré. Peut être manuel ou automatisé en fonction de l'étape.
13. id_entreprise
Type : Many2one (res.company). Dans les configurations multi-entreprises, cela indique à quelle entreprise Odoo le lead appartient. Affecte la visibilité des enregistrements et la devise.
14. description
Type : Texte. Notes et description du lead ou de l'opportunité. Utilisé pour les notes internes, les résumés de réunions et le contexte dont les commerciaux ont besoin lors du suivi.
15. date_creation
Type : Datetime. Stocke la date et l'heure de la création de l'enregistrement. Géré automatiquement par Odoo. Utile pour le reporting sur l'âge des leads et l'analyse du temps de conversion.
16. date_modification
Type : Datetime. Stocke la date et l'heure de la dernière modification. Également géré automatiquement. Aide à suivre quand le lead a été mis à jour pour la dernière fois.
17. date_open
Type : Datetime. Quand le lead a été d'abord attribué à un utilisateur. Défini lorsque user_id est rempli. Utilisé pour mesurer le temps jusqu'au premier contact et la vitesse d'attribution.
18. date_closed
Type : Datetime. Quand le lead a été clôturé (gagné ou perdu). Défini lorsque l'étape passe à une étape clôturée. Utilisé pour l'analyse de conversion et la durée du cycle de vente.
19. date_deadline
Type : Date. La date de clôture prévue. Utilisé pour les prévisions et la planification des activités. Les commerciaux définissent cela pour suivre quand ils s'attendent à conclure l'affaire.
20. active
Type : Boolean. Indicateur de suppression douce. Lorsque False, l'enregistrement est archivé et caché des vues par défaut. Les leads perdus ou fusionnés sont souvent archivés plutôt que supprimés.
21. street, street2, city, zip
Type : Char. Champs d'adresse. Utilisés lorsque le lead a une adresse avant la conversion. Copié au partenaire lorsque le lead est converti.
22. country_id
Type : Many2one (res.country). Le pays. Utilisé pour les rapports régionaux et le formatage des adresses. Filtrer les leads par pays aide à la gestion des territoires.
23. state_id
Type : Many2one (res.country.state). L'état ou la province. Le domaine est filtré par pays. Utilisé pour la segmentation régionale.
24. source_id
Type : Many2one (utm.source). La source du lead. Suit d'où vient le lead : Site web, Référence, Campagne, etc. Important pour l'attribution marketing.
25. campaign_id
Type : Many2one (utm.campaign). La campagne marketing. Lien entre le lead et une campagne spécifique pour l'analyse du ROI. Utilisé lorsque les leads proviennent d'e-mails ou de campagnes publicitaires.
26. activity_ids
Type : One2many (mail.activity). Les activités programmées. Tâches, appels et réunions liés au lead. Alimente le widget d'activité et les rappels de suivi.
27. color
Type : Integer. Index de couleur pour les vues kanban et liste. Utilisé pour distinguer visuellement les leads par priorité, source ou critères personnalisés.
28. message_ids
Type : One2many (mail.message). Le fil de discussion. Notes internes, e-mails et historique des activités. Odoo stocke toutes les communications dans le fil de discussion pour un contexte complet.
Comment ce modèle est utilisé dans les flux de travail commerciaux
1. Capture de leads sur le site web
Lorsqu'un visiteur soumet un formulaire de contact sur votre site Odoo, un nouvel enregistrement crm.lead est créé. Les champs email_from, contact_name et description sont remplis à partir du formulaire. Le lead apparaît dans le pipeline CRM pour que l'équipe de vente puisse faire un suivi.
2. Qualification et conversion des leads
Les commerciaux déplacent les leads à travers les étapes. Lorsqu'un lead est qualifié, ils changent le type en Opportunité et définissent le revenu attendu. Lorsque l'affaire est gagnée, ils convertissent le lead. Odoo crée ou lie un res.partner et éventuellement un sale.order.
3. Reporting du pipeline de vente
Les managers utilisent les données crm.lead pour les rapports de pipeline. Le revenu attendu, la probabilité et l'étape déterminent la valeur pondérée du pipeline. Les filtres par user_id et team_id montrent la performance par commercial et par équipe.
4. Attribution marketing
Les champs source_id et campaign_id lient les leads aux efforts marketing. Lorsque les leads proviennent de campagnes par email ou de publicités, les paramètres UTM remplissent ces champs. Les équipes marketing utilisent cela pour mesurer l'efficacité des campagnes.
5. Gestion des activités et des suivis
Les commerciaux planifient des activités sur les leads. Le champ activity_ids stocke les appels, les réunions et les tâches. La date limite activity_date_deadline alimente la colonne "Prochaine Activité" dans les vues en liste et rappelle aux utilisateurs de faire un suivi.
Comment les développeurs étendent ce modèle
Les développeurs étendent crm.lead en utilisant plusieurs modèles. L'héritage de modèle Odoo est le principal mécanisme.
Héritage de modèle
Utilisez _inherit = 'crm.lead' pour étendre le modèle. Ajoutez de nouveaux champs Odoo, remplacez des méthodes ou ajoutez des contraintes. Le modèle hérité dans Odoo garde vos modifications dans un module séparé pour des mises à jour faciles.
Ajout de champs
Définissez de nouveaux champs Odoo dans votre modèle hérité. Utilisez le bon type de champ : Char, Many2one, Boolean, Integer, Text, Selection. Les ajouts courants incluent des sources de leads personnalisées, des intérêts produits ou des secteurs d'activité. Envisagez des champs dépendants de l'entreprise pour les multi-entreprises.
Extensions Python
Remplacez la méthode create, write ou action_convert pour ajouter de la logique. Utilisez super() pour appeler l'original. Soyez prudent avec les changements de stade et la logique de conversion. Le modèle api dans les décorateurs Odoo (@api.depends, @api.onchange) aide avec les champs calculés et le comportement de l'interface utilisateur.
Odoo Studio
Odoo Studio vous permet d'ajouter des champs sans code. Bon pour des personnalisations rapides comme des menus déroulants supplémentaires ou des champs de texte. Pour une logique complexe, l'automatisation des étapes ou les mises à jour, les modules personnalisés sont plus faciles à maintenir.
Meilleures pratiques
- Configurez les étapes pour correspondre à votre processus de vente. Utilisez des séquences d'étapes séparées pour les leads et les opportunités si nécessaire.
- Définissez source_id et campaign_id à partir des paramètres UTM sur les formulaires de site Web. Cela permet l'attribution marketing.
- Utilisez team_id pour une attribution en rotation ou basée sur le territoire. Définissez les règles d'attribution dans crm.team.
- Lors de la création d'intégrations API, utilisez l'API XML-RPC ou JSON-RPC. Le modèle crm.lead est entièrement exposé. Mappez les ID CRM externes à un champ personnalisé comme ref pour la synchronisation.
- Pour les champs personnalisés, utilisez le préfixe
x_ou un préfixe de module pour éviter les conflits avec les futures versions d'Odoo.
Erreurs courantes
- Créer des doublons de leads au lieu de rechercher par email_from. Utilisez
email_normalizedou une vérification de dédoublonnage avant de créer. - Mélanger le type (Lead vs Opportunité) et stage_id. Le type détermine le type d'enregistrement. Le stage détermine la position dans l'entonnoir. Les deux sont importants pour le reporting.
- Oublier de définir user_id ou team_id. Les leads non attribués se perdent. Configurez une attribution automatique ou assurez-vous d'une attribution manuelle.
- Remplacer la logique de conversion sans appeler super(). La méthode action_convert effectue un travail important. Étendez-la, ne la remplacez pas aveuglément.
- Ajouter des champs personnalisés requis sans valeurs par défaut. Les leads existants échoueront à la validation lorsque vous mettrez à jour le module.
Conclusion
Le modèle crm.lead est central dans Odoo CRM. Il stocke les leads et les opportunités et gère le pipeline de ventes. Comprendre ses champs et comment les modules l'étendent vous aidera à configurer, personnaliser et intégrer Odoo efficacement.
Que vous soyez un consultant fonctionnel cartographiant les processus de vente ou un développeur construisant des modules CRM personnalisés, une bonne compréhension de crm.lead vous fera gagner du temps et évitera des erreurs.
Besoin d'aide pour votre implémentation Odoo ?
Dasolo aide les entreprises à mettre en œuvre, personnaliser et optimiser Odoo. Nous nous spécialisons dans les intégrations API et le développement Odoo. Notre équipe a une grande expérience de l'architecture des données Odoo et des modèles comme crm.lead.
Si vous avez besoin d'aide pour votre mise en œuvre Odoo, vos modules CRM personnalisés ou vos intégrations, nous sommes là pour vous aider. Réservez une démo pour discuter de votre projet.