Quebec Bill 96 francisation programme for Odoo 19, complete edition. Inventories every work document, sign, software and communication still in another language, attaches each one to a dated programme measure, and computes progress from the documents rather than from a typed-in percentage. Builds the 12-month implementation report and the 3-year language-evolution report from the parameterised intervals, prints them for the OQLF portal and records the filing. Prepares the attestation or certificate that must accompany a public tender. Posts ONE deadline activity per deadline, never one a night. Grafts onto the dyo_connexions_base source chain: internal register first, the public list of certified firms second, the portal API last and shipped inactive because none is published.
Présentation
Loi 96 — édition complète : le programme, les rapports, la soumission
Édition complète, pour Odoo 19 Community. Elle prolonge le socle gratuit dyo_loi96_qc_lite — qui tient le comptage d'effectif, le dossier et le comité — par les trois gestes qui font perdre du temps ou de l'argent quand ils sont manqués.
Le geste qui décide de l'achat
Savoir où en est la francisation, exactement, le jour où l'Office appelle.
Le socle gratuit calcule les échéances. Il ne dit pas combien de documents restent en anglais, ni qui s'en charge, ni depuis quand. C'est pourtant la seule question que pose l'Office, et la seule à laquelle un tableur ne répond plus après la première réorganisation.
L'inventaire de ce qui est à franciser
Une ligne par document de travail, par affiche, par logiciel, par formulaire, par contrat. Avec le service où il vit, le nombre d'exemplaires ou d'emplacements — c'est ce chiffre qui dit l'ampleur réelle du travail —, le responsable nommément désigné, l'échéance visée et l'état.
« Sans objet » n'est pas un succès. Les compteurs d'avancement distinguent ce qui a été traduit et vérifié de ce qu'on a décidé de ne pas traiter. Sans cette distinction, on gonfle l'avancement en déclarant tout hors sujet.
Le programme, mesure par mesure
Le programme soumis à l'Office n'est pas un texte : c'est une liste de mesures datées. Chaque mesure porte son échéance, son responsable et les documents qu'elle vise.
L'avancement se calcule sur les documents rattachés quand il y en a, et se saisit à la main sinon — et le module dit lequel des deux s'applique. Un pourcentage saisi à la main sur une mesure qui porte quarante documents est un pourcentage inventé ; un pourcentage calculé sur une mesure qui n'en porte aucun serait toujours à zéro. Les deux cas existent.
Les deux rapports, et ce qu'on confond
Le rapport de mise en œuvre se remet tous les 12 mois pendant l'application du programme. Le rapport triennal sur l'évolution de l'utilisation du français se remet tous les trois ans après le certificat. Deux rythmes, deux points de départ.
Les deux périodes se calculent à partir des valeurs réglementaires paramétrées du socle, jamais d'une constante écrite dans le code. Quand l'intervalle n'a aucune valeur en vigueur, la fin de période reste vide et le module le dit — une période calculée sur un intervalle de zéro mois finirait le jour où elle commence.
« Rassembler la période » rattache les mesures et les documents qui y tombent. Il rattache, il ne remplace pas : ce qui a été ajouté à la main reste. Un rapport qu'on régénère et qui perd les lignes ajoutées à la main est un rapport qu'on cesse de régénérer.
Un rapport déposé ne se réécrit plus. Une règle d'enregistrement ferme l'écriture et la suppression à tout le monde sur les rapports à l'état « déposé » — ce qui a été envoyé à l'Office est ce que l'Office a reçu, et c'est ce dossier-là qu'on relira dans trois ans.
La pièce à joindre à une soumission publique
L'entreprise qui veut une subvention, répondre à un appel d'offres public ou contracter avec un organisme de l'Administration doit joindre une pièce de l'Office. L'attestation d'inscription suffit : il n'est pas nécessaire d'être certifié. Beaucoup d'entreprises l'ignorent et renoncent à soumissionner.
Un assistant demande les trois renseignements qui manquent toujours — quelle pièce, pour quel appel d'offres, à quel organisme — et consigne l'envoi. Il laisse passer même quand il manque quelque chose, en l'écrivant : refuser bloquerait une soumission pour un dossier simplement incomplet dans Odoo.
Une alerte par échéance, pas une par nuit
Un cron pose une activité sur le dossier, au nom du responsable de la francisation, quand l'échéance approche. Une seule fois par échéance. Une alerte quotidienne finit dans un filtre de messagerie, et c'est alors toutes les alertes qu'on cesse de lire. Le nombre de jours est réglable par dossier : trente jours conviennent pour une analyse à préparer, trois mois ne suffisent pas toujours pour un programme à écrire.
L'API et son contournement — ici le contournement est le chemin principal
Le module se greffe sur la chaîne de sources de dyo_connexions_base. Il n'écrit pas une seconde chaîne : il ajoute une question — « cette entreprise est-elle engagée dans une démarche de francisation, et jusqu'où ? » — et trois services capables d'y répondre.
Le registre interne, c'est-à-dire les dossiers saisis dans Odoo. Il ne part jamais sur le réseau, il répond toujours, et c'est le chemin principal, pas le repli : lui seul connaît l'attestation d'inscription, la demande de programme et les dates de dépôt.
La liste publique des entreprises certifiées de l'Office. Vérifiée par appel réel : elle répond sans compte ni clé. C'est la seule chose réellement interrogeable de tout ce régime. Elle ne connaît en revanche que les entreprises déjà certifiées, et le module écrit noir sur blanc qu'une absence de cette liste n'est pas un constat de non-conformité.
L'interface de programmation du Portail OQLF, livrée inactive et déclarée indisponible : l'Office n'en publie aucune. Inventer une URL plausible serait la faute la plus grave que ce module puisse commettre — l'utilisateur croirait à une panne et attendrait un rétablissement qui n'arrivera jamais. Elle reste livrée pour nommer le manque à l'écran, et pour être activable sans toucher au code le jour où l'Office en ouvrira une.
Aucune valeur réglementaire n'est écrite dans ce module
Les seuils et les délais sont ceux du socle gratuit : des enregistrements datés portant l'URL de leur source primaire et la date de leur consultation, corrigeables depuis l'écran sans livraison de code. Ce module les lit, il n'en porte aucun.
Ce qui n'a pas été trouvé est écrit comme tel dans VERIFICATION.md, avec ce qui a été cherché et où.
Le module constate, il ne conclut pas
Il compte les documents traités et ceux qui ne le sont pas. Il dit qu'une mesure a dépassé son échéance. Il ne dit jamais si le programme est suffisant, ni si l'entreprise est en règle : c'est l'Office qui l'apprécie.
Non éprouvé en production. Aucun rapport produit par ce module n'a été déposé sur le Portail OQLF, et pour cause : le dépôt s'y fait à la main, et l'Office n'ouvre aucun service auquel se confronter. La pièce imprimée sert à relire avant de reporter ; elle ne vaut pas dépôt.
Recherché aussi sous : programme de francisation Odoo, rapport de mise en œuvre OQLF, attestation d'inscription appel d'offres Québec, inventaire documents à franciser, Bill 96 compliance Odoo, certificat de francisation soumission publique.
Caractéristiques
| Prix | 269 € HT |
|---|---|
| Licence | OPL-1 |
| Séries Odoo | 19.0 : publiée sur l'Odoo Apps Store ; 20.0 : publiée sur l'Odoo Apps Store |
| Version | 1.0.0 |
| Édition | Odoo Community / sur site |
| Nom technique | dyo_loi96_qc |
| Domaine | Ressources humaines, paie et flotte |
| Version gratuite (lite) | dyo_loi96_qc_lite |
Prix hors taxes tel qu'affiché sur l'Odoo Apps Store ; l'achat et l'installation se font sur le Store ou via votre instance Omnifloo.