Cet article vient dans la continuité d'un précédent article «Démarrer son activité avec un tableur». Je vous montrais comment alimenter un tableur pour faciliter le futur import d'informations dans un outil de gestion. À présent, je vous propose de voir comment importer votre carnet d'adresses dans l'outil de gestion Odoo.

Pour cet article, j'utilise la version 12 communautaire de Odoo.  

Je souhaite importer le fichier de contact ci-dessous.

Extrait fichier de contacts

Qu'est ce qu'un contact dans Odoo?

Avant de pouvoir importer des informations dans un outil, nous devons connaitre les informations qu'il mémorise.

Pour gérer notre annuaire de contacts dans Odoo, nous avons besoin de l'application «Contacts».

Application contact dans Odoo

Lors de l'installation de votre instance Odoo, vous avez 2 contacts. Le contact lié à votre société et le contact lié à l'administrateur. Pour cet article, je me suis autoproclamée administratrice :-).

Liste de contacts de l'annuaire en vue vignette

Exporter un contact existant

Lorsque nous souhaitons importer des informations dans Odoo, il nous faut un modèle. Odoo met à disposition ce modèle.

Ecran d'import dans Odoo

Une autre astuce consiste à exporter les informations mémorisées dans Odoo sous forme d'un fichier et utiliser le fichier généré pour le compléter avec nos propres informations. Au moment de la rédaction de cet article, le modèle de Odoo permet d'indiquer pour un contact le fait qu'il soit client, fournisseur et son éventuel lien à une société mère.

Pour cet article, je m'en tiendrai à une liste de personnes physiques non attachées à une société et non client ou fournisseur.

Comment exporter des contacts existants sous forme d'une liste dans un fichier?

Dans Odoo, il suffit de visualiser les contacts en vue liste en utilisant les boutons liés au changement de vue en haut à droite de l'écran

Bouton pour un affichage des contacts sous forme de liste
Liste de contacts de l'annuaire à l'installation en vue liste

Une fois en vue liste, je coche les contacts à exporter.

Contacts à exporter, cochés

Je coche volontairement, les deux contacts. Dans Odoo, il y a les informations renseignées par l'utilisateur (moi, vous), et les informations utiles à Odoo pour le fonctionnement des applications. Cela me permettra de visualiser les informations renseignées par Odoo en fonction du contexte. Dit autrement, je visualiserai si un contact représentant une société est renseigné de la même façon qu'un contact représentant un individu.

Lorsque je coche un contact, le bouton  «Action» apparaît en haut de l'écran.

Liste des actions possibles sur les contacts sélectionnés

Je sélectionne «Exporter».

Ecran d'export d'information dans Odoo

Cet écran se compose de 4 parties:

1ere partie de l'écran d'export d'information: le choix de l'objectif

Il y a 2 manières d'exporter des informations en fonction de ce que nous souhaitons faire . Si besoin de ces informations à des fins de «reporting», cochez «Utilisez les données dans un tableur» est une bonne idée. Si votre objectif est d'utiliser le fichier pour «Mettre à jour les données» ou en importer de nouvelles, notre cas, cochez «Mettre à jour les données». Je coche donc «Mettre à jour les données»

2eme partie de l'écran d'export d'information: le choix du format de fichier à exporter

Choisissez Excel et le fichier sera au format Excel en .xls. Choisissez CSV, et le format sera au .csv

3ème partie de l'écran d'export d'information: la selection des informations à exporter

Au niveau de la colonne «Champs disponibles», Odoo propose des informations à exporter. Cette liste change en fonction de votre objectif (cf 1ère partie de l'écran d'export d'information: le choix de l'objectif).  En double cliquant sur une information présente dans «Champs disponibles», cette information apparaît dans la colonne de droite.

Je regarde l'ensemble des informations disponibles et je double clique sur les informations jugées pertinentes.

Afin de pouvoir exporter les informations ultérieurement sans devoir effectuer une nouvelle sélection des informations, j'enregistre mes choix.

Je clique sur «Exporter vers le fichier». Dans l'image ci-dessous, j'ai coloré les informations alimentées par Odoo.

Extrait du fichier exporté avec les informations alimentées par Odoo en violet
Informations gérées par Odoo en fonction du context

Dans notre futur fichier à importer composé d'individus, les informations is_company , type, et company_type, devront respectivement être renseignées par 0, contact, Particulier.

Cas particulier de l'identifiant du contact

Dans l'extrait du fichier exporté, la 1ère colonne id contient l'identifiant unique. La présence de cette colonne dans un fichier à importer, indique à Odoo que l'enregistrement existe déjà, et que les informations de cet enregistrement sont à mettre à jour. Pour importer un nouveau contact, cette colonne ne doit pas être présente.

Attention, d'autres informations sont susceptibles d'être considérées comme des identifiants. Ce qui aura pour effet de mettre à jour les contacts existants plutôt que d'en créer de nouveaux. Faire quelques tests avant d'importer l'intégralité de votre carnet d'adresse.

Comparaison entre le fichier Odoo et mon carnet d'adresse de départ.

Comparaison des informations présentes dans les 2 fichiers

Attention: je pars du principe que mon carnet d'adresse se compose uniquement de personnes physiques.

Les informations nom et prénom de mon fichier d'origine doivent être assemblées (concaténées en langage tableur); pour cela, j'utiliserai la fonctionnalité «formule» présente dans tout tableur.

Extrait du fichier à importer après adaptation

Comme vous le montre l'image ci-dessus, la colonne name reprend les informations des colonnes nom et prénom grâce à la formule du tableur =A2 & " " & B2.

Tip: Dans mon exemple, j'ai directement renommé les colonnes; adresse devient street. J'aurai tout à fait pu laisser les colonnes avec les noms initiaux et à la suite des colonnes existantes ajouter d'autres colonnes avec les noms attendus par Odoo et alimentées par des formules reprenant les valeurs des colonnes originales.

Extrait du fichier à importer utilisant les formules 

Dans l'exemple, ci-dessus, nous voyons que la colonne «street» est alimentée avec les valeurs de la colonne «adresse»; formule «=+C2».

Comment importer notre annuaire de contacts ?

Il suffit de se positionner au niveau de la liste des contacts et cliquer sur le bouton «Importer».

Liste des contacts
Ecran d'importation

Je clique sur «Choisir un fichier» et sélectionne le fichier préparé.

Odoo repère les informations qu'il gère et marque «ne pas importer» pour celles qu'il ne reconnait pas. Dans notre exemple, je ne souhaite pas importer la colonne «nom» mais la colonne name. Un clic sur la croix au niveau de nom indique à Odoo de ne pas importer cette information.

Un clic sur «Test d'importation» m'indique 2 erreurs

Test d'import en erreur

Dans le fichier tableur, en copiant l'information «is_company» d'une ligne à l'autre, cela a incrémenter la valeur. Je corrige le fichier et retente le test.

Test d'import correct

Au niveau de l'image ci-dessus, Odoo m'indique que mon fichier semble correct. Néanmoins je constate des valeurs inattendues au niveau des colonnes possédant les formules; par exemple la colonne name contient des «0». Je reprend mon fichier tableur et utilise la fonctionnalité de «copier/coller spécial» qui me permet de remplacer dans une cellule ayant une formule, la formule par le résultat de cette dernière.

Vue import d'un fichier sans formule

Je clique sur «Importer». Mes contacts sont bien importés.