Kafinea distingue deux catégories de produits pour gérer le sourcing fournisseur :
- Produit générique : article « modèle » utilisé dans vos devis, commandes clients et factures (ex. : Câble HDMI 2m). Il ne correspond à aucune référence fournisseur précise.
- Produit spécifique : variante concrète rattachée à un produit générique et achetée auprès d’un fournisseur (ex. : Câble HDMI 2m – Marque Alpha, Ref ABC123).
Cette fonctionnalité n’est active que si le paramètre Produits génériques & sourcing fournisseur est activé dans Paramètres > Fonctionnalités.
1. Identifier un produit générique ou spécifique #
Sur la fiche produit, cochez Produit générique dans le bloc Produits génériques.
- Un badge bleu « Générique » apparaît à côté du nom du produit sur la fiche détail pour identifier immédiatement les produits génériques.
- Les produits spécifiques n’affichent pas de badge.
2. Bloc Produits génériques de la fiche #
Le bloc contient les champs liés à la gestion générique/spécifique. Selon le choix effectué, certains champs sont applicables, d’autres non :
| Champ | Générique | Spécifique |
|---|---|---|
| Produit générique (checkbox) | ✅ | ✅ |
| Produit générique parent | ❌ | ✅ (pointe vers un générique) |
| Mode de calcul du prix | ✅ | ❌ |
| Marge (%) | ✅ (sauf mode Saisie manuelle) | ❌ |
| Arrondi du prix | ✅ (sauf mode Saisie manuelle) | ❌ |
| Coût de référence | ✅ (calculé, sauf Saisie manuelle) | ❌ |
| Dernier calcul de prix | ✅ (calculé) | ❌ |
| Statut du calcul | ✅ (calculé) | ❌ |
Champs non applicables : ils ne sont pas masqués, ils restent visibles mais grisés avec une info-bulle « Non applicable aux produits génériques » ou « Non applicable aux produits spécifiques ». Cela évite toute perte d’information perçue et documente la raison du grisé pour l’utilisateur.
3. Modes de calcul du prix #
Le mode de calcul détermine comment Kafinea alimente le prix de vente du produit générique. Vous devez choisir un mode explicite : aucune valeur par défaut n’est appliquée silencieusement. Si le mode est vide ou inconnu, le statut Erreur : mode de calcul non défini apparaît et le prix en place est conservé.
Six modes sont disponibles :
| Mode | Source du coût | Comportement |
|---|---|---|
| Saisie manuelle (pas de recalcul) | — | Le prix est saisi à la main sur le générique. Kafinea ne le recalcule jamais, y compris lorsqu’un spécifique enfant est modifié. |
| Offre la moins chère | Offres fournisseurs des spécifiques enfants | Retient l’offre fournisseur valide au prix le plus bas. |
| Offre préférée | Offres fournisseurs des spécifiques enfants | Retient l’offre marquée préférée. À défaut, bascule sur l’offre la moins chère. |
| Moyenne des offres | Offres fournisseurs des spécifiques enfants | Retient la moyenne des prix des offres valides. |
| Spécifique le moins cher | Prix d’achat des spécifiques enfants | Retient le prix d’achat (unit_price) du spécifique enfant le moins cher, sans passer par les offres. |
| Moyenne des spécifiques | Prix d’achat des spécifiques enfants | Retient la moyenne des prix d’achat des spécifiques enfants, sans passer par les offres. |
Pour les cinq modes automatiques, le prix final est ensuite obtenu selon la formule :
Prix de vente = Coût de référence × (1 + Marge %) puis arrondi selon le paramétrage.
Statuts de calcul possibles #
| Statut | Signification |
|---|---|
| OK | Calcul réussi, prix mis à jour. |
| Non applicable | Mode Saisie manuelle : aucun calcul n’a été effectué, le prix est celui saisi. |
| Aucun spécifique | Le générique n’a pas de spécifique enfant rattaché. |
| Offres manquantes | Aucune offre fournisseur valide à la date de calcul. |
| Prix manquants | Les spécifiques (ou leurs offres) n’ont pas de prix exploitable. |
| Erreur : mode de calcul non défini | Aucun mode n’a été choisi ou le mode est inconnu : le prix n’est pas modifié. |
4. Affichage et comportement sur la fiche du produit générique #
Pour les produits génériques, plusieurs éléments visuels vous aident à comprendre comment le prix est obtenu et si vous pouvez le modifier.
4.1 Bandeau contextuel dans le bloc Informations tarif #
Un bandeau informatif apparaît en tête du bloc tarif :
- En mode Saisie manuelle : « Saisie manuelle : le prix n’est pas recalculé automatiquement. ».
- Dans les autres modes : « Le prix de vente est recalculé automatiquement à partir des produits spécifiques enfants (mode : %s). » suivi de la date du dernier calcul.
Le bandeau contient également un lien « Voir les enfants » pour accéder rapidement aux produits spécifiques rattachés. Le bouton « Recalculer » du produit générique reste disponible en haut de la fiche.
4.2 Champ Prix unitaire en lecture seule + badge « Calculé » #
Lorsque le générique n’est pas en mode Saisie manuelle, le champ Prix unitaire est présenté en lecture seule et accompagné d’un badge « Calculé ». Une info-bulle précise : « Ce prix est calculé automatiquement (mode : %s). Passez en mode Saisie manuelle (pas de recalcul) pour le saisir. ».
En mode Saisie manuelle, le champ redevient éditable : vous pouvez saisir librement le prix de vente, qui ne sera jamais écrasé par un recalcul automatique.
4.3 Popover « Comment est calculé ce prix ? » #
À côté du champ Prix unitaire, une icône ⓘ ouvre un popover qui détaille :
- Le mode de calcul actif.
- Le coût de référence retenu, la marge appliquée et l’arrondi.
- La liste des sources utilisées : selon le mode, produits spécifiques enfants (avec leur prix d’achat) ou offres fournisseurs (avec fournisseur et prix).
- Le prix final obtenu.
Si aucune donnée de calcul n’est disponible, le popover affiche « Aucune donnée de calcul disponible. ».
5. Règles métier #
-
Un produit générique ne peut pas avoir de parent.
- Si vous cochez Produit générique et qu’un parent est renseigné, Kafinea bloque l’enregistrement avec le message :
Un produit générique ne peut pas avoir de produit parent.
- Cette règle s’applique à tous les canaux : édition UI, édition rapide, édition en masse, API REST, workflows, import CSV.
- Si vous cochez Produit générique et qu’un parent est renseigné, Kafinea bloque l’enregistrement avec le message :
-
Le parent d’un produit spécifique doit lui-même être un produit générique. Kafinea vérifie automatiquement cette cohérence à l’enregistrement.
-
Recalcul automatique du prix : lorsqu’un produit spécifique change de parent, qu’une offre fournisseur est créée/modifiée/supprimée, ou que le prix d’achat d’un spécifique évolue, le prix du produit générique concerné est recalculé automatiquement — sauf si le générique est en mode Saisie manuelle (dans ce cas, le prix reste strictement celui que vous avez saisi).
-
Choix explicite du mode : le système n’applique plus de mode par défaut silencieux. Un générique sans mode de calcul produira un statut Erreur : mode de calcul non défini et son prix ne sera pas modifié, jusqu’à ce que vous sélectionniez un mode.
-
Un produit générique ne peut pas être un kit (et inversement). Les deux mécanismes de calcul de prix sont incompatibles. Si vous tentez de transformer un kit en produit générique (ou d’ajouter des sous-produits à un générique), Kafinea bloque l’opération. Voir Les kits de produits pour plus de détails.
6. Bascule générique ↔ spécifique #
Vous pouvez changer à tout moment un produit de générique à spécifique (et inversement) :
- Les valeurs non applicables sont conservées en base mais simplement grisées à l’écran.
- Si vous rebasculez, les données redeviennent visibles et éditables.
- Vous ne perdez donc aucune information lors d’un changement de type.
7. Foire aux questions #
Pourquoi je ne peux pas saisir un parent sur mon produit générique ?
Parce qu’un générique est par définition un « modèle » sans rattachement fournisseur direct. Seuls les produits spécifiques possèdent un parent générique.
Pourquoi le prix unitaire de mon produit générique est-il en lecture seule ?
Parce que le mode de calcul actif recalcule automatiquement ce prix à partir des spécifiques enfants ou de leurs offres fournisseurs. Pour le saisir manuellement, basculez le mode de calcul sur Saisie manuelle (pas de recalcul).
Quelle différence entre Offre la moins chère et Spécifique le moins cher ?
Offre la moins chère (et ses variantes Offre préférée / Moyenne des offres) s’appuie sur les offres fournisseurs rattachées aux spécifiques enfants. Spécifique le moins cher (et Moyenne des spécifiques) utilise directement le prix d’achat porté par les produits spécifiques, sans passer par les offres.
Pourquoi les champs de calcul de prix sont-ils grisés sur mon produit spécifique ?
Ces champs servent uniquement au calcul automatique du prix du générique. Ils n’ont pas de sens sur un produit spécifique, qui reflète une offre fournisseur précise.
Le statut affiche Erreur : mode de calcul non défini. Que faire ?
Ouvrez la fiche du produit générique et sélectionnez un mode dans Mode de calcul du prix, puis enregistrez. Kafinea relancera le calcul à la prochaine mise à jour ou via le bouton Recalculer.
Le badge « Générique » ne s’affiche pas, pourquoi ?
Vérifiez que le paramètre Produits génériques & sourcing fournisseur est activé dans Paramètres > Fonctionnalités, et que la case Produit générique est bien cochée sur la fiche.