# Règles de réapprovisionnement : ne plus jamais tomber en rupture

Source : https://serenite.tech/formation/stock/05-reapprovisionnement/

Leçon gratuite du module « Stock et achats » (formation Odoo pas à pas, Alexandre Petit). Rédigé pour Odoo 19 et 20, mis à jour le 2 novembre 2026.

> Dans cette leçon • Comprendre comment Odoo calcule la quantité à commander (stock prévu, mini, maxi) • Créer une règle de réapprovisionnement et choisir son déclencheur • Utiliser le rapport de réapprovisionnement • Choisir entre règle mini/maxi et achat à la commande (MTO) • Fixer des mini et maxi réalistes à partir des ventes et des délais

Une règle de réapprovisionnement dans Odoo fixe, pour un produit, un **stock minimum** et un **stock maximum** : dès que le stock prévu passe sous le minimum, Odoo crée une demande de prix pour remonter jusqu'au maximum. Elle se crée en quelques clics depuis la fiche produit ou depuis **Inventaire › Réapprovisionnement**, à condition que le produit ait un fournisseur avec un prix et un délai.

Exemple suivi dans ce tuto : **L'Atelier des Pertuis**, entreprise fictive de mobilier près de La Rochelle, revend des coussins en lin et des suspensions en rotin achetés chez Déco &amp; Lin, livrés en 10 jours. Tout se reproduit sur un essai gratuit d'Odoo (versions 19 et 20).

## Comment Odoo décide-t-il de commander ?

Odoo ne regarde pas seulement le stock en rayon. Il raisonne sur le **stock prévu** :

**stock prévu = stock en main + réceptions attendues − livraisons à faire**

Si le stock prévu passe **sous le minimum**, Odoo commande la quantité qui le ramène **au maximum** : quantité à commander = maximum − stock prévu. Prenons le coussin lin avec un minimum de 20 et un maximum de 60 :

| Situation | En main | Attendu | À livrer | Prévu | Décision |
| --- | --- | --- | --- | --- | --- |
| Calme | 44 | 0 | 0 | 44 | Rien 44 ≥ 20 |
| L'Hôtel des Minimes commande 30 coussins | 44 | 0 | 30 | 14 | Commander 46 60 − 14 |
| La demande de prix de 46 est créée | 44 | 46 | 30 | 60 | Rien déjà commandé |

Remarquez la deuxième ligne : il reste 44 coussins en rayon, et pourtant Odoo commande. C'est tout l'intérêt du stock prévu : il anticipe la rupture avant qu'elle se voie sur l'étagère.

## Comment créer une règle mini/maxi ?

  
- Vérifiez le fournisseur du produit

Fiche produit, onglet Achats : Déco &amp; Lin, 11,00 €, délai 10 jours. Sans fournisseur, la règle ne sait pas à qui commander.

  
- Ouvrez les règles du produit

Sur la fiche produit, cliquez sur le bouton intelligent des règles de réapprovisionnement (affiché « Min / Max » selon votre version), ou ouvrez `Inventaire › Opérations › Réapprovisionnement` (selon votre version, sous un sous-menu Approvisionnement).

  
- Créez la règle

Cliquez sur Nouveau : produit Coussin lin, emplacement WH/Stock, minimum 20, maximum 60. La route est Acheter par défaut quand le produit a un fournisseur.

  
- Choisissez le déclencheur

Automatique ou manuel : voir la section suivante. Enregistrez.

(Illustration : Maquette simplifiée du rapport de réapprovisionnement, avant passage des commandes : le libellé exact peut varier selon votre version d'Odoo.)

## Automatique ou manuel : quel déclencheur choisir ?

Le champ **Déclencheur** décide qui appuie sur le bouton :

  
- **Automatique** : Odoo crée lui-même la demande de prix. Il le fait dès qu'une opération confirmée fait passer le stock prévu sous le minimum, et en tout cas lors de son passage automatique quotidien (le « planificateur »).
  
- **Manuel** : la règle calcule la quantité à commander, mais rien ne part tant que vous n'avez pas cliqué sur Commander une fois dans le rapport de réapprovisionnement.

Dans les deux cas, Odoo crée une **demande de prix en brouillon**, pas une commande confirmée. Sofia garde la main : elle relit, ajuste si besoin, envoie et confirme. Si une demande de prix au même fournisseur est déjà en brouillon, Odoo y ajoute la ligne au lieu d'en créer une nouvelle : un seul envoi, un seul franco de port.

> Le conseil de l'expert Je démarre toujours mes clients en mode manuel pendant deux ou trois semaines. Chaque matin, on ouvre le rapport de réapprovisionnement et on vérifie que les quantités proposées sont sensées. Quand l'équipe a confiance, on passe en automatique les produits simples. C'est la meilleure façon d'éviter qu'un minimum mal saisi ne commande 500 coussins.

## Que montre le rapport de réapprovisionnement ?

Le rapport de réapprovisionnement est la liste de tous les produits qui ont besoin d'être commandés. Il contient vos règles, mais aussi des **suggestions** : quand un produit sans règle a un stock prévu négatif (une vente confirmée sans stock, par exemple), Odoo l'ajoute de lui-même avec la quantité manquante. C'est ainsi que la suspension rotin apparaît ci-dessus : 2 sont dues à la Boutique Marée Haute, il n'y en a plus aucune.

Pour chaque ligne, vous pouvez modifier la quantité à commander, cliquer sur Commander une fois, ou transformer une suggestion en vraie règle en renseignant mini et maxi. Ouvert chaque matin, ce rapport remplace le tableur de suivi des ruptures.

## Faut-il plutôt acheter à la commande (MTO) ?

Le mini/maxi garde du stock en permanence. Pour certains articles de négoce, vous préférez n'acheter qu'une fois la vente faite : c'est l'**achat sur commande**, appelé **MTO** (Make To Order). Chaque vente confirmée crée alors une demande de prix au fournisseur pour la quantité vendue, reliée à la vente.

Schéma : Vente confirmée → Demande de prix → Réception → Livraison

Pour l'activer : cochez **Routes multi-étapes** dans `Inventaire › Configuration › Paramètres`, ouvrez `Configuration › Routes`, affichez les routes archivées et désarchivez « Réapprovisionner sur commande (MTO) » (libellé selon votre version). Sur la fiche produit, onglet Inventaire, cochez les routes **Acheter** et **Réapprovisionner sur commande (MTO)**.

|  | Règle mini/maxi | Achat sur commande (MTO) |
| --- | --- | --- |
| Stock | Toujours un peu de stock en rayon | Aucun stock dormant |
| Délai client | Livraison immédiate | Délai fournisseur + préparation |
| Idéal pour | Les best-sellers (coussins lin) | Les articles chers, rares ou personnalisés |
| Risque | Surstock si le maxi est trop haut | Client qui attend 10 jours |

## Quels délais Odoo prend-il en compte ?

Le délai principal est celui du fournisseur (10 jours pour Déco &amp; Lin) : Odoo l'utilise pour la date d'arrivée prévue et pour savoir quelles livraisons futures compter dans le stock prévu. Les paramètres d'Achats et d'Inventaire permettent d'ajouter un délai de sécurité. Odoo 19 a aussi introduit un horizon par défaut de 365 jours pour les règles de réapprovisionnement. Retenez l'essentiel : **un délai fournisseur juste vaut mieux que tous les réglages fins**.

## Comment fixer le minimum et le maximum ?

Une règle simple, que j'utilise en démarrage : **minimum = ventes pendant le délai fournisseur + une marge de sécurité** ; **maximum = minimum + ce que vous voulez commander d'un coup**. L'Atelier vend environ 40 coussins par mois, soit à peu près 13 en 10 jours. Avec une marge de 7, le minimum est de 20. Pour commander environ une fois par mois, on ajoute 40 : maximum 60.

> **Nouveau dans Odoo 20 :** selon les notes de version officielles, les niveaux mini et maxi des règles de réapprovisionnement sont désormais **suggérés à partir de l'historique de la demande**. Vous gardez la décision : comparez la suggestion à votre calcul, surtout pour un produit saisonnier ou récent, dont l'historique est court.

> **Attention :** une règle sur un produit sans délai fournisseur, ou avec un stock de départ faux, commande au mauvais moment. Vérifiez ces deux points avant de passer en automatique.

> À retenir • Odoo raisonne sur le stock prévu : en main + attendu − à livrer. • Sous le minimum, il commande de quoi remonter au maximum : maximum − prévu. • Déclencheur automatique ou manuel : dans les deux cas, une demande de prix en brouillon que vous validez. • Le rapport de réapprovisionnement liste vos règles et suggère les produits en stock prévu négatif. • Mini/maxi pour les best-sellers, MTO pour les articles chers ou rares ; Odoo 20 suggère mini et maxi d'après l'historique.

> **Pour aller plus loin :** le module complet [Stock et achats](https://serenite.tech/formation/stock/) enchaîne ces règles avec la réception, la facture fournisseur, l'inventaire et la valorisation du stock, jusqu'à un cas pratique final corrigé pas à pas. Chaque leçon a son exercice corrigé et son quiz.

Exercice
  

### Automatiser les achats de négoce de L'Atelier des Pertuis

  

Point de départ (fin de la leçon 4) : 44 coussins en stock, 0 suspension, 2 suspensions dues à la Boutique Marée Haute. Fournisseur des deux produits : Déco &amp; Lin (coussin 11,00 €, 10,00 € dès 50 ; suspension 34,00 € ; délai 10 jours).

  

| Règle coussin lin | Minimum 20, maximum 60, déclencheur automatique |
| --- | --- |
| Règle suspension rotin | Minimum 4, maximum 12, déclencheur automatique |
| Nouvelle vente | Hôtel des Minimes : 30 coussins lin à 29,00 € |

  
    
- Créez les deux règles

Avant toute vente. Notez le stock prévu et la quantité à commander de chaque produit.

    
- Commandez les suspensions

Dans le rapport de réapprovisionnement, avec Commander une fois.

    
- Confirmez la vente de 30 coussins

Puis cherchez la demande de prix créée pour les coussins.

    
- Confirmez et recevez la commande Déco &amp; Lin

Notez son montant HT et TTC.

    
- Livrez

Le reliquat de Marée Haute et la vente à l'Hôtel des Minimes. Quel est le stock final ?

## Questions fréquentes

### Pourquoi ma règle de réapprovisionnement ne crée-t-elle aucune demande de prix ?

Vérifiez quatre points : le stock prévu est-il vraiment sous le minimum, le produit a-t-il un fournisseur dans l'onglet Achats, la route Acheter est-elle disponible, et le déclencheur est-il automatique ? En mode manuel, ou en attendant le passage quotidien, cliquez sur Commander une fois dans le rapport de réapprovisionnement.

### Peut-on mettre un minimum et un maximum à zéro ?

Oui. Avec 0 et 0, Odoo ne garde aucun stock et commande seulement ce qui manque pour les ventes confirmées, quand le stock prévu devient négatif. C'est une façon simple d'acheter à la demande sans configurer la route MTO.

### Odoo 20 calcule-t-il le minimum et le maximum tout seul ?

Il les suggère à partir de l'historique de la demande, selon les notes de version d'Odoo 20. La décision reste la vôtre : un produit nouveau ou saisonnier a un historique trop court ou trompeur, comparez toujours avec votre propre calcul.
