Imports de masse - Migrer mes données dans Dolibarr

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search

Suite à une installation neuve de Dolibarr, les bases sont vides. Parfois on désire démarrer avec des données importées d'un autre système. Il existe plusieurs méthodes possibles. Les chapitres suivante présentes quelques informations pour vous y aider.

Il y a plusieurs méthodes d'import de données. Les chapitres suivant fournissent des informations sur celle ci. Les informations pour exporter des données sont décrites sur la page Module Exports.

Attention, si l'objectif est d'importer depuis une autre base Dolibarr, ce n'est pas l'import/export de masse qu'il faut utiliser (dédiés aux imports/exports avec d'autres systèmes), mais la procédure décrite sur le page Dupliquer_une_instance_de_production_en_instance_de_test ou bien les procédures de Sauvegardes et Restaurations.

Art.png Utiliser le module Import de Dolibarr

Pour importer des données, vous pouvez décider d'utiliser l'outil d'import.

Vous trouverez cet assistant qui vous guidera étape par étape dans l'importation de vos données. Cet outil est disponible si les Module Imports ont été activés. Vous pouvez l'utiliser pour importer des fichiers plats (CSV ou Excel). Pour éviter des problèmes de performances ou de mémoire, nous vous recommandons d'utiliser des fichiers plats CSV comme fichiers sources au lieu de fichiers Excel ; Cet outil vous permettra d'importer des données (une table par table) à partir de fichiers plats. Cette méthode est lente, limitée à l'objet pour lequel un profil d'import prédéfini est disponible. L'avantage est que la seule connaissance dont vous avez besoin pour l'utiliser est de savoir comment obtenir un fichier plat CSV à partir de votre système source. Vous trouverez plus d'informations sur la page Module Imports.

Pour les scénarios d'importation non couverts par le module intégré, les alternatives suivantes sont également possibles...

OpenOffice.png Utilise un ETL ou une passerelle outil Tiers

Vous pouvez utiliser des outils tiers, capables de vous connecter à la fois à votre ancien système et à votre installation Dolibarr. Il peut s'agir d'un outil local ou d'un outil SaaS en ligne si vos systèmes sont accessibles par un outil SaaS. La documentation et le processus dépendront de l'outil tiers.

Par exemple, vous pouvez utiliser LibreOffice qui est capable d'injecter le contenu d'un tableau dans la base une base de donnée Mysql Dolibarr. Voici un tutorial sur cette méthode : Importer des données avec LibreOffice

Des outils d'automatisation spécialisés dans la migration de donnée peuvent aussi faire le travail.

Outils.png Développer son propre script d'import

Vous pouvez décider de développer des scripts personnalisés pour charger des données dans la base de données Dolibarr.

Vous pouvez développer des scripts personnalisés pour lire vos informations source. En fonction de votre système source, vous pouvez effectuer :

  • Un accès direct à la base de données pour lire les données
  • Utiliser l'API de votre système source pour lire ses données.
  • Si le système source est un autre Dolibarr, vous pouvez également utiliser les objets CRUD de Dolibarr (la Classe PHP pour manipuler les objets Data, vous pouvez donc appeler les méthodes fetch() et fetchAll() pour récupérer les données). Cela nécessite d'avoir des connaissances en développement PHP.

Ces scripts peuvent ensuite écrire les données lues dans votre Dolibarr cible en utilisant également les 3 méthodes:

  • L'utilisation de l'API est la méthode la plus sécurisée (la plupart des contrôles métier sont inclus).
  • Utiliser les objets de la classe CRUD pour appeler la méthode (vous pouvez donc appeler la méthode fetch() pour vérifier si l'objet existe déjà dans la cible, appeler la méthode create() ou update() pour insérer ou mettre à jour l'enregistrement). Cela nécessite d'avoir des connaissances en développement PHP. Vous pouvez trouver des exemples de script pour charger des données de fichiers CSV dans la base de données en utilisant la deuxième méthode (objets Dolibarr CRUD) dans ce répertoire : https://github.com/Dolibarr/dolibarr/tree/develop/dev/initdata
  • Vous pouvez également effectuer une écriture directe dans la base de données par un accès direct à la base de données (cette méthode n'est pas recommandée car elle contourne toutes les règles métier implémentées dans la classe CRUD ou dans les API, cependant, elle est la plus performante). Cela nécessite de comprendre la structure de la base de données. Ce n'est pas si difficile car chaque donnée est enregistrée une et une seule fois dans la structure de la base de données Dolibarr.


Voici des exemples de quelques cas d'utilisation :


Import des tiers et contacts

Il faut distinguer les tiers des contacts physiques. Dans les tiers on aura toutes les entités sujettes à facturation (aussi bien entreprises, association que particuliers). Les tiers sont obligatoires. Les contacts physiques sont optionnels. Il s'agit juste d'un annuaire de personnes (avec téléphone et fonction) liées à un tiers. Dans le cas d'un tiers entreprise, il pourra y avoir plusieurs contacts physiques. Dans le cas d'un particulier, le contact physique sera unique et identique au tiers (voire le contact physique ne sera pas renseigné).

L'import des tiers consiste à insérer des lignes dans la table Table llx_societe. S'assurer que les champs importants sont bien renseignés:

  • Nom: Doit contenir le nom de la société
  • Client: Doit contenir 1 si client, 2 si prospect, 3 si prospect+client, 0 sinon
  • Fournisseur: Doit contenir 1 si fournisseur, 0 sinon

L'import des contacts physiques consiste à insérer des lignes dans la table Table llx_socpeople. S'assurer que les champs importants sont bien renseignés:

  • Name: Doit contenir le nom de la personne
  • Firstname: Doit contenir le prénom de la société
  • fk_soc: Doit contenir l'id de la ligne Tiers dans la Table llx_societe.

Import des produits ou services

L'import des tiers consiste à insérer des lignes dans la table Table llx_product. S'assurer que les champs importants sont bien renseignés:

  • Ref: Doit contenir la référence courte du produit
  • Nom: Doit contenir le libellé du produit
  • Type: Doit contenir 0 pour un produit, 1 pour un service

Import des factures

A compléter

Mise en pratique

La page Développement de scripts vous explique comment créer votre propre script de traitement Dolibarr.

Quelques didacticiels/exemples soumis par la communauté

Des scripts exemples sont disponibles avec la distribution snapshot de Dolibarr dans le répertoire /dev/samples.

D'autres exemples sont soumis par des contributeurs:

Sous-traiter à un Freelance

Vous pouvez également faire appel à un expert qui choisira la meilleure méthode et réalisera les actions à votre place.

Vous pouvez vous appuyer par exemple sur un Partenaire Préféré Dolibarr https://partners.dolibarr.org


Vidéos sur le sujet