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'action serveur assistée par l'intelligence artificielle. Elle est traitée au chapitre 20, avec le reste des fonctions d'assistance.

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

La liste complète compte dix-huit déclencheurs, répartis en cinq groupes dans le sélecteur. 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

  • Envoyer un courriel à partir d'un modèle.
  • Créer une activité assignée à un utilisateur.
  • Mettre à jour un champ de l'enregistrement.
  • Créer un enregistrement lié.
  • Ajouter des abonnés au document.
  • Publier un message ou une note interne sur le document, c'est le type Envoyer un e-mail, dont le mode d'envoi se règle sur Message ou Note.
  • Exécuter du code, pour les cas qu'aucune action standard ne couvre. Cette voie suppose l'intervention d'un développeur.

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.

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. 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 / suivi de quelques lettres. La commande recherchée s'intitule Placeholder dynamique, sous-titrée Insérer un champ et marquée d'un dièse ; elle apparaît aussi bien en tapant /champ (la recherche porte sur le sous-titre) qu'en tapant /dyn, qui vise le titre.
  3. La valider ouvre le sélecteur de champs de l'enregistrement : nom du contact, référence du document, montant, date prévue. Les champs de relation s'y parcourent en profondeur.
  4. Une fois le champ choisi, Odoo affiche Saisir une valeur par défaut : le texte à écrire si le champ est vide au moment de l'envoi. La laisser vide est possible, mais un champ non renseigné laissera alors un blanc dans le message.
  5. Cliquer sur Insérer.

Astuce

La même commande est accessible sans passer par le clavier : sur une ligne vide du corps, une icône en dièse apparaît et ouvre directement le sélecteur.

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 planifiée, 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.