Se rendre au contenu

Migrer ses données vers Odoo 19 : guide pratique, des données de base aux soldes d'ouverture

Comment planifier, nettoyer, tester et charger les clients, les fournisseurs, les produits, le plan comptable et les soldes d'ouverture sans fausser votre comptabilité
19 octobre 2026 par
Migrer ses données vers Odoo 19 : guide pratique, des données de base aux soldes d'ouverture

Migration des données vers Odoo 19 : données de base, modèles d'import et soldes d'ouverture

Toute mise en œuvre d'Odoo arrive tôt ou tard au même moment : la configuration est prête, les utilisateurs sont formés et l'entreprise a besoin de ses données réelles dans le nouveau système. La migration des données est l'étape où de nombreux projets perdent du temps, car les erreurs dans les données de base ou les soldes d'ouverture ressurgissent plus tard sous forme de rapports erronés, de contacts en double et de comptes non rapprochés.

Ce guide explique comment planifier et exécuter une migration vers Odoo 19 Enterprise : des données de base telles que les clients, les fournisseurs, les produits et le plan comptable, en passant par la fonction d'import, jusqu'aux soldes d'ouverture des créances, des dettes, du grand livre et du stock. Il se termine par une séquence de bascule et les contrôles qui confirment l'exactitude de vos chiffres.

Une remarque sur les sources : cet article s'appuie sur la documentation officielle d'Odoo pour la version 19. Les noms de menus et les options peuvent varier selon les applications installées, la localisation et les droits d'accès ; vérifiez donc toujours chaque étape dans une base de test avant de l'appliquer à votre système en production.

Étape 1 : définir le périmètre de la migration

Commencez par décider de ce qui sera migré et de ce qui restera archivé dans l'ancien système. Les recommandations d'Odoo pour la prise en main de la comptabilité indiquent que les entreprises qui démarrent de zéro valident la localisation fiscale, importent les données de base et configurent les paramètres comptables, tandis que celles qui quittent un ancien logiciel importent également des écritures d'ouverture.

Le moment du basculement compte. La documentation d'Odoo recommande d'effectuer la transition à la fin d'un exercice fiscal, car cela réduit au minimum les données à transférer, et déconseille de changer en cours de période fiscale.

Établissez un inventaire de migration recensant chaque objet de données, son système source, son responsable côté métier, le volume d'enregistrements et le modèle Odoo cible. Les objets typiques sont :

  • Les enregistrements de paramétrage : devises, journaux, positions fiscales, taxes et conditions de paiement
  • Les données de base : catégories de produits, produits, attributs et variantes, contacts et leurs comptes bancaires
  • Les ajustements du plan comptable par rapport au plan standard de la localisation
  • Les soldes d'ouverture : la balance générale, les factures clients et avoirs ouverts, les factures fournisseurs et remboursements ouverts, les soldes de banque et de caisse, et un inventaire d'ouverture

Mettez-vous d'accord tôt sur ce qui ne sera pas migré. Les transactions historiques clôturées restent généralement dans l'ancien système à titre de référence, ce qui réduit l'ampleur de la migration et facilite le rapprochement de la situation d'ouverture.

Étape 2 : préparer le plan comptable et la localisation fiscale

Le pays choisi lors de la création de la base de données ou de la société détermine le package de localisation fiscale, qui ajoute un plan comptable standard configuré pour ce pays. Vous pouvez vérifier ce package dans les paramètres de Comptabilité, sous Localisation fiscale.

Considérez cette vérification comme la première étape clé de votre plan. La documentation avertit que la localisation fiscale ne peut plus être modifiée dès qu'une écriture comptable a été comptabilisée ; confirmez-la donc avant de charger la moindre donnée comptable.

Faites correspondre vos anciens comptes au plan d'Odoo plutôt que de le remplacer. Lorsqu'un compte Odoo correspond à l'un des vôtres, modifiez son nom ou son code. En l'absence de correspondance, créez le compte manuellement ou importez-le. Les codes de compte doivent être uniques au sein d'un plan.

Ne supprimez pas les comptes standard et ne modifiez pas leur type, car les comptes et paramètres par défaut en dépendent. Renommez-les et changez leur code à la place. Le type de chaque compte détermine également les rapports et la clôture de l'exercice ; choisissez donc soigneusement le type de tout nouveau compte.

Séquence de bascule étape par étape pour migrer des données vers Odoo 19

Étape 3 : charger les données de base selon l'ordre des dépendances

Odoo résout les relations au moment de l'import : un enregistrement ne peut donc pointer que vers des enregistrements déjà existants. La documentation de prise en main de la comptabilité fixe l'ordre suivant : devises, journaux, positions fiscales, taxes, conditions de paiement, catégories de produits, produits, comptes bancaires des contacts et contacts.

Pour les produits, importez d'abord les catégories de produits afin que la catégorie de chaque produit puisse être définie lors de l'import. Si vous utilisez des variantes, créez les attributs avant les produits. Les recommandations d'Odoo pour l'import de produits décrivent une feuille d'attributs distincte, avec des colonnes pour l'attribut, le type d'affichage, le mode de création des variantes et les valeurs.

Soyez vigilant avec le mode de création des variantes. La documentation précise qu'il ne peut plus être modifié une fois l'attribut utilisé sur au moins un produit. Les virgules sont interdites dans les noms d'attributs et de valeurs, et les valeurs multiples sont séparées par une virgule sans espace.

Pour les contacts, vérifiez le compte client, le compte fournisseur et les conditions de paiement, car ce sont eux qui déterminent la manière dont chaque client et chaque fournisseur est comptabilisé.

Étape 4 : utiliser les modèles d'import et la fonction d'import

Odoo peut importer des données dans la plupart des objets métier à partir de fichiers Excel (XLSX) ou CSV. Ouvrez la vue liste de l'objet, cliquez sur l'icône d'engrenage des actions et choisissez Importer des enregistrements. De nombreux objets, comme les contacts, les produits et les pièces comptables, proposent un modèle d'import téléchargeable dont la correspondance des colonnes est déjà préparée.

Travailler à partir d'un modèle est l'approche la plus sûre. Vous pouvez ajouter, supprimer et réordonner des colonnes, mais conservez la colonne d'identification. S'il n'existe aucun modèle, exportez d'abord quelques enregistrements existants pour obtenir les noms exacts des champs.

L'écran d'import suit une séquence claire : chargez le fichier de données, ajustez les options de formatage s'il s'agit d'un CSV (séparateur, encodage, format de date et séparateur des milliers), vérifiez que chaque colonne du fichier correspond au bon champ Odoo et associez manuellement les colonnes non reconnues, cliquez sur Tester pour valider les données sans les enregistrer, puis cliquez sur Importer uniquement lorsque le test est concluant.

Prenez au sérieux l'avertissement d'Odoo : les imports sont définitifs et ne peuvent pas être annulés. Filtrer les enregistrements selon leur date de création ou de dernière modification peut vous aider à retrouver ce qu'un import a touché, mais il s'agit d'une aide à la récupération, pas d'un bouton d'annulation.

Soyez attentif aux formats. Odoo recommande des dates au format ISO 8601, comme 1981-07-24, de véritables cellules de date dans Excel et un format de date correctement sélectionné pour les fichiers CSV. Les fichiers séparés par des tabulations ne sont pas détectés automatiquement, et des symboles monétaires inconnus dans les champs numériques peuvent bloquer un import. Pour les fichiers volumineux, la documentation conseille de découper les données en lots plus petits afin d'éviter les dépassements de délai, et toutes les variantes d'un même produit doivent figurer dans le même lot.

Étape 5 : maîtriser les ID externes et les champs relationnels

L'ID externe est la colonne la plus importante de tout fichier de migration. Il attribue à chaque enregistrement un identifiant unique, et l'import d'un fichier comportant des ID externes met à jour les enregistrements correspondants au lieu de créer des doublons. Il devient ainsi possible de corriger puis de réimporter le même fichier en toute sécurité.

Construisez les ID externes à partir de vos clés historiques et préfixez-les par objet, par exemple un préfixe pour les clients et un autre pour les fournisseurs, afin qu'ils restent uniques d'une table à l'autre. Une fois chargés, ne les modifiez ni ne les supprimez jamais, car la documentation avertit que cela peut créer des doublons lors de l'import suivant.

Les champs relationnels obéissent à des règles précises :

  • Les champs Many2one, comme la catégorie d'un produit ou le pays d'un contact, peuvent être renseignés avec le nom de l'enregistrement lié, mais en cas de noms en double, c'est la première correspondance qui est retenue ; une colonne se terminant par ID externe est donc plus fiable
  • Les champs Many2many, comme les étiquettes des contacts, acceptent plusieurs valeurs séparées par des virgules sans espace
  • Les champs One2many, comme les lignes de commande, placent la première ligne sur la rangée du parent et chaque ligne suivante sur sa propre rangée, les colonnes du parent restant vides

Deux autres détails évitent les mauvaises surprises. Les colonnes absentes du fichier reçoivent des valeurs par défaut, mais les colonnes présentes avec des cellules vides écrasent ces valeurs par défaut avec du vide. Et lorsque vous mettez à jour des données existantes, exportez-les en cochant l'option compatible avec l'import, afin d'inclure l'ID externe et de n'exporter que les champs importables.

Étape 6 : nettoyer les données et effectuer des chargements de test

Le nettoyage doit intervenir avant que les données n'arrivent dans Odoo. Supprimez les clients et fournisseurs en double, normalisez les noms, numéros de téléphone et adresses, clôturez ou archivez les produits obsolètes, et vérifiez que chaque référence d'un fichier, telle qu'une catégorie, une taxe ou une condition de paiement, existe dans la base cible.

Dans Odoo 19 Enterprise, l'application Nettoyage des données ajoute des règles de déduplication qui regroupent les enregistrements similaires en vue de leur fusion, ainsi que des règles de nettoyage des champs, comme la suppression des espaces, la gestion de la casse et le formatage des numéros de téléphone. D'après la documentation, la déduplication et le nettoyage des champs sont des fonctionnalités Enterprise, tandis que le recyclage des données est aussi disponible dans Community. Les utilisateurs de Community doivent donc effectuer l'essentiel du nettoyage dans leurs feuilles de calcul avant l'import.

Effectuez au moins une répétition complète dans une base de test ou de préproduction, avec les fichiers définitifs et l'ordre de chargement définitif. Consignez chaque erreur, corrigez-la à la source et recommencez jusqu'à ce que le chargement se déroule sans erreur. Profitez de la répétition pour chronométrer chaque étape afin de planifier la bascule réelle de manière réaliste.

Étape 7 : charger les soldes d'ouverture

La documentation d'Odoo décrit quatre positions d'ouverture à préparer : les soldes des comptes, les factures clients et avoirs ouverts, les factures fournisseurs et remboursements ouverts, et un inventaire d'ouverture.

Pour le grand livre, importez la balance d'ouverture sous forme de pièce comptable à l'aide du modèle d'import des opérations diverses, disponible depuis la liste des pièces comptables. Avant l'import, remplacez les soldes clients et fournisseurs par deux comptes d'attente, AR Clearing et AP Clearing, tous deux de type Actifs courants. La balance doit être équilibrée ; elle est importée en brouillon, que vous vérifiez puis comptabilisez.

Importez ensuite les factures clients et fournisseurs ouvertes avec leurs modèles, depuis les listes des factures clients et des factures fournisseurs, les avoirs et remboursements étant importés depuis leurs propres listes. La documentation pose des règles claires : le partenaire doit correspondre exactement à un contact existant, le numéro du document ne doit pas déjà exister et son année doit correspondre à la date de la facture, vous utilisez soit une date d'échéance, soit des conditions de paiement, mais pas les deux, le compte de la ligne est le compte d'attente client ou fournisseur, et le prix unitaire correspond au montant restant dû après d'éventuels paiements partiels.

Odoo recommande d'importer chaque facture ouverte sous la forme d'une seule ligne de total plutôt que ligne par ligne. Les documents importés arrivent en brouillon, et vous les confirmez en masse depuis le menu Actions. Lors de leur comptabilisation, les comptes d'attente sont soldés par les véritables soldes clients et fournisseurs.

Pour le stock, utilisez Inventaire, Opérations, Inventaire physique et importez les quantités comptées avec le modèle d'ajustements d'inventaire. Cliquez ensuite sur Tout appliquer, saisissez un motif d'inventaire et une date de comptage, puis mettez à jour les quantités. Les lots et numéros de série apparaissent sur des lignes distinctes et peuvent être sélectionnés ou enregistrés lors du comptage.

Coordonnez soigneusement le stock et la comptabilité. La documentation précise que les comptes de stock de la balance doivent correspondre à la valeur du stock, calculée en multipliant le coût du produit par la quantité. Vérifiez comment les paramètres de valorisation de vos catégories de produits comptabilisent les ajustements de stock, et convenez avec votre comptable de la manière dont la valeur du stock entre dans le grand livre, afin qu'elle ne soit pas comptée deux fois.

Pour la banque et la caisse, définissez le solde de départ du premier relevé de chaque journal au montant réel précédant la première transaction dans Odoo. Si vous utilisez la synchronisation bancaire, supprimez toute transaction antérieure à la date de la balance.

Étape 8 : mener une bascule maîtrisée et effectuer les rapprochements

Le jour de la bascule, gelez les transactions dans l'ancien système, extrayez les soldes définitifs, chargez les fichiers dans l'ordre répété et consignez chaque étape dans un registre de validation. Une séquence typique est la suivante : vérification de la localisation, enregistrements de paramétrage, catégories et produits, contacts, balance d'ouverture, factures clients et fournisseurs ouvertes, stock d'ouverture et soldes bancaires.

Le rapprochement est la preuve que la migration a réussi. Comparez le nombre d'enregistrements par objet entre la source et Odoo, puis contrôlez les soldes suivants :

  • La balance générale d'Odoo est égale, compte par compte, à la balance de clôture de l'ancien système
  • Les totaux clients et fournisseurs sont égaux à la somme des factures ouvertes importées
  • Les comptes AR Clearing et AP Clearing sont entièrement soldés
  • Les quantités en stock par produit et par emplacement correspondent au comptage, et la valeur du stock concorde avec les comptes de stock
  • Chaque journal de banque et de caisse part du solde réel du relevé

Une fois les comptes d'attente confirmés comme soldés, Odoo recommande de passer leur type à Hors bilan afin qu'ils n'apparaissent plus dans les principaux rapports. Conservez le classeur de rapprochement et les validations dans les archives de votre projet.

Comment 1CBMS peut vous aider

1CBMS planifie et réalise des migrations de données vers Odoo 19 pour des entreprises en Égypte et en Irak : de l'extraction et du nettoyage depuis le système source à la conception des ID externes, en passant par les chargements de répétition, les soldes d'ouverture et un rapprochement validé. Contactez-nous sur www.1cbms.com pour planifier une migration qui permettra à votre équipe de démarrer avec des chiffres dignes de confiance.

Odoo Online, Odoo.sh ou sur site : où héberger Odoo 19
En quoi les trois options d'hébergement diffèrent en matière de personnalisation, de contrôle, d'obligations de mise à niveau, de sauvegardes et de facteurs de coût, avec une liste de contrôle pour trancher