Une proposition de commande peut respecter le minimum d’achat d’un fournisseur tout en créant plusieurs mois de sur-stock. À l’inverse, retirer une ligne uniquement pour réduire le montant peut fragiliser une référence déjà proche de la rupture.

Le problème n’est pas que l’ERP manque de données. Les ventes, les stocks, les fournisseurs et les propositions de commande y sont déjà enregistrés. Le problème apparaît au moment de décider : quelles lignes conserver, quelles quantités réduire et quels produits renforcer sans immobiliser inutilement de la trésorerie ?

Le plugin ITeck d’AuditStock relie les propositions préparées dans l’ERP aux indicateurs nécessaires à cet arbitrage. Il récupère les propositions de commande fournisseur en cours, calcule immédiatement leur durée d’écoulement et confronte chaque ligne au risque produit, à la consommation, aux stocks disponibles et aux contraintes d’achat.

L’objectif n’est pas de remplacer ITeck. ITeck reste l’outil de gestion opérationnelle ; AuditStock apporte une couche d’analyse avant la décision d’achat.

Le plugin ITeck installé dans AuditStock

Le plugin ITeck ajoute à AuditStock la communication avec l’ERP. Il apparaît ici parmi les plugins installés et à jour.

Tech Infor et ITeck : un ERP conçu pour le négoce

Tech Infor est l’éditeur français d’ITeck. L’entreprise indique équiper plus de 400 sociétés dans le négoce de matériaux, le bois, le sanitaire et les magasins de bricolage. Elle assure directement l’étude, le développement, l’installation, la formation, la maintenance et le support de son logiciel métier.

ITeck couvre les principaux flux d’un négoce :

  • les ventes, des devis jusqu’à la facturation ;
  • les achats, les demandes de prix, les commandes et les réceptions ;
  • les stocks multi-dépôts, les inventaires et la traçabilité produit ;
  • les fichiers articles, catalogues, clients et fournisseurs ;
  • le calcul des besoins en réapprovisionnement ;
  • le calcul de propositions de commande.

ITeck conserve donc la maîtrise des opérations quotidiennes. AuditStock intervient au moment où l’équipe approvisionnement doit examiner une proposition et mesurer ses conséquences sur les semaines ou les mois à venir.

Une connexion par API à configurer une fois

Le plugin communique avec l’API ITeck. Cette connexion doit être configurée dans AuditStock par une personne autorisée.

L’écran de configuration demande :

  • l’URL du service ITeck ;
  • l’espace de noms SOAP fourni pour l’instance ;
  • l’identifiant technique ;
  • le mot de passe ;
  • les services ITeck à interroger.

Ces valeurs dépendent de l’environnement ITeck de l’entreprise. Elles doivent être obtenues auprès de l’administrateur ou du prestataire chargé de l’ERP. Le compte utilisé doit être réservé à l’intégration et limité aux opérations réellement nécessaires.

Configuration de la connexion API entre AuditStock et ITeck

La configuration rassemble l’adresse du service, l’espace de noms SOAP, le compte technique et les services autorisés. Les informations sensibles sont caviardées dans cette capture.

Une fois la connexion enregistrée, le plugin peut interroger ITeck pour récupérer les propositions de commande fournisseur en cours et leurs lignes : fournisseur, dépôt, produits, quantités et prix d’achat. Le périmètre effectivement retourné dépend des droits et des filtres exposés par l’API ITeck. Si l’API pagine les résultats, le connecteur doit parcourir toutes les pages pour centraliser l’ensemble des propositions en cours.

AuditStock rattache ensuite ces lignes aux données déjà connues dans la plateforme : fiches produits, stocks par entrepôt, consommation, fournisseurs, commandes ouvertes et historique des ventes.

Liste des propositions de commande fournisseur ITeck récupérées dans AuditStock

AuditStock centralise les propositions en cours et affiche leur fournisseur, leur nombre de lignes, le franco, le minimum de commande, le total HT, l’entrepôt et le service. Les noms des fournisseurs sont caviardés.

Ce que l’équipe voit immédiatement

Dans la liste des propositions, l’utilisateur peut repérer :

  • le fournisseur et l’entrepôt concernés ;
  • le nombre de lignes ;
  • le nombre de clients impactés par les lignes de la proposition ;
  • le total HT ;
  • le minimum de commande ;
  • le franco ;
  • la date de création et la dernière modification.

Le nombre de clients impactés attire immédiatement l’attention sur les propositions liées à des commandes clients non soldées. Une ligne qui paraît trop couverte ne doit pas être réduite automatiquement si la quantité correspond à un besoin client déjà engagé.

Dans le détail d’une proposition, chaque ligne ajoute deux signaux utiles à la décision : l’écoulement et le risque. L’exemple avant/après présenté plus bas montre comment ces indicateurs guident l’atteinte du franco.

La durée d’écoulement traduit une quantité en nombre de jours

La colonne Écoulement estime le nombre de jours nécessaires pour absorber la quantité proposée au rythme de la demande disponible.

durée d’écoulement = quantité proposée / demande journalière moyenne

Le résultat est arrondi au jour supérieur. Une proposition de 30 unités pour un produit dont la demande moyenne est de 2 unités par jour représente ainsi environ 15 jours d’écoulement.

Cet indicateur rend les quantités comparables. Trente unités peuvent être insuffisantes pour une référence vendue dix fois par jour et excessives pour un produit vendu deux fois par mois.

Lorsque l’historique ne fournit pas de demande exploitable, AuditStock affiche SARD., pour « Sans Activité Récente Détectée ». Ce signal ne signifie pas automatiquement qu’il faut supprimer la ligne. Un stock minimum, une commande client non soldée ou un besoin métier connu peut justifier sa conservation. Il impose en revanche un contrôle humain.

Le taux de risque complète la lecture de la couverture

La durée d’écoulement répond à une question quantitative : « pendant combien de jours cette quantité peut-elle couvrir la demande observée ? »

Le taux de risque répond à une question plus large : « quels signaux indiquent que ce produit pourrait être difficile à écouler ou mal positionné ? »

AuditStock combine notamment :

  • la demande moyenne et sa tendance récente ;
  • le nombre de clients distincts ;
  • le stock physique, les approvisionnements attendus et les quantités réservées ;
  • la couverture et les signaux de sur-stock ou de sous-stock ;
  • la rotation ;
  • les délais fournisseur et leur variabilité ;
  • la stabilité des prix ;
  • la capacité du produit à être vendu avec d’autres références ;
  • les anomalies observées sur les mouvements de stock ;
  • l’âge et le cycle de vie du produit.

Le pourcentage obtenu est un indicateur de priorisation, pas une probabilité garantie qu’un article restera invendu. Plus le taux affiché est élevé, plus la ligne mérite d’être examinée avant d’augmenter la quantité.

Optimiser une proposition sans acheter uniquement pour atteindre un seuil

Depuis une proposition, le bouton Optimiser ouvre les paramètres d’arbitrage. L’utilisateur choisit :

  • l’objectif à atteindre : minimum de commande, franco ou montant libre ;
  • la marge de dépassement acceptée ;
  • le délai d’écoulement maximal ;
  • l’obligation de respecter cette limite de couverture ;
  • l’autorisation, ou non, d’ajouter de nouveaux produits.

Formulaire d’optimisation d’une proposition de commande ITeck dans AuditStock

Dans cet exemple de démonstration, l’approvisionneur cherche à atteindre le franco de 300 € avec une marge maximale de 10 % et une durée d’écoulement limitée à 60 jours. Le respect de la couverture et l’ajout de nouveaux produits restent explicitement contrôlables.

AuditStock commence par les lignes déjà présentes. Pour chacune, l’algorithme vérifie si la quantité peut être conservée ou augmentée sans dépasser le montant maximal autorisé ni la couverture définie.

Si une ligne dépasse déjà le délai d’écoulement maximal, la quantité peut être réduite au plus grand multiple d’achat compatible. Si aucune quantité ne respecte la limite, la ligne peut être retirée, sauf lorsqu’une commande client non soldée est directement concernée. Dans ce cas, elle reste visible et le motif est signalé.

De nouveaux produits du catalogue fournisseur ne sont envisagés qu’après l’analyse des lignes existantes. Ils sont exclus lorsqu’ils sont déjà présents dans une commande fournisseur ouverte, lorsqu’ils créeraient du sur-stock, lorsqu’ils ne disposent pas de consommation exploitable ou lorsqu’aucune vente récente n’a été détectée.

L’optimisation cherche donc à approcher un minimum ou un franco dans les limites acceptables pour le stock. Si les contraintes empêchent d’atteindre le montant cible, AuditStock doit le dire plutôt que d’ajouter une référence uniquement pour compléter la commande.

Le workflow complet de décision

flowchart TD
    A["ITeck : ventes, stocks, fournisseurs et propositions en cours"] --> B["API ITeck configurée dans le plugin"]
    B --> C["Récupération des propositions et de leurs lignes"]
    C --> D["Rattachement aux produits et aux entrepôts AuditStock"]
    D --> E["Calcul de la demande, de l’écoulement et du risque"]
    E --> F{"La proposition respecte-t-elle les contraintes ?"}

    F -->|"Ligne hors couverture"| G["Réduire la quantité ou signaler la ligne"]
    F -->|"Produit SARD ou données insuffisantes"| H["Conserver sous contrôle ou exclure de l’ajout automatique"]
    F -->|"Commande fournisseur déjà ouverte"| I["Exclure le doublon"]
    F -->|"Couverture acceptable"| J["Conserver la ligne"]

    G --> K["Prioriser l’ajustement des lignes existantes"]
    H --> K
    I --> K
    J --> K

    K --> L{"Le minimum, le franco ou le montant cible est-il atteint ?"}
    L -->|"Oui"| P["Produire le rapport d’optimisation"]
    L -->|"Non, ajout autorisé"| M["Rechercher des produits du catalogue fournisseur"]
    L -->|"Non, ajout interdit"| P

    M --> N{"Vente récente, besoin réel, risque et couverture acceptables ?"}
    N -->|"Oui"| O["Ajouter une quantité plafonnée par la couverture et la marge"]
    N -->|"Non"| P
    O --> L

    P --> Q["Contrôle par l’approvisionneur"]
    Q --> R{"Décision humaine"}
    R -->|"À corriger"| K
    R -->|"Validée"| S["Enregistrer la proposition"]
    S --> T["Poursuivre le processus d’achat dans ITeck"]

Ce schéma met en évidence un principe important : l’algorithme prépare et explique l’arbitrage, mais l’approvisionneur garde la décision finale.

Avant et après : atteindre le franco sans acheter à l’aveugle

Dans cet exemple, la proposition initiale contient quatre lignes pour un total de 287,60 € HT. Le minimum de commande de 250 € HT est atteint, mais pas le franco fixé à 500 € HT. AuditStock affiche déjà, pour chaque ligne, le risque, la quantité initiale, la quantité proposée et la durée d’écoulement. Les commandes clients concernées restent visibles dans le panneau de droite afin de ne pas réduire un besoin déjà engagé.

Proposition de commande ITeck avant optimisation dans AuditStock

Avant optimisation : quatre lignes, 287,60 € HT et un franco de 500 € HT encore à atteindre. Les noms des clients, du fournisseur et des produits, ainsi que leurs codes, sont fortement floutés.

Après optimisation, la proposition comporte neuf lignes pour un total de 502,07 € HT : le franco est atteint avec un dépassement limité à 2,07 €. AuditStock a conservé les besoins existants et ajouté cinq références du catalogue fournisseur. Chaque ajout reste lisible au regard du risque et de la durée d’écoulement calculée — ici de 26 à 59 jours pour les nouvelles lignes — afin que l’approvisionneur puisse vérifier que l’économie de transport ne se transforme pas en sur-stock.

Proposition de commande ITeck après optimisation pour atteindre le franco dans AuditStock

Après optimisation : neuf lignes, 502,07 € HT et le franco atteint. Les badges « Ajout », les quantités, les risques et les durées d’écoulement permettent de relire immédiatement la décision proposée.

L’algorithme ne cherche donc pas le franco à n’importe quel prix. Si les contraintes de couverture et de risque empêchent d’atteindre le montant cible, AuditStock doit le signaler : les frais de port évités ne compensent pas toujours la trésorerie immobilisée dans un stock qui tournera trop lentement.

Les contrôles à effectuer avant de valider

Avant d’enregistrer une proposition optimisée, l’approvisionneur doit vérifier :

  1. les lignes modifiées ou supprimées par rapport à la proposition initiale ;
  2. les commandes clients non soldées qui justifient certaines quantités ;
  3. les références SARD ou sans consommation exploitable ;
  4. les produits dont le taux de risque est élevé ;
  5. la couverture projetée après achat ;
  6. les commandes fournisseur déjà ouvertes ;
  7. les quantités minimales d’achat et les multiples de conditionnement ;
  8. le total HT, le minimum de commande, le franco et la marge de dépassement ;
  9. les événements non présents dans l’historique : promotion, chantier, saison, changement de gamme ou arrêt fournisseur.

Ce que le plugin change dans le travail quotidien

Sans connexion, l’équipe exporte, recopie et rapproche manuellement les données. Les calculs deviennent vite obsolètes et chaque proposition demande de reconstruire le contexte.

Avec le plugin ITeck :

  • les propositions en cours sont centralisées sans ressaisie ;
  • le montant, le minimum et le franco restent visibles ;
  • chaque quantité est traduite en durée d’écoulement ;
  • les lignes risquées ou sans activité récente ressortent immédiatement ;
  • les doublons avec des commandes ouvertes peuvent être écartés ;
  • l’optimisation respecte une couverture maximale choisie ;
  • chaque ajustement peut être relu avant validation.

Le gain attendu ne se limite pas au temps de traitement. La décision devient plus cohérente d’une proposition à l’autre : les équipes appliquent les mêmes règles de couverture, de risque et de prudence, tout en conservant la possibilité de tenir compte du terrain.

Trois actions pour démarrer

  1. Demandez à votre administrateur ITeck les paramètres et les droits d’API nécessaires.
  2. Connectez le plugin dans un environnement de test, puis contrôlez que fournisseurs, dépôts, produits, quantités et prix correspondent à ITeck.
  3. Optimisez une proposition de démonstration avec une couverture maximale explicite, puis comparez chaque modification au besoin réel avant de l’enregistrer.

AuditStock ne valide pas une commande à la place de l’équipe. Il rend visibles les conséquences d’une quantité proposée : durée d’écoulement, risque, couverture, capital immobilisé et risque de rupture. L’algorithme prépare la décision ; l’approvisionneur la confirme.

Sources