Skip to Content

Québec Bill 96 — Full Edition: Francization Inventory, Program and Timeline, Reports to the Office and Public Tender Document

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.

269.00 € 269.00 €

Free
Cette application n'est pas vendue ici : utilisez les boutons Odoo Apps Store ou Omnifloo ci-dessous.
Terms and Conditions
30-day money-back guarantee
Shipping: 2-3 Business Days

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.

View on the Odoo Apps StoreTry it on Omnifloo

Overview

Loi 96 — full edition: the program, the reports, the submission

Full edition, for Odoo 19 Community. It extends the free foundation dyo_loi96_qc_lite — which handles the headcount, the file and the committee — with the three actions that waste time or money when they are missed.

The action that drives the purchase

Knowing exactly where your francization stands on the day the Office calls.

The free foundation calculates deadlines. It does not tell you how many documents are still in English, who is handling them, or since when. Yet that is the only question the Office asks, and the only one a spreadsheet can no longer answer after the first reorganization.

The inventory of what needs to be made French-compliant

One line per working document, poster, piece of software, form, contract. With the department where it lives, the number of copies or locations — that figure shows the real scale of the work —, the person named as responsible, the target date and the status.

“Not applicable” is not a success. Progress counters distinguish what has been translated and verified from what was deliberately left out. Without this distinction, progress gets inflated by declaring everything out of scope.

The program, measure by measure

The program submitted to the Office is not a text: it is a list of dated measures. Each measure carries its deadline, its owner and the documents it covers.

Progress is calculated from the attached documents when there are any, and entered manually otherwise — and the module states which of the two applies. A percentage entered by hand on a measure that carries forty documents is an invented percentage; a percentage calculated on a measure that carries none would always be zero. Both cases exist.

The two reports, and what gets confused

The implementation report is submitted every 12 months while the program is being applied. The three-year report on the evolution of French language use is submitted every three years after the certificate. Two cycles, two starting points.

Both periods are calculated from the foundation's configured regulatory values, never from a constant written in the code. When the interval has no value in force, the end of the period is left empty and the module says so — a period calculated on a zero-month interval would end on the day it starts.

“Gather the period” links the measurements and documents that fall within it. It links, it does not replace: anything added manually stays. A report that loses manually added lines when regenerated is a report people stop regenerating.

A filed report can no longer be rewritten. A record rule locks writing and deletion for everyone on reports in the “filed” state — what was sent to the Office is what the Office received, and that is the file that will be reread three years from now.

The document to attach to a public tender

A company that wants a grant, to bid on a public tender or to contract with a government body must attach a document from the Office. The certificate of registration is sufficient: certification is not required. Many companies do not know this and give up on bidding.

A wizard asks for the three pieces of information that are always missing — which document, for which tender, for which agency — and logs the submission. It lets the submission through even when something is missing, and records it: refusing would block a bid over a file that is merely incomplete in Odoo.

One alert per deadline, not one per night

A scheduled action creates an activity on the file, assigned to the francisation officer, as the deadline approaches. Only once per deadline. A daily alert ends up in an email filter, and then people stop reading all alerts. The number of days is configurable per file: thirty days is enough for an analysis to prepare; three months is not always enough for a program to write.

The API and its workaround — here the workaround is the main path

The module plugs into the source chain of dyo_connexions_base. It does not write a second chain: it adds one question — “is this business engaged in a francization process, and how far along is it?” — and three services able to answer it.

  1. The internal register, that is, the records entered in Odoo. It never goes over the network, it always responds, and it is the main path, not the fallback: it alone knows the registration certificate, the program application and the filing dates.

  2. The Office's public list of certified companies. Verified with a real call: it responds without an account or key. It is the only thing in this entire regime that can actually be queried. It only knows companies that are already certified, however, and the module states in black and white that absence from this list is not a finding of non-compliance.

  3. The OQLF Portal programming interface, shipped inactive and declared unavailable: the Office (Office québécois de la langue française) does not publish one. Inventing a plausible URL would be the most serious mistake this module could make — the user would believe there was an outage and wait for a recovery that will never come. It is still shipped so the gap is named on screen, and so it can be activated without touching the code on the day the Office opens one.

No regulatory value is hard-coded in this module

Thresholds and deadlines are those of the free foundation: dated records carrying the URL of their primary source and the date it was consulted, correctable on screen without a code release. This module reads them; it does not hold any of its own.

What was not found is written as such in VERIFICATION.md, along with what was searched for and where.

The module records findings; it does not draw conclusions

It counts the documents that have been processed and those that have not. It says when a measure is past its deadline. It never says whether the program is sufficient, or whether the company is compliant: that is for the Office to assess.

Not proven in production. No report produced by this module has been filed on the OQLF Portal, and for good reason: filing there is done by hand, and the Office provides no service to test against. The printed document is for review before transcribing; it does not constitute a filing.

Also searched as: Odoo francization program, OQLF implementation report, OQLF registration certificate for Quebec calls for tender, inventory of documents to francize, Bill 96 compliance Odoo, francization certificate for public tenders.

Specifications

Price€269 excl. VAT
LicenseOPL-1
Odoo series19.0: published on the Odoo Apps Store; 20.0: published on the Odoo Apps Store
Version1.0.0
EditionOdoo Community / on-premise
Technical namedyo_loi96_qc
DomainHuman resources, payroll and fleet
Free version (lite)dyo_loi96_qc_lite

Price excluding VAT as displayed on the Odoo Apps Store; purchase and installation are done on the Store or through your Omnifloo instance.