Gestion des stocks
Tous les clients n’ont pas besoin d’une gestion de stock. L’idée
est de conserver une boutique simple pour commencer une activité de e-commerce
mais qui peut évoluer vers une solution plus complexe. Il serait dommage de
changer de solution si l’activité du client augmente.
Dans le module €Store_admin permettre
aux Host d’activer ou non la gestion des stocks aux administratreurs.
Une fois activé l’administrateur du site voit des options s’afficher dans le
module €Store_admin et dans le module €Store_Storefront dans la ficher article.
Un article, ou toute une catégorie de produits peut être mis
ou non en vente selon le stock disponible. Il convient donc de définir d’une
politique d’affichage en fonction du stock pour toute une catégorie. Un l’aide
d’une Treeview on sélectionne les ou les catégories,
et on paramètre la politique d’affichage des articles appartenant aux
catégories sélectionnées :
-> afficher le produit même si l’article n’est plus en
stock et autoriser sa commande
-> afficher le produit même si l’article n’est plus en
stock mais interdire sa commande
-> ne plus afficher l’article si le produit n’est pas
disponible
-> Autoriser le client à s’abonner à une option d’Alarme lorsqu’un article est à nouveau disponible
-> Ne pas afficher le stock pour les clients (c’est une
option pour l’administrateur une fois que le Host a activé cette option). Le
propriétaire de la boutique possède la gestion du stock mais ne souhaite pas
encore l’activer.
Dans le module €Store_Storefront,
ajouter la gestion du stock pour les articles. Cette option de gestion du stock
ne doit s’afficher que si le host a autorisé la gestion du stock.
-> Appliquer pour
cet article la politique de la gestion de stock de la catégorie à laquelle il
appartient (par défaut) (stock_policy) : afficher
pour information la politique d’affichage en fonction du stock.
Si l’option ci-dessus est désactiver proposer les options
suivantes :
-> Autoriser la vente même si l’article n’est plus en
stock (stock_AlwaysSell)
-> Interdire la vente si l’article n’est plus en stock (stock_NotSellIfNoStock)
- Ne plus afficher l’article s’il n’est plus en stock (ce
qui est différent de plus autoriser la vente si le produit n’est plus en stock)
(stock_NotDisplayIfNoStock)
Je vois plusieurs champs rattachés à la table
produits :
Stock disponible (stock_qty) : c’est le stock dispo dans la
compagnie, la valeur peut être négative si on a autorisé les clients à
commander même si un article n’est plus en stock. Cette valeur est décrémentée
automatiquement dès que le statut de la commande est « payé ». Une
option doit permettre de forcer cette valeur et uniquement pour les
administrateurs pour la corriger et protégé par une Alarme. Attention cette
valeur ne doit pas être modifiable depuis les personnes qui sont au niveau des
tables d’emballage.
Stock quantité commandée
(stock_qty_commanded) : quantité de produit
commandé au fournisseur (ou aux fournisseurs) et si le produit est en voie
d’acheminement (niveau d’avancement selon les infos des fournisseurs)
Date de disponibilité
(date_in_store) : C’est la date prévue de
disponibilité du produit, généralement 3 à 4 jours après sa commande au
fournisseur.
Date de
réapprovisionnement (command_delay) : Date à
laquelle le produit sera à nouveau en stock. Ce champ sera utilisé en
particulier lorsqu’un fabriquant stoppe sa production et que le produit ne sera
disponible que dans plusieurs semaines ou mois.
Alarme (Alarm_date) : valeur permettant de prévenir un
client que le produit ne sera certainement pas livré à temps. Cette Alarme
s’affiche au moment de commander un produit à partir de la date spécifiée.
C’est par exemple pour Noel où les retardataires espèrent êtres livrés à temps.
L’Alarme s’affiche en prenant en compte cette date mais aussi la date de
réapprovisionnement. Si date actuelle + date_delay > Alarm_date et que la quantité en stock et
inférieure ou égale à 0 alors afficher l’Alarme.
Empêcher l’ajout de
l’article si le produit ne pourra pas être livré dans les temps (Alarm) : Ne pas autoriser l’ajout d’un article
dans le panier lorsque stock_qty <=0 and ((date_in_store>Alarm_date) ou
(date actuelle + command_delay > Alarm_date))
Obsolete (obsolete) : Le produit ne s’affichera plus dans le Storefront dès que sa quantité sera égale à 0 car le produit ne sera pas reconduit.
Afficher l’article (displayed) : valeur booléenne permettant de masque
un produit à tout moment.
Toutes les options d’un article et de son stock doivent être
exportables et importables et synchronisables. Le but est de créer des
passerelles avec des logiciels tiers comme EPB ou CIEL que ce soit pour la
facturation ou la gestion du stock.
Les icones doivent être différentes en fonction de la
localisation (stockout_fr, stockout_us…).
Cela permet dans les images des icones d’afficher du texte pour décrire
l’icône. Pour afficher une bulle d’aide lors du survol des boutons prévoir dans
les fichiers ressources la localisation de l’aide.
Dans le Storefront en mode visiteur :
stock_qty n’a
aucune influence sur l’affichage ou non d’un article mais c’est stock_policy qui entraine ou non l’affichage pour
le client des informations sur le stock
si stock_qty_commanded >0 alors afficher sur le site une
information disant que l’article ne sera disponible qu’à partir de date_in_store
si date_in_store est nul et command_delay > 0 afficher un
message disant que le produit sera en stock seulement à partir de command_delay
Si ((Alarm=true) or (general_Alarm=true) and (stock_qty <=0) and ((date_instore > Alarm_date ) OR (current_date+command_delay <=0), ne pas afficher l’article
Si (obsolete = true ou stock_qty <=0) ne pas afficher le produit dans
la catalogue
Si displayed = false ne pas
afficher l’article. Il faudra pouvoir cependant afficher l’article lors de
ventes privées ou lors de ventes groupées même si l’article ne s’affiche pas
dans le catalogue global.