Opérations

De la conversation à une exécution humaine traçable

L’orchestrateur commercial porte la relation client. Odoo enregistre le passage de relais. L’orchestrateur opérationnel prépare les missions, puis les humains valident les achats et exécutent sur le terrain.

Deux orchestrateursQuatre branches d’exécutionCOD au MVP
Portée actuelle du sandbox

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

01

Demande reçue

Le client écrit sur WhatsApp, vient d’un réseau social ou compose sa demande sur le site.

02

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.

03

Recherche contrôlée

Le RAG apporte recettes et conseils ; Odoo expose produits autorisés, profil client et signaux de disponibilité encore valides.

04

Proposition estimative

L’orchestrateur commercial propose produits, recettes et alternatives sans présenter une donnée volatile comme garantie.

05

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é.

06

Passage de relais Odoo

Une mission versionnée et idempotente décrit les lignes, contraintes, sources, validations attendues et échéance.

07

Plan opérationnel

L’orchestrateur opérationnel choisit une branche proposée et prépare sollicitations, alternatives et missions sans engager d’achat.

08

Confirmation & achat humain

Un humain vérifie les retours, valide les achats nécessaires et déclenche la demande de confirmation finale au client.

09

Exécution de la branche

Prélèvement du stock, précommande, collecte multi-fournisseurs ou livraison directe selon le plan validé.

10

Contrôle

Les humains enregistrent poids, qualité, température si applicable et écarts ; l’orchestrateur opérationnel remonte toute exception.

11

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.

12

Clôture

Odoo rapproche montant, achats, quantités, preuves, délai et incidents ; l’orchestrateur commercial informe le client.

Mesurer avant le passage de relais

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

Branche 1

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.

Branche 2

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.

Branche 3

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.

Branche 4

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.

Le plan reste révisable

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

Répartition des responsabilités dans le cycle de commande
ActeurResponsabilité principalePreuve attendue
Orchestrateur commercialQualifie, consulte le RAG, propose, recueille les accords et informeConversation reliée à une proposition versionnée
Orchestrateur opérationnelPrépare le plan, sollicite, suit les missions et remonte les exceptionsTransitions Odoo, sources et résultats structurés
PartenaireConfirme disponibilité, prix, préparation et heure de retraitRéponse horodatée ou événement API
Acheteur humainVérifie puis valide les achats et alternatives au MVPValidation nominative et document d’achat Odoo
CollecteurRécupère, contrôle visuellement, signale les écarts et regroupeScan/validation de collecte et anomalies
Point DailyFreshConsolide, sépare, conserve et libère le colis lorsque la branche passe par le hubContrô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 comprisHorodatages, preuve de remise, montant perçu et rapprochement
IRA SolutionsVend, facture, arbitre les litiges et rembourseCommande, facture et dossier de réclamation

Cas métier

Poisson demandé après 15 h

Approvisionnement interne à la prochaine ouverture

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.

1

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.

2

Demander

Le lendemain, solliciter le poissonnier sur l’arrivage, le prix et le délai.

3

Proposer

Présenter l’offre ou les alternatives au client, avec le caractère variable du poids.

4

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.

Décision ouverte

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.

Décisions nécessaires au paiement à la livraison
MomentRésultat attenduDécision ouverte
Après peséeMontant final accepté par le clientCanal et preuve d’acceptation
Commande prêteFacture ou ticket sur le montant finalMoment d’émission et exigences fiscales à valider
Remise clientLivry encaisse en espèces le total TTC confirmé, panier et livraison comprisGestion de la monnaie et preuve du montant perçu
Fin de tournéeCash remis et rapproché avec les commandesContrôle, écart de caisse et preuve de remise
Achat partenaireMontant dû, facture d’achat et règlement rapprochésProprié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.