Se rendre au contenu

Flux de travail et automatisation

À l'issue de ce chapitre

  • créer une règle d'automatisation déclenchée par un événement ;
  • distinguer règle, action planifiée et modèle de communication ;
  • situer l'automatisation assistée par l'IA par rapport aux règles déterministes ;
  • concevoir un flux de travail et le maintenir dans la durée.

Automatiser consiste à faire exécuter par le système les gestes répétitifs et les contrôles systématiques, pour réserver l'attention des utilisateurs aux décisions qui la méritent.

Odoo propose plusieurs mécanismes complémentaires : les règles d'automatisation, déclenchées par un événement ; les actions planifiées, déclenchées par le calendrier ; et les modèles de communication.

Un quatrième mécanisme existe, pour les cas où la décision ne se réduit pas à une condition fixe : l'agent d'intelligence artificielle. Il s'emploie de deux façons : comme action appelée ponctuellement, ou comme titulaire d'une règle d'automatisation qui le déclenche seule. Les agents eux-mêmes sont traités au chapitre 20 ; le lien depuis une règle est décrit plus loin dans ce chapitre.

Les règles d'automatisation

Une règle exécute une action lorsqu'un événement survient sur un modèle de données et que des conditions sont réunies.

Prérequis : installer le module

Les règles d'automatisation ne sont pas disponibles sur une base neuve : elles sont apportées par le module Règles d'automatisation, qui ne s'installe pas tout seul et n'a pas d'interrupteur dans les paramètres. Tant qu'il manque, le groupe Automatisation du menu Technique ne propose que Actions planifiées et Déclencheurs d'actions planifiées.

  1. Ouvrir Apps.
  2. Retirer le filtre Apps, actif par défaut, ou lui substituer le filtre Extra : le module n'est pas une application et reste invisible sans cela.
  3. Rechercher Règles d'automatisation et l'installer.

Note

Le module est déjà présent si Studio est installé : Studio en dépend et l'entraîne automatiquement. Sur une base Enterprise où Studio a servi, l'entrée de menu existe donc déjà.

Créer une règle

  1. Activer le mode développeur (voir le chapitre 3).
  2. Ouvrir Paramètres › Technique › Automatisation › Règles d'automatisation.
  3. Cliquer sur Nouveau.
  4. Renseigner un nom explicite, décrivant l'effet obtenu.
  5. Sélectionner le Modèle concerné : opportunité, commande, facture, tâche, ordre de fabrication.
  6. Choisir le Déclencher, c'est bien ainsi que l'interface française nomme le champ.
  7. Restreindre l'application par un domaine : la règle ne s'exécutera que sur les enregistrements correspondants.
  8. Ajouter les actions à exécuter.
  9. Enregistrer.
Création d'une règle d'automatisation
Figure 21.1 : Création d'une règle d'automatisation

Les principaux déclencheurs

Le sélecteur propose dix-sept déclencheurs, répartis en cinq groupes : Valeurs mises à jour, E-mail Evénéments, Conditions temporelles, Personnalisé et Externe. Un dix-huitième, Lors de la mise à jour, ne s'affiche que sur les règles qui l'utilisent déjà, dans un groupe Obsolète (ne pas utiliser) : il est remplacé par À la création et modification. Le tableau ci-dessous retient les plus courants.

Point d'attention

La liste proposée dépend du modèle retenu. Un déclencheur n'apparaît que si le modèle porte le champ correspondant : L'étape est définie sur suppose un champ d'étape, Lors de l'archivage un champ d'archivage, et les déclencheurs de message un modèle doté d'un fil de discussion. Ne pas trouver un déclencheur n'est donc pas une anomalie.

Déclencheur Moment d'exécution
À la création Un enregistrement est créé.
À la création et modification Un enregistrement est créé ou modifié.
L'étape est définie sur L'enregistrement atteint une étape donnée.
Lors de l'archivage L'enregistrement est archivé.
Lors du désarchivage L'enregistrement est désarchivé.
Sur la base du champ de date Un délai avant ou après une date du document.
En cas de message entrant Un message est reçu sur le document.
Sur webhook Un système externe appelle une adresse dédiée.

Les actions possibles

Chaque action de l'onglet Actions à effectuer porte un Type, choisi dans une liste :

  • Mettre à jour l'enregistrement : écrire une valeur dans un champ du document.
  • Créer un enregistrement : créer un document, éventuellement rattaché au premier.
  • Dupliquer l'enregistrement : en produire une copie.
  • Créer une activité : poser une tâche à faire sur le document, assignée à quelqu'un.
  • Envoyer le message : publier un message à partir d'un modèle d'e-mail, ce qui notifie les abonnés du document.
  • Log Note : publier une note interne sur le document, sans notifier personne. C'est un type à part entière, distinct de Envoyer le message : il n'y a pas de mode d'envoi à choisir.
  • Ajouter des abonnés et Supprimer des abonnés : modifier la liste des personnes qui suivent le document.
  • Envoyer une notification webhook : appeler l'adresse d'un système externe.
  • Actions multiples : enchaîner plusieurs actions en une seule.
  • Exécuter le code : pour les cas qu'aucune action standard ne couvre. Cette voie suppose l'intervention d'un développeur.

D'autres types s'ajoutent selon les applications installées : Envoyer un SMS, Envoyer WhatsApp, Demande de signature.

Exemples courants

  • Créer une activité de relance trois jours après l'envoi d'un devis resté sans réponse.
  • Notifier le responsable dès qu'une commande dépasse un montant donné.
  • Ajouter le responsable qualité en abonné de tout ordre de fabrication d'un produit sensible.
  • Envoyer un accusé de réception à la création d'une demande client.
  • Alerter le service crédit lorsqu'un client dépasse son encours autorisé.

Point d'attention

Une règle qui modifie un enregistrement peut déclencher une autre règle, qui en déclenche une troisième. Avant de créer une règle sur un modèle déjà automatisé, vérifiez les règles existantes : les chaînes involontaires sont difficiles à diagnostiquer et coûteuses en performance.

Astuce

Testez chaque règle sur une base de test avant de l'activer en production, et surtout vérifiez-la sur un enregistrement qui ne doit pas la déclencher. C'est là que se révèlent les domaines mal écrits.

Faire porter une règle par un agent IA

Une règle ne se construit pas forcément action par action. Sur une base disposant des fonctions d'intelligence artificielle, le formulaire de règle porte un champ AI Agent, qui apparaît dès qu'un modèle est choisi. Y désigner un agent change la nature de la règle : l'onglet Actions à effectuer laisse la place à un onglet Prompt, où vous décrivez sous Instructions, en français, ce que l'agent doit faire à chaque déclenchement.

Le modèle, le déclencheur et le domaine se règlent exactement comme sur une règle ordinaire. Seule l'action change : une consigne interprétée au lieu d'une liste d'opérations fixes. La fiche de l'agent porte en retour un onglet qui liste les règles l'appelant, avec un bouton d'exécution immédiate pour vérifier le résultat sans attendre l'événement.

Point d'attention

Une règle portée par un agent n'a pas la prévisibilité d'une règle déterministe : deux déclenchements sur des données voisines peuvent produire des effets différents. Réservez-la aux traitements où l'écart est acceptable, et gardez les règles classiques pour tout ce qui doit toujours faire la même chose.

Les agents eux-mêmes, leur paramétrage et leurs limites sont traités au chapitre 20.

Les actions planifiées

Là où une règle réagit à un événement, une action planifiée s'exécute à intervalle régulier, sans que personne n'ait rien fait. Les traitements de fond d'Odoo reposent sur ce mécanisme : calcul des réapprovisionnements, génération des factures récurrentes, envoi des récapitulatifs, relances de paiement, purge des données temporaires.

  1. Activer le mode développeur : le menu Technique n'est visible qu'à cette condition.
  2. Ouvrir Paramètres › Technique › Automatisation › Actions planifiées.
  3. Ouvrir une action existante ou cliquer sur Nouveau.
Formulaire d'une action planifiée
Figure 21.2 : Formulaire d'une action planifiée

Lire le formulaire

Champ Rôle
Modèle Le modèle de données sur lequel l'action opère.
Utilisateur de l'outil de planification Le compte sous lequel le traitement s'exécute. Il détermine les droits d'accès appliqués : un utilisateur trop restreint fait échouer l'action.
Exécuter tou(te)s les La fréquence : un nombre suivi d'une unité : Minutes, Heures, Jours, Semaines, Mois.
Actif Interrupteur d'activation. Une action désactivée n'est pas supprimée, elle cesse simplement de tourner.
Prochaine date d'exécution Le prochain passage prévu. La modifier décale le cycle sans changer la fréquence.
Priorité Ordre de passage quand plusieurs actions sont dues en même temps. L'échelle est inversée : 0 est la priorité la plus haute, 10 la plus basse. La valeur par défaut est 5.

L'onglet Code contient l'instruction exécutée à chaque passage : c'est du code, à ne pas retoucher sans l'avis d'un développeur. L'onglet Assistance documente les expressions disponibles. Un troisième onglet, Explanation, reçoit une description libre de ce que l'action fait : il est vide sur toutes les actions livrées par Odoo, et c'est l'endroit où documenter une action que vous ajoutez. Le bouton Exécuter manuellement, en tête de formulaire, déclenche le traitement immédiatement, sans attendre l'échéance ni décaler le cycle, c'est le moyen de vérifier qu'une action fait ce qu'on attend.

Note

L'entrée voisine Déclencheurs d'actions planifiées liste les exécutions ponctuelles mises en file par Odoo pour faire tourner une action avant son échéance normale : par exemple lorsqu'un document vient d'être créé et doit être traité sans attendre. Ces déclencheurs sont posés par le code, pas à la main.

Point d'attention

Ne modifiez pas la fréquence des actions planifiées standard sans raison identifiée. Espacer le calcul de réapprovisionnement, par exemple, retarde d'autant le déclenchement des commandes.

Note

Une action qui échoue n'est pas désactivée au premier incident : Odoo compte les échecs consécutifs et ne la désactive qu'à partir de cinq échecs et d'une semaine d'échecs continus, en notifiant l'administrateur. Un traitement qui a cessé de tourner sans explication mérite donc de vérifier son interrupteur Actif avant toute autre hypothèse. Le compteur est remis à zéro dès qu'un passage réussit.

Les modèles de communication

Un modèle d'e-mail est un message pré-rédigé, rattaché à un modèle de données, dont le contenu se complète tout seul à partir de l'enregistrement envoyé. Odoo en livre plusieurs dizaines : la confirmation de devis, l'envoi du bon de commande, le rappel d'échéance.

Créer ou modifier un modèle

  1. Activer le mode développeur.
  2. Ouvrir Paramètres › Technique › E-mail › Modèles d'e-mail.
  3. Ouvrir un modèle existant, ou cliquer sur Nouveau.
  4. Renseigner l'en-tête : Nom du modèle, S'applique à (le modèle de données) et Sujet.
  5. Compléter les trois onglets décrits ci-dessous.
  6. Cliquer sur Aperçu : Odoo demande un enregistrement réel et affiche le message tel qu'il partira, champs résolus.
Modèle d'e-mail et son onglet Corps
Figure 21.3 : Modèle d'e-mail et son onglet Corps

L'onglet Corps

Le corps du message s'écrit dans l'éditeur de texte enrichi. Les valeurs variables ne se tapent pas à la main : elles s'insèrent par une commande de l'éditeur.

  1. Placer le curseur à l'endroit voulu dans le corps.
  2. Taper /champ. La commande Champ, sous-titrée Insérer un champ, apparaît dans la catégorie Données. C'est exactement la saisie que rappelle l'astuce affichée sous l'éditeur.
  3. La valider ouvre une petite fenêtre dont le sélecteur Champ parcourt les champs de l'enregistrement : nom du contact, référence du document, montant, date prévue. Les champs de relation s'y suivent en profondeur.
  4. Une fois le champ choisi, renseigner Par défaut : le texte à écrire si le champ est vide au moment de l'envoi. Le laisser vide est possible, mais un champ non renseigné laissera alors un blanc dans le message.
  5. Cliquer sur Mettre à jour.

Astuce

Pour corriger un champ déjà posé, le sélectionner dans le corps : la barre d'outils flottante propose alors Modifier le champ, qui rouvre la même fenêtre. Inutile de supprimer le champ pour le replacer.

Le Sujet accepte la même mécanique, mais sous forme d'expression entre doubles accolades. Le modèle du bon de commande porte ainsi {{ object.company_id.name }} Commande (Ref {{ object.name or 'n/a' }}) : le nom de la société puis la référence de la commande, avec une valeur de repli si elle est vide.

Note

Sur une base Enterprise disposant des fonctions d'intelligence artificielle, une seconde commande /prompt s'ajoute dans le corps pour produire un passage rédigé à la volée. L'astuce affichée sous l'éditeur mentionne alors les deux commandes.

L'onglet Paramètres

Cet onglet n'apparaît qu'en mode développeur. Il porte deux groupes.

Expéditeur et destinataires : Adresse d'envoi : vide, Odoo prend l'alias ou l'adresse de l'auteur, Destinataires par défaut, et Adresse de réponse. Décocher Destinataires par défaut fait apparaître les champs d'adressage explicite, à renseigner en listes séparées par des virgules.

Technique : Langue (vide, le message part dans la langue du contact principal), Suppression automatique, Date d'envoi, qui diffère l'envoi au lieu de le faire partir immédiatement, et Serveur de messagerie sortant, qui n'apparaît que si un serveur SMTP est configuré.

Point d'attention

Suppression automatique est cochée par défaut. Elle efface définitivement toute trace du message une fois parti, y compris depuis le menu technique des e-mails : le gain est en espace de stockage, le prix est la disparition de la preuve d'envoi. Sur les communications à valeur contractuelle (bons de commande, factures, relances), décocher la case.

L'onglet Options

  • Pièces jointes : les fichiers joints systématiquement à chaque envoi.
  • Rapports dynamiques : les documents PDF régénérés à l'envoi pour l'enregistrement concerné. Le modèle du bon de commande y porte le rapport correspondant, ce qui explique que la commande parte en pièce jointe sans qu'aucun fichier ne soit stocké sur le modèle.
  • Propriétaire : laissé vide, le modèle est partagé avec tous les utilisateurs.
  • Description du modèle : note interne indiquant quand se servir du modèle. Elle s'affiche dans la liste des modèles.

Les boutons d'en-tête

Bouton Effet et condition d'affichage
Aperçu Affiche le rendu sur un enregistrement réel. Toujours disponible.
Réinitialiser le modèle Restaure la version livrée par le module et annule les modifications locales. N'apparaît que sur les modèles livrés par Odoo (jamais sur ceux que vous créez) et suppose l'appartenance au groupe des éditeurs de modèles d'e-mail.
Ajouter une action contextuelle Fait apparaître le modèle dans le menu d'engrenage des enregistrements du modèle de données concerné. Réservé au mode développeur et aux administrateurs ; devient Supprimer l'action contextuelle une fois posée.

Les modèles s'utilisent ensuite manuellement depuis un document, par le bouton d'envoi, ou automatiquement depuis une règle d'automatisation.

Concevoir un flux de travail

  1. Décrire le processus réel, tel qu'il se déroule aujourd'hui, en listant les étapes et les personnes concernées.
  2. Identifier les points de blocage et les tâches répétitives.
  3. Déterminer les conditions de passage d'une étape à la suivante.
  4. Traduire ces étapes dans Odoo : statuts du document, champs de suivi, droits d'accès contrôlant qui valide quoi.
  5. Automatiser les transitions et les notifications.
  6. Prévoir le cas d'exception : que se passe-t-il si l'étape n'est pas franchie dans le délai prévu ?

Exemple : validation d'une note de frais

  1. L'employé saisit sa note de frais : statut brouillon.
  2. Automatisation : notification du responsable pour approbation.
  3. Le responsable approuve : statut approuvé.
  4. Automatisation : création d'une activité pour le service comptable.
  5. Le comptable vérifie les justificatifs et valide.
  6. Automatisation : génération du paiement.
  7. Le paiement est exécuté : statut payé.
  8. Automatisation : notification à l'employé et clôture du dossier.

Intégrer des systèmes externes

Interfaces disponibles

  • API externe, pour lire et écrire dans la base depuis une autre application.
  • Webhooks entrants, permettant à un système tiers de déclencher une règle d'automatisation.
  • Connecteurs prêts à l'emploi : moyens de paiement, transporteurs, places de marché, outils de communication.

Cas d'usage

  • Synchronisation avec un site marchand externe.
  • Échange de documents avec un partenaire, au format électronique.
  • Alimentation d'un outil décisionnel.
  • Interfaçage avec une application métier spécialisée.

Astuce

Avant de faire développer une intégration, vérifiez la place de marché des applications Odoo : un connecteur maintenu par un éditeur coûte généralement moins cher qu'un développement spécifique, et survit mieux aux montées de version.

Bonnes pratiques

Procéder par étapes

  1. Cartographiez les processus avant d'automatiser quoi que ce soit.
  2. Hiérarchisez les automatisations selon leur bénéfice réel et leur complexité.
  3. Commencez par les cas simples et sans risque.
  4. Testez chaque automatisation, y compris sur les cas qui ne doivent pas la déclencher.
  5. Formez les utilisateurs à ce qui change pour eux.
  6. Mesurez le résultat et ajustez.

Pièges à éviter

  • Automatiser un processus qui exige un arbitrage humain.
  • Construire des règles si complexes que personne ne sait plus ce qu'elles font.
  • Créer des règles qui se contredisent ou s'enchaînent involontairement.
  • Ne documenter nulle part les automatisations mises en place.
  • Négliger les cas limites : montants nuls, dates manquantes, enregistrements archivés.

Surveiller dans la durée

  • Vérifiez périodiquement le bon fonctionnement des règles actives.
  • Consultez les journaux techniques en cas de comportement inattendu.
  • Mettez à jour les automatisations lorsque le processus qu'elles servent évolue.
  • Désignez un responsable pour chaque automatisation critique.

Note

Une automatisation sans responsable identifié devient, au premier changement de processus, une cause de dysfonctionnement dont plus personne ne connaît l'origine. Tenez une liste des règles actives, de leur objet et de leur propriétaire.