Dossier investisseurs (DYONYSOS) — PDF, PowerPoint, graphiques et périodicité
Board deck and shareholder report generator for Odoo 20 Community: turn the free investor pack into a printable PDF with real printed charts, a PowerPoint deck, reusable report templates, monthly/quarterly/yearly automatic production, and an optional quantity-only cap table that states holdings with
Captures d'écran
-
Dossier investisseurs (DYONYSOS) — PDF, PowerPoint, graphiques et périodicité — capture 1 -
Dossier investisseurs (DYONYSOS) — PDF, PowerPoint, graphiques et périodicité — capture 2 -
Dossier investisseurs (DYONYSOS) — PDF, PowerPoint, graphiques et périodicité — capture 3 -
Dossier investisseurs (DYONYSOS) — PDF, PowerPoint, graphiques et périodicité — capture 4 -
Dossier investisseurs (DYONYSOS) — PDF, PowerPoint, graphiques et périodicité — capture 5
Dossier investisseurs
Le PDF avec ses graphiques, la présentation PowerPoint,
les modèles et le rythme. Depuis les chiffres de l'ERP.
Version complète Odoo 20 Community
Un graphique qui manque à l'impression ne se voit pas avant l'actionnaire
Il ne se voit ni dans le code, ni dans le rendu HTML, ni dans les journaux du serveur. Les histogrammes de ce module sont donc dessinés en rectangles — ni SVG, ni image, ni script, ni appel réseau — et éprouvés à l'impression réelle. La capture ci-dessous est une page réelle du PDF produit, convertie en image : pas une maquette.
Pourquoi des rectangles plutôt qu'un graphique vectoriel : parce que le serveur de l'acheteur n'est pas celui du développeur. Le support SVG de wkhtmltopdf vient de son Qt patché, qui n'est pas présent partout — Odoo lui-même distingue les deux constructions et refuse certaines conversions sur un binaire non patché. Des rectangles HTML ne dépendent ni du binaire, ni d'une bibliothèque, ni d'une requête réseau. Le coût de ce choix est nul, sa portée totale.
Et la preuve n'est pas une lecture de code : le module rend le même dossier deux fois, graphiques compris puis sans, convertit les deux PDF en image et compte les pixels de la couleur exacte des barres. Zéro pixel de cette couleur, zéro graphique.
Page 1 — indicateurs et première série
Page 2 — séries, mot du dirigeant, annexe de capitalisation
Ce que la version complète ajoute
Le dossier PDF
Indicateurs par section, histogrammes mensuels du chiffre d'affaires, du résultat et de la trésorerie, mot du dirigeant, pied de page, et une page « D'où viennent ces chiffres » qui donne la formule de chaque ligne. Les barres négatives descendent sous la ligne de base : une perte doit se voir comme telle.
La présentation PowerPoint
Une couverture, une diapositive par section d'indicateurs, une par série
mensuelle, une pour le mot du dirigeant. Le module s'installe même sans
python-pptx : sans elle, vous recevez le plan complet de la
présentation en texte, et l'écran vous l'annonce avant le téléchargement.
Les modèles de dossier
Indicateurs retenus, ordre, libellés imprimés, titre, pied de page, graphiques oui ou non. Les lignes référencent des codes et non des libellés : un modèle continue de fonctionner quand l'interface passe en anglais.
La périodicité
Mensuelle, trimestrielle, semestrielle, annuelle. Une tâche planifiée crée le dossier suivant en brouillon et le calcule — elle ne le diffuse jamais. Et jamais sur une période encore en cours : un trimestre arrêté au 15 février afficherait un chiffre d'affaires trompeusement bas.
Les modèles, écran réel
La table de capitalisation : optionnelle, secondaire, et qui constate
Elle est décochée par défaut, fermée par un groupe accordé à personne à l'installation — pas même à l'administrateur, et placée en dernière annexe du PDF. C'est un arbitrage, pas un oubli : cette table se tient rarement dans l'ERP, et sa sensibilité juridique est élevée.
Elle ne valorise rien, et ne valorisera rien
Aucun prix par titre, aucun montant, aucun 409A, pas de pre-money ni de post-money, pas de cascade de liquidation, pas de conversion de BSA-AIR, pas de calendrier d'acquisition progressive.
Ce sont des conclusions juridiques et financières : un ERP qui les produirait fournirait une opinion déguisée en chiffre, et elle serait lue comme un fait. Ces questions se traitent avec votre avocat et votre conseil.
Ce que la table fait : elle relève des quantités de titres par détenteur et par instrument, et en tire deux pourcentages — part de base sur les seuls titres émis, part diluée sur l'ensemble. Les lignes dont la quantité dépend d'un tour futur (BSA-AIR, obligations convertibles) portent leur réserve sur leur propre ligne. Ce registre n'est ni un registre des mouvements de titres, ni une table de capitalisation opposable.
Sans python-pptx, le module s'installe quand même
Odoo sait déclarer une dépendance obligatoire, pas une dépendance facultative : toute dépendance déclarée empêche l'installation quand elle manque. Le module aurait alors été inutilisable pour tout le reste — PDF, Excel, modèles — à cause d'un seul format d'export.
L'avertissement est affiché avant le bouton, pas après le fichier.
Ce qui n'a pas été éprouvé en production
- La sortie
.pptxa été éprouvée sous simulacre de bibliothèque : les appels, leur ordre et leur contenu sont vérifiés, mais aucun fichier n'a été ouvert dans PowerPoint avant livraison. - Le PDF, lui, a été éprouvé à l'impression réelle par wkhtmltopdf, graphiques compris — le comptage des pixels de barre dans l'image rendue le prouve.
- Aucune norme de reporting réglementaire n'a servi de référence. La table de capitalisation n'a été confrontée à aucun registre réel.
- Le module ne certifie rien, n'établit aucune prévision et ne
conseille aucune décision. Il ne remplace pas
account_reports(Odoo Enterprise). - Il n'appelle aucun service extérieur : aucune clé d'API, aucun fournisseur de cotation, aucune donnée ne sort de votre base.
Gratuite et complète
| Version gratuite Dossier investisseurs |
Version complète celle-ci |
|
|---|---|---|
| Indicateurs lus dans la comptabilité | oui | oui |
| Classeur Excel, trois feuilles | oui | oui |
| Dossier PDF avec graphiques imprimés | — | oui |
| Présentation PowerPoint | — | oui |
| Modèles de dossier personnalisables | — | oui |
| Périodicité et production automatique | — | oui |
| Table de capitalisation (optionnelle) | — | oui |
Ce module dépend de la version gratuite et ne fait rien perdre à l'installation : mêmes champs, mêmes gestes, mêmes menus, un onglet et deux boutons de plus.
L’application en mouvement
Le module en marche, enregistré dans le vrai client Odoo 19 : la liste des dossiers, le dossier du trimestre clos (fiche), la table de capitalisation puis les modèles et leur périodicité. Ce n’est pas un montage — ce sont les trames du navigateur sur le module livré, pris sur sa propre base.
Vidéo MP4 — 368 ko, 1280 px, 3.3 s, 4 écrans. Une amorce animée est aussi livrée en GIF (379 ko, 560 px) pour les contextes qui n’affichent pas la balise vidéo.
DYONYSOS
Support : welcome@dyonysos.fr
Odoo 20 Community · OPL-1 · aucune dépendance externe obligatoire
Ce que l'application ne fait pas
- Il ne certifie rien, n'établit aucune prévision, ne conseille aucune décision.
- Il ne remplace pas accountreports (Odoo Enterprise).
- Il n'appelle aucun service extérieur : aucune clé d'API, aucun
Applications du magasin nécessaires
- Dossier investisseurs — reporting actionnaires en Excel, lu dans l'ERP
dyo_dossier_investisseurs_lite
Modules Odoo Community utilisés
Aucun.
| Série | Version | État | Publiée le |
|---|---|---|---|
| 20.0 | 20.0.1.0.0 | Disponible | 02/10/2026 |
| 19.0 | 19.0.1.0.0 | Disponible |
Fiche générée depuis le code de l'éditeur (dépôt privé, branche 20.0) : le code source n'est pas publié.
Contrôle automatique du magasin (distinct de l'éditeur), appliqué à toutes les applications. Conforme.
| Contrôle | Résultat | Effet si absent |
|---|---|---|
| Manifeste lisible sans exécution | conforme | bloquant |
| Licence reconnue (OPL-1) | conforme | bloquant |
| Aucune dépendance vers Odoo Enterprise | conforme | bloquant |
| Aucun import de code Enterprise | conforme | bloquant |
| Aucun en-tête de licence Enterprise | conforme | bloquant |
| Icône static/description/icon.png | conforme | déclasse |
| Description (static/description/index.html ou README) | conforme | déclasse |
| Tests automatisés (tests/test_*.py) | conforme | déclasse |
| Traduction française (i18n/fr.po) | conforme | info |
| Section « Ce que le module ne fait pas » | conforme | info |
| Titre de 70 caractères au plus (77 actuellement) | absent | info |
| Résumé en français | absent | info |
Guide utilisateur — Dossier investisseurs (version complète)
Ce guide complète celui de la version gratuite, qui décrit le dossier, ses états et son classeur Excel. Ici : le PDF, le PowerPoint, les modèles, la périodicité et la table de capitalisation.
Le PDF
Sur un dossier calculé, bouton Imprimer le PDF dans la barre d'en-tête, ou Exporter → Dossier PDF.
Il contient, dans cet ordre :
- la couverture — titre, société, période, date d'arrêté ;
- la réserve ;
- les indicateurs par section, avec période précédente et variation ;
- les histogrammes mensuels — chiffre d'affaires, résultat net, trésorerie ;
- le mot du dirigeant ;
- l'annexe de capitalisation, si elle a été demandée ;
- sur une page à part, « D'où viennent ces chiffres » : la formule de chaque indicateur.
Les graphiques
Ils sont dessinés en rectangles, et c'est un choix technique qui se voit à l'impression et nulle part ailleurs.
Le support des graphiques vectoriels de wkhtmltopdf — le moteur PDF d'Odoo — dépend de la façon dont il a été construit : c'est son Qt patché qui l'apporte, et tous les serveurs n'en disposent pas. Odoo distingue lui-même les deux constructions. Un graphique vectoriel peut donc s'afficher parfaitement à l'écran et manquer sur le PDF d'un serveur, sans message d'erreur — le document arrive alors chez l'actionnaire avec les tableaux et pas un seul graphique.
Les histogrammes de ce module ne dépendent donc d'aucune bibliothèque, n'appellent aucune image et n'exécutent aucun script. Ils s'impriment partout.
Les barres négatives descendent sous la ligne de base, en rouge : un résultat net négatif doit se voir comme tel, pas comme une petite barre au ras du sol.
Pour retirer les graphiques d'un dossier : décochez Graphiques sur le dossier, ou sur son modèle.
Le pied de page
Il se règle sur le modèle de dossier. La réserve s'imprime en plus : elle ne se remplace pas.
La présentation PowerPoint
Exporter → Présentation PowerPoint (.pptx).
Une diapositive de couverture, une par section d'indicateurs, une par série mensuelle, une pour le mot du dirigeant, et — si demandée — une pour la table de capitalisation.
Si vous obtenez un fichier .md
L'écran vous l'aura dit avant le téléchargement : la bibliothèque
python-pptx n'est pas installée sur votre serveur.
Vous recevez alors le plan complet de la présentation en texte : un titre
et ses points par diapositive, dans l'ordre. Il se colle directement dans
PowerPoint, Keynote ou Impress. Sa première ligne dit qu'il n'est pas un
.pptx.
Pour obtenir le fichier lui-même, demandez à votre hébergeur d'installer
python-pptx, puis relancez l'export. Rien d'autre n'est à faire.
Pourquoi le module ne refuse pas de s'installer sans cette bibliothèque. Odoo sait déclarer une dépendance obligatoire, mais il ne sait pas déclarer une dépendance facultative : toute dépendance déclarée empêche l'installation quand elle manque. Le module aurait alors été inutilisable pour tout ce qu'il fait par ailleurs — PDF, Excel, modèles — à cause d'un seul format d'export. La bibliothèque est donc déclarée dans le manifeste sous une clé lisible mais non bloquante, et l'absence dégrade proprement.
Réserve. La sortie
.pptxa été éprouvée sous simulacre de bibliothèque : les appels et leur contenu sont vérifiés, mais aucun fichier n'a été ouvert dans PowerPoint avant livraison. Si vous constatez un défaut de mise en page, écrivez-nous.
Les modèles de dossier
Dossier investisseurs → Configuration → Modèles et périodicité.
Un modèle fixe ce qui se répète d'un trimestre à l'autre.
| Réglage | Effet |
|---|---|
| Indicateurs retenus | décocher une ligne la retire du dossier |
| Libellé imprimé | renommer « Chiffre d'affaires » en « Revenus consolidés » |
| Ordre | poignée de glissement dans la liste |
| Titre imprimé | remplace le titre du dossier sur le PDF |
| Pied de page | mention libre au bas de chaque page |
| Graphiques | oui ou non |
| Table de capitalisation | oui ou non — non par défaut |
Un modèle neuf part de tous les indicateurs : on retire, on ne cherche pas ce qui existe.
Décocher un indicateur ne change aucun autre chiffre. Le moteur calcule toujours tout ; le modèle décide seulement de ce qui figure au dossier.
Le modèle pose ses réglages sur un dossier neuf, il ne les impose pas ensuite : joindre exceptionnellement la table de capitalisation à un dossier d'assemblée générale ne vous oblige pas à modifier le modèle, donc tous les dossiers à venir.
La périodicité
Sur le modèle : Mensuel, Trimestriel, Semestriel ou Annuel.
Bouton Produire le dossier suivant : le module crée le dossier de la période suivante, la calcule et vous l'ouvre.
Cochez Produire le dossier suivant automatiquement pour que la tâche planifiée quotidienne s'en charge.
Deux garde-fous, et ils comptent :
- La tâche ne diffuse jamais. Elle crée le dossier et le calcule. Le marquer diffusé reste un geste humain, après relecture. Un envoi automatique aux actionnaires serait la pire des automatisations.
- Aucun dossier n'est produit sur une période en cours. Un trimestre arrêté au 15 février donnerait un chiffre d'affaires trompeusement bas, et personne ne le verrait sur la diapositive. Le bouton refuse, en le disant.
La table de capitalisation
Brique optionnelle, et volontairement secondaire.
L'ouvrir
Elle est fermée à l'installation, y compris pour l'administrateur. Pour l'utiliser :
- Paramètres → Utilisateurs, ouvrez l'utilisateur concerné ;
- cochez Dossier investisseurs : Table de capitalisation ;
- le menu Configuration → Table de capitalisation apparaît.
Ce n'est pas une chicane : la décision de tenir un capital dans l'ERP doit être visible, donc explicite.
Le registre
Une ligne par détenteur et par instrument : quantité, date d'émission, date de sortie éventuelle, note.
Instruments reconnus : actions ordinaires, actions de préférence, BSPCE, BSA, options / stock-options, BSA-AIR, obligations convertibles, autre.
Une sortie se saisit avec une date de sortie, jamais avec une quantité négative.
Les deux pourcentages
- Part de base — sur les seuls titres émis (actions ordinaires et de préférence). Un bon ou une option ne sont pas des titres : les y compter gonflerait la détention de leur porteur.
- Part diluée — sur l'ensemble des instruments, comptés pour leur quantité déclarée.
Ce que ce module ne calcule pas, et ne calculera pas
Aucune valorisation. Pas de prix par titre, pas de montant, pas de 409A, pas de pre-money ni de post-money, pas de cascade de liquidation, pas de conversion de BSA-AIR, pas de calendrier d'acquisition progressive.
Ce sont des conclusions juridiques et financières. Un ERP qui les produirait fournirait une opinion déguisée en chiffre, et cette opinion serait lue comme un fait par le destinataire du dossier. Ces questions se traitent avec votre avocat et votre conseil, pas avec un module d'ERP.
Les lignes dont la quantité dépend d'un tour futur — BSA-AIR, obligations convertibles — portent la mention « quantité dépendante d'un tour futur », à l'écran comme dans le PDF. La quantité déclarée n'est pas la quantité qui sera émise : elle dépend de la valorisation du tour et de sa décote, que le module ne connaît pas.
Réserve
Ce registre n'est ni un registre des mouvements de titres, ni une table de capitalisation opposable, et il n'a été éprouvé contre aucun registre réel. Il est un relevé de quantités saisi à la main dans cette base.
Le relevé est figé
Quand vous calculez un dossier, la répartition est recopiée dedans. Le registre peut bouger ensuite : le dossier continuera d'afficher ce qu'il montrait le jour de son envoi. C'est ce qui permet de répondre six mois plus tard à « d'où sortait ce pourcentage ».
Questions fréquentes
Le PDF sort sans graphiques.
Vérifiez que Graphiques est coché sur le dossier. Si c'est le cas et que le
PDF reste nu, votre serveur n'a peut-être pas de wkhtmltopdf fonctionnel :
essayez d'imprimer une facture standard d'Odoo pour trancher.
Les chiffres du PDF diffèrent de ceux du classeur Excel. Cela ne devrait jamais arriver : la version complète met en forme, elle ne recalcule rien. Vérifiez d'abord que les deux fichiers viennent du même dossier et n'ont pas été produits de part et d'autre d'un recalcul. Un test automatique compare les deux à chaque publication ; si l'écart persiste, écrivez-nous.
Puis-je envoyer le dossier par courriel depuis Odoo ? Non, et c'est délibéré. Le module enregistre à qui le dossier est adressé (champ Destinataires), il ne contacte personne. L'envoi reste votre geste.
Le module appelle-t-il un service extérieur ? Non. Aucune clé d'API, aucun fournisseur de cotation, aucune donnée ne sort de la base. Tous les chiffres viennent de votre grand livre.
Support : welcome@dyonysos.fr
Avis des clients connectés. Un avis noté par client ; l'éditeur peut y répondre. Connectez-vous pour laisser un avis.
- Éditeur
- DYONYSOS
- contact@omnifloo.com
- Clients Omnifloo
- Support inclus selon votre formule : centre d'aide.