Chemins d'écriture du stock

Dans Inklura, aucune modification de stock n'est libre : chaque action qui change le stock d'un produit suit la même règle, afin que le stock comptable reste égal à la somme des mouvements du journal. Cette page recense chaque action qui écrit le stock, ce qui la déclenche et ce qu'elle enregistre. Pour le modèle lui-même, voir Le ledger de stock.

La règle commune

Rappel du modèle :

  • le stock comptable est l'autorité signée : il peut devenir négatif lorsqu'une livraison est confirmée avant la réception qui la couvre ;
  • le stock affiché en est le miroir : stock affiché = max(0, stock comptable) ;
  • un mouvement est prévu (projection, sans effet), appliqué (compté) ou annulé. Seuls les mouvements appliqués modifient le stock.

Chaque écriture de stock respecte quatre points :

  1. Le produit doit être suivi. Un produit dont le stock n'est pas géré n'a aucun mouvement. Pour les réceptions et les livraisons, un produit d'un fournisseur en flux tendu n'a pas non plus de mouvement, sauf si vous avez validé son stock (comptage ou saisie).
  2. Une ligne au journal par mouvement, avec son origine, sa référence et sa variation signée.
  3. Une seule opération : la ligne du journal et le stock comptable sont toujours écrits ensemble. Pour les réceptions, livraisons, comptages et mouvements manuels, le stock affiché est mis à jour dans la même opération. Les contrôles quotidiens signalent tout écart entre les deux valeurs.
  4. La variation est calculée à partir du stock comptable, jamais à partir du chiffre affiché. Une livraison de 10 sur un stock à 0 enregistre bien −10.

Le mouvement type, du back office jusqu'au journal :

sequenceDiagram
  autonumber
  participant UI as Back office
  participant APP as Inklura
  participant LED as Journal des mouvements
  UI->>APP: action (livraison, réception, correction…)
  APP->>APP: vérifie vos droits et le suivi du stock
  APP->>LED: lit le stock comptable courant
  APP->>APP: calcule la variation signée
  APP->>LED: enregistre le mouvement appliqué
  APP->>APP: met à jour stock comptable et stock affiché
  APP-->>UI: résultat (avant / après)

Tableau récapitulatif

Action Où Garde-fou Origine au journal
Crayon de stock (liste ou fiche) Grille de stock, fiche produit Refusé sur les produits sans stock propre ; active le suivi si besoin Correction manuelle
Modification en masse Sélection multiple dans la grille de stock Identique au crayon Correction manuelle
Enregistrement de la fiche produit Fiche produit complète Stock enregistré seulement si vous l'avez modifié Correction manuelle
Création d'un produit avec un stock initial Fiche produit (création) Seulement si le stock est suivi et la valeur non nulle Solde d'ouverture
Mouvement manuel (entrée ou sortie avec motif) Bouton Mouvement de stock de l'écran État de Stock, bouton Ajuster le stock de l'écran Mon stock Refusé sur un produit non suivi Correction manuelle
Correction d'un écart de stock Écrans Écarts de stock, Sorties sans entrée et Mon stock Refusé sur un produit non suivi Comptage d'inventaire
Réconciliation du journal Bouton Réconcilier de l'écran État de Stock Aperçu avant application ; un stock négatif n'est pas effacé Comptage d'inventaire
Comptage physique (finalisation) Écran Comptages Produits non suivis ignorés Comptage d'inventaire
Réception fournisseur Confirmer la livraison sur un bon Par ligne, selon le suivi du produit Réception fournisseur (+)
Annulation de réception Annuler sur une livraison du bon, ou panneau « Réceptions supposées » Seuls les mouvements de cette livraison Suppression des mouvements
Livraison client Confirmation d'expédition d'une commande, ou Valider la tournée du jour Par ligne, selon le suivi du produit Livraison client (−)
Annulation de livraison ou de commande Commande client Ne remet que ce qui a réellement été retiré Livraison client (+)
Validation automatique Tâche planifiée, toutes les 2 h 12 h de grâce ; comptage postérieur respecté Réception fournisseur (+) ou livraison client (−), avec une note de validation automatique
Suppression d'un mouvement Écran Mouvements, chronologie d'un produit dans État de Stock Inversion exacte pour un mouvement appliqué Suppression

Dans l'écran Mouvements, ces origines s'affichent « Manuel », « Ajustement inventaire », « Livraison fournisseur » et « Mise à jour commande » (pour les livraisons client).

Les sections suivantes détaillent chaque famille.

Corrections manuelles

Crayon de stock (liste et fiche)

  • Déclencheur : la modification en ligne dans la grille de stock (/manage/ecommerce/vendors/stocks, écran Stocks fournisseurs) ou le crayon de l'onglet stock de la fiche produit. La modification en masse applique les mêmes règles à chaque produit sélectionné.
  • Les produits sans stock propre (produits génériques, composés, formules, menus) sont refusés : leur stock découle des produits qui leur sont reliés.
  • Saisir un stock sur un produit simple qui n'était pas suivi active automatiquement le suivi de son stock.
  • La variation est calculée par rapport au stock comptable, pas au chiffre affiché. Saisir une valeur égale au stock comptable ne produit aucun mouvement ; sur un produit à −3 (0 affiché), saisir 0 crée donc bien un mouvement de +3.
  • Depuis la fiche produit, le mouvement porte le motif « Ajustement de stock » ; depuis la grille de stock, il porte le motif que vous saisissez, ou « Mise à jour manuelle ».
  • Votre saisie vaut validation du stock : un produit en flux tendu est alors déduit normalement par le réapprovisionnement, et le produit sort de la liste des écarts à relire. Le fournisseur concerné est ensuite recalculé.

Fiche produit complète

  • Déclencheur : l'enregistrement de la fiche produit.
  • Le stock n'est enregistré que si vous avez modifié sa valeur. Enregistrer la fiche pour changer un prix ne réécrit donc pas un stock qui aurait bougé entre-temps (réception, livraison, tâche planifiée). Si vous modifiez le stock alors qu'il a changé depuis l'ouverture de la fiche, l'enregistrement est refusé et vous demande d'actualiser.
  • Activer le suivi du stock et saisir une valeur dans le même enregistrement crée bien le mouvement correspondant.
  • La mise à jour du produit et le mouvement de stock sont enregistrés ensemble.

Création d'un produit

  • Déclencheur : la création d'un produit dont le stock est suivi, avec un stock initial différent de 0.
  • Le mouvement d'entrée porte le motif « Stock initial à la création du produit » et part de 0.
  • Un produit sans stock propre (générique, composé, formule, menu) ne reçoit ni stock ni mouvement.

Mouvement manuel

  • Déclencheur : une entrée ou une sortie saisie à la main avec un motif (casse, don, produit déclassé, entrée de stock…), depuis le bouton Mouvement de stock de l'écran État de Stock ou le bouton Ajuster le stock d'un produit dans l'écran Mon stock.
  • Contrairement au crayon, le mouvement ajoute ou retire une quantité ; il ne fixe pas une valeur. La quantité est un entier strictement positif et le motif est obligatoire. Une sortie peut faire passer le stock comptable sous zéro.
  • Un produit non suivi renvoie une erreur.
  • Vous pouvez dater le mouvement ; par défaut, il porte la date du jour.
  • Le mouvement vaut lui aussi validation du stock.

Correction d'un écart de stock

  • Déclencheur : l'écran Écarts de stock (/manage/ecommerce/vendors/orders/phantom-stock ; les liens qui y mènent depuis Commandes fournisseurs et Sorties sans entrée s'intitulent encore « Stock fantôme »). La même correction est proposée dans les écrans Sorties sans entrée et Mon stock.
  • Vous saisissez le stock réel, un nombre positif ou nul (arrondi à l'unité).
  • Un produit non suivi renvoie une erreur plutôt que d'être ignoré en silence.
  • La variation est calculée sur le stock comptable signé. Exemple : un produit à −6 en stock comptable (0 affiché), recompté à 4, reçoit un mouvement de +10 pour que le stock comptable arrive bien à 4.
  • Le stock saisi est marqué comme validé.

Réconciliation du journal

  • Déclencheur : le bouton Réconcilier de l'écran État de Stock. Une fenêtre liste d'abord les produits dont le stock affiché diffère du stock comptable ; vous appliquez à toute la liste ou à une sélection.
  • Pour chaque produit retenu, un mouvement de stock affiché − stock comptable aligne le stock comptable sur le chiffre de la fiche produit.
  • Un produit dont le stock affiché vaut 0 parce que son stock comptable est négatif n'est pas un écart : il est exclu, pour ne pas effacer un stock dû.
  • Les valeurs sont relues au moment de l'application : un aperçu périmé ne peut pas écrire une mauvaise variation.

Désactiver le suivi

Désactiver le suivi du stock d'un produit depuis l'écran Mon stock remet son stock affiché à 0 sans mouvement au journal. L'historique des mouvements est conservé ; si vous réactivez le suivi, saisissez ou comptez le stock réel.

Comptage physique

  • Déclencheur : la finalisation d'un comptage dans l'écran Comptages (/manage/ecommerce/inventory/counts).
  • Seules les lignes dont la quantité comptée est saisie sont appliquées ; un comptage sans aucune ligne saisie est refusé. Pour chaque ligne comptée :
    • les produits non suivis sont ignorés (aucun mouvement) ;
    • la variation vaut compté − stock comptable, et les deux valeurs arrivent sur le chiffre compté. Exemple : stock comptable −5, affiché 0, compté 3 → mouvement de +8, stock comptable 3, affiché 3 ;
    • si le stock comptable est déjà égal au chiffre compté, aucun mouvement n'est créé ;
    • le mouvement est relié à la ligne du comptage, et le stock est marqué comme validé.
  • Tout le comptage est appliqué en une seule opération, sur la base du stock au moment de la finalisation : un mouvement survenu pendant le comptage n'est pas écrasé.
  • Un comptage finalisé ou annulé ne peut pas être finalisé une seconde fois.
  • Les lignes portant sur une déclinaison mettent à jour le stock de la déclinaison, qui est tenu à part du stock du produit.

Réception fournisseur

Confirmer une livraison

  • Déclencheur : Confirmer la livraison sur un bon fournisseur.
  • Les quantités d'un bon sont exprimées en conditionnements ; l'entrée de stock vaut quantité reçue × taille du conditionnement. Les quantités reçues sont des entiers positifs ou nuls, et le total reçu sur plusieurs livraisons ne peut pas dépasser la quantité commandée.
  • Chaque ligne suivie crée une entrée « réception fournisseur ». Les lignes d'un produit générique sont réparties sur les produits réels qui lui sont reliés. Une ligne d'un fournisseur en flux tendu dont le stock n'est pas validé est enregistrée sans mouvement de stock. Une réception compense d'abord un stock négatif : −5 puis +10 donne 5.
  • Les entrées prévues du bon sont ensuite ajustées : une réception complète les clôt, une réception partielle ne laisse prévu que le reste. Un bon entièrement reçu passe à l'état confirmé. Le fournisseur est ensuite recalculé. Voir Commandes fournisseurs.

Annuler une livraison

Le bouton Annuler d'une livraison enregistrée sur le bon (ou le panneau « Réceptions supposées » de l'écran État de Stock pour une réception supposée) retrouve exactement les entrées créées par cette livraison, puis, en une seule opération :

  1. supprime chacune d'elles en retirant sa variation du stock comptable ;
  2. recalcule le stock affiché à partir du stock comptable obtenu ;
  3. recrée les entrées prévues pour ce qui reste à recevoir sur le bon ;
  4. supprime l'enregistrement de livraison ; un bon confirmé repasse à l'état envoyé, sauf si les livraisons restantes couvrent encore tout le bon.

Si la réception annulée avait été supposée par la validation automatique, celle-ci ne la recrée pas.

Livraison client

Le stock ne diminue qu'à la livraison. La prise de commande et la synchronisation des commandes ne le modifient jamais. Votre confirmation est le chemin normal ; la validation automatique n'est qu'un filet.

  • Déclencheur : la confirmation d'expédition d'une commande dans le back office, ou le bouton en masse Valider la tournée du jour (Valider une tournée préparée pour une tournée préparée à l'avance).
  • Pour chaque ligne : si le produit est suivi, une sortie « livraison client » de la quantité livrée est enregistrée (sur la déclinaison lorsqu'elle est précisée). Une ligne d'un fournisseur en flux tendu dont le stock n'est pas validé est livrée sans mouvement de stock. Les réservations de stock sont consommées au passage.
  • Une ligne sur un produit générique est déduite du produit réel qui lui est relié. Si ce lien manque ou est ambigu, toute la livraison est refusée : rien n'est enregistré tant que le lien n'est pas corrigé.
  • Une quantité livrée ne peut pas dépasser ce qui reste à livrer sur la ligne, et seule une commande en brouillon, envoyée ou payée peut être livrée.
  • Les sorties prévues de la commande sont annulées.
Note

La livraison et la sortie de stock sont enregistrées ensemble : si l'écriture du stock échoue, la livraison n'est pas enregistrée non plus, et vous pouvez réessayer. Avec Valider la tournée du jour, chaque commande est traitée séparément : une commande en échec n'empêche pas les autres d'être validées.

Annuler une livraison ou une commande

  • Annuler une livraison client remet exactement ce qui avait été retiré par cette livraison. Seule une livraison qui n'est pas encore expédiée ni livrée peut être annulée.
  • Annuler une commande payée dont des articles ont déjà été livrés remet seulement les quantités réellement livrées. Dans tous les cas, les sorties prévues de la commande sont annulées.

Validation automatique

  • Déclencheur : une tâche planifiée qui passe toutes les 2 heures. Voir Cycle quotidien.
  • Elle rattrape ce que personne n'a confirmé ; dans un fonctionnement normal, elle n'a presque rien à faire.
  • Réceptions oubliées : un bon envoyé ou confirmé, sans livraison enregistrée, dont la date de réception prévue (à défaut, la date d'envoi prévue) est dépassée d'au moins 12 heures (une date prévue n'est pas une preuve). Inklura crée la livraison et les entrées de stock correspondantes, avec une note de validation automatique.
  • Livraisons client oubliées : les commandes en brouillon, envoyées ou payées dont des articles ne sont pas confirmés, avec une date de livraison dépassée du même délai. Inklura crée la livraison et une sortie par article.
  • Jamais deux fois : seule la quantité restant à livrer est prise en compte ; un article déjà confirmé, par vous ou par un passage précédent, n'est pas retiré une seconde fois.
  • Comptage respecté : si vous avez compté ou saisi le stock d'un produit après la date prévue de l'événement, la ligne est close sans mouvement, car votre chiffre l'inclut déjà.
  • Une ligne qui ne figurait dans aucun email envoyé au fournisseur, alors qu'elle existait déjà lors du dernier envoi, est close sans entrée de stock : le fournisseur ne l'a jamais vue. Une ligne ajoutée après le dernier envoi est créditée normalement. Les produits de fournisseurs en flux tendu sont traités comme ailleurs : pas de mouvement, sauf stock validé.
  • Seuls les événements des 12 derniers jours sont examinés.

Une réception supposée à tort s'annule depuis le panneau « Réceptions supposées » de l'écran État de Stock.

Supprimer un mouvement

Supprimer un mouvement depuis l'écran Mouvements (/manage/ecommerce/inventory/stock-actions) ou depuis la chronologie d'un produit dans l'écran État de Stock doit défaire exactement ce qu'il avait fait.

sequenceDiagram
  autonumber
  participant UI as Journal des mouvements
  participant APP as Inklura
  UI->>APP: supprimer le mouvement
  APP->>APP: lit statut et variation
  alt mouvement appliqué sur un produit suivi
    APP->>APP: stock comptable − variation
    APP->>APP: stock affiché = max(0, stock comptable)
    APP->>APP: supprime la ligne
  else mouvement prévu ou annulé
    APP->>APP: supprime la ligne (sans effet stock)
  end
  APP-->>UI: stock avant / après
  • Un mouvement appliqué est inversé par sa variation exacte, puis le stock affiché est recalculé. Exemple : stock comptable 2 → correction −5 → stock comptable −3, affiché 0. Supprimer cette correction ramène le stock à 2, pas à 5.
  • Un mouvement prévu ou annulé est simplement retiré.
  • Dans l'écran Mouvements, vous pouvez aussi supprimer une ligne sans effet stock : le stock affiché ne change pas, et le stock comptable reste égal à la somme des mouvements restants. Réservez ce choix au nettoyage de lignes que vous savez erronées.
  • Une suppression en masse traite les mouvements un par un. Si certains échouent, les autres sont appliqués et le résultat indique lesquels n'ont pas pu l'être.

Ce qui ne modifie jamais le stock

  • la prise de commande client, qu'elle vienne de la boutique ou du back office ;
  • la synchronisation des commandes : elle crée seulement les sorties prévues des produits suivis ;
  • la synchronisation des produits de la boutique (planifiée ou en temps réel) : elle met à jour les fiches et le fournisseur, pas le stock. Un produit qu'elle crée démarre à 0 ; saisissez ou comptez son stock réel. Voir Synchronisation PrestaShop ;
  • le calcul, la préparation ou l'envoi d'un bon fournisseur ;
  • les mouvements prévus, tant qu'ils ne sont pas appliqués.

Voir aussi