Canada Fighting Against Forced Labour and Child Labour in Supply Chains Act (S-211) entity test and annual report. Enter assets, revenue and average employee count for your two most recent financial years: the module states how many of the three section 2 conditions are met, and for which year. The seven section 11(3) items a) to g), governing body approval with its statement and signature, website publication and filing with the Minister, and a tamper-proof event log. Thresholds shipped as dated, sourced data. Free, LGPL-3.
Overview
Loi S-211 — the test nobody knows how to apply
The Fighting Against Forced Labour and Child Labour in Supply Chains Act (S.C. 2023, c. 9) came into force on January 1, 2024. Every Canadian business that hears about it asks the same question, and no one can answer it: does it apply to me?
Also searched as: Loi S-211 Odoo, Bill S-211 compliance software, forced labour supply chain report Canada, modern slavery report Canada, annual forced labour report, Canada supply chain statement, entity test section 2 S-211.
Why nobody can answer
Because Article 2 does not set a threshold, it sets a combination: at least two of three conditions — assets, revenue, average number of employees — met for at least one of the last two fiscal years. That makes six comparisons to perform, using the thresholds in force at the close of each fiscal year. In a spreadsheet it is doable; in a spreadsheet it is also wrong from the second year onward, and nobody knows any longer who filled it in or when.
This module performs the six comparisons and records their outcome: “two of the three section 2 conditions are met for the financial year ended December 31, 2025”.
It never states that the entity is subject to the requirement
This is not token caution. Section 2 adds a Canadian nexus condition to the numerical test, and leaves the Governor in Council the power to designate other persons by regulation. A module that concluded “in scope” on the figures alone would be wrong both ways. The legal determination belongs to the company and its counsel; the module gives them the dated, reproducible finding on which to decide.
No threshold is hard-coded
The $20,000,000, the $40,000,000, the 250 employees and May 31 are shipped as configurable data, each carrying the URL of its primary source and the date it was consulted, along with its caveat. You can check them line by line, and correct them the day a regulation changes them, without touching the code.
An empty threshold is not zero: it blocks the finding. If it counted as zero, every condition would be met and the module would state the exact opposite of the truth.
The annual report, and what gives it weight
The seven items a) to g) of section 11(3) are there, clearly laid out, each in its place, with the text of the Act as field help. Including item e) — the measures taken to remediate the loss of income to the most vulnerable families — which is the one most often forgotten and ranks equally with the others.
Next comes what makes a report worth something, and what files most often lack: approval by the governing body (section 11(4)), evidenced by a statement setting out the basis of the approval and by the signature of at least one member (section 11(5)). The module refuses to approve without both, and the refusal lists everything missing at once.
Then publication on the website (section 13(1)) with its URL — a checked box without a URL does not prove publication — and submission to the Minister (section 11(1)) with its acknowledgment of receipt.
A log that cannot be rewritten
Every finding, every approval, every withdrawal of approval, every publication and every filing leaves a dated, signed line. A record rule prevents everyone, the compliance officer included, from modifying or deleting it. A log that can be corrected after the fact proves nothing.
What the module does not do
It files nothing. Public Safety Canada offers no filing API: the online form is filled in by hand. The module prepares the seven sections and records the filing and its acknowledgment.
The questionnaire required under the Minister's terms — section 11(6) — had not been retrieved from a primary source as of September 14, 2026. It is therefore not included, and the module says so on screen rather than inventing one.
The supplier register, risk assessment by supplier and by country, the due diligence questionnaire and its follow-up, the revised section 12 report, generation of the report document and the May 31 alert are combined in the Loi S-211 module — suppliers, due diligence and revised report.
Not proven in production
This module is proven by its automated tests on a fresh Odoo 19 database. It has not been run through a full filing season by a real user, and we would rather say so here than let you find out.
Specifications
| Price | Free |
|---|---|
| License | LGPL-3 |
| Odoo series | 19.0: published on the Odoo Apps Store; 20.0: published on the Odoo Apps Store |
| Version | 1.0.0 |
| Edition | Odoo Community / on-premise |
| Technical name | dyo_s211_ca_lite |
| Domain | Industries and services |
| Premium version | dyo_s211_ca |
Price excluding VAT as displayed on the Odoo Apps Store; purchase and installation are done on the Store or through your Omnifloo instance.