TL;DR :
Au fil de nos d'opération sur Odoo Community, on a accumulé 19 modules maison qu'on utilise chez Blue Fox et chez nos clients.
On les publie sous licences libres sur github.com/bluefoxconsultant/odoo-modules.
Chaque module est né d'un vrai besoin, pas d'un plan produit : intégration Nextcloud, conformité Loi 25, banque d'heures, minuteur timesheet, hébergement géré, recherche transverse, archive SMS et appels, et d'autres encore.
Nos clients héritent du catalogue : s'ils nous quittent demain, leur instance continue de tourner sur du code qu'ils peuvent faire maintenir par n'importe quel intégrateur.
Notre instance Odoo Community tourne avec 19 modules maison en production. Certains sont accessoires, d'autres font partie du cœur opérationnel de Blue Fox. On les a écrits un par un, au fil des besoins, parce qu'Odoo Community est immensément capable, mais que chaque organisation finit par buter sur les mêmes trois ou quatre manques.
À un moment, on s'est demandé pourquoi on gardait tout ça pour nous. La réponse courte : on ne le gardait pas volontairement, on n'avait juste pas pris le temps de publier proprement. C'est fait. Voici le tour du catalogue.
Pourquoi ouvrir le code
Blue Fox utilise quotidiennement des dizaines de modules libres : l'OCA, des projets communautaires, du code d'individus. C'est grâce à cet écosystème qu'on peut offrir Odoo Community à nos clients à un coût raisonnable. Rendre ce qu'on peut, c'est la contrepartie normale.
Il y a aussi une question de souveraineté client. Quand une organisation choisit Odoo Community avec nous, elle ne veut pas se retrouver captive d'un prestataire. En publiant nos modules sous licences libres (LGPL-3 pour la majorité, MIT ou AGPL-3 pour certains, toutes approuvées par l'OSI), on garantit que son instance reste opérable même si Blue Fox disparaît demain. Un autre intégrateur peut cloner le repo, lire le code, et prendre le relais. C'est ce qu'on voudrait nous-mêmes comme client.
Dernier motif plus prosaïque : publier oblige à une meilleure hygiène. Un module destiné à GitHub, on le documente mieux, on le teste mieux, on nettoie les dépendances étranges. Les utilisateurs externes trouvent aussi des bogues qu'on n'aurait jamais vus depuis notre propre bulle.
Le pont Odoo ↔ Nextcloud
Trois modules qui font dialoguer Odoo avec Nextcloud en direct, sans passer par un middleware. On les a sortis parce que les solutions existantes reposaient souvent sur n8n ou Zapier, ce qui ajoute une dépendance externe pour une fonction que les protocoles standards (CardDAV, CalDAV, WebDAV) savent très bien faire.

contacts_nextcloud_sync.
Synchronise les contacts Odoo avec un carnet Nextcloud via CardDAV. La synchronisation est bidirectionnelle, avec détection de changements par ETag, filtrage par étiquette d'exclusion, récupération automatique en cas d'UID orphelin, et credentials chiffrés en base. Concrètement, vos contacts Odoo apparaissent dans l'app Contacts de votre téléphone, et les modifications remontent dans l'ERP sans qu'on y pense.

calendar_nextcloud_sync.
Même pont, pour les calendriers. CalDAV standard, support des événements récurrents (RRULE), synchronisation incrémentale avec sync-token RFC 6578, et propagation par webhooks pour le temps réel. Les couleurs de calendrier sont préservées. Utile quand on veut voir ses rencontres Odoo dans Thunderbird ou sur iOS, ou l'inverse.

bf_document_nextcloud_sync.
Sort les fichiers du disque Odoo pour les stocker sur Nextcloud. Odoo garde les métadonnées, la version et les flux de travail, mais le fichier vit sur NC. Ça permet de partager un document avec un client via lien Nextcloud protégé par mot de passe, depuis l'interface Odoo. Ça règle aussi le problème classique des pièces jointes qui font gonfler la base de données.
Gouvernance, conformité, Loi 25
Quatre modules où on a investi le plus de travail, parce que la conformité à la Loi 25 n'est pas optionnelle pour nos clients québécois. Deux d'entre eux ont une présentation corporative complète (pitch deck) qu'on partage avec les clients en amont d'un projet.

project_knowledge_matrix.
Notre module le plus ambitieux. C'est un système complet de gestion des connaissances organisationnelles : documents versionnés avec matrice décisionnelle, registre des résolutions (CA et actionnaires), registre des administrateurs, calendrier de conformité annuel, coffre de credentials chiffrés, suivi de distribution et d'accusé de réception. Dix niveaux de maturité documentaire, générateur de PDF brandé, intégration au module projet d'Odoo. On l'utilise chez la plupart de nos clients PME pour structurer leur documentation interne sans qu'ils aient à choisir entre dix outils différents. Un pitch deck corporatif détaille l'approche quand on entame un mandat.

privacy_consent.
L'outil Loi 25 de bout en bout : gestion des consentements avec préférences granulaires par canal, calendriers de conservation, registre de destruction documentaire (avec empreintes SHA256 immuables), évaluations d'anonymisation à trois critères, traitement du droit à l'oubli, intégration DocuSeal/LibreSign pour les signatures. Le registre de destruction est forensique : impossible de falsifier rétroactivement. Utilisé par nos clients qui ont des obligations sérieuses en matière de renseignements personnels. Pitch deck disponible également.

audit_ti.
Gestion des audits de sécurité des fournisseurs TI, toujours dans l'optique Loi 25. Grille de 14 éléments par fournisseur, matrice client × fournisseur avec statuts d'évaluation, tableau de bord OWL avec KPI empilés, flux de travail en deux phases (En cours, Livré), suivi des watchpoints et impression batch de rapports PDF. C'est la mécanique qui produit les synthèses d'audit TI qu'on livre à nos clients, notamment dans le réseau des CPE.

bf_sms_archive.
Archive des SMS et des journaux d'appels directement dans Odoo, avec recherche unifiée et association automatique aux contacts et tâches. Utile pour les organisations qui veulent une trace centralisée des communications mobiles : dans une perspective Loi 25, les canaux SMS doivent aussi pouvoir être documentés en cas de demande d'accès ou d'investigation. Un pitch deck accompagne le module, comme pour project_knowledge_matrix et privacy_consent.
Des petits gains quotidiens
Cinq modules qui ne paient pas de mine individuellement, mais qui ensemble changent l'expérience d'utiliser Odoo au jour le jour.

bf_hour_bank.
Automatise la facturation au forfait avec banque d'heures. Par client, on configure les filtres (projet, société, produit). Le solde se calcule automatiquement : débits par timesheets, crédits par factures, ajustements manuels. Le rapport PDF/Excel comporte quatre onglets (timesheets, synthèse projet, synthèse mensuelle, heures facturables) et s'envoie automatiquement au client selon une cédule. Portail client en libre-service. Ça met fin aux négociations de fin de mois sur « combien il me reste d'heures ».

bf_timesheet_timer.
Un minuteur OWL qui vit dans la barre système d'Odoo. Démarrage, pause, reprise, avec support multi-timers. Les 10 tâches récentes en tête de liste (favoris épinglés en premier). À l'arrêt, dialogue avec arrondi configurable (1, 5, 10 ou 15 minutes) et remplissages rapides de description. Raccourci clavier Ctrl+Shift+T. Indicateur visuel qui change de couleur selon la durée, pour rappeler qu'une tâche dure peut-être plus qu'elle ne devrait.

bf_universal_search.
Recherche transverse via la palette de commandes (Ctrl+K puis *). Cherche simultanément dans les contacts, projets, tâches, services hébergés, documents, credentials, tickets helpdesk et événements. Détection dynamique des modules installés, donc pas de dépendance rigide. Respecte les permissions ORM : on ne voit que ce qu'on a le droit de voir. Fin des aller-retours entre menus.

daily_todo_digest.
Envoie chaque matin à 4h un courriel récapitulatif : activités et tâches en retard ou dues aujourd'hui, grille des sept prochains jours, météo (emoji, température, précipitations) et une citation inspirante tirée d'un pool de 120. Heures affichées en America/Montreal. Brandé Blue Fox. Ça remplace la routine « j'ouvre Odoo pour savoir quoi faire aujourd'hui » par un survol direct dans la boîte courriel.

bf_task_unblock_notify.
Règle un irritant classique dans la gestion de projet : une tâche qui se débloque et qui reste invisible parce que son assigné n'est pas au courant. Le module détecte quand un bloqueur est complété (ou retiré de la liste), et notifie automatiquement les personnes assignées à la tâche nouvellement débloquée. Pipeline courriel standard, donc les préférences de notification de chaque utilisateur sont respectées.
Courriel et communication
Quatre modules autour de la gestion du courriel et de la prise de rendez-vous.


bf_email_management.
Ajoute une vue centralisée (envoyés + reçus) avec auto-catégorisation (Client, Interne, Fournisseur, Notification, Marketing), suivi du statut et métriques de temps de réponse. Tableau de bord OWL avec filtres de date, cartes KPI, top contacts, graphique de volume. Synchronisation incrémentale toutes les 5 minutes. Déduplication par Message-ID RFC 2822. Ça remplace partiellement l'ouverture constante d'un client mail séparé.
bf_mail_import.
Bouton dans le fil de discussion (chatter) des documents Odoo : on dépose un ou plusieurs fichiers .eml, et ils s'intègrent dans l'historique comme s'ils étaient arrivés via Odoo. Tri chronologique avant import, déduplication par Message-ID, résolution automatique de l'auteur, threading par In-Reply-To. Pratique pour reconstituer l'historique d'un dossier quand les courriels initiaux sont arrivés ailleurs que dans l'ERP.

bf_webmail.
Le plus simple des 19 : une icône dans la barre système qui ouvre SnappyMail (ou n'importe quel webmail) en modale, sans quitter Odoo. URL configurable. Zéro persistance de données. Conçu pour ceux qui vivent dans Odoo et qui veulent un raccourci mental vers leur courriel sans changer d'onglet.
bf_appointment.
Étend resource_booking de l'OCA avec des pages publiques de prise de rendez-vous, détection automatique du fuseau horaire côté client, questions d'admission personnalisables, cédule d'envoi de courriels configurable (confirmation, rappel J-1, suivi, annulation), lien d'annulation via portail. On s'en sert pour nos propres prises de rendez-vous, en alternative libre à Cal.com ou Calendly.
Exploitation interne
Trois modules pour l'exploitation de l'infrastructure et l'expérience quotidienne dans l'ERP.

hosting_management.
Notre module d'hébergement géré, et la colonne vertébrale du service d'infogérance Blue Fox : cycle de vie des services (brouillon, actif, expiré), catalogue de logiciels avec vérification de versions (GitHub, Docker Hub, GitLab), contrôles de santé HTTP avec retry rapide, uptime, alertes courriel et ntfy, fenêtres de maintenance, surveillance des quotas de stockage, suivi des expirations de domaine et SSL, gabarits de maintenance par logiciel, intégration des sauvegardes avec vérification SHA256, courriels brandés au client. C'est ce qui nous permet de gérer tout notre parc de services hébergés sans perdre le fil.

bf_dark_mode.
Un bouton soleil/lune dans la barre système qui bascule tout le back-office d'Odoo en mode sombre. Palette de gris Blue Fox (#2E3132, accent #29ABE2). Préférence persistante par cookie navigateur. Couverture exhaustive d'Odoo 18 : variables Bootstrap 5, vues, chatter, alertes, responsive mobile. Aucun impact quand désactivé. Les yeux en remercient les utilisateurs à 22h.

bf_gamification.
Une couche gamifiée sur Odoo, thème renard : 10 niveaux (de Renardeau à Kitsune, de 0 à 20 000 XP), règles XP configurables (timesheets, tâches, documents, hébergement, messages, helpdesk, activités, séries), 15 badges par défaut en six catégories, palmarès, popups temps réel via le bus Odoo, widget barre système (XP, série, progression), magasin de récompenses avec flux de réclamation. Pas essentiel à l'opération, mais ça injecte un peu de joie dans un ERP.
Si vous tournez déjà sur Odoo Community et qu'un de ces modules répond à un besoin, voici notre ordre d'essai recommandé :
- bf_timesheet_timer et daily_todo_digest : gains immédiats, risque nul.
- bf_hour_bank ou bf_universal_search, selon que votre irritant est la facturation au forfait ou la recherche transverse.
- contacts_nextcloud_sync ou calendar_nextcloud_sync si vous utilisez déjà Nextcloud.
- project_knowledge_matrix et privacy_consent : modules structurants, prévoir un accompagnement.
Les limites à connaître
Ces modules sont opinés : ils reflètent les flux de travail de Blue Fox et ceux de nos clients québécois. Certains champs, certaines étiquettes, certains comportements par défaut correspondent à notre réalité. Si la vôtre est différente, attendez-vous à faire des ajustements.
Plusieurs dépendent d'autres éléments de notre écosystème (Nextcloud, LibreSign, ntfy, SnappyMail). On a essayé d'isoler ces dépendances autant que possible, mais un module qui synchronise avec Nextcloud suppose évidemment que vous avez Nextcloud.
La branche active est 18.0, correspondant à Odoo 18 Community. La migration vers Odoo 19 (sortie en septembre 2025) et 20 (attendue en septembre 2026) se fera au fil du temps, mais on ne garantit pas la rétro-compatibilité automatique. Pas de support commercial officiel : le code est fourni tel quel sous sa licence respective. On répond aux issues GitHub quand on peut, ce n'est pas un engagement contractuel.
Chez Blue Fox
Quand un client choisit Odoo Community avec nous, il n'a pas à demander l'accès à nos modules : ils sont sur GitHub, sous licences libres, clonables sans compte. On les installe sur son instance quand c'est pertinent, on les documente dans sa matrice de connaissance, et on transfère la compréhension à son équipe interne.
C'est ce qu'on voudrait nous-mêmes d'un autre prestataire : la certitude que le code qu'on utilise reste accessible, même si la relation change. La propriété du savoir ne doit pas être l'otage d'un contrat de service. On considère que c'est une condition minimale pour une relation TI saine, pas un geste de générosité de notre part.
Un de ces modules résonne avec un irritant que vous avez? Explorons ça ensemble. Et si vous avez un besoin qui n'est couvert par aucun, c'est souvent le début d'un 20e module.
Sources
- Notre repo public : github.com/bluefoxconsultant/odoo-modules
- Odoo Community Association (OCA) : l'écosystème de modules libres Odoo
- Texte de la licence LGPL-3
- Nos articles liés : Le rôle de l'OCA dans l'écosystème Odoo, Stratégies pour réussir l'implantation d'un ERP en PME