Brain+AI

CRM et données clients 10 min

Migrer de HubSpot vers un CRM open source en sept étapes

Migrer de HubSpot vers un CRM open source se fait en sept étapes : choisir ce qu'on emporte, établir la correspondance des champs, préparer le nouvel outil et inviter les utilisateurs, exporter, nettoyer et dédoublonner, importer dans l'ordre des dépendances, puis reprendre l'historique (emails, notes, pièces jointes), qui ne sort pas avec l'export standard.

Pour migrer de HubSpot vers un CRM open source, comme Twenty, Dolibarr ou l’édition Community d’Odoo, l’essentiel sort sans difficulté : les contacts, les entreprises et les affaires s’exportent en quelques réglages. Le travail est ailleurs : faire correspondre les champs des deux outils, traiter les doublons accumulés, respecter l’ordre d’import et décider de ce qu’on fait de l’historique, qui ne suit pas tout seul.

La méthode qui suit tient en sept étapes. Elle est écrite pour Twenty : nous faisons tourner Twenty en production pour nos clients depuis début 2025. Sa logique vaut aussi pour Dolibarr et Odoo, même si leurs écrans et leurs règles d’import diffèrent. Si l’outil d’arrivée n’est pas encore choisi, commencez par notre grille pour choisir entre Twenty, Dolibarr et Odoo ; les autres guides de la rubrique CRM traitent du nettoyage et de l’exploitation.

En bref

  • L’export de HubSpot sort les fiches et leurs associations : demandez toutes les propriétés et associations, au format CSV.
  • L’historique (activités, emails, pièces jointes) ne sort pas avec cet export : il se traite à part.
  • On nettoie et on dédoublonne les fichiers avant l’import, jamais dans le nouvel outil.
  • On importe dans l’ordre des dépendances : entreprises, personnes, opportunités, puis notes et tâches.
  • La bascule se fait à une date fixe, sans saisie dans les deux outils à la fois.

Étape 1 : décider ce qu’on emporte

Une migration est l’occasion de ne pas déménager le grenier. La documentation de Twenty sur la migration depuis un autre CRM le dit : ne reprendre que les contacts et entreprises actifs, les affaires ouvertes, les notes et activités importantes, et les champs personnalisés qu’on utilise vraiment. Elle conseille de laisser derrière soi les contacts sans activité depuis plus de deux ans, les doublons et les données de test.

En pratique, on pose trois règles avant de toucher à un fichier :

  • qui est repris (par exemple : les contacts avec une interaction récente ou une affaire, et tous les clients) ;
  • quels champs sont repris (ceux qui servent à décider ou à agir, pas les quarante propriétés créées un jour pour une campagne) ;
  • ce qui est archivé hors du CRM plutôt que supprimé, si vous devez le conserver.

C’est aussi le bon moment pour se demander ce que vous gardez légitimement au regard du RGPD : nous y revenons dans notre guide pour nettoyer les données de son CRM.

Étape 2 : établir la correspondance des champs

On écrit, dans un simple tableau, chaque champ de HubSpot qu’on reprend, le champ d’arrivée dans le nouvel outil, et la transformation éventuelle (un format de date, une liste de valeurs renommée, deux champs fusionnés). La documentation de Twenty recommande ce document, et donne les équivalences de base : les entreprises restent des entreprises, les contacts deviennent des personnes, les affaires des opportunités, les activités des tâches ou des notes.

Trois points demandent une attention particulière :

  • les étapes du pipeline : celles de HubSpot ne correspondent pas forcément à votre vrai processus de vente ; c’est le moment de les revoir ;
  • les listes de valeurs (secteur, source, statut) : les orthographes multiples d’une même valeur se corrigent ici, pas après l’import ;
  • les objets personnalisés de HubSpot, à recréer comme objets dans Twenty.

Étape 3 : construire l’arrivée avant de déménager

Dans Twenty, un import crée des fiches, pas des champs : la documentation demande de créer tous les champs personnalisés dans les réglages du modèle de données avant d’importer. Elle insiste aussi : invitez les utilisateurs avant d’importer, et attendez que chacun ait accepté son invitation, sinon les références à un propriétaire ou à un responsable ne trouvent personne à qui se rattacher.

Étape 4 : exporter de HubSpot

Selon la documentation de HubSpot sur l’export, consultée le 4 octobre 2026, on peut exporter notamment les contacts, entreprises, affaires, tickets, appels, rendez-vous et objets personnalisés, en CSV, XLSX ou XLS. Trois réglages comptent :

  • choisir toutes les propriétés et toutes les associations, et non la seule vue affichée (le réglage par défaut), sinon on perd des colonnes et les liens entre contacts, entreprises et affaires ;
  • préférer le CSV : par défaut, l’export s’arrête à 1 000 fiches associées par colonne d’association, et seul le CSV permet de les exporter toutes ; il n’a pas non plus de limite de colonnes, quand le XLS s’arrête à 256 et le XLSX à 16 384 ;
  • télécharger rapidement : les liens d’export expirent après 30 jours.

À savoir avant de rien promettre à l’équipe : cet export contient les valeurs des propriétés et les associations, pas l’historique des activités. Pour celles-ci, HubSpot renvoie vers l’export des données d’un contact, certains rapports d’activité ou son API des engagements.

Étape 5 : nettoyer et dédoublonner, hors des deux outils

On nettoie les fichiers exportés avant l’import : corriger mille fiches une à une dans le nouvel outil coûte bien plus cher.

Les règles d’unicité du nouvel outil dictent ce qu’il faut régler. Dans Twenty, selon la documentation des contraintes d’unicité, l’unicité porte sur l’identifiant, l’email des personnes et le domaine des entreprises. Trois comportements sont à connaître :

  • les lignes en double à l’intérieur d’un fichier sont surlignées en jaune à l’import, et vous pouvez les corriger ou les retirer avant de valider ;
  • une ligne dont l’email ou le domaine existe déjà dans Twenty met à jour la fiche existante au lieu d’en créer une seconde : un vieux fichier peut donc écraser des données plus récentes ;
  • les fiches supprimées comptent aussi dans ce contrôle : réimporter leur valeur les restaure, avec les nouvelles données.

Reste le piège des faux vides. Sur Palmora, un portail d’annonces immobilières que nous opérons, la migration d’un tableur vers Twenty nous a laissé cette leçon : une valeur héritée « empty » doit être traitée comme vide, sinon elle pollue tout le référentiel. Avant l’import, cherchez ces valeurs de remplissage, le mot « empty » ou ses cousins (« N/A », « inconnu »), et remplacez-les par une vraie case vide.

Étape 6 : importer dans l’ordre des dépendances

L’ordre n’est pas une préférence, c’est une contrainte : on ne peut pas rattacher une personne à une entreprise qui n’existe pas encore. La documentation de Twenty demande de toujours importer dans cet ordre :

  1. les entreprises ;
  2. les personnes, rattachées aux entreprises ;
  3. les opportunités, rattachées aux entreprises et aux personnes ;
  4. les notes et tâches, rattachées aux fiches ;
  5. les objets personnalisés, selon leurs propres dépendances.

Selon la documentation de migration de Twenty, l’import par fichier est limité à 10 000 fiches ; au-delà, on découpe en plusieurs fichiers, ou on passe par l’API, qui n’a pas cette limite et que la documentation conseille à partir de 50 000 fiches.

Commencez par un import d’essai sur un petit échantillon, contrôlé à l’écran par la personne qui connaît les clients, avant l’import complet. Par l’API, limitez le débit et prévoyez une reprise automatique des appels en échec : nous racontons dans Twenty CRM en production ce qu’il en coûte de l’oublier.

Étape 7 : reprendre l’historique, emails et pièces jointes

C’est l’étape qui fait la différence entre une migration réussie et une équipe qui garde HubSpot ouvert « pour retrouver un échange ».

  • Les emails : selon sa documentation sur les emails et l’agenda, Twenty rattache aux fiches des personnes et des entreprises les emails de la boîte Google Workspace ou Microsoft 365 que chacun connecte, filtrés par période ou par expéditeur. L’historique vient donc de la boîte de chacun, pas de HubSpot : vérifiez sur un compte ce que la synchronisation récupère avant de le promettre à l’équipe.
  • Les notes : extraites de HubSpot comme indiqué à l’étape 4, elles s’importent comme notes ou tâches, rattachées aux fiches.
  • Les pièces jointes : la documentation de Twenty prévient qu’elles ne sont pas incluses dans les exports CSV ; il faut les téléverser à nouveau à la main, ou les migrer par l’API.

Quand l’historique est volumineux, un script vaut mieux que des manipulations à la main, à condition de suivre les règles qui servent à superviser ses workflows n8n : chaque fiche traitée est notée, et un essai rejoué ne crée pas de doublon.

Comment organiser la bascule ?

On fixe une date. La veille, on gèle les modifications dans HubSpot, on exporte une dernière fois ce qui a changé depuis l’import, et on branche les formulaires du site et les autres intégrations sur le nouvel outil. Le lendemain, l’équipe travaille dans le nouveau CRM. HubSpot reste consultable quelques semaines, le temps de vérifier qu’il ne manque rien, puis on le ferme. La documentation de Twenty le rappelle : pendant cette période, on ne crée pas de données nouvelles dans les deux outils à la fois.

Que perd-on, que retrouve-t-on après la migration ?

Dans HubSpotAprès la migration
Contacts, entreprises, affaires, associationsRepris, nettoyés, rattachés
Emails et notesNotes reprises si extraites (API des engagements) ; emails synchronisés depuis la boîte de chacun
Pièces jointesÀ migrer par l’API ou à la main
Workflows (automatisations)À recréer à la main : la documentation de Twenty le précise
Outils marketing (emailing, pages, formulaires HubSpot)Pas d’équivalent dans un CRM pur
Rapports et tableaux de bordÀ reconstruire dans le nouvel outil
Licence par utilisateurDisparaît avec Twenty ou Dolibarr auto-hébergés, ou Odoo Community

Limite honnête : si votre équipe marketing vit dans les outils de HubSpot (campagnes d’emailing, pages d’atterrissage, scoring), un CRM pur ne les remplace pas : prévoyez les outils qui prendront le relais, ou demandez-vous si la migration se justifie.

Par où commencer ?

Commencez par les deux premières étapes, sur papier : la liste de ce que vous emportez et le tableau de correspondance. Elles fixent la taille du chantier avant le moindre export, et montrent vite si l’historique justifie un script.

Si vous préférez ne pas porter la migration seul, notre offre CRM inclut la reprise de vos données HubSpot, dédoublonnées et vérifiées : rien de douteux n’entre tel quel. Vous validez le paramétrage et la reprise avant la construction, puis l’installation avance par étapes de deux semaines, avec la formation en parallèle.

Questions fréquentes

Combien de temps prend une migration de HubSpot vers Twenty ?

Selon la documentation de Twenty, une petite migration, sous 10 000 fiches, peut se faire en quelques heures, et une grande peut prendre plusieurs jours, nettoyage et tests compris. Au-delà du volume, ce qui allonge le chantier, c’est l’état des données, le nombre d’objets personnalisés et l’historique à reprendre, qui demande souvent un script et plusieurs essais.

Combien coûte une migration de CRM ?

Le logiciel n’est pas la grosse ligne : Twenty et Dolibarr s’auto-hébergent sans licence par utilisateur. Le coût tient surtout au temps de préparation, de nettoyage, de vérification et de formation. Dans notre offre CRM, la reprise des données est incluse dans la mise en place, affichée à 4 500 € pour Twenty et à partir de 6 500 € pour Dolibarr. Pour comparer avec HubSpot, raisonnez sur trois ans, hébergement compris.

Quelle est la meilleure alternative open source à HubSpot ?

Cela dépend de ce que vous faites dans HubSpot. Pour piloter des ventes et des relations clients, un CRM pur comme Twenty suffit. Si les devis, les factures et le stock doivent vivre au même endroit, un ERP léger comme Dolibarr convient mieux, et Odoo quand plusieurs métiers ou plusieurs sociétés doivent être reliés. Pour les outils marketing de HubSpot (emailing, pages, formulaires), un CRM pur n’a pas d’équivalent : prévoyez d’autres outils.

Peut-on garder HubSpot pour le marketing et Twenty pour les ventes ?

C’est possible, mais deux bases de contacts se désynchronisent vite : un désabonnement, une adresse corrigée ou un nouveau client saisi d’un côté n’apparaît pas de l’autre. Si vous gardez les deux, il faut une synchronisation automatique, une règle écrite sur l’outil qui fait foi pour chaque champ, et quelqu’un qui surveille les écarts. Sinon, mieux vaut une seule base de contacts, sur laquelle se branchent les outils marketing.

La méthode vaut-elle pour Pipedrive ou Salesforce ?

Oui. Les écrans d’export changent, mais l’ordre d’import, la correspondance des champs, le dédoublonnage et le traitement de l’historique restent les mêmes, et le guide de migration de Twenty est écrit pour n’importe quel CRM d’origine. Vérifiez seulement, dans la documentation de l’outil quitté, ce que son export contient et ce qu’il laisse de côté, en particulier les activités et les pièces jointes.

Jim · fondateur de Brain Plus AI

À lire aussi en crm et données clients

  • Comprendre

    Twenty CRM en production : notre avis, limites comprises

    Nous faisons tourner Twenty, un CRM libre, sur notre propre serveur depuis plus d'un an et demi. Ce qui marche, ce qui demande du travail, ce que la licence AGPL implique pour une entreprise, et à qui nous ne le conseillons pas.

    9min
  • Guide pratique

    Nettoyer les données de son CRM : doublons, champs et règles

    Un CRM rempli de doublons et de champs vides n'est plus consulté, et chaque automatisation ou IA branchée dessus répète ses erreurs. La méthode pour faire le grand ménage, puis les règles et les contrôles automatiques qui le font tenir.

    10min
  • Choisir et chiffrer

    Twenty, Dolibarr ou Odoo : lequel pour votre équipe ?

    Twenty, Dolibarr et Odoo ne jouent pas dans la même catégorie : un CRM pur, un ERP léger, un ERP complet. Plutôt qu'un tableau de fonctionnalités, voici une grille de décision par taille d'équipe et par processus, avec ce qui fait passer d'un niveau à l'autre.

    8min
WhatsApp