Service Migration et importation de données vers Odoo

Vous avez un autre logiciel et vous avez pris la décision de migrer vers Odoo 

On vous propose de bien démarrer sans perdre votre passé:

  • importation clients et furnisseurs
  • importation de produits et stocks
  • importation de devis, bons de commande, factures, achats furnisseurs, etc 
Contactez-nous pour obtenir un devis selon vos besoins.

Actualization / Upgrade d'une version ancienne OpenERP vers Odoo V8 or Odoo V9

Vous aurez peut-être besoin d'actualiser quelques uns de vos modules: on peut vous rendre ce service.

On vous propose aussi la migration de tous vos données enregistrés sur l'anciene plateforme: clients, furnisseurs, pistes, oportunités, devis, bons de commande, bons de livraison, factures, mouvements de stock, projects, etc, etc. Contactez-nous pour obtenir votre devis.

Comment importer des données ver Odoo

Il est possible d'importer les fichiers externes vers Odoo

Vous devez enregistrer les fichiers au format .csv (Comma Separated Value). 

Vous devez tout d'abord autoriser l'importation d'enregistrements: cela se fait sous -> Paramètres -> Général (par défaut, c'est déjà autorisé)

Ensuite, vous êtes autorisé à créer non seulement les enregistrements, mais aussi des dossiers d'importation. Vous pouvez choisir votre fichier csv et sélectionnez les colonnes correctes pour vos produits / clients / furnisseurs, etc.

Si vous ne voyez pas le lien d'importation, il vous faudra choisir la vue List (et pas la Kaban, par example).

Sélectionnez le fichier à importer. Pour avoir un exemple de fichier importable, utiliser l'outil d'exportation pour en générer un.

Après ça on vous conseille  de valider votre fichier et Odoo vérifie si l'importation va réussir.

Si vous avez pas d'erreurs, il vous faudra démarrer l'importation

Besoin d'importer des données d'une autre application ?

Pour créer des relations entre différents enregistrements, veuillez utiliser l'identifiant unique de l'application originale et mappez le à ID la colonne dans Odoo. Quand vous importez un autre enregistrement lié au premier, utilisez XXX/Id. faire référence à l'identifiant unique original.

Le ID sera aussi utilisé pour mettre à jour l'import original si vous avez besoin de réimporter des données modifiées par après, c'est donc une bonne pratique de le spécifier dès que possible

Pourquoi le fichier CSV utilise pas mon format de date?

Vu que les fichiers CSV sont utilisés en interne et dans plusieurs processus externes, l'interopérabilité est un problème signifiant. Pour limiter une interprétation incorrecte des données, nous avons limité strictement aux dates suivantes le format ISO 8601

Pour un formatage plus flexible ou plus commun, utilisez des fichiers Excel, les cellules de type "date" sont stockées comme des dates authentiques et l'affichage commun et locale des dates est indépendant de la façon dont elles sont stockées.

Que puis-je faire quand le tableau d'aperçu d'importation ne sont pas affichées correctement?

Par défaut l'aperçu d'importation est configuré pour utiliser les virgules comme séparateur de champs, et les guillemets comme caractère de délimitation de texte. Si votre fichier CSV est dans un autre format, vous pouvez modifier les options de format de fichier (sous la barre de choix du fichier, après en avoir choisi un).

Notez que si votre fichier CSV utilise les tabulations comme séparateurs, Odoo ne détectera pas les séparations. Vous devrez changer les options de format du fichier dans votre tableur. Voir la question suivante.

Comment puis-je changer les options de formatage du fichier CSV lorsque que je sauvegarde dans mon tableur?

Si vous modifiez et sauvegardez des fichiers CSV depuis un tableur, les paramètres régionaux de votre ordinateur seront d'application, notamment le séparateur et le caractère de délimitation. Il est recommandé d'utiliser OpenOffice ou LibreOffice Calc, car ces logiciels vous permettent de modifier ces options de format de fichier: dans la fenêtre de dialogue "Enregistrer sous...", cochez la case "Modifier les paramètres".

Microsoft Excel vous permet de modifier l'encodage à la sauvegarde (dans la boîte de dialogue "Enregistrer tout" > cliquez sur la liste déroulante "Outils" > onglet "Encodage").

Quelle est la différence entre id. de base de données et id. externe ?

Certains champs définissent une relation avec un autre object. Par exemple, le pays d'un contact est un lien vers un enregistrement de l'object "Pays". Lorsque vous désirez importer ce genre de champs, Odoo doit recréer les liens entre les différents enregistrements. Pour vous aider à importer ces champs, Odoo propose 3 mécanismes. Vous devez utiliser un et un seul de ces mécanismes par import.

Par exemple, pour indiquer le pays d'un contact, Odoo vous permet d'utiliser 3 champs différents :

Pays : le nom ou code du pays
Pays/Id. base de données: identifiant unique d'un enregistrement, défini par l'identifiant en base de données
Pays/Id. externe: l'identifiant externe de cet enregistrement, provenant d'une autre application (ou du fichier XML qui l'a importé)
Pour le pays Belgique, vous avez le choix entre 3 possibilités d'import :

Pays : Belgique
Pays/Id. base de données: 21
Pays/Id. externe: base.be
Selon vos besoins, utilisez une de ces trois méthodes pour référencer les enregistrements dans les relations. Voici les différents cas d'utilisation de ces 3 méthodes :

Utilisez le pays : ceci est la manière la plus facile quand vos données viennent de fichiers CSV qui ont été créés manuellement.
Utiliser Pays/id. base de données : Vous devriez rarement utiliser cette notation. Elle est en général utilisée par les développeurs : son principal avantage est de ne jamais avoir de conflits (vous pouvez avoir plusieurs enregistrements avec le même nom, mais ils ont toujours un identifiant de base de données unique)
Utilisez Pays/id. externe : Utilisez l'idenfiant externe quand vous importez des données d'une autre application.

Lorsque vous utilisez des identifiants externes, vous pouvez importer des fichiers CSV avec la colonne "Id. externe" pour définir l'identifiant externe de chaque enregistrement que vous importez. Ensuite, vous pourrez faire référence à cet enregistrement avec des colonnes comme "Champ / Id. externe". Les deux fichiers CVS suivants vous donnent un exemple des produits et leurs catégories.

Fichier CSV pour les catégories
Fichier CSV des articles

Que puis-je faire si j'ai plusieurs correspondances pour un champ ?

Par exemple, si vous avec deux catégories de produits dont le nom est "Vendable" (ex: "Catégorie A/Vendable" et "Catégorie B/Vendable", la validation s'arrêtera mais l'importation sera possible malgré tout. Cependant il est préférable de ne pas forcer l'importation, car le système choisira systématiquement la première catégorie dont le nom correspond, et ce ne sera pas forcément la bonne. Le mieux serait de modifier le nom de vos catégories de produits pour éviter cette ambiguïté.
Par contre si vous préférez ne pas modifier les catégories de produits pour lever cette ambiguïté, vous devriez utiliser l’identifiant externe unique pour désigner la catégorie.

Comment importer un champ contenant une relation plusieurs-à-plusieurs (ex. : un client qui a plusieurs mots-clés) ?

Les étiquettes (tags) doivent être séparées par une virgule sans espace. Par exemple, pour qu'un client soit lié aux étiquettes "Fabricant" et "Détaillant", encoder "Fabricant,Détaillant" dans la même colonne du fichier CSV.

Fichier CSV pour fabricants, revendeurs

Comment importer une relation un-à-plusieurs (ex. : plusieurs lignes de commande dans une même commande) ?

Si vous souhaitez importer un bon de commande contenant plusieurs lignes, vous devez placer une ligne dédiée dans le CSV pour chaque ligne de commande. Les données de la première ligne de commande figureront sur la même ligne que la commande elle-même, et les suivantes seront sur des lignes ne contenant que des cellules vides pour tout ce qui concerne la commande.

Par exemple, voici un fichier de quelques devis que vous pouvez importer (fondé sur les données de démonstration) : purchase.order_functional_error_line_cant_adpat.CSV

Fichier d'exemples de devis

Le fichier CSV suivant montre comment importer des commandes d'achat avec leurs lignes de commande respectives :

Cmmandes d'achat avec leurs lignes respectives

Le fichier CSV suivant montre comment importer des clients et leurs contacts respectifs

Clients et leurs contacts respectifs

Puis-je importer plusieurs fois le même enregistrement ?

Si vous importez un fichier qui contient l'une des colonnes "Id. externe" ou "Id. base de données", les enregistrements préalablement importés qui ont ces identifiants seront mis à jour, plutôt que d'en importer une copie. Ceci permet d'importer le même fichier plusieurs fois en effectuant quelques ajustements dans le fichier, sans craindre une duplication des données. Le système créera ou mettra à jour les enregistrement automatiquement en fonction de leur existence.

Cette fonctionnalité vous permet d'utiliser l'outil d'import/export d'Odoo pour modifier un lot d'enregistrements dans votre tableur préféré

Que se passe-t-il si je ne fournis pas une valeur pour un champ spécifique ?

Si certains champs ne sont pas présents du tout dans votre fichier CSV, le système appliquera les valeurs par défaut pour ceux qui manquent. Par contre si votre fichier contient des cellules vides pour certaines colonnes, leur valeur sera spécifiquement vidée, sans utiliser la valeur par défaut.

Comment exporter/importer un ensemble de plusieurs tables entre une application SQL et Odoo ?

Si vous souhaitez importer des données provenant de plusieurs tables, il vous faudra rétablir les relations entre les enregistrements des ces différentes tables (ex: si vous importer des sociétés et des personnes, vous devrez rétablie le lien entre chaque personne et sa socitété).

Pour gérer les liens entre les tables, vous pouvez utiliser les "ID externes" d'Odoo. L'"ID externe" d'un enregistrement est l'identifiant unique de cet enregistrement dans une autre application. Cet "ID externe" doit être unique parmi tous les enregistrements de la base de données, donc c'est une bonne pratique de les préfixer avec le nom de l'application ou de la table (comme 'societe_1' ou 'personne_1' à la place de '1').

Par exemple, imaginez que vous avez une base de données SQL avec deux tables à importer : sociétés et personnes. Chaque personne fait partie d'une société, et vous devez recréer les liens entre chaque personne et la société où elle travaille. ( Si vous voulez tester cet exemple, voici un sauvegarde d'une base de données PostgreSQL de ce type).

Nous allons d'abord 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 va créer le fichier CSV suivant : 
    Id. externe, Nom, Est une société 
    company_1,Bigees,True 
    company_2,Organi,True 
    company_3,Boum,True

Pour créer un fichier CSV des personnes, liées aux sociétés, nous utiliserons 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

Le fichier CSV suivant va être généré: 
    Id. externe, Nom, Est une société, Société liée/Id. externe 
    person_1,Fabien,False,company_1 
    person_2,Laurence,False,company_1 
    person_3,Eric,False,company_2 
    person_4,Ramsy,False,company_3

Comme vous le constatez dans ce fichier, Fabien et Laurence sont employés par la société Bigees (company_1) et Eric par la société Organi. La relation entre les personnes et leur société est établie à l'aide de l'identifiant externe des sociétés. Il a fallu ajouter un préfixe aux identifiants externes pour éviter un conflit entre les personnes et les sociétés (ex: person_1 et company_1 avaient toutes deux l'ID 1 dans la base de données d'origine).

Les deux fichiers produits sont prêts à être importés dans Odoo sans autre modification. Après avoir importé ces deux fichiers CSV, vous aurez 4 contacts et 3 sociétés. (Les deux premiers contacts sont liés à la première société.) Vous devez d'abord importer les sociétés et puis les personnes