FIXME
(mais j'avance...)
====== Import d'articles par fichier tableur ======
Pour faciliter la création de votre catalogue produits, KinTPV permet d'importer une liste d'articles depuis un fichier.
Cet outil d'import permet de contrôler la cohérence des articles avant leur import dans KinTPV.
Depuis le sommaire général du logiciel, cliquez sur "Importer des articles".
Si vous avez un très grand nombre d'articles à importer, nous vous conseillons de faire un test sur une dizaine d'articles pour vérifier la construction de votre fichier d'import.
Voici les différentes étapes pour effectuer l'import de vos articles dans KinTPV :
- Création du fichier d'import
- Choix des colonnes à importer
- Vérification de la cohérence des données
- [Corrections éventuelles à l'étape 2]
- Import des articles
===== Manipulations principales en 1 image =====
{{:manuel:articles-import:img_articles-import_20220914-173047.png}}
===== Préambule =====
**IMPORTANT** : par défaut, l'outil d'import d'articles KinTPV attend **un fichier au format __texte__ avec séparateur __tabulation__**.\\
Cela signifie que depuis Excel ou votre logiciel tableur (d'OpenOffice, de LibreOffice, etc.), si le fichier n'est pas déjà dans ce format, vous devez "//enregistrer sous...//" ou "//exporter...//" vers ce type de format.
Un [[infos-faq:bases:fichier-import-export-tsv|fichier tableur]] texte avec séparateur tabulation reste un [[infos-faq:bases:fichier-import-export-tsv|fichier tableur]], cela signifie qu'il possède des lignes et des colonnes de données.
-o-
{{ :manuel:articles-import:img_articles-import_20230804-172950.png?600 }}
L'écran de contrôle des données propose 3 fonctionnalités pour la gestion de l'import.
=== Choix de la valeur unique ===
L'information permettant de différencier chaque produit (décliné ou non) est :
* la Référence Article (par défaut) [01]
* le code-barres général de l'article [02]
* la référence fournisseur [12]
En fonction de votre choix, la valeur de la colonne (indiquée entre crochets ci-dessus) doit être unique pour chaque article.
Dans le cas d'__articles déclinés__ (par taille, couleur, longueur, diamètre ou ce que vous voulez), cette valeur doit être recopiée sur chacune des lignes de déclinaison.\\ Si vous souhaitez indiquer une référence unique par déclinaison, utilisez la colonne "Ref_Decli".
=== Dossier des photos ===
Si des noms de fichiers images (jpg ou png) sont indiqués dans le fichier d'import, lesdits fichiers doivent tous être présents dans un dossier à indiquer au logiciel.\\
Les fichiers seront alors recopiés dans le dossier Image de KinTPV.
=== "Tarif" du Prix de Vente ===
Pour KinTPV, un Tarif est un ensemble de Prix de Vente, chacun ayant sa propre date d'application.\\
Le Tarif "//DEFAUT//" (= boutique) est pré-sélectionné, mais il est possible d'attribuer le Prix de Vente du fichier à un autre Tarif.
===== Fichier "sur mesure" =====
Vous pouvez créer un fichier d'import ne comportant que les colonnes qui vous conviennent.\\
Il suffit de vérifier que le fichier répondre aux spécifications requises.
A la 1ère étape de l'import, vous devrez "lier" manuellement les colonnes de votre fichier avec les champs correspondants de la base KinTPV.\\
Par exemple, la colonne 1 avec "Reference_Article", Colonne 2 avec "Nom_Article", etc.\\
Vous pouvez enregistrer (puis recharger) votre configuration d'import, vous évitant ainsi de refaire les liens à chaque import.
Mais en utilisant notre matrice (fichier présent dans le dossier d'installation de KinTPV sur votre ordinateur), vous vous simplifiez le travail en ignorant tout simplement cette fastidieuse étape de liaison.
===== Fichier "matrice" =====
Pour vous faciliter la création du fichier texte d'import, voici une matrice qui répertorie les différentes colonnes à remplir.
Ouvrez le fichier sous Excel pour remplir les colonnes avec vos données, puis enregistrez-le en format texte. {{documentation:matricearticle_kintpv_8.txt|Matrice d'import d'article pour KinTPV}}\\
Notez que cette matrice se trouve aussi dans le dossier KinTPV installé sur votre machine.
//Pour ouvrir le fichier sous OpenOffice, remplacez l'extension ".txt" par ".csv".//
==== Description des colonnes du fichier d'import : ====
Note :
* "//texte//" = tous caractères\\
* "//alphanumérique//" = alphabétique (a...z) et numérique (0...9)\\
* "//décimal//" = chiffres (0...9) et séparateur point ou virgule (.,)\\
* "//numérique//" = uniquement des chiffres (0...9)\\
* les "//dates//" sont sous la forme jj/mm/aaaa (ex:24/07/2023)
^ ^ Colonne ^ Info ^
|**01**|Reference_Article\\ //[texte]//|"**Obligatoire et unique"**\\ __si__ le [[#choix_de_la_valeur_unique|Choix de la valeur unique]] est "Référence Article".\\ \\ Pour les articles **avec déclinaisons**, répétez cette référence pour chaque ligne de déclinaison.\\ \\ __Si__ le [[#choix_de_la_valeur_unique|Choix de la valeur unique]] __N'est PAS__ "Référence Article"\\ et que vous souhaitez une référence générée automatiquement par KinTPV, indiquez __AUTO__.\\ \\ //Note : si vous souhaitez indiquer une référence unique par déclinaison, utilisez la colonne "**Ref_Decli**" [51].//|
|**02**|Code_Barre\\ //[texte]//|"**Obligatoire et unique"**\\ __si__ le [[#choix_de_la_valeur_unique|Choix de la valeur unique]] est "par Code Barre".\\ \\ Répétez alors cette valeur pour chaque ligne d'un article décliné.\\ \\ __Si__ le [[#choix_de_la_valeur_unique|Choix de la valeur unique]] __N'est PAS__ "par Code Barre"\\ - pour un article décliné, indiquez impérativement __AUTO__\\ - pour un non-décliné, faute de code-barres fabricant, indiquez __AUTO__ pour une création automatique d'un code-barres.\\ \\ //Note : pour un article décliné, si vous souhaitez indiquer un code-barres unique par déclinaison, renseignez la colonne "**Code_Barre_Decli**" [49].// \\ \\ -- x --\\ \\ Si l'article possède plusieurs codes-barres, séparez-les par le caractère "2 points" (":"), exemple :\\ 4052916086674:4009900491365:3276007395716|
|**03**|Type_Article\\ //[texte]//|**Obligatoire**|
|**04**|Nom_Article\\ //[texte]//|**Obligatoire**|
|**05**|Dominant (Critère 8)\\ //[texte]//|Optionnel|
|**06**|Saison (Critère 9)\\ //[texte]//|Optionnel|
|**07**|Genre (Critère 10)\\ //[texte]//|Optionnel|
|**08**|Famille (Critère 11)\\ //[texte]//|Optionnel|
|**09**|Couleur (Critère 12)\\ //[texte]//|Optionnel|
|**10**|Marque (Critère 7)\\ //[texte]//|Optionnel|
|**11**|Nom_Fournisseur\\ //[texte]//|Optionnel|
|**12**|Ref_Fournisseur\\ //[texte]//|"**Obligatoire et unique"**\\ __si__ le [[#choix_de_la_valeur_unique|Choix de la valeur unique]] est "par Référence Fournisseur".\\ \\ Pour les articles **avec déclinaisons**, répétez cette référence pour chaque ligne de déclinaison.\\ \\ Dans les autres cas, cette information est optionnelle|
|**13**|Designation1_Fournisseur\\ //[texte]//|Optionnel|
|**14**|Designation2_Fournisseur\\ //[texte]//|Optionnel|
|**15**|Description*\\ //[texte]//|Optionnel|
|**16**|VenteEnPortion_0_1\\ //[vide-0-1]//|Optionnel\\ vide ou 0 = non/faux, 1 = oui/vrai|
|**17**|PublierSurWeb_0_1\\ //[vide-0-1]//|Optionnel\\ vide ou 0 = non/faux, 1 = oui/vrai|
|**18**|Poids\\ //[décimal]//|Optionnel|
|**19**|Declinaison*\\ //[texte]//|nom(s) et valeur(s) de la/déclinaison(s)\\ \\ //Informations complémentaires plus bas.//|
|**20**|PrixAchat_HT\\ //[décimal, sans info de monnaie]//|Optionnel\\ mais si présent "**DateApplication_PrixAchat**" est obligatoire|
|**21**|RemisePourcent_PrixAchat\\ //[décimal, sans caractère "%"]//|Optionnel\\ Si renseigné, le prix de revient est calculé.|
|**22**|FraisApproche_PrixAchat_HT\\ //[décimal, sans info de monnaie]//|Optionnel\\ Si renseigné, le prix de revient est calculé.|
|**23**|PrixValoStock_PrixAchat_HT\\ //[décimal, sans info de monnaie]//|Optionnel|
|**24**|DateApplication_PrixAchat\\ //[vide ou date]//|Optionnel\\ obligatoire si **PrixAchat_HT** renseigné.\\ Date à partir de laquelle le Prix d'Achat est valable.|
|**25**|TauxTaxe_TVA\\ //[décimal, sans caractère "%"]//|Obligatoire si **PrixVente_TTC** renseigné|
|**26**|PrixVente_TTC\\ //[décimal, sans info de monnaie]//|Optionnel, mais si présent "DateApplication_PrixVente" est obligatoire. ATTENTION, pour vendre un article, KinTPV impose d'avoir un Prix de Vente. Il pourra être défini manuellement ultérieurement.|
|**27**|DateApplication_PrixVente\\ //[vide ou date]//|Obligatoire si **PrixVente_TTC** renseigné.\\ Date à partir de laquelle le Prix de Vente prend effet.|
|**28**|QteEnStock\\ //[numérique]//|Optionnel|
|**29**|CmdAuto_StockMini\\ //[numérique]//|Optionnel, mais si présent les 4 colonnes "CmdAuto_" doivent être présentes.|
|**30**|CmdAuto_Colisage\\ //[numérique]//|Optionnel, mais si présent les 4 colonnes "CmdAuto_" doivent être présentes.|
|**31**|CmdAuto_QteACommander\\ //[numérique]//|Optionnel, mais si présent les 4 colonnes "CmdAuto_" doivent être présentes.|
|**32**|Nom_Autre_Fournisseur\\ //[texte]//|Optionnel|
|**33**|Ref_Autre_Fournisseur\\ //[texte]//|Optionnel|
|**34**|Critere_1\\ //[texte]//|Optionnel|
|**35**|Critere_2\\ //[texte]//|Optionnel|
|**36**|Critere_3\\ //[texte]//|Optionnel|
|**37**|Critere_4\\ //[texte]//|Optionnel|
|**38**|Critere_5\\ //[texte]//|Optionnel|
|**39**|Critere_6\\ //[texte]//|Optionnel|
|**40**|NumSerie\\ //[texte]//|Optionnel|
|**41**|Ref_Fourn_Decli\\ //[texte]//|Optionnel|
|**42**|Description_Complete*\\ //[texte]//|Optionnel|
|**43**|Meta_Title\\ //[texte]//|Optionnel|
|**44**|Meta_Keyword\\ //[texte]//|Optionnel|
|**45**|Meta_Description\\ //[texte]//|Optionnel|
|**46**|URL_Simple\\ //[texte]//|Optionnel|
|**47**|Categorie_Web*\\ //[texte]//|Optionnel|
|**48**|IdExterne|//[vide !!!]//\\ Ne pas renseigner (laisser la colonne vide), information pour traitement interne.|
|**49**|Code_Barre_Decli\\ //[texte]//|Optionnel\\ \\ -- x --\\ \\ Si la déclinaison de l'article possède plusieurs codes-barres, séparez-les par le caractère "2 points" (":"), exemple :\\ 4052916086674:4009900491365:3276007395716|
|**50**|Poids_Decli\\ //[décimal]//|Optionnel|
|**51**|Ref_Decli\\ //[texte]//|Optionnel|
|**52**|Image_Article*\\ //[texte]//|Optionnel\\ (Ne renseigner que la 1er ligne de déclinaison)|
|**53**|WEB_DateDispo\\ //[date]//|Optionnel|
|**54**|WEB_MsgEnStk\\ //[texte]//|Optionnel|
|**55**|WEB_MsgHorsStock\\ //[texte]//|Optionnel|
|**56**|WEB_QteMiniCMD\\ //[valeur numérique]//|Optionnel|
|**57**|WEB_SiRuptureChoix\\ //[0-1-2]//|Optionnel|
|**58**|ArticleEpuise_0_1\\ |Optionnel\\ vide ou 0 = non/faux, 1 = oui/vrai|
|**59**|ServiceHorsStock_0_1\\ //[vide-0-1]//|Optionnel\\ vide ou 0 = non/faux, 1 = oui/vrai|
|**60**|CmdAuto_CBColis\\ //[texte]//|Opt./Oblig.\\ Optionnel, mais si présent les 4 colonnes "CmdAuto_" doivent être présentes.|
|**61**|CmdAuto_CalculerQte_0_1\\ //[vide-0-1]//|Opt./Oblig.\\ vide ou 0 = non/faux, 1 = oui/vrai|
* = Voir description ci-dessous.
==== Correspondance des colonnes d'un fichier d'import avec les champs KinTPV ====
Reportez vous à la numérotation du tableau explicatif de la matrice pour répérer à quoi chaque colonne du fichier correspond dans l'interface de KinTPV.
{{:manuel:articles-import:img_articles-import_20230804-153826.png}}
{{:manuel:articles-import:img_articles-import_20230804-153950.png}}
{{:manuel:articles-import:img_articles-import_20230804-154040.png}}
==== Exemple d'un fichier de 6 articles non-déclinés ====
^ Reference_Article ^ Code_Barre ^ Type_Article ^ Nom_Article ^ Dominant ^ Saison ^ Genre ^ Famille ^ Couleur ^ Marque ^ Nom_Fournisseur ^ Ref_Fournisseur ^ Designation1_Fournisseur ^ Designation2_Fournisseur ^ Description ^ VenteEnPortion_0_1 ^ PublierSurWeb_0_1 ^ Poids ^ Declinaison ^ PrixAchat_HT ^ RemisePourcent_PrixAchat ^ FraisApproche_PrixAchat_HT ^ PrixValoStock_PrixAchat_HT ^ DateApplication_PrixAchat ^ TauxTaxe_TVA ^ PrixVente_TTC ^ DateApplication_PrixVente ^ QteEnStock ^ CmdAuto_StockMini ^ CmdAuto_Colisage ^ CmdAuto_QteACommander ^ Nom_Autre_Fournisseur ^ Ref_Autre_Fournisseur ^ Critere_1 ^ Critere_2 ^ Critere_3 ^ Critere_4 ^ Critere_5 ^ Critere_6 ^ NumSerie ^ Ref_Fourn_Decli ^ Description_Complete ^ Meta_Title ^ Meta_Keyword ^ Meta_Description ^ URL_Simple ^ Categorie_Web ^ IdExterne ^ Code_Barre_Decli ^ Poids_Decli ^ Ref_Decli ^ Image_Article ^ WEB_QteMiniCMD ^ WEB_MsgEnStk ^ WEB_MsgHorsStock ^ WEB_DateDispo ^ WEB_SiRuptureChoix ^ ServiceHorsStock_0_1 ^ ArticleEpuise_0_1 ^ CmdAuto_CBColis ^ CmdAuto_CalculerQte_0_1 ^
| PTR714-V8 | %%__AUTO__%% | Poisson | Tanichtys | | | | | | | Orpheus | PTR714-V8 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| RBN846-P0 | 3256225048427 | Aquarium | monob90x60x60 | | | | | | SubMarin | MarSystem | RBN846-P0 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| RES367-K4 | 3700006255011 | Aquarium | monob70x50x50 | | | | | | SubMarin | MarSystem | RES367-K4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| POT984-G9 | %%__AUTO__%% | Poisson | Tropheus | | | | | | | Orpheus | POT984-G9 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| bidule766 | %%__AUTO__%% | Poisson | Misgurnus | | | | | | | Orpheus | POM431-A2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| T64238461 | 4056489007166 | Plante | Anubia | | | | | | | LaBotanik | T64238461 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
==== Exemple d'un fichier de 3 articles, dont 2 déclinés ====
^ Reference_Article ^ Code_Barre ^ Type_Article ^ Nom_Article ^ Dominant ^ Saison ^ Genre ^ Famille ^ Couleur ^ Marque ^ Nom_Fournisseur ^ Ref_Fournisseur ^ Designation1_Fournisseur ^ Designation2_Fournisseur ^ Description ^ VenteEnPortion_0_1 ^ PublierSurWeb_0_1 ^ Poids ^ Declinaison ^ PrixAchat_HT ^ RemisePourcent_PrixAchat ^ FraisApproche_PrixAchat_HT ^ PrixValoStock_PrixAchat_HT ^ DateApplication_PrixAchat ^ TauxTaxe_TVA ^ PrixVente_TTC ^ DateApplication_PrixVente ^ QteEnStock ^ CmdAuto_StockMini ^ CmdAuto_Colisage ^ CmdAuto_QteACommander ^ Nom_Autre_Fournisseur ^ Ref_Autre_Fournisseur ^ Critere_1 ^ Critere_2 ^ Critere_3 ^ Critere_4 ^ Critere_5 ^ Critere_6 ^ NumSerie ^ Ref_Fourn_Decli ^ Description_Complete ^ Meta_Title ^ Meta_Keyword ^ Meta_Description ^ URL_Simple ^ Categorie_Web ^ IdExterne ^ Code_Barre_Decli ^ Poids_Decli ^ Ref_Decli ^ Image_Article ^ WEB_QteMiniCMD ^ WEB_MsgEnStk ^ WEB_MsgHorsStock ^ WEB_DateDispo ^ WEB_SiRuptureChoix ^ ServiceHorsStock_0_1 ^ ArticleEpuise_0_1 ^ CmdAuto_CBColis ^ CmdAuto_CalculerQte_0_1 ^
| RBN846-P0 | %%__AUTO__%% | Poisson | Tanichtys | | | | | | | | | | | | | | | Sexe=Mâle | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| RBN846-P0 | %%__AUTO__%% | Poisson | Tanichtys | | | | | | | | | | | | | | | Sexe=Femelle | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| BOtrdm960 | 3700006255011 | Aquarium | monob90x60x60 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| SX969482R | %%__AUTO__%% | Poisson | Misgurnus | | | | | | | | | | | | | | | Couleur=Blanc | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| SX969482R | %%__AUTO__%% | Poisson | Misgurnus | | | | | | | | | | | | | | | Couleur=Bleuâtre | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| SX969482R | %%__AUTO__%% | Poisson | Misgurnus | | | | | | | | | | | | | | | Couleur=Bleu | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
==== Attention, à vérifier avant l'import : ====
== Données existantes ==
Si des données existent déjà dans KinTPV, des noms de fournisseurs ou de déclinaison par exemple, respectez scrupuleusement l'orthographe, sous peine d'avoir ces données en doublon.
==Caractères spéciaux==
Avant l'import d'un fichier, vérifiez la présence de **tabulation** et de **saut de ligne** (notamment présent dans les champs "Description" et "Description_web").
Ils ne sont pas considérés comme de véritables caractères par le moteur d'import de KinTPV.\\
Pour répondre à cette problèmatique, la solution consiste à les remplacer par des mots-codes.
__//Sous Windows ://__
* Tabulation => "Kin_9"
* Saut de ligne => "Kin_13Kin_10"
__//Sous Mac ://__
* Tabulation => "Kin_9"
* Saut de ligne => "Kin_13"
__N.B.__ : A saisir sans les guillemets.
==== Description de l'import des déclinaisons : ====
Si vous désirez importer des articles avec des déclinaisons, vous devez remplir la colonne "Declinaison", cette colonne est constituée du nom de la déclinaison et de son détail.Dans le fichier d'import vous devez avoir une ligne par déclinaison.
Par exemple, l'article POLO existe en S et XL :
- dans la 1er ligne :
* la colonne "Reference_Article" => REF_POLO_01
* la colonne "Nom_Article" => Polo
* la colonne "Declinaison" => TAILLE=S
- dans la 2ème ligne :
* la colonne "Reference_Article" => REF_POLO_01
* la colonne "Nom_Article" => Polo
* la colonne "Declinaison" => TAILLE=XL
A l'import, la déclinaison TAILLE sera créée si elle n'existe pas, avec les détails S et XL.
Vous pouvez aussi combiner plusieurs déclinaisons TAILLE et COULEUR :
- dans la 1er ligne :
* la colonne "Reference_Article" => REF_POLO_01
* la colonne "Nom_Article" => Polo
* la colonne "Declinaison" => TAILLE=S:COULEUR=JAUNE
- dans la 2ème ligne :
* la colonne "Reference_Article" => REF_POLO_01
* la colonne "Nom_Article" => Polo
* la colonne "Declinaison" => TAILLE=XL:COULEUR=VERT
==== Description de l'import des catégories web : ====
Si vous désirez importer les catégories web pour chaque article, vous devez remplir la colonne "Categorie_Web", cette colonne est constituée des chemins où se trouve l'article sur le web. Les différents chemins seront séparés par des accolades.
Par exemple : {Accueil>Vêtement>Polo}{Accueil>Vêtement>Nouveauté}
==== Description de l'import des images liées à l'article : ====
Si vous désirez importer les images d'un article vous devez renseigner la colonne "Image_Article". Cette colonne est constituée du nom des images, chaque image sera séparée par le caractère ":".
Par exemple : image1.jpg:image2.jpg:image3.jpg
Toutes les images devront être regroupées dans un même dossier que vous devrez choisir dans l'écran de vérification de l'import.
__Lors de l'import :__
* __Les images seront ajoutées__ aux images existantes de l'article.
* La __1ère image__ sera stockée dans __l'image principale__ de l'article (si l'article ne contient pas d'image principale).
* Les suivantes seront stockées comme __images supplémentaires__ (onglet "Web" de la fiche article).
**ATTENTION**, pour l'import d'__article avec déclinaisons__ **vous ne devez pas dupliquer** cette colonne sinon les images seront importées plusieurs fois !
===== Choix des colonnes à importer =====
La nouvelle méthode d'import vous permez de choisir les colonnes à importer.
Une fois le fichier créé et enregistré en format texte tabulé, importez le dans KinTPV par l'onglet "Articles Stocks-Inventaires" menu "importer des articles".
Après avoir choisi le fichier, l'écran de choix des colonnes s'affiche.
Depuis cet écran, vous pouvez :
* __Définir les délimiteurs__, utile pour le délimiteur de fin d'enregistrement.
* __Choisir les colonnes à importer__ : Par exemple si vous ne voulez pas mettre à jour le stock des articles, vous devez sélectionner dans le titre de la colonne de stocks "Non importée", ou si vous voulez utiliser les code-barres automatiques, vous devez sélectionner dans le titre de la colonne des code-barres "**Non importée**".
{{ :documentation:import_art_01.png?nolink |}}
//**Attention**, votre fichier d'import ne doit pas contenir de ligne avec les titres de colonne. Supprimez cette ligne avant l'enregistrement en texte tabulé.//
===== Vérification de la cohérence des données =====
Cet écran vous indique les incohérences majeures dans les différentes lignes importées et vous permez de choisir le dossier pour l'import des images liées aux articles.
Cliquez sur la ligne qui pose problème pour visualiser son compte rendu dans l'encadré en bas à droite.
{{ :documentation:import_art_02.png?nolink&600 |}}