Blogue

Import massif de données dans votre ERP

Pourquoi utiliser l'import massif de données

Un outil d’import de données massif tel que fourni par votre ERP PHPReaction signifie qu’en quelques cliques seulement, vous pouvez ajouter ou modifier d’un seul coup des centaines de produits, ventes, entrées en inventaire, etc. ! C’est un outil nécessaire lorsque vous voulez faire une migration de données, ou tout simplement lorsque vous manipulez beaucoup de données.

Comment utiliser l'import dans PHPReaction?

Pour utiliser l’outil d’importation massive de données présent dans l’ERP PHPReaction, vous n’avez qu’à vous rendre sur la page listant le type de données que vous voulez importer (par exemple, si vous désirez importer des produits, vous devez vous rendre sur la page de liste de produits).

 

Exemple pour se rendre sur la liste des produits.

Vous devez ensuite cliquer sur le bouton “Importer” qui se trouve à gauche de la liste.

Exemple pour importer des produits.

Standards des grilles CSV pour l'importation

L’importation des données se fait à l’aide d’un fichier de type CSV. Afin d’importer les bonnes valeurs et que le tout se fasse sans erreurs, il est important de structurer son fichier CSV de la bonne façon, c’est à dire en suivant les standards de fichiers d’importations PHPReaction CSV qui seront définis ci-dessous.

Format et structure des grilles

Pour ce qui est du format, il était précédemment mentionné que le type de fichier pour l’import serait CSV. En gros, un fichier CSV est une façon de structurer des données en les séparant toutes par des virgules. Heureusement, pour rendre la tâche plus facile, certains logiciels (notamment Microsoft Excel, LibreOffice Calc, MacOS Numbers, etc.) permettent de structurer ces données sous forme de grille. Ci-dessous se trouvent un exemple de CSV sous forme brute, et un exemple de CSV sous forme de grille.

CSV sous forme brute : 

CSV sous forme de grille : 

Vous aurez pu remarquer qu’il est préférable de travailler sous forme de grille. En gros, le fichier CSV sous forme de grille est composé de deux parties principales : 

Les entêtes qui définissent les propriétés auxquels on veut attribuer une donnée

et

Les entrées qui représentent chacune un “objet” (par exemple un produit) que nous voulons importer. Chaque cellule de la ligne d’entrée représente la donnée indiquée par son entête respective.

 

Notez aussi qu’il ne faut laisser aucune cellule vide, car sinon cela créera une erreur d’import !

Les types de données

Tel que mentionné précédemment, chaque cellule de l’entrée indique la donnée respective à son entête. Cependant, tout dépendant de la propriété que représente cette entête, différents types de données devront être employés.

En gros, un type de donnée est une façon de représenter la donnée. Ce peut être sous forme de mots, sous forme d’identifiant unique (ID) d’une autre resource, sous forme de nombre décimal, etc. Ci-dessous se trouvent une liste détaillée de chaque type de donnée possible, ainsi que leur explication et un exemple l’utilisant.

Type de donnée

Terme communément utilisé

Explication

Exemple

Identifiant unique

ID ou Relation

Il s’agit d’une propriété permettant de faire référence à une autre resource.

Dans la grille de création d’un produit, sous l’entête “type”, je pourrais mettre l’ID “2”, qui représenterait le type de produit qui a “2” comme identifiant unique. Cela attribuerait le type de produit “2” au produit.

Nombre entier

Integer ou tout simplement int

Il s’agit d’un nombre entier, donc qui ne comporte aucune virgule.

Dans la grille de création d’une entrée en inventaire, sous la propriété “quantité”, je pourrais mettre le nombre “10”, signifiant que j’ai cette quantité en inventaire. Vous remarquerez que ce type de propriété (la quantité par exemple) ne pourrait pas être fractionnelle, et c’est la raison pour laquelle le type “integer” lui est attribué.

Nombre décimal

Decimal, double ou float

Il s’agit d’un nombre fractionnel avec une virgule.

Dans la grille de création d’un produit, je pourrais mettre la valeur “19.99” sous la propriété “prix”, afin d’attribuer cette valeur au prix. Vous remarquerez qu’étant donné qu’un prix n’est pas nécessairement un nombre entier, le type de donnée “decimal” lui est attribué.

Un mot ou une phrase

String

Il s’agit d’une série de caractères représentant un mot ou une phrase. Contrairement au type “text”, le type “string” ne peut généralement contenir qu’environ 255 caractères.

Dans la grille de création d’un produit, sous la propriété “nom”, je pourrais mettre la valeur “Patate”. Vous remarquerez que pour cette propriété, un texte à plusieurs lignes n’est pas nécessaire, et c’est pourquoi que la type de données “string” lui est attribué.

Un texte

Text

Il s’agit d’une série de phrases, normalement étendues sur plusieurs lignes. Contrairement au type “string”, le type “text” ne possède pas vraiment de limite atteignable.

Dans la grille de création d’une produit, sous la propriété “description”, je pourrais entrer une description complète de mon produit sur plusieurs lignes et/ou paragraphes. Vous remarquerez que pour cette propriété, il n’est pas tant réaliste d’utiliser un “string” étant donné que la limite de caractères serait vite atteinte.

Une date et un temps

datetime

Il s’agit d’une date et d’un temps enchaînés dans une liste de caractères spécifiques. Le format utilisé est le datetime ISO 8601, qui s’écrit sous la forme “2000-01-01T00:00:00-05:00”.

Dans la grille de création d’une vente, sous la propriété “date de livraison”, je pourrais mettre la valeur “2021-01-01T00:00:00-05:00” pour signifier que la vente sera livrée le 1er Janvier 2021 à 0h00.

Une proposition logique

boolean ou bool

Il s’agit d’indiquer si la propriété est respectée / activée (vrai) ou si elle ne l’est pas (faux). En général, un le type “boolean” peut représenter la valeur “vrai” par “true” ou “1” et la valeur “faux” par “false” ou “0”. Dans le cas d’un fichier CSV, ce sont les valeurs numériques qui sont utilisées.

Dans la grille de création d’un produit, sous la propriété “suivi d’inventaire”, je pourrais mettre la valeur “1” pour représenter que le produit en cours de création active la fonction “suivi d’inventaire”. Vous remarquerez que tel qu’énoncé précédemment, la valeur “1” représente “vraie” ou “activée” à la propriété “suivi d’inventaire”.

Métadonnées de PHPReaction

Dans votre ERP, lorsque vous vous dirigez dans les Paramètres > Importer > Metadonnées > Metadonnées, vous pourrez voir une liste complète de tous les types de resources de votre ERP, et si vous cliquez sur l’une d’elle, vous pourrez voir toutes les propriétés de cette resource, ainsi que les types de données de ces propriétés. Cette de votre ERP est très utile à la construction de vos grilles CSV.

Ci-dessous se trouve donc un exemple de la procédure afin d’accéder aux propriétés et à leur type de données pour la création d’un produit.

*Légende* : 

1. Indique une relation à sur une autre resource, donc demande de fournir un identifiant unique ou de créer la resource resource correspondante lors de l’import (les différents cas seront expliqués ci-dessous).

2. Indique le type de donnée “datetime

3. Indique le nom de la propriété

4. Indique le type de donnée “string

5. Indique que la propriété est optionnelle

6. Indique le type de donnée “decimal

Les relations entre les données

Dans l’exemple ci-dessus, vous avez peut-être remarqué que lorsqu’une relation avec une autre resource était indiqué, il y avait un terme à côté. Dans le cas de l’exemple, le terme était “One to many“, pour indiquer qu’un produit (One) peut être lié à plusieurs traductions (Many). Ce terme indique donc le type de relation entre deux resources. On vous explique ici brièvement les relations possibles entre les resources, puisque tout dépendant du type de relation, l’approche pour la création de la grille CSV peut différer légèrement … :

  • Si le type de relation est “One to many“, vous devrez créer la resource lors de l’import. Pour se faire, dans l’entête de la propriété dans votre grille, vous devrez faire référence à la resource à créer à l’aide d’une barre oblique “/”, puis créer ses propriétés comme si vous étiez aussi en train de faire un fichier d’import de cette resource (voir l’exemple ci-dessous).
  • Si le type de relation est “Many to one“, vous devez faire référence à la resource déjà existante. Pour se faire, vous pouvez laisser l’entête comme telle, mais comme valeur, vous devez fournir l’identifiant unique de la resource à laquelle vous faites référence.

*Légende* – Fichier d’import de produit : 

1. Relation “One to many” vers la resource “traductions”. Donc ici, on crée la traduction à partir du fichier d’import du produit.

2. Relation “Many to one” vers la resource “type de produit”. Donc ici, on fait référence à la resource déjà existante “type de produit” en donnant son identifiant unique comme valeur.

3. Propriétés internes de produit qui sont des “boolean“. Nous indiquons donc si la propriété est activée ou non à l’aide de “1” et de “0”.

4. Propriété interne de produit qui est un “decimal“. Nous indiquons donc la valeur décimale requise.

5. Propriétés internes de produit qui sont des “string“. Nous indiquons donc les chaînes de caractères appropriées. 

Quelques imports populaires

Vous trouverez ci-dessous une liste des fichiers CSV d’imports tout de même populaires que vous pourrez télécharger et donc vous pourrez vous inspirer pour créer vos propres grilles CSV.

Imports

Types

Descriptions

Fichiers CSV
(pour télécharger)

Import de produits

Création

Créer tous les produits listés dans le fichier selon les propriétés spécifiées.Cliquez-ici pour télécharger 

Import d’entrées d’inventaire

Création

Créer les nombres en inventaire d’un produit en particulier en se basant sur le SKU du produit.Cliquez-ici pour télécharger 

Import de balises

Création

Créer toutes les balises (communément appelées “tags”) listées dans le fichier.Cliquez-ici pour télécharger 

Import de balisages

Création

Créer tous les liens listés dans le fichier entre des balises et des produits. Cliquez-ici pour télécharger

Import de clients

Création

Créer tous les clients listés dans le fichier selon les propriétés spécifiées. Cliquez-ici pour télécharger

Import de fournisseurs

Création

Créer tous les fournisseurs listés dans le fichier selon les propriétés spécifiées.Cliquez-ici pour télécharger 

Import des coûts et des prix d’un produit selon son SKU

Mise à jour

Mettre à jour le prix et le coût de tous les produits listés en se fiant sur les SKUs fournis pour identifier les produits concernés. Cliquez-ici pour télécharger

Import des coûts et des prix d’un produit selon son code client

Mise à jourMettre à jour le prix et le coût de tous les produits listés en se fiant sur les codes clients fournis pour identifier les produits concernés.  Cliquez-ici pour télécharger

Import des coûts et des prix d’un produit selon son code de fournisseur

Mise à jourMettre à jour le prix et le coût de tous les produits listés en se fiant sur les codes de fournisseurs fournis pour identifier les produits concernés.  Cliquez-ici pour télécharger