Ce que couvre ce cas et ce qu'il ne couvre pas
L'article suit une entreprise fictive qui met en place le module dans Odoo 20. L'ordre des étapes est celui du cas, pas un ordre imposé par le module. Tout ce qui est nommé (champs, listes, statuts) provient du module lui-même ; pour voir comment il s'articule, consultez le fonctionnement interne du module.
Les écrans présentés se trouvent sous le menu Whistleblowing : Reports, Libro Registro, la liste des canaux, Responsables et Audit Packs.
Le cas de Quincaillerie Albada, de l'installation au premier signalement
Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.
Quincaillerie Albada est un distributeur fictif qui termine son implémentation d'Odoo 20. Lucía, sa responsable conformité, doit préparer le canal interne de signalement avant de l'annoncer au personnel. Elle le prépare en un après-midi et note ce qu'elle vérifiera la semaine suivante.
Les quatre champs que Lucía règle en premier
Lucía commence par ces champs du module, chacun avec son libellé tel qu'il apparaît à l'écran :
Enable Anti-Virus Scanning of Attachments(wb_av_enabled, case à cocher oui ou non) : d'après son libellé, il active l'analyse antivirus des pièces jointes.DKIM Selector(wb_dkim_selector, champ texte) : Lucía le laisse en attente jusqu'à obtenir la valeur auprès de la personne qui gère ses systèmes.Sentry DSN (optional)(wb_sentry_dsn, champ texte) : le libellé l'indique lui-même comme facultatif et Lucía le laisse vide.Detect Tor Exit Nodes (opt-in)(wb_tor_detection_enabled, case à cocher) : le libellé précise qu'il s'agit d'une option à activer (opt-in). Lucía consulte son conseiller avant de la cocher.
Qui traite les signalements : la liste Responsables

Responsables, encore sans enregistrement : colonnes, bouton New et barre de recherche.Dans Whistleblowing › Responsables, la liste est vide au départ. Ses colonnes sont User, Name (collegiate body), Kind, Company, Appointment et Active. La colonne Name (collegiate body) montre qu'on peut y saisir le nom d'un organe collégial. Lucía clique sur New et enregistre la personne qui traitera le canal, avec son utilisateur Odoo et sa société.
Le canal : nom, slug et statut
Dans la liste des canaux, chaque canal a un nom, un slug, une société et un statut. Parmi les statuts du code figure une liste avec Draft, Published et Archived. Lucía crée le canal interne de son entreprise et vérifie qu'il passe en Published, comme le canal de test visible dans l'animation plus bas.
Un signalement de test depuis le site web

Lucía envoie un signalement de test depuis le site web. À la fin, la page « Thank you » affiche la référence du signalement, un code d'accès et une phrase secrète, ainsi qu'un lien de suivi. Ce sont les informations que voit l'auteur du signalement ; pendant le test, Lucía les note et ouvre le lien de suivi pour vérifier qu'il fonctionne. Sur la capture, la page s'affiche sans style.
Où apparaît le signalement dans Odoo

Dans Reports, avec le filtre Open, les signalements sont regroupés en colonnes comme Received et Acknowledged, avec des cartes qui portent la référence et le titre. Dans Libro Registro, chaque entrée a le type Received et le résumé Report received. ; les colonnes Outcome et Category Code restent vides. En ouvrant un signalement, le formulaire affiche le canal, la priorité, les délais et la barre de statut sur Received, ainsi que l'onglet Report content avec la description des faits et le résultat.
Les résultats de clôture d'un signalement
Le champ outcome_state prend ces valeurs : Founded, Partially founded, Unfounded, Inadmissible et Forwarded to authority. Lucía les passe en revue avec son conseiller pour savoir ce que chacune signifie dans sa procédure interne avant de clôturer de vrais signalements.
Le paquet d'audit

Ready, sans contenu : Pack Attachment et le champ de hash sont vides.Dans Whistleblowing › Audit Packs, Lucía ouvre un paquet de test. Le formulaire regroupe le nom, la société, la période, la date de génération et l'utilisateur, et le chatter conserve le message de création. Le code contient une liste de statuts avec Generating, Ready et Failed.
Ce que Lucía vérifie la première semaine
- Que
Responsablesn'est plus vide et que chaque personne a la colonneActivecochée. - Que le canal est toujours en
Published. - Que le signalement de test apparaît dans
Reportsavec le filtreOpenet a son entrée dansLibro Registro. - Qu'elle a tranché pour
Detect Tor Exit Nodes (opt-in)et décidé si elle renseigneSentry DSN (optional). - Que
DKIM Selectorcontient bien la valeur qu'on lui a transmise. - Le champ
scan_state, avec les valeursQueued,Scanning,DoneetFailed. Si elle voitFailedsur un enregistrement ou un avertissement qu'elle ne comprend pas, elle le cherche dans les messages d'erreur du module. - Le statut des Audit Packs :
Generating,ReadyouFailed.
Ce qu'il faut retenir du cas
Lucía n'improvise pas : elle règle les champs avant d'ouvrir le canal, enregistre les responsables avant de l'annoncer et teste tout le parcours avec un signalement fictif. Elle lit aussi chaque statut par son nom exact (Received, Published, Ready) au lieu de deviner ce qu'il signifie, et consigne par écrit comment elle distinguera les tests des vrais signalements.
Faites votre propre signalement de test et suivez-le dans Reports, Libro Registro et son formulaire avant d'annoncer le canal.
Prix, versions et abonnement
Le module est publié sur Odoo Apps pour les versions 17, 18, 19 et 20, à 9 € HT par version d'Odoo, en paiement unique. Le service local FlexigoTech Cloud coûte 29 €/mois ou 290 €/an HT (Pro : 58 €/mois ou 580 €/an) ; sans abonnement, ou si le service est suspendu, ce que fournit l'abonnement s'arrête et les données restent dans votre Odoo.
Avec l'abonnement, le module pour les nouvelles versions d'Odoo est inclus si vous l'avez acheté sur flexigotech.com ; sur l'Odoo App Store, chaque version s'achète sur sa fiche.
Comment FlexigoTech vous accompagne
FlexigoTech implémente Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Si vous mettez en place le canal de signalement dans le cadre d'une implémentation, nous pouvons revoir avec vous les champs, les responsables et le test complet avant de l'ouvrir au personnel.
À lire aussi
Vérifié dans le code du module (version 20.0) et dans les sources citées
Sources
- Code du module : flexigo_whistleblowing 20.0 (8dfc517f): models/res_config_settings.py
- Code du module : flexigo_whistleblowing 20.0 (8dfc517f): models/wb_audit_pack.py
- Code du module : flexigo_whistleblowing 20.0 (8dfc517f): models/wb_channel.py
- Code du module : flexigo_whistleblowing 20.0 (8dfc517f): models/wb_report_attachment.py
- Code du module : flexigo_whistleblowing 20.0 (8dfc517f): wizards/wb_closure_wizard.py
- apps.odoo.com/apps/modules/20.0/flexigo_whistleblowing
- apps.odoo.com/apps/modules/17.0/flexigo_whistleblowing
- apps.odoo.com/apps/modules/18.0/flexigo_whistleblowing
- apps.odoo.com/apps/modules/19.0/flexigo_whistleblowing
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
