Info
Le Vecteur temps, le calcul du disponible. Les essentiels avant l’utilisation du JIT MRP engine.
Introduction #
Silicon ioi est un logiciel ERP qui intègre un moteur de gestion prévisionnelle et planifiée des achats et de la fabrication. Sa particularité réside dans son cœur “Proche du temps réel” (“Near real time”) s’exécutant en permanence sur le “back end” du serveur. Cela permet de détecter rapidement les besoins et les pénuries de divers articles.
A l’échelle de la journée ou horaire #
La plupart des moteurs MRP opèrent avec une granularité hebdomadaire et, de manière exceptionnelle, journalière. Les processus MRP sont exécutés dans un vecteur temps avec une granularité fine au niveau quotidien, pouvant être affinée jusqu’à l’heure.
Un MRP de type II (Materials requirent planning) #
Le moteur de planification suit les principes de calcul du temps de fabrication définis dans les principes MRP II. Cela signifie que l’on tient compte du temps de fabrication qui est modélisé dans la gamme opératoire (“routing”).
Nous invitons les utilisateurs à se référer à des documents et à des formations sur les principes MRP I et MRP II.
Un Moteur JIT #
Le moteur de planification respecte les principes du Juste à temps ("Just In Time", JIT). Celui-ci intègre la gestion d’un plan directeur (“Master plan”). Ce plan permet de recevoir et de gérer les prévisions de consommation des clients reçues par le biais d’une liaison ERP à ERP (“machine à machine”), provenant des ERP des clients ou des départements de prévisions des ventes ou de la fabrication. Silicon ioi intègre également la possibilité de communiquer avec la chaîne d’approvisionnement en amont, également au moyen de liaisons ERP à ERP (“machine to machine”), afin de transmettre les plans d’approvisionnement nécessaires aux différents fournisseurs.
Le Vecteur temps #
Le vecteur temps est un processus intégré dans l’ERP qui positionne en permanence les besoins futurs prévus (besoin) et les entrées prévues dans une ligne du temps, et calcule un profil futur dans le temps.
Schéma :

Nous avons représenté ici la situation future du stock d’un article par le placement des éléments qui influencent le profil futur du stock :
- Le stock à aujourd’hui
- En P1, un approvisionnement à une date prévue d’arrivée.
- En S1, une vente à livrée à une date convenue.
- En P2, un approvisionnement avec une date prévue d’arrivée.
- En S2, une vente à livrer à une date convenue
- En P3, un approvisionnement à une date prévue d’arrivée.
Nous pouvons observer que la vente S2 ne sera pas réalisable car elle fait descendre le graphique en dessous de zéro et en dessous du niveau d’alerte ou du stock de sécurité.
Info
Le “solde à date” est représenté par la ligne ici.
Le moteur détecte ce type d’alerte appelée alerte prévisionnelle. Le système analyse en permanence tous les articles lorsqu’un nouvel événement survient (changement de la quantité en stock) ou lorsqu’un élément existant est modifié (commande client, nouvelle production). Immédiatement, une alerte est générée.
Les documents affectant le Vecteur temps #
Voici les documents pris en compte dans le vecteur temps :
Attention
Il existe un vecteur temps par site, assurant une isolation des besoins entre les différents sites. Cependant, il est possible de relier les besoins des sites et les compensations par des achats et des ventes entre les sites à des prix convenus inter-site.
Pour les prévisions de sortie stock dans le temps #
- Les lignes de commandes ventes (
ioi Ventes,Detail commande) - Le plan directeur (
ioi Master Schedule) couplé aux commandes par intervalle de date - Les productions, partie consommation estimée, (
ioi Production,Est. Matériaux) - Les Dossiers, partie consommation estimée (
ioi Dossier,Est. Matériaux)
Pour les prévisions de rentées en stock dans le temps #
- Les Lignes de commandes achats, (
ioi Achats,Détail commande) - Les propositions d’achat, (
ioi Propositions d'achat) - Les productions, partie tête, (
ioi Production) - Les Dossier, partie tête, si l’article est spécifié (
ioi Dossier)
Pour le point de départ #
- Les magasins qui n’ont pas été écartés du vecteur temps.
Schéma :

Les données intégrées dans le Vecteur temps #
Dans chacun des documents, des informations essentielles sont utilisées et intégrées dans le vecteur temps
- L’article, élément clé, seul les lignes avec article sont intégrées dans le vecteur temps
- Le site, il y a un vecteur temps par magasin par site pour un article aussi. C’est une donnée essentielle. Il y a donc un solde à date par site et un solde à date par magasin.
- Le magasin, il y a un vecteur temps aussi par magasin. Il est important dans les documents d’indiquer quel est le magasin qui va être utilisé pour le prélèvement.
- La quantité prévue qui va provoquer la variation de stock. Donc soit : le solde à livrer, le solde à recevoir
- La date planifiée du cette variation de stock.
Attention
Certains magasins sont écartés du vecteur temps pour le calcul du solde. Si des documents font référence à ces magasins (écartés du vecteur temps), l’information va apparaitre dans le vecteur temps mais va être neutre au niveau du solde à date. (Hors calcul).
Écarter un magasin du vecteur temps. #
Il est intéressant dans certaines organisations d’entreprise de ne pas intégrer une partie du stock dans ce qui doit être disponible.
Exemple:
- Le stock dédié à la R&D ne doit pas être disponible pour la vente.
- Le stock de réserve pour le centre de réparations (réparations faites en interne) ne doit pas être disponible pour la vente.
Depuis le module ioi Magasin.
Pour inhiber un magasin, cocher la case Hors besoin vecteur temps.
→ Cette action est sécurisée, elle nécessite un privilège de niveau 1 dans votre rôle pour ce magasin.

Exemple : “The Fun Bike Company”, Site
BXL, MagasinWREP,Repair Warehouse

Attention
Le changement de ce paramètre implique le re-calcul du vecteur temps de tous les articles du site. Veuillez vous référer aux fonctions de maintenance du vecteur temps.
Une commande de vente et le vecteur temps #
L’état du document, de la ligne #
Si un article est défini, seul les lignes du document dans ces états ci font partie du vecteur temps :
-
À Traiter (-2), si une quantité commandée est définie, -
Prévisionnel (-1), si une quantité commandée est définie, -
En Attente (1)etConfirmé (2), si une quantité commandée est définie, -
En Backorder (3), si le solde à livrer existe (Quantité Commandée > Quantité livrée), -
En B.O. / Reserved (5), si le solde à livrer existe (Quantité Commandée > Quantité livrée).
Astuce
Un champs masqué nommé to_execute=1 si une ligne est “Active” et est donc présente dans le vecteur. Si le to_execute=0 c’est que le solde à livrer est nul, que la commande est en préparation ou totalement livrée.
Cette ligne doit être placée dans le temps #
Pour répondre à la question de gestion “Quand voulez-vous que le client soit livré?”, vous disposez du champ Shipping Scheduled DateTime, qui est une copie du champ Shipping date time de la ligne de commande. Cette date, pour chaque nouvelle ligne, provient de l’entête de commande à partir du champ Shipping date time.
Exemple:
- Entête de commande
Notez le bouton Compléter les lignes (“Fill all lines”), permettant de changer la date dans toutes les lignes déjà encodées.

- Détail de commande
Ici sont regroupés l’essentiel des éléments constituant le vecteur temps

En préparation, ces lignes ne seront pas présente dans le vecteur temps.
→ Plaçons ce document en attente.

Le système va faire apparaître et placer dans le temps ces lignes pour les articles considérés.
En consultant la fiche article, dans l’onglet Vecteur Temps (“Time Vector”), voici la situation de stock (DEMO : “The Fun Bike Company”) détaillée par magasin, avec le bon de commande en préparation :

Voici la situation avec le bon de commande client placé en attente :

Le solde à date est calculé par le serveur avec un système de détection d’événement. En cas d’arrêt ou d’occupation intense du processus du vecteur temps, vous pouvez demander une mise à jour immédiate en appuyant sur le bouton.

Voici la situation avec le solde à date :

Site Balance, va prendre en compte tous les magasins. Sans tenir compte des magasins écarté du calcul du vecteur temps.
Whs Balance, va calculer le solde par magasin. Pour avoir une lisibilité effective sur ces totaux, nous conseillons de filtrer par magasin (“Warehouse”).
Exemple:

Ceci pour tous les articles. Voici l’autre ligne de la commande, situation :

Veuillez noter le Planifié (“Scheduled”) qui est la date prévue de livraison.
Une commande d’achat et le vecteur temps #
L’état du document, de la ligne. #
Si un article est défini, seul les lignes du document étant dans un de ces états font partie du vecteur temps
-
À Traiter, (-2), si une quantité commandée est définie. -
Prévisionnel (-1), si une quantité commandée est définie. -
En Attente et Confirmé (1,2), si une quantité commandée est définie. -
En Backorder (3), si le solde à recevoir existe (Quantité Commandée>Quantité reçue). -
En B.O. / Reserved)(5), si le solde à recevoir existe (Quantité Commandée>Quantité reçue).
Astuce
Un champs masqué nommé to_execute=1 si une ligne est Active et est donc présente dans le vecteur. Si le to_execute=0 c’est que le solde à livrer est nul, que la commande est en préparation ou totalement reçue.
Cette ligne doit être placée dans le temps. #
Pour répondre à la question de gestion “Quand voulez-vous que le client soit livré?”, vous disposez du champ Expected Arrival DateTime, qui est une copie du champ Asked Arrival date time de la ligne de commande. Cette date, pour chaque nouvelle ligne, provient de l’entête de commande à partir du champ Expected Arrival date time.
Entête de commande #
Exemple :
Notez le bouton Compléter les lignes (“Fill all lines”) qui permet de changer la date dans toutes les lignes déjà encodées.

→ Plaçons ce document en attente :

→ Le système va faire apparaitre et placer dans le temps ces lignes pour les articles considérés :

Le solde à date est calculé par le serveur avec un système de détection d’événement. En cas d’arrêt ou d’occupation intense du processus du vecteur temps, vous pouvez demander une mise à jour immédiate en appuyant sur le bouton.

Voici la situation avec le solde à date :

Veuillez noter le Planifié (“Scheduled”) qui est la Expected arrival date.
Descente dans le disponible à date sous le niveau d’alerte #
Dans la fiche article, un niveau d’alerte minimum est défini. Cela correspond généralement à l’ancien “Stock de sécurité”, soit le niveau de stock en dessous duquel il ne faut pas descendre. Bien sûr, il est possible de descendre en dessous de ce niveau, mais des prévisions doivent être faites pour que ce niveau soit la limite basse en matière de stock.
→ Plaçons un niveau d’alerte à 3 pour l’un des articles. Le vecteur temps va afficher ce niveau d’alerte.

→ Le vecteur temps var présenter ce niveau d’alerte :

Attention
Le niveau d’alerte, s’il est placé dans l’article, s’applique à tous les sites. S’il est placé dans les paramètres d’un site, il s’applique uniquement à ce site.
Pour le paramétrage d’un site veuillez voir dans le panel Site (de l’onglet Paramètres) :

→ Créons une commande client qui fera descendre le stock prévisionnel sous le niveau d’alerte.

Pour notre deuxième ligne de commande, nous n’avons pas d’alerte :

Calcul du disponible et du disponible planifié #
Avec Silicon ioi, vous pouvez gérer les prévisions pour une exécution réussie de la livraison de vos commandes. Il est important de comprendre ces notions :
De stock : De stock : La quantité est de stock, quelles que soient les arrivées et les sorties prévues. C’est une simple vérification de disponibilité de stock. Cependant, ce contrôle n’est pas suffisant pour une bonne gestion. Si, par exemple, vous avez du stock pour livrer une commande et qu’une autre commande, qui aurait dû être livrée la veille, va prendre une grande partie du stock, la première commande ne peut pas être livrée dans son intégralité.
Disponible : C’est la quantité en stock décomptée de ce qui doit être livré avant la date prévue de livraison pour cette ligne de commande. Cela ne prend pas en compte le niveau d’alerte (ou stock de sécurité). Le disponible indique ce que vous pouvez livrer MAINTENANT pour répondre aux commandes.
Disponible planifié : C’est la quantité disponible pour réaliser la livraison À LA DATE PRÉVUE, en tenant compte des arrivées de stock planifiées dans le temps et du niveau d’alerte à respecter.
Demande ponctuelle du disponible sur une commande #
Accédez à un bon de commande qui n’est pas dans l’état En préparation ou Totalement livrée.
Utilisez le menu Action.

Le système va vous présenter les résultats :

Pour la globalité de la commande, les états possibles du disponible sont :
Non calculéCompletPartielRien(pas de disponibilité)
Notez la date de calcul du disponible affichée dans le document. Cela vous permet de vérifier que vous être à jour.
→ Dans le détail de commande :

Pour la première ligne, notez que le disponible planifié est diminué de 3 car il tient compte du niveau d’alerte.
Vous pouvez ainsi :
- Livrer MAINTENANT la commande.
- Livrer à la DATE PRÉVUE la commande.
Planification et supervision du Vecteur Temps #
Planification du vecteur temps #
La planification du vecteur temps (module Time Vector Scheduler) permet d’organiser avec précision les périodes d’exécution du vecteur temps selon un calendrier hebdomadaire.
Astuce
Il est recommandé de réserver des plages de « sleep mode » (période de sommeil), afin de permettre l’exécution de maintenances informatiques sans perturbation des traitements du vecteur temps.
Exemple de planification :
Suivi en temps réel : le moniteur du vecteur temps #
Vous pouvez à tout moment vérifier si le vecteur temps est bien actif via le module Time Vector Monitor.
Astuce
En cas d’erreur ou d’arrêt du vecteur temps, vous pouvez relancer le processus via le menu Action > Reset time vector.
Info
Lorsque le vecteur temps est en sleep mode, le moteur JIT est également stoppé !
Suivi des traitements : la pile d’articles (Item Stack) #
Dans le panneau Item Stack , vous visualisez les éléments en attente de recalcul (« stack ») : il existe une pile par site.
Visualisation du vecteur temps par article #
Sur la fiche article, onglet Vecteur Temps, accédez à la vision détaillée des mouvements futurs (approvisionnements, commandes clients, etc).
Analyse d’exemple :
- Le stock de départ pour cet article est nul.
- Une première commande fournisseur élèvera le stock à 1 à sa réception.
- Une seconde commande fournisseur montera le stock à 12 (+11).
- Une commande client ramènera le stock à zéro lorsque livrée (-12).
Vue grille :
Vue graphique :
Solde “flat” (besoin net sans temporalité) #
Toujours sur l’onglet Time Vector de l’article, l’encart supérieur synthétise la situation : sans tenir compte du calendrier détaillé, le système présente la faisabilité brute des commandes.
Ici, il n’y a rien à faire : les commandes client pourront être honorées à réception des approvisionnements.
Info
Le système vous alerte si une commande fournisseur a un retard de livraison non respecté.

Suppression d’une commande fournisseur
Si, par exemple, on retire la commande fournisseur
POGLG/202300005/1, le besoin ne sera plus couvert :

Astuce
Le vecteur temps ne traite pas immédiatement : l’exécution est périodique (ex : chaque minute). Si la pile n’est pas vide, forcez un recalcul immédiat via le bouton VT process.
Dans ce cas, une commande d’approvisionnement est nécessaire : il y a un manque de quantité. Le moteur JIT générera automatiquement les propositions d’achat correspondantes.
Paramétrage du moteur JIT #
Points fondamentaux #
Le JIT s’exécute site par site. Il est impératif de créer au moins un paramétrage par site à traiter.
Exemple de paramétrage site :
Initialisation / Phase de suppression #
Lors du lancement d’un processus JIT, il est important de supprimer les documents créés lors des sessions précédentes (tous les documents JIT sont marqués À traiter, datés, et portent un numéro de session). Vous pouvez également conserver certains documents (option Keep it). Toute ligne définie en état à traiter est susceptible d’être supprimée à l’initialisation.
→ Sélectionnez les types de documents à supprimer selon votre usage.
Astuce
Inutile de supprimer les propositions de production si la production n’est pas utilisée.
Le système génère ensuite :
- Des commandes ou propositions d’achat
- Des ordres de production
Initialisation / Phase de rescheduling #
Pour les documents consommant du stock (commandes clients, nomenclatures de production) :Si l’option est activée, le système repositionne chaque document à la date actuelle si la date de livraison prévue est dépassée.
Pour les documents approvisionnant du stock (commandes, propositions d’achat, production) : En cas d’activation, même logique. Les documents sont repositionnés avant les mouvements de stock dans le vecteur temps, pour éviter des boucles de réapprovisionnement infinies.
Comment générer des achats ? #
- Définissez le journal d’achat à utiliser.
Choisissez de générer directement des commandes ou des propositions d’achat.
Astuce
Affiner ce choix au niveau de chaque article (voir fiche article).
- Si vous utilisez des articles “de référence” (liés à aucune fiche), vous pouvez générer aussi des commandes.
- Option
remplir au niveau maxsi défini. - Pour la planification des dates d’arrivée, le système prend en compte le délai défini sur le prix d’achat et, si renseigné, le délai fournisseur (fiche fournisseur). Si aucun délai : utilisation du délai par défaut.
Comment générer de la production ? #
- Définir le journal par défaut pour la production.
- Choisir production directe ou proposition de production.
Astuce
Affiner ce choix au niveau de chaque article (voir fiche article).
- Option
remplir au niveau maxsi activé. - Le système calcule le délai en prenant en compte la gamme (routing) de fabrication.
Ordonnancement JIT #
On assemble dans des j``**IT packages** les paramétrages à exécuter :
Exemple “FULL ANT/LG/BXL”
-
Phase suppression
- ANTWERP, INIT, Initialisation seulement
- LIEGE, INIT Initialisation seulement
- BRUSSELS, INIT Initialisation seulement
-
Phase génération :
- ANTWERP RUN, exécution sans initialisation
- LIEGE RUN, exécution sans initialisation
- BRUSSELS RUN, exécution sans initialisation
Filtrage sur les articles #
Vous pouvez filtrer, sur tout champ de la fiche article, les références à inclure ou exclure.
Filtrage sur les catalogues fournisseurs #
Filtrage disponible également sur toute propriété du catalogue fournisseur.
Exécution manuelle JIT #
Vous pouvez autoriser (ou non) le lancement manuel du JIT.
Planification d’exécution #
Définissez les jours de la semaine pour l’exécution du JIT.
Attention
Evitez de planifier pendant le sleep mode.
Astuce
Plusieurs exécutions par jour sont possibles.
Dernière exécution JIT #
Vue synthétique des lancements récents.
Un journal détaillé est consultable pendant ou après chaque exécution.

Bon de commande créés par le JIT #
Visualisez toutes les commandes générées avec le statut A traiter.
Suivi : exécution et origine #
Dans chaque document : repérez l’ID d’exécution (date/heure encodées dans l’ID).
Suivez le lien entre la ligne de commande détaillée et l’origine du besoin compensé.
Articles en alerte #
Pour repérer les articles en avertissement (niveau d’alerte atteint ou sous le seuil), consultez :
- Les fiches article par site (
ioi item site) - Ou la liste des articles en mode « warning »