Le projet en un coup d’œil
Commandes engagées, paniers, réceptions futures, kits, précommandes, franco et destinations modifient la capacité réellement livrable.
Dawap a relié achats, mouvements, snapshots, réservations FIFO, préparation hebdomadaire, tracking et historique.
Les équipes voient la capacité, les tensions, les arrivées et les décisions avant toute écriture sensible dans Odoo.
Dans un commerce de distribution, “stock en entrepôt” et “stock que l’on peut encore vendre” ne sont pas synonymes. Une quantité peut être réservée par un panier, promise à une commande ancienne, attendue chez un fournisseur, bloquée par un kit incomplet ou disponible seulement pour un canal. Afficher le chiffre brut revient à promettre plusieurs fois la même unité.
La réponse devait relier deux temporalités : la promesse instantanée faite dans le catalogue et la préparation concrète des semaines à venir. Séparation B2B/B2C, qualification des destinations, franco, charge hebdomadaire, historique des expéditions et tracking n’ont de sens que s’ils s’appuient sur les mêmes snapshots, réservations, réceptions, précommandes et mécanismes de réconciliation.
Dawap a construit ce dispositif comme une intégration WMS, OMS et stock adaptée à la réalité de 1UP Distribution. La projection répond à la promesse commerciale ; le cockpit donne aux opérations les preuves et les leviers nécessaires pour préparer la livraison.
Un programme, huit projets complémentaires
Chaque projet part d’une souffrance métier précise et montre la réponse effectivement livrée. La vue d’ensemble relie le portail client, le cockpit commercial, Odoo, la commande, la logistique, l’IA et le socle d’industrialisation.
1. La promesse logistique de 1UP Distribution
Des achats fournisseur jusqu’au client livré
1UP Distribution achète, réceptionne, stocke et distribue des produits à plusieurs canaux. Les commandes B2B et B2C, les expéditions actives, les réceptions fournisseurs, les kits, les précommandes et les règles de franco contribuent à une situation logistique qui change en permanence.
Odoo porte les mouvements et documents structurants. La plateforme B2B doit pourtant répondre vite à des questions de promesse : combien reste-t-il après les engagements ? Quelle arrivée couvrira ce reliquat ? Quelle commande peut être préparée cette semaine ? Pourquoi une destination n’est-elle pas qualifiée ?
Le produit combine donc un moteur de projection et des interfaces de décision. Il ne cherche pas à remplacer l’ERP ou le savoir des opérations, mais à rendre leurs relations calculables, lisibles et contrôlables.
2. Partir des invariants de stock
Événements, snapshots, décisions puis écriture contrôlée
Le cadrage a distingué les faits — mouvements, commandes, réceptions, expéditions — des projections et des décisions. Les règles de disponibilité et d’allocation ont été écrites comme des services déterministes, testables avec des jeux de données précis.
Le delivery a progressé par couches : import des sources, snapshots, disponibilité effective, réservations de panier, FIFO, kits, précommandes, cockpit hebdomadaire, diagnostics, prévisualisation des réallocations, historique et tracking. Dans Jira, les sprints ont priorisé ce qui réduisait d’abord le risque de survente, puis ce qui accélérerait les décisions logistiques sans les automatiser à l’aveugle. Chaque couche a conservé sa preuve.
Les écritures sensibles ont été volontairement maintenues derrière une confirmation. Avant toute action, le produit montre les lignes touchées, les victimes éventuelles d’une réallocation et la nouvelle lecture attendue. L’automatisation accélère l’analyse sans confisquer la responsabilité.
3. Les douleurs d’une promesse construite au tableur
Quand chaque équipe possède une partie vraie de la situation
Le stock ERP explique ce qui est physiquement ou comptablement présent, mais pas nécessairement ce qu’un nouveau client peut prendre. Les commandes déjà engagées, les expéditions en cours et les réservations temporaires réduisent la capacité. Les achats attendus l’augmentent à une date future. Sans modèle commun, chacun ajoute sa propre correction.
Le second problème est l’horizon. Une équipe doit préparer cette semaine tout en voyant les arrivées suivantes. Une commande peut être livrable en partie, attendre le franco, dépendre d’une adresse incomplète ou être concurrencée par une autre demande plus ancienne. Un total global ne permet pas de décider.
Le troisième problème est la reprise. Un import initial volumineux ou une reconstruction peut s’interrompre. Une réception fournisseur peut être annulée. Une expédition peut changer de statut. Si les projections ne savent pas se réconcilier, elles deviennent une photographie rassurante mais fausse.
Une nouvelle vente ne peut pas consommer la capacité déjà engagée par une commande ou une réservation active. Le système doit expliquer l’origine de la capacité et son ordre d’allocation.
Pourquoi le stock ERP ne suffit pas à répondre au client
Le stock comptable décrit une situation utile, mais la question commerciale porte sur une capacité encore promettable. Il faut retirer ce qui est déjà engagé, distinguer le court terme des arrivées futures et appliquer les règles propres au canal, au produit ou à la destination. Deux chiffres peuvent donc être exacts tout en répondant à deux questions différentes.
Le projet a rendu ces définitions explicites dans le code et dans les interfaces. Cette séparation évite qu’un écran corrige localement le chiffre Odoo sans que les autres parcours connaissent la même règle.
Le tableur devient fragile au moment où la décision compte
Une extraction peut aider à analyser une situation stable. Elle devient insuffisante lorsqu’une commande, une réception ou une réservation évolue pendant la préparation. La feuille conserve alors une vérité datée, mais continue de circuler comme si elle décrivait l’état actuel.
Le cockpit ne supprime pas les exports ; il remet le calcul et la preuve dans le produit. Les équipes peuvent toujours sortir une vue de travail, tout en revenant à un état reconstruit et aux événements qui l’expliquent avant de prendre un engagement.
4. Une projection de disponibilité B2B
Passer du stock brut à la capacité diffusable
La disponibilité effective combine les mouvements de stock, les expéditions actives, les commandes, les réceptions attendues, les réservations locales et les politiques de diffusion. Le calcul conserve plusieurs modes de stock afin de distinguer l’immédiat, le projeté et les produits suivis par procurement.
Les lectures produit exposent les détails nécessaires : stock observé, WH/OUT, quantité projetée, réservations et fraîcheur. Le client reçoit une synthèse adaptée ; les administrateurs disposent du détail pour comprendre pourquoi une quantité a été retenue.
Un snapshot trop ancien ou absent peut bloquer un engagement. Cette règle protège le métier contre le confort trompeur d’un cache. Les rafraîchissements Odoo récents sont priorisés lorsque cela accélère le retour à une situation fiable.
L’article quelle source de vérité pour le stock formalise ce problème ; le système 1UP le résout dans un cas opérationnel complet.
Mouvements, achats et expéditions
Snapshots, kits et arrivées futures
Réservations et engagements FIFO
Charge, franco et destination
Confirmation humaine, tracking et reprise
5. Événements, ledger et snapshots reconstruisibles
Conserver la raison du chiffre, pas seulement le chiffre
Les mouvements et engagements alimentent une représentation qui permet de recalculer la situation. Les snapshots accélèrent les lectures sans devenir une vérité impossible à expliquer. Le ledger conserve les contributions et leurs références.
Les processus de rebuild possèdent une progression et des états terminaux. Ils peuvent être relancés sans superposer deux reconstructions concurrentes. Les imports volumineux utilisent des traitements par lots et des chemins de reprise.
La réconciliation relit les sources externes et corrige les annulations, expéditions et réceptions modifiées. Les flux B2B et B2C sont alignés dans la capacité globale quand ils consomment le même stock, tout en restant séparés dans les analyses de canal.
Ce modèle permet de répondre à une question opérationnelle : “Pourquoi reste-t-il cette quantité ?” La réponse peut descendre vers les mouvements, réservations, commandes et arrivées plutôt que se limiter à un calcul opaque.
6. Réservations actives et allocation FIFO
Protéger les engagements dans un ordre compréhensible
Les paniers en phase d’engagement créent des réservations temporaires. Les commandes et lignes de livraison possèdent leurs propres engagements. Le calcul déduit ces quantités des nouvelles promesses et conserve les identités nécessaires au rapprochement.
L’allocation FIFO ordonne la capacité entre demandes selon les règles du domaine. Les reliquats et arrivées futures sont suivis au lieu d’être absorbés dans un total. Une commande ancienne ne perd pas silencieusement sa couverture au profit d’une plus récente.
Les écrans de diagnostic montrent les allocations et les lignes qui consomment une arrivée. Les quantités nulles ou traces parasites sont filtrées pour ne pas brouiller l’explication. Les montants associés restent visibles dans le cockpit lorsqu’ils aident à prioriser.
Les réservations expirées sont libérées, les mutations de panier recalculées et les échecs d’import traités selon leur état. Le cycle complet empêche la protection du stock de devenir une source permanente de capacité fantôme.
7. Kits, composants et précommandes
Calculer une capacité que le produit simple ne peut pas porter seul
Un kit est disponible seulement si ses composants le permettent. Le système calcule la capacité à partir des nomenclatures et du composant limitant, puis expose les mouvements qui expliquent cette capacité. Un stock positif sur une référence finale ne suffit pas si une pièce manque.
Les précommandes suivent une date de première vente et des règles d’activation. Le produit peut être visible avant d’être immédiatement diffusable, puis passer automatiquement dans le bon état lorsque les conditions sont réunies. Les activations sont mises en file pour rester reprises en cas d’échec.
Les arrivées fournisseur et les dates attendues alimentent la projection future. La plateforme réconcilie ce potentiel avec la visibilité B2B afin de ne pas annoncer une précommande que le SI considère encore indisponible.
Les administrateurs disposent d’un détail sur le stock du kit et les précommandes. Cette transparence facilite la correction d’une nomenclature, d’un statut ou d’une arrivée au lieu de modifier manuellement le chiffre diffusé.
8. Achats, fournisseurs et réceptions Odoo
Relier l’amont fournisseur à la promesse aval
Les commandes d’achat, fournisseurs, lignes et réceptions sont synchronisés depuis Odoo. Les devises et identités externes restent associées aux objets. Les fournisseurs sans commande peuvent être visibles pour éviter que le référentiel ne dépende d’une activité récente.
Les réceptions attendues contribuent à la capacité future avec leur date et leurs quantités. Une annulation ou correction fournisseur déclenche une resynchronisation afin de retirer une promesse devenue infondée. Les overrides de suivi procurement sont encadrés et historisés.
Le back-office aide à distinguer stock existant, achat en cours, réception et disponibilité réellement affectable. Cette lecture évite de considérer une commande fournisseur comme une certitude déjà entreposée.
Pour un besoin similaire, notre page intégration WMS, OMS et stock couvre le cadrage des sources, statuts et confirmations nécessaires.
9. Un pipeline hebdomadaire de préparation
Transformer la projection en feuille de charge opérationnelle
Le pipeline organise les commandes et expéditions sur un horizon hebdomadaire. Les vues séparent les canaux, permettent des filtres combinés et agrègent les quantités et montants. Les équipes visualisent la charge, les commandes couvertes, les tensions et les arrivées attendues.
Les commandes sont regroupées selon les destinations et règles de livraison. Les propositions d’expédition utilisent la disponibilité et les allocations actives. Les cartes et tableaux donnent accès au détail produit, à la progression et aux diagnostics.
Une initialisation volumineuse peut être reprise. Sa progression est visible et les snapshots de pré-migration sont conservés lorsque nécessaires au handoff. Les calculs de montants ont été optimisés par streaming et fast paths pour tenir sur des volumes opérationnels.
Le pipeline ne remplace pas la décision : il prépare une liste de travail ordonnée et explique les blocages. Les équipes passent moins de temps à recomposer la situation avant de décider.
10. Destinations, franco et qualification
Une commande couverte n’est pas forcément prête à partir
Les adresses de société et destinations de livraison sont qualifiées pour le pipeline. Les cas directs, les références incomplètes et les destinations non résolues disposent de diagnostics. Une commande n’est pas placée dans la mauvaise vague pour masquer une donnée manquante.
Le franco est calculé par groupes et canaux avec les montants logistiques conservés. Les activités B2C sont exclues de la couverture franco B2B lorsqu’elles ne doivent pas contribuer. Les recalculs restent alignés après une évolution de la commande ou de l’expédition.
Les écrans expliquent pourquoi une destination n’est pas qualifiée et permettent de revenir à la donnée concernée. Cette pédagogie réduit les corrections par intuition et les règles parallèles dans des feuilles externes.
La grille de pilotage a été densifiée sans sacrifier la lisibilité : les informations nécessaires à la décision sont proches, les détails restent accessibles dans des modales adaptées.
11. Prévisualiser les réallocations avant d’agir
Montrer les bénéficiaires, les victimes et l’effet attendu
Lorsqu’une équipe envisage de déplacer une réservation ou de réaffecter une capacité, le produit calcule un aperçu lié aux lignes exactes. Il montre ce que la commande cible gagnerait et quelles autres promesses pourraient être touchées.
Les décisions d’allocation et les raisons sont expliquées dans les vues de diagnostic. Cette transparence est essentielle : une optimisation locale peut dégrader une commande plus ancienne ou un client prioritaire si le système ne montre que le bénéfice immédiat.
Les écritures Odoo restent soumises à confirmation humaine et à des droits. Le cockpit n’effectue pas automatiquement un arbitrage irréversible parce qu’un score le suggère. Il fournit une recommandation et une preuve, puis laisse la responsabilité au rôle prévu.
Ce choix rejoint notre approche de l’automatisation IA des processus métier : l’autonomie doit être calibrée selon le risque, avec validation et journal de décision lorsque l’impact est élevé.
12. Expéditions préparées, tracking et historique
Conserver la continuité après la décision de départ
Les expéditions préparées disposent d’un historique et d’indicateurs. Les références complètes sont conservées et les lignes rapprochées de leurs commandes. Les vues distinguent préparé, expédié et livré au lieu de réduire le cycle à un état final.
Le statut transporteur peut être rafraîchi manuellement lorsque le cas le demande. Cette action est tracée et ne remplace pas arbitrairement les données d’expédition. Les informations disponibles alimentent la timeline commerciale et le suivi client.
Les analyses agrègent les expéditions par semaine et canal. Les montants restent associés lorsqu’ils aident à lire la charge et la valeur en transit. Les copies expliquent les limites de valorisation partielle au lieu d’afficher une précision trompeuse.
L’historique rend le cockpit utile après l’action. Il permet de comprendre ce qui a été préparé, quand, avec quelle destination et quel suivi, puis d’analyser les écarts.
13. Exports, suivi produit et observabilité
Sortir la donnée sans perdre son contexte
Les équipes peuvent produire des exports de catalogue et de suivi produit, avec gestion des images et des formats nécessaires. Les tâches volumineuses sont exécutées en arrière-plan et leur progression est monitorée. Un fallback protège les miniatures lorsqu’une source manque.
Les tableaux de monitoring suivent les reconstructions, flux, files et activités API. Les erreurs sont rattachées à leur domaine et à leur état. Les équipes distinguent un calcul en cours d’une anomalie terminée.
Les indicateurs logistiques exposent quantités, montants, tensions, arrivées et progression. Ils restent accompagnés de chemins vers le détail ; l’export n’est pas la seule manière d’expliquer un total.
Cette capacité d’exploitation est documentée dans le handoff de mise en production. Le run peut être transmis et contrôlé sans dépendre exclusivement des auteurs du code.
14. Tests, performance et reprise
Sécuriser des calculs qui changent la promesse client
Les règles de capacité, réservations, FIFO, kits, précommandes, franco, destinations et allocations possèdent des tests unitaires et applicatifs. Les fixtures couvrent les commandes partielles, mouvements annulés, quantités nulles, arrivées et sources manquantes.
Les contrôleurs et dépôts sont testés sur les filtres, périmètres et erreurs. Les performances des allocations journalières, tableaux hebdomadaires et exports ont été optimisées lorsque les profils montraient un coût disproportionné.
Les reconstructions et initialisations sont reprenables. Le produit garde des états terminaux et des snapshots nécessaires pour diagnostiquer une interruption. Les jobs versionnent leurs stockages générés afin de réduire les collisions entre releases.
Les tests ne remplacent pas une répétition générale de reprise en production. Le recovery drill reste un point de vigilance et une limite explicite du programme tant qu’il n’a pas produit sa propre preuve d’exécution.
15. Résultats obtenus et limites
Une même lecture de la promesse pour le client, le commercial et les opérations
La plateforme transforme des mouvements et documents dispersés en capacité explicable. Le portail peut afficher une disponibilité défendable, le commercial suivre l’engagement et les opérations préparer la semaine depuis une feuille de charge commune.
Les achats et arrivées alimentent la projection ; les réservations protègent les engagements ; les diagnostics montrent les tensions ; l’historique et le tracking prolongent la preuve après la préparation. Les équipes disposent d’un système continu plutôt que de plusieurs rapprochements ponctuels.
Le résultat n’est pas présenté comme un WMS autonome. Odoo et les flux logistiques restent les sources externes, et les écritures à risque demandent toujours une confirmation. Le cockpit assiste, calcule et trace ; il ne prend pas silencieusement la responsabilité opérationnelle.
Pour comprendre comment ces calculs sont rendus suffisamment fiables pour un système critique, le projet industrialisation de la plateforme B2B documente les contrôles transverses.
Ce que partage désormais chaque équipe
Le client lit une disponibilité adaptée à son parcours, le commercial retrouve l’engagement dans le compte et les opérations disposent de la profondeur nécessaire pour préparer ou arbitrer. Les interfaces diffèrent, mais la capacité provient des mêmes règles et des mêmes événements.
Cette cohérence évite qu’une réponse commerciale soit contredite par le pipeline logistique. Lorsqu’une situation change, le produit montre le nouvel état et les éléments qui l’ont modifié, au lieu de laisser chaque équipe défendre son propre export.
Pourquoi l’humain reste dans la boucle
Une réallocation peut favoriser une commande et en fragiliser une autre. Le calcul sait exposer les conséquences, mais il ne connaît pas toujours la priorité contractuelle, la conversation en cours ou l’exception acceptée par l’entreprise.
L’automatisation porte donc la collecte, le calcul, la simulation et la traçabilité. La validation humaine demeure au point où la décision déplace réellement un engagement, ce qui rend le système à la fois plus rapide et plus responsable.
16. Conclusion : passer du stock observé à la promesse pilotée
Une logistique explicable, révisable et humaine aux bons endroits
Ce projet montre que la disponibilité n’est pas un champ à synchroniser, mais une décision calculée à partir de faits, d’engagements et d’un horizon. Sa qualité dépend autant de l’ordre d’allocation et de la fraîcheur que de la quantité physique.
Dawap a relié achats, snapshots, réservations, FIFO, kits, précommandes, pipeline, franco, destinations, tracking et historique dans un ensemble cohérent. Les équipes voient l’impact avant d’agir et conservent la main sur les écritures sensibles.
Notre expertise en intégration WMS, OMS et stock est le point d’entrée commercial pour ce type de chantier. Le cas 1UP montre la profondeur nécessaire quand la promesse logistique doit devenir un produit partagé.