Exporter et importer des données

Dans Odoo, il est parfois nécessaire d’exporter ou d’importer des données pour exécuter des rapports ou pour modifier des données. Ce document traite de l’exportation et de l’importation de données dans et hors d’Odoo.

Important

Parfois, les utilisateurs rencontrent une erreur de « TimeOut » -dépassement de temps- ou une écriture d’enregistrement ne se termine pas en raison de sa taille. Cela peut se produire lors de grands exports ou dans les cas où le fichier d’importation est trop volumineux. Pour contourner cette limitation liée à la taille des enregistrements, traitez les exports ou imports par lots de plus petite taille.

Exporter des données depuis Odoo

Lorsqu’on travaille avec une base de données, il est parfois nécessaire d’exporter des données dans un fichier distinct. Cela peut faciliter le reporting des activités, bien qu’Odoo fournisse un outil de reporting précis avec chaque application disponible.

Avec Odoo, les valeurs peuvent être exportées depuis n’importe quel champ de n’importe quel enregistrement. Pour ce faire, activer la vue en liste avec l’icône (Liste) sur les éléments à exporter, puis sélectionner les enregistrements à exporter. Pour sélectionner un enregistrement, cocher la case à côté de l’enregistrement correspondant. Enfin, cliquer sur le bouton Actions et sélectionner Exporter.

Vue des différentes options à activer ou sur lesquelles cliquer pour exporter des données.

Astuce

Les enregistrements peuvent également être exportés depuis la vue (Kanban). Pour sélectionner un premier enregistrement, maintenir la touche Alt enfoncée et cliquer sur sa carte ; tant que la touche est enfoncée, une infobulle Cliquer pour sélectionner s’affiche sur les cartes. Une fois un enregistrement sélectionné, cliquer sur une autre carte pour l’ajouter à la sélection, ou maintenir la touche Maj enfoncée tout en cliquant pour sélectionner toute une plage. Cliquer ensuite sur le bouton Actions et sélectionner Exporter.

En cliquant sur Exporter, une fenêtre contextuelle Exporter les données apparaît. La partie gauche liste les Champs disponibles des enregistrements et la partie droite les Champs à exporter, c’est-à-dire les colonnes du fichier généré.

Aperçu des options à prendre en compte lors de l’exportation de données dans Odoo.
  1. Lorsque l’option Champs actualisables uniquement est activée, seuls les champs qui peuvent être réimportés dans Odoo sont listés. Cela s’avère utile lorsque les enregistrements existants doivent être mis à jour. Cela fonctionne comme un filtre sur la liste des Champs disponibles uniquement ; la liste des Champs à exporter reste inchangée. Laisser l’option désactivée offre beaucoup plus de choix de champs, car elle affiche tous les champs et pas seulement ceux qui peuvent être importés.

  2. Utiliser la barre Rechercher… pour trouver des champs spécifiques. Les sous-champs correspondants sont également affichés et leur champ parent est automatiquement développé.

  3. Il s’agit des éléments qui peuvent être exportés. Utiliser l’icône (Afficher les sous-champs) pour afficher plus d’options de sous-champs. Pour ajouter un champ à la liste Champs à exporter, cliquer sur l’icône (Sélectionner le champ) à droite du champ, ou double-cliquer sur un champ qui ne comporte pas de sous-champs.

  4. Sélectionner le Format du fichier généré : Classeur Excel (.xlsx), qui contient les informations relatives à toutes les feuilles de calcul d’un fichier, y compris le contenu et la mise en forme, ou Texte brut (.csv), où les éléments sont séparés par une virgule.

  5. La liste Champs à exporter contient les colonnes du fichier exporté, dans l’ordre. Utiliser l’icône (Trier) à gauche d’un champ pour le glisser-déposer vers le haut ou vers le bas, modifiant ainsi l’ordre d’affichage des colonnes dans le fichier exporté. Cliquer sur l’icône (Supprimer le champ) pour retirer un champ de la liste.

  6. Pour les rapports récurrents, enregistrer la sélection actuelle en tant que modèle d’exportation et le sélectionner dans le menu déroulant la prochaine fois que la même liste doit être exportée.

  7. Si plusieurs langues sont installées sur la base de données et qu’au moins un champ sélectionné est traduisible, un champ Langues s’affiche pour exporter les traductions.

Une fois que tout est configuré, cliquer sur Exporter pour télécharger le fichier.

Astuce

Il est utile de connaître l’identifiant externe d’un champ. Par exemple, Société liée dans l’interface d’exportation des utilisateurs correspond à parent_id (identifiant externe). Cela est utile, car seules les données qui doivent être modifiées et réimportées sont alors exportées.

Modèles d’exportation

Les modèles d’exportation enregistrent un ensemble de champs, leur ordre et les langues à exporter, de sorte que la même structure de fichier puisse être réutilisée ultérieurement. Ils sont enregistrés par modèle et sont partagés avec les autres utilisateurs de la base de données.

Pour créer un modèle, sélectionner les champs nécessaires, cliquer sur l’icône (Enregistrer comme modèle d’exportation) à côté du menu déroulant des modèles, saisir un nom unique et cliquer sur l’icône (Appliquer les modifications). Appuyer sur Entrée pour enregistrer ou sur Échap pour annuler.

Nommer un modèle d'exportation avant de l'enregistrer.

Pour modifier un modèle existant, le sélectionner dans le menu déroulant, puis cliquer sur l’icône (Modifier le nom et/ou les champs du modèle). Son nom, ses champs, l’ordre des champs et les langues peuvent alors tous être modifiés et sont enregistrés avec l’icône (Appliquer les modifications). Cliquer sur l’icône (Ignorer les modifications) pour laisser le modèle tel quel.

Boutons pour modifier ou supprimer le modèle d'exportation sélectionné.

Pour supprimer un modèle, le sélectionner dans le menu déroulant, cliquer sur l’icône (Supprimer le modèle), puis confirmer.

Note

Modifier les champs, leur ordre ou les langues lorsqu’un modèle est sélectionné, mais pas en cours de modification, efface la sélection du modèle et conserve la sélection actuelle en tant qu’espace de travail non enregistré. Cela permet de créer un nouveau modèle à partir d’un modèle existant sans le modifier.

Exporter des traductions

Lorsque plusieurs langues sont installées sur la base de données et qu’au moins un champ de la liste Champs à exporter est traduisible, un champ Langues s’affiche sous cette liste. Par défaut, aucune langue n’est sélectionnée et les champs traduisibles sont exportés dans la langue de l’utilisateur.

Cliquer sur le champ Langues et sélectionner une ou plusieurs langues pour exporter les traductions de chaque champ traduisible dans ces langues. Chaque langue sélectionnée s’affiche sous la forme d’une étiquette et peut être supprimée en cliquant sur son icône (Supprimer).

Deux langues sélectionnées dans le champ Langues de la boîte de dialogue d'exportation.

Dans le fichier généré, chaque champ traduisible est ensuite remplacé par une colonne par langue sélectionnée, nommée d’après le champ et le code linguistique, par ex. Name@fr_FR. Il s’agit de la même convention que celle utilisée pour l’importation, de sorte qu’un export réalisé avec l’option Champs modifiables uniquement activée peut être directement réimporté avec ses traductions.

Importer des données dans Odoo

L’importation de données dans Odoo est extrêmement utile lors de la mise en œuvre ou lorsque des données doivent être mises à jour en masse. La documentation suivante explique comment importer des données dans une base de données Odoo.

Avertissement

Les imports sont définitifs et ne peuvent pas être annulés. Cependant, il est possible d’utiliser des filtres (créé le ou dernière modification) pour identifier les enregistrements modifiés ou créés par l’import.

Astuce

L’activation du mode développeur modifie les paramètres d’import visibles dans le menu de gauche. Cela fait apparaître un menu Avancé. Deux options y sont incluses : Suivre l’historique lors de l’import et Autoriser la correspondance avec les sous-champs.

Options d’importation avancées lorsque le mode développeur est activé.

Si le modèle utilise openchatter, l’option Suivre l’historique lors de l’import configure les abonnements et envoie des notifications lors de l’import, mais entraîne un import plus lent.

Si l’option Autoriser la correspondance avec les sous-champs est sélectionnée, tous les sous-champs d’un champ sont utilisés pour effectuer la correspondance sous Champ Odoo lors de l’import.

Les prémices

Les données peuvent être importées sur n’importe quel objet métier Odoo à l’aide des formats Excel (.xlsx) ou CSV (.csv). Cela inclut : contacts, produits, relevés bancaires, écritures comptables et commandes.

Ouvrir la vue de l’objet vers lequel les données doivent être importées/renseignées, cliquer sur l’icône (Action) et dans le menu déroulant sélectionner (Importer des enregistrements).

Menu Action affiché avec l’option Importer des enregistrements mise en évidence.

Cliquer sur Importer un modèle pour les clients au centre de la page pour télécharger un modèle et le renseigner avec les propres données de l’entreprise. De tels modèles peuvent être importés en un clic puisque le mappage des données est déjà préconfiguré.

Pour charger le modèle téléchargé ou un fichier existant, suivre les étapes suivantes :

  1. Cliquez sur Uploader un fichier de données et sélectionnez le fichier souhaité.

  2. Ajustez les options de Formatage selon les besoins (pour les fichiers CSV uniquement).

  3. Assurez-vous que toutes les données de la Colonne Fichier sont correctement mappées au Champ Odoo approprié et qu’elles sont exemptes d’erreurs.

  4. (Facultatif) Cliquez sur Charger le fichier de données pour recharger le même fichier ou en uploader un autre.

  5. Cliquez sur Tester pour vérifier que les données sont valides.

  6. Cliquez sur Importer.

Note

Les options de Mise en forme n’apparaissent pas lors de l’import du type de fichier Excel propriétaire (c.-à-d. .xls ou .xlsx).

Adapter un modèle

Des modèles d’import sont fournis dans l’outil d’importation pour les données les plus courantes à importer (contacts, produits, relevés bancaires, etc.). Ouvrez-les avec n’importe quel logiciel de feuille de calcul (Microsoft Office, OpenOffice, Google Drive, etc.).

Une fois le modèle téléchargé, procédez comme suit :

  • Ajoutez, supprimez et triez les colonnes afin qu’elles correspondent au mieux à la structure des données.

  • Il est fortement conseillé de ne pas supprimer la colonne ID externe (ID) (voir pourquoi dans la section suivante).

  • Attribuez un ID unique à chaque enregistrement en faisant glisser la séquence d’ID dans la colonne ID externe (ID).

Animation montrant la souris faisant glisser la colonne ID afin que chaque enregistrement ait un ID unique.

Note

Lorsqu’une nouvelle colonne est ajoutée, il se peut qu’Odoo ne puisse pas la mapper automatiquement si son libellé ne correspond à aucun champ dans Odoo. Cependant, les nouvelles colonnes peuvent être mappées manuellement lorsque l’import est testé. Recherchez le champ correspondant dans le menu déroulant.

Menu déroulant développé dans l’écran d’import initial d’Odoo.

Ensuite, utilisez le libellé de ce champ dans le fichier d’import afin de garantir la réussite des imports futurs.

Astuce

Un autre moyen utile de déterminer les noms de colonnes appropriés à importer est d’exporter un fichier exemple utilisant les champs à importer. De cette manière, s’il n’existe pas de modèle d’import exemple, les noms sont exacts.

Importer à partir d’une autre application

L”ID externe (ID) est un identifiant unique pour une ligne d’élément. Il est possible d’utiliser un ID externe (ID) provenant d’un logiciel précédent pour faciliter la transition vers Odoo.

La définition d’un ID n’est pas obligatoire lors de l’importation, mais elle est utile dans de nombreux cas :

Pour recréer des relations entre différents enregistrements, l’identifiant unique de l’application d’origine doit être utilisé pour le mapper à la colonne ID externe (ID) dans Odoo.

Lorsque vous importez un autre enregistrement qui se lie au premier, utilisez XXX/ID (XXX/ID externe) pour l’identifiant unique original. Cet enregistrement peut également être retrouvé à l’aide de son nom.

Avertissement

Il convient de noter que des conflits surviennent lorsque deux (ou plusieurs) enregistrements ont le même ID externe.

Champ manquant pour mapper une colonne

Odoo essaie de déterminer de manière heuristique le type de champ pour chaque colonne du fichier importé, en se basant sur les dix premières lignes du fichier.

Par exemple, s’il y a une colonne ne contenant que des nombres, seuls les champs de type entier sont proposés comme options.

Bien que ce comportement soit utile dans la plupart des cas, il est également possible qu’il échoue ou que la colonne soit mappée à un champ qui n’est pas proposé par défaut.

Si cela se produit, cochez l’option Afficher les champs de relation (avancés), puis une liste complète de champs devient disponible pour chaque colonne.

Recherche du champ correspondant à la colonne de taxe.

Modifier le format d’import des données

Note

Odoo peut détecter automatiquement si une colonne est une date et tente de deviner le format de date à partir d’un ensemble de formats parmi les plus courants. Bien que ce processus fonctionne pour de nombreux formats de date, certains formats ne sont pas reconnaissables. Cela peut provoquer de la confusion en raison des inversions jour-mois : il est difficile de deviner quelle partie de la date correspond au jour et quelle partie correspond au mois dans une date telle que 01-03-2016.

Lors de l’import d’un fichier CSV, Odoo propose des options de Mise en forme.

Pour voir quel format de date Odoo a détecté dans le fichier, vérifiez le Format de date affiché lorsque vous cliquez sur les options sous le sélecteur de fichier. Si ce format est incorrect, modifiez-le pour utiliser le format souhaité en utilisant la norme ISO 8601 pour définir le format.

Important

ISO 8601 est une norme internationale couvrant l’échange mondial ainsi que la communication de données relatives aux dates et heures. Par exemple, le format de date devrait être AAAA-MM-JJ. Dans le cas du 24 juillet 1981, il devrait être écrit 1981-07-24.

Astuce

Lors de l’import de fichiers Excel (.xls, .xlsx), pensez à utiliser des cellules de type date pour stocker les dates. Cela permet de conserver les formats de date locaux à l’affichage, quelle que soit la manière dont la date est formatée dans Odoo. Lors de l’import d’un fichier CSV, utilisez la section Mise en forme d’Odoo pour sélectionner le format des dates dans les colonnes à importer.

Importer des nombres avec des signes monétaires

Odoo prend entièrement en charge les nombres entre parenthèses pour représenter des valeurs négatives, ainsi que les nombres accompagnés d’un symbole monétaire. Odoo détecte également automatiquement quel séparateur de milliers/décimal est utilisé. Si un symbole monétaire inconnu d’Odoo est utilisé, il se peut qu’il ne soit pas reconnu comme un nombre et que l’import échoue.

Note

Lors de l’import d’un fichier CSV, le menu Mise en forme apparaît dans la colonne de gauche. Dans ces options, le Séparateur de milliers peut être modifié.

Exemples de nombres pris en charge (en utilisant « trente-deux mille » comme valeur) :

  • 32.000,00

  • 32000,00

  • 32,000.00

  • -32000.00

  • (32000.00)

  • $ 32.000,00

  • (32000.00 €)

Exemple de ce qui ne fonctionne pas :

  • ABC 32.000,00

  • $ (32.000,00)

Important

Des () (parenthèses) autour du nombre indiquent que le nombre est une valeur négative. Le symbole monétaire doit être placé à l’intérieur des parenthèses pour qu’Odoo le reconnaisse comme une valeur monétaire négative.

Le tableau d’aperçu de l’import ne s’affiche pas correctement

Par défaut, l’aperçu de l’import utilise la virgule comme séparateur de champs et les guillemets comme délimiteur de texte. Si le fichier CSV n’utilise pas ces paramètres, modifiez les options de Mise en forme (affichées sous la barre Importer un fichier CSV après la sélection du fichier CSV).

Important

Si le fichier CSV utilise la tabulation comme séparateur, Odoo ne détecte pas les séparations. Les options de format du fichier doivent être modifiées dans le logiciel de feuille de calcul. Consultez la section suivante Modifier le format d’un fichier CSV.

Modifier le format d’un fichier CSV dans un logiciel de feuille de calcul

Lors de l’édition et de l’enregistrement de fichiers CSV dans des logiciels de feuille de calcul, les paramètres régionaux de l’ordinateur sont appliqués pour le séparateur et le délimiteur. Odoo recommande d’utiliser OpenOffice ou LibreOffice, car ces deux applications permettent de modifier les trois options (depuis l’application LibreOffice, allez dans Boîte de dialogue « Enregistrer sous » ‣ Cochez la case « Modifier les paramètres du filtre » ‣ Enregistrer).

Microsoft Excel permet de modifier l’encodage lors de l’enregistrement (dans Boîte de dialogue « Enregistrer sous » ‣ Menu déroulant « Outils » ‣ Onglet « Encodage »).

Différence entre l’ID de base de données et l’ID externe

Certains champs définissent une relation avec un autre objet. Par exemple, le pays d’un contact est un lien vers un enregistrement de l’objet « Pays ». Lorsqu’un tel champ est importé, Odoo doit recréer les liens entre les différents enregistrements. Pour faciliter l’import de tels champs, Odoo fournit trois mécanismes.

Important

Un seul mécanisme doit être utilisé par champ importé.

Par exemple, pour référencer le pays d’un contact, Odoo propose trois champs différents à importer :

  • Pays : le nom ou le code du pays

  • Pays/ID de base de données : l’ID Odoo unique de l’enregistrement, défini par la colonne ID dans PostgreSQL

  • Pays/ID externe : l’ID de cet enregistrement référencé dans une autre application (ou le fichier .XML qui l’a importé)

Pour le pays Belgique, par exemple, vous pouvez utiliser l’une des trois méthodes suivantes :

  • Pays : Belgique

  • Pays/ID de base de données : 21

  • Pays/ID externe : base.be

Selon les besoins de l’entreprise, utilisez l’une de ces trois méthodes pour référencer les enregistrements dans les relations. Voici un exemple indiquant quand utiliser l’une ou l’autre, en fonction du besoin :

  • Utilisez Pays : c’est la méthode la plus simple lorsque les données proviennent de fichiers CSV créés manuellement.

  • Utilisez Pays/ID de base de données : cette méthode devrait être employée rarement. Elle est principalement utilisée par les développeurs, car son principal avantage est d’éviter tout conflit (plusieurs enregistrements peuvent avoir le même nom, mais ils disposent toujours d’un ID de base de données unique)

  • Utilisez Pays/ID externe : utilisez l’ID externe lors de l’import de données provenant d’une application tierce.

Lorsque des ID externes sont utilisés, importez les fichiers CSV avec la colonne ID externe (ID) définissant l’ID externe de chaque enregistrement importé. Vous pouvez ensuite faire référence à cet enregistrement avec des colonnes telles que Champ/ID externe. Les deux fichiers CSV suivants fournissent un exemple pour les produits et leurs catégories.

Importer des champs de relation

Un objet Odoo est toujours lié à de nombreux autres objets (par exemple, un produit est lié à des catégories de produits, des attributs, des fournisseurs, etc.). Pour importer ces relations, les enregistrements de l’objet lié doivent d’abord être importés depuis leur propre menu de liste.

Cela peut être réalisé en utilisant soit le nom de l’enregistrement lié, soit son ID, selon les circonstances. L’ID est requis lorsque deux enregistrements portent le même nom. Dans ce cas, ajoutez /ID à la fin du titre de la colonne (par exemple, pour les attributs de produits : Attributs de produits / Attribut / ID).

Options pour les correspondances multiples des champs

Si, par exemple, il existe deux catégories de produits ayant le sous-nom Vendable (par ex. Produits divers/Vendable et Autres produits/Vendable), la validation est interrompue, mais les données peuvent tout de même être importées. Cependant, Odoo recommande de ne pas importer ces données, car elles seront toutes liées à la première catégorie Vendable trouvée dans la liste Catégorie de produits (Produits divers/Vendable). Odoo recommande plutôt de modifier l’une des valeurs du doublon ou la hiérarchie des catégories de produits.

Cependant, si l’entreprise ne souhaite pas modifier la configuration des catégories de produits, Odoo recommande d’utiliser l’ID externe pour ce champ, « Catégorie ».

Importer des champs de relation many2many

Les étiquettes doivent être séparées par une virgule, sans espace. Par exemple, si un client doit être lié aux deux étiquettes Fabricant et Détaillant, alors Fabricant,Détaillant doit être encodé dans la même colonne du fichier CSV.

Importer des relations one2many

Si une entreprise souhaite importer un bon de commande avec plusieurs lignes de commande, une ligne spécifique doit être réservée dans le fichier CSV pour chaque ligne de commande. La première ligne de commande est importée sur la même ligne que les informations relatives au bon de commande. Toute ligne supplémentaire doit être ajoutée sur une ligne distincte qui ne contient aucune information dans les champs relatifs au bon de commande.

Example

Une entreprise importe des devis en utilisant un fichier CSV, basé sur des données de démonstration :

Une entreprise importe des bons de commande avec leurs lignes de bon de commande respectives en utilisant un fichier CSV :

Une entreprise importe des clients et leurs contacts respectifs en utilisant un fichier CSV :

Importer des fichiers image

Pour importer des fichiers image en même temps que le fichier CSV ou Excel uploadé, suivez les étapes suivantes :

  1. Ajoutez les noms des fichiers image dans la colonne Image correspondante du fichier de données.

  2. Uploadez le fichier de données ou rechargez-le en cliquant sur Charger le fichier de données.

  3. Cliquez sur Uploader vos fichiers dans la section Fichiers à importer.

  4. Sélectionnez les fichiers image pertinents. Le nombre de fichiers sélectionnés apparaît à côté du bouton.

  5. Cliquez sur Tester pour vérifier que toutes les données sont valides.

  6. Cliquez sur Importer. Pendant le processus d’import, Odoo effectue une vérification afin de lier automatiquement les images uploadées au fichier de données importé. S’il n’y a pas de correspondance, le fichier de données est importé sans aucune image.

Note

  • La section Fichiers à importer est activée si le modèle de produit possède une colonne Image avec tous les champs renseignés.

  • Les noms des fichiers image dans le fichier de données doivent correspondre aux fichiers image uploadés.

  • Lors de l’import d’un grand nombre d’images, spécifier la taille maximale de lot en mégaoctets et définir un délai pour éviter que le système ne soit surchargé. Pour ce faire, activer le mode développeur et renseigner les champs Taille max. par lot et Délai après chaque lot dans la section Fichiers à importer. Par défaut, le délai respecte la limite d’appels RPC/API définie dans la Politique d’utilisation acceptable d’Odoo Cloud.

Importer des enregistrements plusieurs fois

Si un fichier importé contient l’une des colonnes ID externe ou ID de base de données, les enregistrements qui ont déjà été importés sont modifiés au lieu d’être créés. Ceci est extrêmement utile, car cela permet aux utilisateurs d’importer le même fichier CSV plusieurs fois, après avoir effectué quelques modifications entre deux imports.

Odoo se charge de créer ou de modifier chaque enregistrement, en fonction du fait qu’il soit nouveau ou non.

Cette fonctionnalité permet à une entreprise d’utiliser l’outil Importer/Exporter d’Odoo pour modifier un lot d’enregistrements dans un logiciel de feuille de calcul.

Valeur non fournie pour un champ spécifique

Si tous les champs ne sont pas définis dans le fichier CSV, Odoo attribue la valeur par défaut pour chaque champ non défini. Cependant, si les champs sont définis avec des valeurs vides dans le fichier CSV, Odoo définit la valeur vide dans le champ au lieu d’attribuer la valeur par défaut.

Exporter/importer différentes tables depuis une application SQL vers Odoo

Si des données doivent être importées depuis différentes tables, il faut recréer les relations entre les enregistrements appartenant à ces différentes tables. Par exemple, si des sociétés et des personnes sont importées, le lien entre chaque personne et la société pour laquelle elle travaille doit être recréé.

Pour gérer les relations entre les tables, utilisez les fonctionnalités d’ID externe d’Odoo. L’ID externe d’un enregistrement est l’identifiant unique de cet enregistrement dans une autre application. L’ID externe doit être unique pour tous les enregistrements de tous les objets. Il est recommandé de préfixer cet ID externe avec le nom de l’application ou de la table (par ex. “company_1”, “person_1” au lieu de “1”)

Par exemple, supposons qu’il existe une base de données SQL avec deux tables à importer : sociétés et personnes. Chaque personne appartient à une société, de sorte que le lien entre une personne et la société pour laquelle elle travaille doit être recréé.

Testez cet exemple avec un échantillon de base de données PostgreSQL.

Commencez par exporter toutes les sociétés et leur ID externe. Dans PSQL, écrivez la commande suivante :

> copy (select 'company_'||id as "External ID",company_name as "Name",'True' as "Is a Company" from companies) TO '/tmp/company.csv' with CSV HEADER;

Cette commande SQL crée le fichier CSV suivant :

External ID,Name,Is a Company
company_1,Bigees,True
company_2,Organi,True
company_3,Boum,True

Pour créer le fichier CSV pour les personnes liées aux sociétés, utilisez la commande SQL suivante dans PSQL :

> copy (select 'person_'||id as "External ID",person_name as "Name",'False' as "Is a Company",'company_'||company_id as "Related Company/External ID" from persons) TO '/tmp/person.csv' with CSV

Elle produit le fichier CSV suivant :

External ID,Name,Is a Company,Related Company/External ID
person_1,Fabien,False,company_1
person_2,Laurence,False,company_1
person_3,Eric,False,company_2
person_4,Ramsy,False,company_3

Dans ce fichier, Fabien et Laurence travaillent pour la société Bigees (company_1), et Eric travaille pour la société Organi. La relation entre les personnes et les sociétés est établie en utilisant l’ID externe des sociétés. L’ID externe est préfixé par le nom de la table afin d’éviter un conflit d’ID entre les personnes et les sociétés (person_1 et company_1, qui partageaient le même ID 1 dans la base de données d’origine).

Les deux fichiers produits sont prêts à être importés dans Odoo sans aucune modification. Après avoir importé ces deux fichiers CSV, il y a quatre contacts et trois sociétés (les deux premiers contacts sont liés à la première société). Gardez à l’esprit qu’il faut d’abord importer les sociétés, puis les personnes.

Mettre à jour des données dans Odoo

Les données existantes peuvent être mises à jour en masse via un import de données, tant que l””ID externe reste cohérent.

Préparer l’export des données

Pour mettre à jour des données via un import, naviguer d’abord vers les données à mettre à jour et sélectionner l’icône (Liste) pour activer la vue liste. Sur le côté gauche de la liste, cocher la case pour tout enregistrement à mettre à jour. Ensuite, cliquer sur le bouton Actions et sélectionner Exporter dans le menu déroulant.

Dans la fenêtre contextuelle Exporter les données qui s’affiche, activer le bouton Champs modifiables uniquement. Cela inclut automatiquement l”ID externe dans l’export. De plus, cela limite la liste Champs disponibles pour n’inclure que les champs pouvant être importés.

Note

Le champ ID externe n’apparaît pas dans la liste Champs à exporter à moins d’être ajouté manuellement. Cependant, si le commutateur Champs modifiables uniquement est activé, il est inclus dans l’export.

Sélectionnez les champs à inclure dans l’export à l’aide des options de la fenêtre contextuelle, puis cliquez sur Exporter.

Importer les données mises à jour

Après l’export, apportez toutes les modifications nécessaires au fichier de données. Lorsque le fichier est prêt, il peut être importé en suivant la même procédure qu’un import de données normal.

Danger

Lors de la mise à jour de données, il est extrêmement important que l’ID externe reste cohérent, car c’est ainsi que le système identifie un enregistrement. Si un ID est modifié ou supprimé, le système peut ajouter un enregistrement en double au lieu de mettre à jour l’enregistrement existant.