Étude de cas · Pilotage des achats

28 000 références,
zéro rupture au hasard.

Comment j'ai conçu et déployé un outil interne d'achat et de pilotage des stocks : alertes de rupture, réassort calculé, commandes fournisseurs, réceptions et assistant IA — livré en marque blanche et en production.

← Retour à l'accueil

Le contexte

Piloter des achats sur un tableur.

Un acteur international de l'équipement sportif pilote ses achats sur des fichiers Excel — et beaucoup de mémoire. Au compteur : 28 000 références actives, 114 fournisseurs, 3 entrepôts et deux business units (une marque en propre et une activité de distribution multi-marques), en B2B comme en B2C.

Le métier tient en une phrase : ne jamais être en rupture sur ce qui se vend, ne pas immobiliser de trésorerie sur ce qui ne se vend plus. Sauf qu'entre les deux, il y a des délais fournisseurs qui atteignent 90 jours, des fermetures d'usine (Nouvel An chinois) qui les allongent encore, et des commandes B2B exceptionnelles qui faussent toutes les moyennes.

À cette échelle, aucune équipe ne peut surveiller ça à la main : la moindre erreur d'anticipation se paie trois mois plus tard, en rupture ou en stock mort. Il fallait un outil interne capable de calculer, anticiper et proposer — pas un tableau de plus à remplir.

Le défi

Anticiper à trois mois, sans se tromper.

Ce que j'ai mis en place

Un outil qui calcule et propose,
au lieu d'attendre qu'on le remplisse.

J'ai décliné mon propre moteur SaaS de pilotage supply en outil interne sur-mesure, en marque blanche : toute la couche SaaS (abonnements, inscription publique, console multi-clients) retirée, tout le métier conservé, habillé aux couleurs du client.

01

Un outil interne en marque blanche

Déclinaison mono-organisation de mon moteur : pas d'abonnement, pas d'inscription publique, comptes créés par un administrateur, 3 rôles (admin / acheteur / lecture seule) vérifiés côté serveur.

02

Les alertes : le radar

Chaque référence est classée : Rupture · Critique · Vigilance · Surstock. Avec une estimation du CA perdu par jour pour arbitrer par l'argent, pas au feeling.

03

Réassort intelligent

L'outil propose la quantité : vélocité × (délai effectif + couverture cible) − (disponible + en transit + attendu), arrondie au conditionnement et bornée par le minimum de commande. Groupé par fournisseur, commandes générées en un clic.

04

Une vélocité enfin juste

On divise les ventes par les jours où le produit avait du stock, pas par 30 jours en aveugle — sinon les best-sellers qui cassent sont systématiquement sous-commandés. Plus un coefficient de saisonnalité calé sur le mois d'arrivée.

05

Délai effectif & fermetures

On déclare une fermeture usine (ex. 20 jours de Nouvel An chinois) : les délais passent de 90 à ~110 jours, les dates « commander avant » avancent, et les commandes remontent avant la fermeture. Automatiquement.

06

Commandes fournisseurs

Un cycle complet en 10 statuts, du brouillon à la clôture, avec workflow d'approbation par seuil de montant et notifications. La réception incrémente le stock et trace un mouvement auditable.

07

Attendus & réceptions partielles

La vraie vie : expéditions partielles, conteneurs regroupant plusieurs commandes, écarts. Avec garde-fou d'allocation (impossible d'attendre plus que commandé) — et ce qui arrive déjà n'est pas recommandé.

08

Commandes anormales

L'outil repère les commandes B2B hors norme et affiche combien de jours de ventes elles représentent. Un clic pour les exclure du calcul : la vélocité et la couverture se recalculent aussitôt.

09

Assistant IA intégré

« Quels produits sont en rupture chez tel fournisseur ? » — un assistant conversationnel branché sur les données temps réel, avec un outil de lecture strictement borné (requêtes SELECT uniquement, périmètre verrouillé).

Et aussi : analytique (sell-through, ventes perdues, stock dormant, OTIF fournisseurs), transferts inter-entrepôts, imports CSV, rapprochement de factures, filtres globaux par business unit et par entrepôt.

La stack

Une logique métier verrouillée par les tests.

29 contrôleurs fins, 20 services métier qui portent tous les calculs, 39 modèles — et une suite de tests qui protège chaque règle sensible.

PHP 8.3 Laravel 13 MySQL 8 Blade Tailwind CSS 3 Alpine.js 3 Vite 8 Chart.js 4 laravel-dompdf API Claude (assistant) Pest (tests) Webhook logistique

Le résultat

En production, sur des données réelles.

28kRéférences suivies
2,8MLignes de ventes
114Fournisseurs
3Entrepôts
10Statuts de commande
73Tests verts

Un besoin similaire ?

Stocks, achats, outil métier ?
Parlons-en.

Si vos décisions d'achat reposent sur un tableur et de la mémoire, je peux vous construire l'outil qui calcule à votre place.

Travaillons ensemble Autre étude de cas →
Me contacter