crm.lead : champs, relations et API
Le modèle crm.lead (« Piste ») est un modèle persistant déclaré par le module CRM, puis enrichi par 13 autres modules. Il expose 134 champs, dont 95 déclarés directement sur le modèle ; 15 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 19.
Fiche d'identité
- Nom technique
crm.lead- Libellé
- Piste
- Type
- Persistant (models.Model)
- Table SQL
crm_lead- Module d'origine
- CRM (
crm) - Étendu par
- iap_crm, crm_iap_enrich, crm_iap_mine, crm_livechat, crm_mail_plugin, event_crm, sale_crm, mass_mailing_crm, survey_crm, website_crm, website_crm_iap_reveal, website_crm_livechat, website_crm_partner_assign
- Tri par défaut (_order)
priority desc, id desc
Champs du modèle
95 champs propres, 33 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
134 champs affichés sur 134
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| active | Actif | boolean | |
| automated_probability | Probabilité automatisée | float | lecture seulecalculé, stocké |
| calendar_event_ids | Réunions | one2many | inverse : |
| campaign_id | Campagne | many2one | |
| city | Ville | char | calculé, stocké |
| color | Couleur | integer | |
| commercial_partner_id | Société cliente | many2one | calculé |
| company_currency | Devise | many2one | calculé |
| company_id | Société | many2one | calculé, stocké |
| contact_name | Nom du contact | char | calculé, stocké |
| country_id | Pays | many2one | calculé, stocké |
| date_automation_last | Dernière action | datetime | lecture seule |
| date_closed | Date de clôture | datetime | lecture seule |
| date_conversion | Date de conversion | datetime | lecture seule |
| date_deadline | Date de clôture prévue Estimation de la date à laquelle l'opportunité sera gagnée. | date | |
| date_last_stage_update | Dernière mise à jour de l'étape | datetime | lecture seulecalculé, stocké |
| date_open | Date d'attribution | datetime | lecture seulecalculé, stocké |
| date_partner_assign | Date d'assignation du partenaire Dernière date à laquelle ce cas a été transmis/assigné à un partenaire | date | calculé, stocké ajouté par Revendeurs ( |
| day_close | Jours pour clôturer | float | calculé, stocké |
| day_open | Jours pour assigner | float | calculé, stocké |
| description | Notes | html | |
| duplicate_lead_count | Nombre de pistes potentiellement dupliquées | integer | calculé |
| duplicate_lead_ids | Piste potentiellement dupliquée | many2many→ crm.lead | calculé |
| email_domain_criterion | Critère du domaine de l'e-mail | char | calculé, stocké |
| email_from | char | calculé, stocké | |
| email_normalized | Email Normalized | char | |
| email_state | Qualité de l'e-mail | selection | calculé, stocké Valeurs : |
| event_id | Evénement source Événement générant la règle qui a créé cette piste | many2one | ajouté par Événement CRM ( |
| event_lead_rule_id | Règle d'inscription Règle qui a créé cette piste | many2one | ajouté par Événement CRM ( |
| expected_revenue | Revenu attendu | monetary | |
| function | Poste | char | calculé, stocké |
| iap_enrich_done | Enrichissement effectué Si le service IAP pour l'enrichissement des pistes à partir de l'e-mail a été effectué pour cette piste. | boolean | ajouté par Enrichissement de pistes ( |
| is_automated_probability | Est une probabilité automatisée ? | boolean | calculé |
| is_partner_visible | Est un partenaire visible | boolean | calculé |
| lang_active_count | Nombre de langues actives | integer | calculé |
| lang_code | Lang Code | char | related : |
| lang_id | Langue | many2one→ res.lang | calculé, stocké |
| lead_mining_request_id | Demande de prospection de pistes | many2one | ajouté par Génération de pistes ( |
| lead_properties | Propriétés | properties | |
| lost_reason_id | Motif de perte | many2one | |
| medium_id | Médium | many2one | |
| meeting_display_date | Date d'affichage de la réunion | date | calculé |
| meeting_display_label | Étiquette d'affichage de la réunion | char | calculé |
| name | Opportunité | char | requiscalculé, stocké |
| order_ids | Commandes | one2many | inverse : ajouté par Opportunité de devis ( |
| origin_channel_id | Live Chat à l'origine de la création de la piste | many2one | lecture seule ajouté par Live Chat CRM ( |
| origin_survey_id | Sondage | many2one | ajouté par Sondage CRM ( |
| partner_assigned_id | Partenaire assigné | many2one | ajouté par Revendeurs ( |
| partner_declined_ids | Partenaire pas intéressé | many2many | ajouté par Revendeurs ( |
| partner_email_update | L'e-mail du partenaire sera mis à jour | boolean | calculé |
| partner_id | Contact Partenaire lié (optionnel). Généralement créé en convertissant la piste. Vous pouvez trouver un partenaire par son Nom, TIN, e-mail ou Référence Interne. | many2one | |
| partner_is_blacklisted | Le partenaire est sur liste noire | boolean | lecture seule related : |
| partner_latitude | Latitude | float | ajouté par Revendeurs ( |
| partner_longitude | Longitude | float | ajouté par Revendeurs ( |
| partner_name | Nom de la société Le nom de la future société partenaire qui sera créée quand la piste sera convertie en opportunité | char | calculé, stocké |
| partner_phone_update | Le numéro de téléphone du partenaire sera mis à jour | boolean | calculé |
| phone | Téléphone | char | calculé, stocké |
| phone_sanitized | Phone Sanitized | char | |
| phone_state | Qualité du téléphone | selection | calculé, stocké Valeurs : |
| priority | Priorité | selection | Valeurs : |
| probability | Probabilité | float | calculé, stocké |
| prorated_revenue | Revenu au prorata | monetary | calculé, stocké |
| quotation_count | Nombre de devis | integer | calculé ajouté par Opportunité de devis ( |
| recurring_plan | Récurrence | many2one | |
| recurring_revenue | Revenus récurrents | monetary | |
| recurring_revenue_monthly | MRR attendu | monetary | calculé, stocké |
| recurring_revenue_monthly_prorated | MRR au prorata | monetary | calculé, stocké |
| recurring_revenue_prorated | Revenus récurrents proratisés | monetary | calculé, stocké |
| referred | Recommandé par | char | |
| registration_count | # Inscriptions Compteur pour les enregistrements liés à cette piste | integer | calculé ajouté par Événement CRM ( |
| registration_ids | Inscription source Les inscriptions déclenchent la règle qui a créé cette piste | many2many | ajouté par Événement CRM ( |
| reveal_iap_credits | Crédits IAP | integer | ajouté par Génération de pistes à partir de visites du site web ( |
| reveal_id | Afficher l'identifiant | char | ajouté par IAP / CRM ( |
| reveal_ip | Adresse IP | char | ajouté par Génération de pistes à partir de visites du site web ( |
| reveal_rule_id | Règle de génération de pistes | many2one | ajouté par Génération de pistes à partir de visites du site web ( |
| sale_amount_total | Total des commandes Total hors taxes pour les commandes confirmées | monetary | calculé ajouté par Opportunité de devis ( |
| sale_order_count | Nombre de commandes clients | integer | calculé ajouté par Opportunité de devis ( |
| show_enrich_button | Autoriser l'enrichissement manuel | boolean | calculé ajouté par Enrichissement de pistes ( |
| source_id | Source | many2one | |
| stage_id | Étape | many2one | calculé, stocké |
| stage_id_color | Stage Color | integer | related : |
| state_id | Statut | many2one | calculé, stocké |
| street | Rue | char | calculé, stocké |
| street2 | Rue 2 | char | calculé, stocké |
| tag_ids | Étiquettes Classez et analysez vos catégories de pistes/opportunités. Exemples : Formation, Service | many2many→ crm.tag | |
| team_id | Équipe commerciale | many2one→ crm.team | calculé, stocké |
| type | Type | selection | requis Valeurs : |
| user_company_ids | Entreprise utilisatrice UX : Limiter à la société principale ou à tous si aucune entreprise | many2many | calculé |
| user_id | Vendeur | many2one | |
| visitor_ids | Visiteurs web | many2many | ajouté par Formulaire de contact ( |
| visitor_page_count | # Pages Vues | integer | calculé ajouté par Formulaire de contact ( |
| visitor_sessions_count | # Sessions | integer | calculé ajouté par Piste des sessions de LiveChat ( |
| website | Site Web Site web du contact | char | calculé, stocké |
| won_status | Gagnée/Perdue | selection | calculé, stocké Valeurs : |
| zip | Code postal | char | calculé, stocké |
| activity_calendar_event_id | Activité suivante de l'événement du calendrier | many2one | calculé hérité de mail.activity.mixin |
| activity_date_deadline | Date limite de l'activité à venir | date | lecture seulecalculé hérité de mail.activity.mixin |
| activity_exception_decoration | Indicateur d’exception d’activité Type d'activité d'exception enregistrée. | selection | calculé Valeurs : hérité de mail.activity.mixin |
| activity_exception_icon | Icône Icône pour indiquer une activité d'exception. | char | calculé hérité de mail.activity.mixin |
| activity_ids | Activités | one2many | inverse : hérité de mail.activity.mixin |
| activity_state | Statut de l'activité Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities. | selection | calculé Valeurs : hérité de mail.activity.mixin |
| activity_summary | Résumé de l'activité suivante | char | related : hérité de mail.activity.mixin |
| activity_type_icon | Icône de type d'activité | char | related : hérité de mail.activity.mixin |
| activity_type_id | Type d'activités à venir | many2one | related : hérité de mail.activity.mixin |
| activity_user_id | Utilisateur responsable | many2one | lecture seulecalculé hérité de mail.activity.mixin |
| duration_tracking | Durée du statut JSON qui associe les identifiants d'un champ many2one aux secondes passées | json | calculé hérité de mail.tracking.duration.mixin |
| email_cc | E-mail cc | char | hérité de mail.thread.cc |
| has_message | A un message | boolean | calculé hérité de mail.thread |
| is_blacklisted | Liste noire Si l'adresse e-mail est sur liste noire, le contact ne recevra plus d'e-mail marketing d'aucune liste. | boolean | calculé hérité de mail.thread.blacklist |
| is_rotting | Inactivité | boolean | calculé hérité de mail.tracking.duration.mixin |
| message_attachment_count | Nombre de pièces jointes | integer | calculé hérité de mail.thread |
| message_bounce | Rebond Le compteur du nombre de mails rebondis pour ce contact | integer | hérité de mail.thread.blacklist |
| message_follower_ids | Abonnés | one2many | inverse : hérité de mail.thread |
| message_has_error | Erreur d'envoi du message Si coché, certains messages ont une erreur de livraison. | boolean | calculé hérité de mail.thread |
| message_has_error_counter | Nombre d'erreurs Nombre de messages avec des erreurs d'envoi | integer | calculé hérité de mail.thread |
| message_has_sms_error | Erreur d'envoi SMS Si coché, certains messages ont une erreur de livraison. | boolean | calculé hérité de mail.thread |
| message_ids | Messages | one2many | inverse : hérité de mail.thread |
| message_is_follower | Est un abonné | boolean | calculé hérité de mail.thread |
| message_needaction | Nécessite une action Si coché, de nouveaux messages demandent votre attention. | boolean | calculé hérité de mail.thread |
| message_needaction_counter | Nombre d'actions Nombre de messages nécessitant une action | integer | calculé hérité de mail.thread |
| message_partner_ids | Abonnés (Partenaires) | many2many | calculé hérité de mail.thread |
| my_activity_date_deadline | Échéance de mon activité | date | lecture seulecalculé hérité de mail.activity.mixin |
| phone_blacklisted | Le téléphone sur liste noire est fixe Indicates if a blacklisted sanitized phone number is a phone number. Helps distinguish which number is blacklisted when there is both a mobile and phone field in a model. | boolean | calculé hérité de mail.thread.phone |
| phone_mobile_search | Numéro de téléphone | char | hérité de mail.thread.phone |
| phone_sanitized_blacklisted | Téléphone sur liste noire Si le numéro de téléphone nettoyé est sur liste noire, le contact ne recevra plus de campagnes de mail, d'aucunes listes. | boolean | calculé hérité de mail.thread.phone |
| rating_ids | Évaluations | one2many | inverse : hérité de mail.thread |
| rotting_days | Jours d’inactivité Nombre de jours depuis la dernière mise à jour de cette ressource | integer | calculé hérité de mail.tracking.duration.mixin |
| website_message_ids | Messages du site web Historique de communication du site web | one2many | inverse : hérité de mail.thread |
| create_date | Créé le | datetime | lecture seuleautomatique |
| create_uid | Créé par | many2one | lecture seuleautomatique |
| display_name | Nom affiché | char | lecture seulecalculéautomatique |
| id | ID | integer | lecture seuleautomatique |
| write_date | Dernière mise à jour le | datetime | lecture seuleautomatique |
| write_uid | Dernière mise à jour par | many2one | lecture seuleautomatique |
Relations
Modèles liés depuis ce modèle
- calendar.event : calendar_event_ids
- crm.iap.lead.mining.request : lead_mining_request_id
- crm.lead : duplicate_lead_ids
- crm.lost.reason : lost_reason_id
- crm.recurring.plan : recurring_plan
- crm.reveal.rule : reveal_rule_id
- crm.stage : stage_id
- crm.tag : tag_ids
- crm.team : team_id
- discuss.channel : origin_channel_id
- event.event : event_id
- event.lead.rule : event_lead_rule_id
- event.registration : registration_ids
- res.company : company_id, user_company_ids
- res.country : country_id
- res.country.state : state_id
- res.currency : company_currency
- res.lang : lang_id
- res.partner : commercial_partner_id, partner_assigned_id, partner_declined_ids, partner_id
- res.users : user_id
- sale.order : order_ids
- survey.survey : origin_survey_id
- utm.campaign : campaign_id
- utm.medium : medium_id
- utm.source : source_id
- website.visitor : visitor_ids
Champs d'autres modèles qui pointent ici
- calendar.event : opportunity_id
- crm.activity.report : lead_id
- crm.lead : duplicate_lead_ids
- crm.lead.assignation : lead_id
- crm.lead.lost : lead_ids
- crm.lead2opportunity.partner : duplicated_lead_ids, lead_id
- crm.lead2opportunity.partner.mass : lead_id, lead_tomerge_ids
- crm.merge.opportunity : opportunity_ids
- crm.quotation.partner : lead_id
- event.registration : lead_ids
- sale.order : opportunity_id
- survey.user_input : lead_id
- website.visitor : lead_ids
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 19 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.
curl -X POST "https://votre-instance.odoo.com/json/2/crm.lead/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","type","campaign_id","company_id","country_id"],"limit":5}'import requests
BASE_URL = "https://votre-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "votre-base"}
res = requests.post(
f"{BASE_URL}/crm.lead/search_read",
headers=headers,
json={"domain": [], "fields": ["name","type","campaign_id","company_id","country_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- L'accès à l'API externe est réservé à la formule Custom d'Odoo.
- XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
- Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.
Citer cet outil
Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.
<a href="https://aidoo.ai/fr/outils/explorateur-modeles-odoo/crm-lead">crm.lead (Odoo 19.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 19 : ORM API
- Documentation Odoo 19 : API externe JSON-2
Données vérifiées le 23 septembre 2026 · Odoo 19.0 Community
Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons
Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.