Le cycle ci-dessous décrit la cible. Le sandbox commercial actuellement déployé s’arrête à l’accueil, la qualification, une FAQ approuvée ou l’attente d’un humain. Il ne peut atteindre ni passage de relais Odoo, sourcing, panier ferme, commande, prix, stock ou promesse de livraison. Aucun client réel n’y est autorisé.
Déployé et vérifié dans l’environnement de test le 1er octobre 2026
Du produit fournisseur à la collecte DailyFresh
Le magasin confirme et prépare sa partie de commande avant le passage du pickeur. Le pickeur récupère les articles prêts dans les différents magasins d’une même commande client. Les écrans mobiles présentent directement les quantités récupérables et les durées de préparation, avec l’objectif et le dépassement éventuel.
Un nouveau manque réduit immédiatement la quantité encore récupérable. Les remises déjà enregistrées restent conservées et une décision client ouverte maintient le suivi en cours. Après une modification acceptée, les magasins confirment les nouvelles quantités et un nouveau cycle de préparation garde la trace du précédent.
La préparation anticipée conserve sa durée réelle. Une arrivée avant la fin de préparation mesure l’attente du pickeur ; le délai de remise commence lorsque le magasin est prêt et le pickeur présent. La durée globale des préparations d’une commande correspond au temps écoulé, sans additionner les magasins qui travaillent en parallèle.
Les prix et les disponibilités sont synchronisés avec Odoo. Le fournisseur active ou désactive ses produits avec un switch. L’administrateur décide pour chaque compte si un motif est obligatoire à la désactivation. Produits, commandes et tableau de bord complètent la page mobile des collecteurs. Les accès par téléphone et PIN, les rôles, les langues et les affectations sont administrés dans Odoo.
Lorsqu’un article manque, le fournisseur ouvre un suivi pour le collecteur responsable du contact client. Celui-ci prépare une proposition de remplacement, de quantité ou de retrait puis enregistre l’accord explicite du client. Les magasins concernés doivent confirmer la modification reçue. Les remises déjà effectuées restent conservées et les écarts financiers passent par une vérification humaine.
Les délais de réponse, préparation, collecte et contact sont suivis dans Odoo. Les seuils sont configurables par magasin et mode de livraison, puis conservés au démarrage de chaque étape. Les retards et les quantités manquantes disposent de libellés distincts. Les anciens événements sans mesure fiable ne reçoivent aucun retard inventé.
Commandes rassemble les opérations par commande client, même si plusieurs magasins participent. Le collecteur consulte les produits et les quantités par magasin, suit les remises enregistrées et rejoint chaque validation de collecte. La progression et les recherches restent limitées à ses opérations autorisées. Collecte et livraison client restent distinctes ; une annulation ou une livraison sans remise enregistrée ne constitue pas une collecte réussie.
L’espace collecteur propose Accueil, Magasins, Commandes, Collectes et Scanner. Magasins ouvre directement les contacts affectés, avec leurs opérations en cours et des marqueurs accompagnés de libellés : quantité manquante confirmée en rouge, collecte prête ou partielle en vert, préparation en orange, aucune opération ouverte en gris. Les compteurs restent visibles pour chaque état. Un magasin ouvre ses collectes et préparations ; aucun sélecteur déroulant n’est nécessaire.
Un collecteur peut couvrir plusieurs magasins ; chaque magasin a un seul responsable par société. L’administrateur règle les magasins affectés dans Odoo. Le collecteur retrouve leurs adresses et leurs préparations, avec les vues À collecter, En préparation et Historique. Les listes, QR codes et validations suivent ces affectations. Une réaffectation transfère les collectes ouvertes, tout en conservant les auteurs et quantités des remises déjà effectuées.
Dans Odoo, l’option par compte « Afficher les détails de disponibilité » est cochée par défaut. La décocher masque le bloc « Disponibilité et motif » (publication, modes de livraison, motif et dates), indépendamment du motif obligatoire. Les détails vides sont masqués ; les prix précédents et les dates réelles de changement de prix ou de quantité restent visibles.
Produits et quantités disponibles
Photos, recherche pendant la saisie et chargement au défilement. Le switch Actif/Inactif gère la disponibilité dans Odoo. Sans demande de motif, désactiver applique automatiquement une indisponibilité temporaire. Si l’option du compte est activée, le fournisseur choisit un motif, comme rupture de stock ou hors saison. Il peut réactiver une indisponibilité temporaire, même définie par un administrateur. Le prix précédent et l’historique des changements restent accessibles.
La quantité déclarée appartient au fournisseur et figure dans « Stocks déclarés ». Zéro et quantité inconnue sont distincts. La quantité déclarée n’est pas déduite automatiquement. Les déclarations et les actions de collecte ne modifient pas le stock physique Odoo.
Proposer et préparer
Un produit peut être proposé avec une photo prise au téléphone, son nom, son unité, son prix et sa quantité. L’équipe complète et valide la fiche dans Odoo avant publication.
Pour ses commandes DailyFresh confirmées, le fournisseur confirme les quantités disponibles puis indique « Prête à collecter ». Les manques sont suivis avec les quantités demandées, sans réduire automatiquement la commande client.
Scanner et valider la collecte
Le collecteur consulte les opérations à prendre en charge, scanne le QR code ou recherche la référence, puis vérifie les quantités réellement remises. Les collectes partielles conservent les quantités restantes et leur motif.
Chaque reçu conserve l’auteur, la date, les quantités et les éventuels justificatifs. Une même validation envoyée deux fois ne crée pas deux collectes.
Suivre les opérations
Le tableau de bord distingue les préparations à confirmer, en cours, prêtes, collectées et livrées. L’attribution au fournisseur reste dans l’historique ; les cas sans fournisseur unique sont traités dans Odoo.
La collecte et la livraison client restent distinctes. Une livraison à reprendre conserve les collectes ; une annulation commerciale ferme l’opération. Les écarts après livraison restent visibles.
Les pages existent en français, anglais et arabe et permettent l’installation en PWA selon le navigateur. Une connexion est nécessaire pour actualiser ou enregistrer. Le créneau client affiché sert de contexte ; il ne promet pas un horaire de collecte.
Ouvrir l’espace fournisseur · Ouvrir l’espace collecteur · Lire la décision
La navigation mobile donne accès à Accueil, Produits, Créer et Commandes pour le fournisseur ; Accueil, Magasins, Commandes, Collectes et Scanner pour le collecteur. Les fiches rapprochent photo, prix et quantité, avec une barre d’enregistrement affichée après modification. Le QR code passe en premier dès que la préparation est prête et le scanner dispose de sa propre page.
Cycle nominal
Douze étapes traçables
Demande reçue
Le client écrit sur WhatsApp, vient d’un réseau social ou compose sa demande sur le site.
Qualification commerciale
L’orchestrateur commercial détecte la langue, le besoin et les contraintes du foyer, puis recueille l’adresse et le point cartographique nécessaires à la livraison.
Recherche contrôlée
Le RAG apporte recettes et conseils ; Odoo expose produits autorisés, profil client et signaux de disponibilité encore valides.
Proposition estimative
L’orchestrateur commercial propose produits, recettes et alternatives sans présenter une donnée volatile comme garantie.
Intention client
Le client choisit la proposition qu’il souhaite faire vérifier. Odoo peut enregistrer ce signal de demande sans en faire une commande ni une preuve de disponibilité.
Passage de relais Odoo
Une mission versionnée et idempotente décrit les lignes, contraintes, sources, validations attendues et échéance.
Plan opérationnel
L’orchestrateur opérationnel choisit une branche proposée et prépare sollicitations, alternatives et missions sans engager d’achat.
Confirmation & achat humain
Un humain vérifie les retours, valide les achats nécessaires et déclenche la demande de confirmation finale au client.
Exécution de la branche
Prélèvement du stock, précommande, collecte multi-fournisseurs ou livraison directe selon le plan validé.
Contrôle
Les humains enregistrent poids, qualité, température si applicable et écarts ; l’orchestrateur opérationnel remonte toute exception.
Livraison
L’acteur désigné rejoint le point validé dans Rabat, Témara, Harhoura ou El Menzeh, remet la commande, recueille le paiement et produit la preuve attendue.
Clôture
Odoo rapproche montant, achats, quantités, preuves, délai et incidents ; l’orchestrateur commercial informe le client.
Le registre de signaux est installé mais vide et sans accès agent. Lors d’un futur raccordement, il distinguera proposition, acceptation, refus, indisponibilité, abandon, substitution et conversion. Il ne déclenchera automatiquement ni mission, ni devis, ni achat.
Préparation et livraison
Demander Livry quand la commande est prête
Déployé, activé et vérifié dans l’environnement de test. Le passage à « Prête » dans GearUp, reçu dans Odoo, déclenche la validation du bon complet entièrement réservé et la demande de livreur pour le transporteur configuré. Le traitement conserve les demandes pour éviter les doublons et signale les anomalies dans Odoo.
Livry encaisse en espèces pour le vendeur le total TTC confirmé, panier et livraison compris. Les frais ne sont ajoutés qu’une seule fois. La validation du stock ne signifie ni prise en charge ni remise au client ; le suivi de livraison reste distinct. Le paiement et la facturation ne sont pas enregistrés par cette automatisation.
Suivi et incidents de livraison
Répercuter les retours Livry et distinguer les annulations
Déployé et vérifié dans l’environnement de test le 29 septembre 2026. Les retours Livry mettent à jour le suivi dans Odoo, DailyFresh et l’espace de préparation GearUp. La prise en charge affiche « En cours de livraison » ; la remise confirmée affiche « Livrée » lorsque tous les bons concernés sont couverts. Ces états ne constatent aucun encaissement.
Une course annulée chez Livry devient « Livraison annulée — à traiter ». La commande commerciale est conservée : l’équipe doit clarifier la suite avec le client et le transporteur.
Dans l’espace GearUp autorisé, une annulation de commande reste une demande jusqu’à la réponse d’Odoo. Le résultat distingue demande acceptée et refusée ; une commande déjà livrée ne peut pas être annulée par ce parcours. Une annulation commerciale acceptée libère les réservations encore ouvertes et demande l’annulation de la course si son état le permet. La confirmation du transporteur reste suivie séparément.
Les sorties de stock déjà validées restent conservées. L’équipe doit constater les produits récupérés et enregistrer leur retour physique avant toute remise en stock. L’encaissement, les factures et les éventuels remboursements restent à rapprocher par une personne autorisée.
Le suivi accepte le format de notification documenté par Livry, protège les rejeux et les événements anciens, et prévoit une relecture du suivi en secours. Les anomalies restent visibles pour l’équipe ; une notification manquante ne justifie aucune nouvelle création de course. Le premier retour Livry authentifié réel reste à observer ; la relecture de secours est active.
Cycle de vie
États recommandés dans Odoo
Demande reçue
Pas encore d’engagement
Proposition estimative
Version et sources connues
Relais opérationnel
Mission reçue une seule fois
Attente validations
Partenaires, achat et client
Commande ferme
Plan et engagements validés
Exécution
Branche opérationnelle active
En livraison
Colis parti du hub
Livrée & encaissée
Clôture ou réclamation
États d’exception : donnée expirée, substitution requise, achat à valider, partenaire sans réponse, prix modifié, échec de collecte, contrôle refusé, échec de livraison, annulation et réclamation.
Routage opérationnel
Quatre branches explicites, jamais déduites silencieusement
Stock contrôlé par DailyFresh
Réserver dans Odoo, préparer au point de consolidation, contrôler puis remettre à la livraison. Cette branche s’applique uniquement à une quantité réellement détenue ou contrôlée.
Précommande
Enregistrer le besoin sans promesse ferme, solliciter au prochain créneau éligible, puis demander un nouvel accord client sur disponibilité, prix, poids et délai.
Livraison directe partenaire
Possible seulement si le partenaire prépare un colis conforme, si les responsabilités de contrôle et d’encaissement sont définies et si les preuves remontent dans Odoo.
Exception & reprise humaine
Contradiction, donnée expirée, refus, silence, écart de prix/poids, défaut qualité ou impossibilité logistique suspendent la progression et ouvrent une décision tracée.
Un changement de branche crée une nouvelle version du plan. Il ne modifie pas silencieusement la promesse acceptée et peut nécessiter une nouvelle validation du client ou de l’acheteur humain.
Responsabilités
Qui fait quoi
| Acteur | Responsabilité principale | Preuve attendue |
|---|---|---|
| Orchestrateur commercial | Qualifie, consulte le RAG, propose, recueille les accords et informe | Conversation reliée à une proposition versionnée |
| Orchestrateur opérationnel | Prépare le plan, sollicite, suit les missions et remonte les exceptions | Transitions Odoo, sources et résultats structurés |
| Partenaire | Confirme disponibilité, prix, préparation et heure de retrait | Réponse horodatée ou événement API |
| Acheteur humain | Vérifie puis valide les achats et alternatives au MVP | Validation nominative et document d’achat Odoo |
| Collecteur | Récupère, contrôle visuellement, signale les écarts et regroupe | Scan/validation de collecte et anomalies |
| Point DailyFresh | Consolide, sépare, conserve et libère le colis lorsque la branche passe par le hub | Contrôle de consolidation |
| Livry — parcours DailyFresh configuré | Prend en charge le colis, remet la commande et encaisse pour le vendeur le total TTC, panier et livraison compris | Horodatages, preuve de remise, montant perçu et rapprochement |
| IRA Solutions | Vend, facture, arbitre les litiges et rembourse | Commande, facture et dossier de réclamation |
Cas métier
Poisson demandé après 15 h
Aucun prix ni disponibilité ne sont inventés. Ce circuit Odoo n’apparaît pas comme « Sur commande » au client. La règle validée impose au moins 24 heures complètes après la commande pour une livraison Planifiée, même si le partenaire confirme dès le lendemain matin.
Enregistrer
Conserver espèce, quantité souhaitée, mode de livraison, adresse, point cartographique et préférence horaire ; proposer une préparation uniquement en Planifiée.
Demander
Le lendemain, solliciter le poissonnier sur l’arrivage, le prix et le délai.
Proposer
Présenter l’offre ou les alternatives au client, avec le caractère variable du poids.
Confirmer
Créer la commande ferme seulement après accord explicite du client.
Poids variable
Estimer, peser, informer, encaisser
Le devis indique une estimation calculée sur le poids souhaité. Le partenaire ou le magasin enregistre le poids réel et le montant final. Pendant le pilote, toute variation doit être présentée au client et explicitement acceptée avant le départ de la commande, tant qu’un seuil de tolérance n’est pas formellement défini.
Le seuil définitif sera calibré plus tard. La règle provisoire doit aussi préciser quoi faire si le client ne répond pas ou refuse : maintenir, ajuster ou annuler sous contrôle humain.
Paiement à la livraison
Facturer le montant final et rapprocher le cash
Le rôle de vendeur d’IRA Solutions exige un flux financier explicite. Au MVP, un humain autorise chaque achat partenaire ; le pilote ne doit pas démarrer sans règles d’autorisation, de garde, de remise et de rapprochement.
| Moment | Résultat attendu | Décision ouverte |
|---|---|---|
| Après pesée | Montant final accepté par le client | Canal et preuve d’acceptation |
| Commande prête | Facture ou ticket sur le montant final | Moment d’émission et exigences fiscales à valider |
| Remise client | Livry encaisse en espèces le total TTC confirmé, panier et livraison compris | Gestion de la monnaie et preuve du montant perçu |
| Fin de tournée | Cash remis et rapproché avec les commandes | Contrôle, écart de caisse et preuve de remise |
| Achat partenaire | Montant dû, facture d’achat et règlement rapprochés | Propriété, pertes, annulation et calendrier de règlement |
Promesse express
Express en 60 minutes, Planifiée après 24 heures minimum
Déployé et vérifié dans l’environnement de test. L’Express commence à la confirmation de la commande après vérification de l’adresse, des produits et de la capacité ; il exclut préparation, découpe et sous vide, avec emballage standard. La livraison Planifiée intervient au plus tôt 24 heures complètes après la commande, ou dans un créneau ultérieur choisi. La remise effective termine la livraison ; une tentative ne constitue pas une remise réussie. ADR-040 remplace l’ancienne cible de deux heures.
- Ne pas démarrer au premier message client.
- Vérifier la capacité d’approvisionnement pour chaque mode sans afficher « Sur commande » au client.
- Afficher une estimation prudente avant confirmation ferme.
- Tracer les temps d’attente partenaire, collecte, consolidation et trajet.
Garde-fous
Réagir sans inventer
Partenaire sans réponse
Ne pas remplacer automatiquement. Un opérateur choisit de relancer, chercher une alternative ou annoncer l’indisponibilité ; le délai définitif sera calibré plus tard.
Sources contradictoires
Passer la ligne en « confirmation requise » et demander une preuve plus récente.
Écart à la collecte
Suspendre la ligne, proposer substitution ou ajustement et obtenir l’accord nécessaire.
Client absent ou refus
Appliquer une politique d’annulation et de retour encore à définir, avec trace de la tentative.
Point hors zone ou imprécis
Ne pas confirmer la livraison. Demander au client de corriger le repère ou expliquer que la destination n’est pas servie.
Relance technique
Réutiliser la même clé d’idempotence ; ne jamais recréer achat, mission ou message engageant si le premier traitement a réussi.
Changement de branche
Créer une nouvelle version du plan et redemander les validations affectées avant de poursuivre.
Après 20 h
Recevoir la demande sans promettre l’express
Un message hors horaires est accusé réception et placé pour traitement à la prochaine ouverture. L’orchestrateur commercial peut recueillir les préférences, mais ne confirme ni disponibilité, ni prix, ni délai express avant la reprise. L’heure limite d’une commande pouvant encore être livrée avant 20 h doit être définie par zone.