Import produit

Bonjour,

je souhaiterais savoir comment dois-je faire pour mettre à jour plusieurs produits avec l’outil d’import (quantité, prix, note…)
J’ai fait un import mais dolibarr m’a crée un nouveau produit avec la meme reference mais un id different que le produit d’origine

merci pour votre aide

Personne n’a de solution ?

Salut moza24,

pour l’heure l’outils d’import est… un outils d’import, pas de mise à jour.
Si tu veux mette à jour il faut ou:

  1. exporter la table
  2. effacer le contenue de la table
  3. faire les modifs dans l’export
  4. réimporter

OU
Lancer des requêtes de mises à jour directement en base de donnée

Dans tous les cas… sauvegarde avant de faire n’importe quoi :wink:

Merci pour la réponse, certain lot permette juste de mettre à jours (prix fournisseur), il ne serait pas possible de modifier le code de l’importation produit pour également mettre à jour la fiche produit si elle existe déjà dans la BDD

Si si c’est possible: bonne nouvelle le code de dolibarr est ouvert !
Donc tu as plein de solutions:
- attendre que cette fonctionnalité apparaisse miraculeusement
- mettre les mains dans le cambouis et modifier le code en proposant un module ou une modification du core.
- demander cette modification avec insistance jusqu’à ce qu’un developpeur s’y intéresse
- mettre en évidence que cette fonctionnailté est indispensable et mobiliser pleins de gens
- financer la chose
- … seule ton imagination permettra de trouver d’autres solutions. (C’est pas une blague ni une moquerie)

(Liste non exhaustive)

Bonjour,
En effet, ça me paraît indispensable… essentiel, même, d’avoir un outil de mise à jour intégré à Dolibarr.
Il existe bien un module, CoefPricR, qui permet d’opérer des changements de prix de vente en masse. Seulement, il ne fonctionne, pour l’instant, que pour les produits créés « à la main », fiche par fiche. Si l’on a importé un fichier CSV de 2000 articles, par exemple, cela ne fonctionne pas et il faut faire la mise à jour produit par produit. C’est absurde !
Et il faut comprendre le fonctionnement des tables. Car exporter la table IIx_product et la réinjecter avec les bons tarifs ne fonctionnent pas.
Rien que modifier directement un tarif depuis phpmyadmin ne le fait pas prendre en compte dans Dolibarr. Il faut le modifier dans IIx_product_price pour qu’il apparaisse dans l’historique des tarifs mais dans tous les cas, il n’est pas appliqué comme tarif par défaut.
Personnellement, je ne sais pas comment faire à part tout modifier fiche par fiche… Il doit bien exister quelque chose de plus satisfaisant, non ?

Bonjour,

J’arrive sans doute un peu tard mais la fonctionnalité existe sous Dolibarr 5.0 (à vérifier sur les versions antérieures).
J’avais le même soucis et j’ai réussi à mettre à jour massivement grâce à l’outils d’import de données.
Pour ce faire:
1- sélectionner l’outils d’import: manu Outils / outils d’import
2- sélectionner le module ‹ Produits ›
3- sélectionner le type de fichier (.csv ou .xls) source
4- ajouter et sélectionner le fichier source - ce fichier doit contenir les informations minimum requises (voir ce que demande Dolibarr au point 5) + les données à mettre à jour
5- sélectionner et ranger les champs entre ce qu’il y a dans le fichier, et les attentes de Dolibarr
6- sélectionner le numéro de la première ligne à importer (2 si par exemple vous avez un titre pour chaque colonne) et … voir le point 7
7- c’est là que réside la mise à jour massive: sélectionner la bonne valeur dans le champ ‹ Clé à utiliser pour mettre à jour les données ›: nom du produit, etc… Dolibarr va ainsi voir qu’il s’agit d’une mise à jour et non de la création d’un nouveau produit

en espérant que ça aide certains

Ah mais non ! Ce n’est pas trop tard !! Pour moi, en tout cas !! Merci ! :happy:
En effet, cela semble être une nouveauté de la version 5. Je vais tester ça !

Le seul ennui, c’est que l’instance de Dolibarr dont je dois mettre les tarifs à jour nécessite le module écotaxe, qui n’est pas disponible en version 5 de Dolibarr… :unhappy:

Pour revenir sur le sujet, il n’y a pas de problème avec le module écotaxe, qui fonctionne normalement en version 5 de Dolibarr.

La mise à jour des prix de vente par un import basé sur la référence produit fonctionne à merveille. Il y a juste un petit point qui pourrait être amélioré. Par le biais de cette mise à jour, le nouveau prix de vente remplace l’ancien sans inscrire ce dernier dans l’historique des prix de vente. Ça pourrait être intéressant de conserver cette fonctionnalité…

En tout cas, c’est parfait ! Cet outil de mise à jour manquait vraiment ! Bravo !
Peut-être pourrait-on encore l’améliorer aussi en permettant de ne renseigner que le champ référence produit + seulement le ou les champs que l’on souhaite mettre à jour (prix HT, etc.) À l’heure actuelle, il faut renseigner tous les champs nécessaires à la création d’une fiche produit. Enfin… je crois… je ne sais même plus si je l’ai testé…

Bonjour,

Je me permets de remonter ce topic, puisque j’avais à l’origine le même problème.

De ce que j’ai compris du message (très clair) de mhello, il est possible de faire une mise à jour massive des données en sélectionnant la bonne information dans « Clé à utiliser pour mettre à jour les données », donc juste avant l’import.

J’ai donc testé en suivant la même démarche que celle indiquée dans le message de mhello. Mon problème est que, peu importe l’info que je souhaite modifier (dans mon cas je voulais tester avec le prix de vente), j’ai uniquement la possibilité de sélectionner, en tant que clé, Réf et Code-barres, sans autre choix possible. J’ai testé avec d’autres imports, soit j’ai également des clés « imposées » comme les deux évoquées, soit aucune. Et lorsque je tente la modif via la clé Réf (par exemple), Dolibarr considère que je tente un import et non une mise à jour… (et refuse l’import puisque la Réf du produit existe déjà, donc doublon)

Il y a un moyen de résoudre cela ? J’ai cherché un peu dans les paramètres pour voir s’il y avait quelque chose à changer, rien trouvé… (alors que cela semble marcher cf les message de FO) (NB : Il est tout à fait possible que ce soit la bonne démarche mais que j’ai n’ai pas compris comment cela fonctionne également…)

Merci d’avance pour le coup de main :wink:

Bonjour FJ,
Pour ma part, j’utilise la clé ‹ Ref › sans problème pour mes mises à jour de tarif, le champs REF étant unique pour chaque produit.
Il faut par contre faire attention à ce que dans l’étape 4 les champs de la colonne de gauche correspondent aux champs de la colonne de droite (on ne mélange pas les torchons et les serviettes).

Merci à mhello pour son explication, mais je me permet de faire un résumé complet de la démarche car je pense qu’elle n’est pas évidente pour tous.

En effet, j’ai également eu pas mal de difficulté a le faire fonctionner y compris après avoir lu les différents sujets sur le forum.
Mon besoin était de mettre à jour les prix après avoir mis à jour un stock sans avoir de fournisseur déclarés pour les produits
-> Le champs (ou attribut) concerné est: Valorisation (pmp)

Utilisation de l’import pour effectuer des mises à jour de seulement certaines données dans la base.
Fonctionne à partir de la rev 5 semble t’il (je suis en 5.05)
Règles d’utilisation:
- Créer un fichier CSV avec les attributs minimums réclamés par la base (sinon le module d’import refuse le fichier CSV)
(ex pour base produit: Ref, Libellé, En achat, En vente, Type) -> Important, il faut conserver l’ordre.
- Ces attributs doivent être renseignés avec les données de la base, car ces champs vont être recopiés (ce sont les seuls qui le seront)
- Ajouter le ou les attributs que l’on veut mettre à jour (dans mon cas « pmp »).
Remarque pour les prix: Avec ma configuration, il faut entrer les prix en mode anglo-saxon; . et non pas , pour le séparateur de décimal (Les problèmes de format sont ceux les plus courant dans les fichiers d’import)
- Les 3 premières étapes sont identiques à un import normal.
- Lors de l’import (Etape 4)
- Ne pas oublier de mettre le séparateur de champs sur ; (, par défaut pour mes fichiers CSV exportés depuis Excel) sinon
L’import ne trouve pas les champs.
- A partir de ce moment, les champs apparaissent à gauche mais pas en face de ceux de la base à droite!
il faut donc combler toutes les lignes des champs importés qui ne sont pas en face de ceux correspondant à la base par des « champs vides » (on prends l’icone « aucun champs » en base de la liste et on le copie sur chaque ligne afin que tous les champs du fichier CSV soient en face de ceux de la base.
- Tous les champs doivent êtres remplis.
- La première fois, pas le choix il faut le faire pour chaque ligne et c’est assez long pour une base comme celle des produits qui a beaucoup de champs.
Après on sauvegarde le profil dans un modèle d’import pour éviter de devoir le refaire pour le prochain import sinon l’opération devient vite fastidieuse! (Les fois suivantes il suffira de choisir un profil d’import déjà créé
- Lors de l’import (Etape 5)
il faut choisir « Clé à utiliser pour mettre à jour les données » sinon l’import se fait en remplacement et non pas
en mise à jour! (Du coup si la référence existe déjà on à une erreur de « duplication »)
La clé est la clé « Ref. » -> C’est elle qui permet le choix des articles
(l’ambiguïté sur les forums est que l’on pense que la clé d’import est celle que l’on veut mettre à jour alors que c’est
simplement celle qui sert de clé de synchronisation des différents enregistrements).
Si votre fichier CSV à une première ligne avec les en-têtes, ne pas oublier de positionner le début d’import à la deuxième, sinon on a des erreurs.
- On lance la simulation
- On doit avoir 0 erreurs -> On lance l’import en base -> Les prix sont mis à jour sans modifier les autres champs et sans duppliquer les données.

Limite d’utilisation:
Il faut renseigner les champs obligatoires avec les données déjà existantes dans la base sinon elles seront modifiées!
-> Libellé -> Facile car dépends directement de la Réf:
-> Autres champs (dans le cas de la base produit; En achat, En vente, Type) pourquoi seulement ces champs qui ne semblent pas « critiques »?)
C’est dommage car cela oblige à transférer d’abords ces valeurs (avec un export par exemple) alors qu’elle sont de toute manière rarement à mettre à jour.

C’est une amélioration qui ne me semble pas insurmontable à faire pour l’outil IMPORT qui par ailleurs fonctionne assez bien y compris en mise à jour une fois que l’on a compris sa logique.

2 « J'aime »