Palier Fixe and CIDS mapping
Overview
Section titled “Overview”The Palier Fixe is a standard questionnaire for social enterprise, social economy organizations, and social purpose organizations (SPOs) in the Quebec social purpose ecosystem to report their organization profiles and the impact of their work.
Common Approach, Cap Finance, Fiducie du Chantier, Fonds Fiducie du Chantier, and RISQ have collaborated to align the Palier Fixe questionnaire to the Common Impact Data Standard by sharing it as a controlled vocabulary list. This alignment makes it easier to:
- Exchange Palier Fixe responses from one organization’s software to another
- Implement the Palier Fixe questionnaire in software
- Align Palier Fixe questions and responses with other existing standards and taxonomies, such as SDGs and SELI
For this initial version release, the aligned version of Palier Fixe will be implemented in Amplify software by Context Research Group, and in Fiducie du Chantier’s Zoho CRM.
Fonds Fiducie has created a questionnaire in Zoho that uses some, but not all, of the Palier Fixe questions, and also adds other questions that are not part of Palier Fixe. Zoho can output the responses to this questionnaire as a CSV file.
The goal is to convert this Zoho export into an impact data capsule so that it can be easily imported by other software that is aligned with the Common Impact Data Standard.
The impact data capsule files produced by these systems working together will be interoperable with any other software that is aligned with the Common Impact Data Standard.
Implementation guide
Section titled “Implementation guide”Reference documents
Section titled “Reference documents”Three documents define the Palier Fixe alignment to the Common Impact Data Standard and how it can be applied to Fonds Fiducie’s exchange of impact report data to funders:
1. The official “Palier Fixe source of truth”
Section titled “1. The official “Palier Fixe source of truth””Every question and response option in the Palier Fixe questionnaire resides in an Excel sheet. The definitive version of the questionnaire is managed by Cap Finance in collaboration with CRG.
There is one question or sub-question per row in the document table. Each row is assigned a unique identifier like “PF001230”. Other documents and code lists that refer to Palier Fixe questions use these identifiers.
2. Palier Fixe “code lists”
Section titled “2. Palier Fixe “code lists””The Palier Fixe questionnaire contains implicit and explicit references to measurement terms and concepts that can be represented using the Common Impact Data Standard. These terms and concepts are described in “code list” files, and include Indicators, Outcomes, Themes, and Characteristics, each with their own unique identifiers.
At this time, the Indicator code list only includes full definitions (with units of measure, associated outcomes, etc.) for Palier Fixe questions that appear in the Zoho export.
These are hosted at https://codelist.commonapproach.org/PalierFixeElement in HTML and CSV formats, as well as several machine-readable formats (rdf/xml / turtle / json-ld / n-triples).
A note on similarity in terminology: The Palier Fixe concept “Indicateur” maps to the Common Impact Data Standard class “Outcome”. The Palier Fixe concept “Question” maps to Common Impact Data Standard’s “Indicator”; although often one Question maps to Common Impact Data Standard as several Indicators. It would be very easy to accidentally and incorrectly map “Indicateur” to “Indicator”. This accidental similarity in terms is highlighted here to avoid confusion.
3. A mapping file for Fonds Fiducie’s Zoho Export
Section titled “3. A mapping file for Fonds Fiducie’s Zoho Export”The mapping file relates the Zoho output column headings to Common Impact Data Standard classes and properties, and to Palier Fixe code list items. This file is shared as an annotated Excel spreadsheet at https://codelist.commonapproach.org/PalierFixeMapping.xlsx
The PalierFixeQs tab is a copy of the definitive version of the questionnaire.
- Column A of the PalierFixeQs tab lists the row number of the matching entry in the Fonds-ZohoMapping tab.
- Column B of the PalierFixeQs tab has the unique identifier for that question or sub-question.
The Fonds-ZohoMapping tab lists all the columns in the output from Zoho, and which type of Common Impact Data Standard items they map to.
- Column M of the Fonds-ZohoMapping tab shows the Palier Fixe identifier that maps to that row of Zoho output.
Working with code lists
Section titled “Working with code lists”Every item, term and concept in data aligned to the Common Impact Data Standard has a “URI”—a unique identifier. This is a core feature of the Linked Open Data standards that the Common Impact Data Standard is built on. This system of URIs helps software to recognize and combine the same/similar data together across different impact report datasets.
The items in code lists like Palier Fixe, SDG goals, ESDC sectors, and others are more or less static and unchanging. This means that the complete definitions of all the items in the lists don’t need to be included in every report file or file that uses them. It’s sufficient to refer to an item by its URI, and software can look up the details about that item or resource when it’s needed. This makes data exchange more efficient.
When software creates an Impact data capsule for a specific organization’s report, it usually only includes the complete data for items “owned by” the reporting organization, and created by their software. The impact data may refer to items defined in code lists (e.g. with the “hasCode” property), but the entire entry for the code list item is not included in the impact data capsule to be exchanged.
Where Palier Fixe code list items get used
Section titled “Where Palier Fixe code list items get used”Palier Fixe code list items will appear as references in the following classes/properties:
- Indicator hasCode Palier Fixe Indicator code list
- EDGProfile forEDG Palier Fixe Characteristic code list
- PopulationServed Palier Fixe Characteristic code list
The Palier Fixe Outcome and Theme classes are only referenced from the Palier Fixe code list entries for indicators; there are no columns in the Zoho export that refer to them directly. This means that by default, references to these items may not appear in Palier Fixe impact data capsules at all. The expectation is that software intending to analyse Palier Fixe report data would import data capsules as well as the relevant code lists in order to have a “complete graph” of the impact data.
Handling SPO-defined items
Section titled “Handling SPO-defined items”The connections between Indicator, Outcome, and Theme are “hard-coded” in the Palier Fixe code list and should not be edited by individual SPOs, nor should SPOs or software assert additional linked objects or additional properties for items defined in code lists as this can cause conflicts when reports are merged.
If their software enables it, SPOs may also include additional Indicators, Outcomes, Themes, or Characteristics in their impact data capsules provided that
- If they have defined these themselves, the instances have valid organization-specific URIs, or
- that they use valid URIs from another published RDF taxonomy or controlled vocabulary
If asserting new relationships or properties for a Palier-Fixe-defined item is absolutely required for a specific SPO:
- make a ‘copy’ of the Palier Fixe item with an SPO-specific URI
- assert whatever relationships are needed
- relate this new instance to the relevant Palier Fixe item using the hasCode property
Mapping and creating impact data capsules
Section titled “Mapping and creating impact data capsules”The mapping file shows the relationships between the column headings in the CSV export from Fiducie’s Zoho CRM and the classes and the relevant classes and properties in the Common Impact Data Standard. The mapping file for the Zoho export maps to the following classes:
- From Common Impact Data Standard:
- Address
- Indicator
- IndicatorReport (and Measure)
- Organization
- OrganizationID
- Person
- From Social Finance Fund Companion Module:
- EDGProfile
- FundingStatus
- OrganizationProfile
- ReportInfo
- TeamProfile
Most of these are 1:1 mappings of a column/value to a single property-value pair, but some custom transformations will be required to create multiple class instances, and/or linked class instances, described below.
Indicator and IndicatorReport
Section titled “Indicator and IndicatorReport”The most common matching creates instances of Indicators and IndicatorReports from Zoho responses. In these matches:
- A Zoho column header maps to a Palier Fixe identifier. For example Zoho column heading “Nouveaux membres inscrits durant la dernière année” maps to “PF000840”.
- For the Indicator
- The software writing the impact data capsule will create an Indicator in the reporting organization’s namespace e.g.
https://exampleSPO.org/Indicator/nouveauxmembresinscritsor using whatever scheme for identifiers is appropriate for them, as long as it’s globally unique and stable. For more on minting URIs, see our note on Github “Writing URIs for the Common Impact Data Standard”. - The Indicator’s hasName property may use the Zoho column name, or pull the full name from the related Palier Fixe item: “Si l’entreprise tient un registre des membres, quel est le nombre de nouveaux membres inscrits dans la dernière année financière ?”.
- The Indicator’s hasCode property is populated with the relevant codelist value:
https://codelist.commonapproach.org/PalierFixeElement#PF000840. - The forOrganization value of the Indicator would be the URI for the reporting organization, e.g. https://exampleSPO.org/Organization/exampleSPOname
- The software writing the impact data capsule will create an Indicator in the reporting organization’s namespace e.g.
- For the IndicatorReport
- The Indicator has an associated IndicatorReport with a URI in the reporting organization’s namespace e.g.
https://exampleSPO.org/IndicatorReport/nouveauxmembresinscritsdurantladerniereannee2025, or using whatever scheme for identifiers works for them. - The forIndicator property of the IndicatorReport has the URI for the SPO’s Indicator, noted above
- The response value from the SPO would be assigned as the “hasNumericalValue” value for the i72:Measure nested in the IndicatorReport.
- The forOrganization value of the IndicatorReport would be the URI for the reporting organization, e.g.
https://exampleSPO.org/Organization/exampleSPOHQ
- The Indicator has an associated IndicatorReport with a URI in the reporting organization’s namespace e.g.
Example: Zoho data CSV excerpt
We assume that a response to a question from an SPO comes out of Zoho in CSV format as follows.
| Nouveaux membres inscrits durant la dernière année |
|---|
| 250 |
The column heading “Nouveaux membres inscrits durant la dernière année” is mapped to PF000840 in the mapping sheet.
Example: Impact Data Capsule snippet
The IndicatorReport is defined with a URI in the example SPO’s namespace.
There is not a strict formula for the hasName value for IndicatorReports, it just has to be a string, and preferably of non-zero length. The example concatenates the linked Indicator name with the reporting year, but this can be flexible according to user needs.
The hasCode value links to the relevant code list item. The unit_of_measure value is assumed to be inherited from the linked Indicator.
hasNumericalValue’s datatype is xsd:string, so the value “250” is in double quotes.
{ "@context": [ "https://ontology.commonapproach.org/contexts/cidsContext.jsonld", "https://ontology.commonapproach.org/contexts/sffContext.jsonld" ], "@type": "cids:Indicator", "@id": "https://exampleSPO.org/Indicator/nouveauxmembresinscrits", "hasName": "Nouveaux membres inscrits durant la dernière année", "hasComment": "", "hasCode": "https://codelist.commonapproach.org/PalierFixeElement#PF000840", "unitDescription": "Count", "hasIndicatorReport": "https://exampleSPO.org/IndicatorReport/nouveauxmembresinscritsdurantladerniereannee2025", "forOrganization": "https://exampleSPO.org/Organization/exampleSPOHQ" },{ "@context": [ "https://ontology.commonapproach.org/contexts/cidsContext.jsonld", "https://ontology.commonapproach.org/contexts/sffContext.jsonld" ], "@type": "cids:IndicatorReport", "@id": "https://exampleSPO.org/IndicatorReport/nouveauxmembresinscritsdurantladerniereannee2025", "hasName": "Nouveaux membres inscrits durant la dernière année 2025", "hasComment": "", "value": { "@type": "i72:Measure", "hasNumericalValue": "250", "unit_of_measure": "https://ontology.commonapproach.org/cids#countUnit" }, "startedAtTime": "2025-01-01T00:00:00-05:00", "endedAtTime": "2025-12-31T23:59:59-05:00", "forIndicator": "https://exampleSPO.org/Indicator/nouveauxmembresinscrits", "forOrganization": "https://exampleSPO.org/Organization/exampleSPOHQ" }Demographic data: EDGProfile and Characteristic
Section titled “Demographic data: EDGProfile and Characteristic”In these cases, a question heading relates to a Characteristic in the Palier Fixe code list, but the mapping is in the mapping file itself—there is not an exact match of the column heading text to a value in the Characteristic class item.
The mapping file “SPOSpecific” tab shows the exact match of the column heading text “Nombre de membres Autochtones Premières Nations” with the class EDGProfile, and the Characteristic code list item https://codelist.commonapproach.org/PalierFixeElement#autochtonespremieresnations.
Example: Zoho data CSV excerpt
| Nombre de membres Autochtones Premières Nations |
|---|
| 5 |
Example: Impact Data Capsule snippet for EDGProfile
The forEDG value links to the relevant code list item.
Note that the response value “5” maps to the “hasSize” property of EDGProfile. hasSize is datatype xsd:nonNegativeInteger, so there are no double quotes around it, as there are for the string-type values in IndicatorReports.
{ "@context": [ "https://ontology.commonapproach.org/contexts/cidsContext.jsonld", "https://ontology.commonapproach.org/contexts/sffContext.jsonld" ], "@type": "sff:EDGProfile", "@id": "https://exampleSPO.org/EDGProfile/Membres/membresautochtonespremieresnations20252131", "forEDG": "https://codelist.commonapproach.org/PalierFixeElement#autochtonespremieresnations", "hasSize": 5, "reportedDate": "2025-12-31T23:59:59-05:00" }“Membres” refers to Board size, so this EDGProfile would be one of several (one for each demographic category) related to a TeamProfile for a reporting period. The TeamProfile would in turn be linked from the hasBoardProfile property of an OrganizationProfile instance.
Both of these instances (EDGProfile and the TeamProfile that connects multiple EDGProfiles) and the links from the OrganizationProfile node to the TeamProfiles must be created as part of the conversion process for the mapped demographic data questions; these relationships are implicit in the Palier Fixe data from Zoho and are explicitly defined in the Social Finance Fund companion module.
ODD: Theme
Section titled “ODD: Theme”Theme hierarchies, and the relationships of Outcomes to Themes, are defined in the “Arborescence” tabs of the Palier Fixe questionnaire file. These have been ‘hard coded’ into the code list entries.
For Theme hierarchies, our convention is to model the Theme hierarchy using the relatesTo objectproperty on the cids:Theme class. In our convention, child themes use relatesTo to link to parent themes, for example:
{ "@context": [ "https://ontology.commonapproach.org/contexts/cidsContext.jsonld", "https://ontology.commonapproach.org/contexts/sffContext.jsonld" ], "@type": "cids:Theme", "@id": "https://codelist.commonapproach.org/PalierFixeElement#Primautedelhumainsurlecapital", "hasName": "Primauté de l’humain sur le capital", "hasDescription": "" },{ "@context": [ "https://ontology.commonapproach.org/contexts/cidsContext.jsonld", "https://ontology.commonapproach.org/contexts/sffContext.jsonld" ], "@type": "cids:Theme", "@id": "https://codelist.commonapproach.org/PalierFixeElement#Emploisdignesetdequalite", "hasName": "Emplois dignes et de qualité", "hasDescription": "", "relatesTo": ["https://codelist.commonapproach.org/PalierFixeElement#Primautedelhumainsurlecapital" ] }Retombée: Outcome
Section titled “Retombée: Outcome”The Zoho export file has several columns with headings like “Nom de la retombée 4.A.1”. The responses associated with these headings are automatically filled by Zoho with the names of the Outcomes; they do not change across different SPO responses. These have been captured in the Palier Fixe code list and can be ignored in the output.
OrganizationProfile and related codelists
Section titled “OrganizationProfile and related codelists”Other required links to code list items, mainly from the OrganizationProfile class, are defined in the Social Finance Fund companion module documentation. Code lists are on the Code List server.
Tables are provided below to map the responses (labels) to code list items for the picklist-driven responses to OrganizationProfile questions.
Locality Served
Section titled “Locality Served”Codelist: https://codelist.commonapproach.org/LocalityStatsCan.jsonld
| label | LABELEN | URL |
|---|---|---|
| Tout le Canada | All of Canada | https://codelist.commonapproach.org/LocalityStatsCan#loc7 |
| Grand centre de population urbaine | Large Urban Population Centre | https://codelist.commonapproach.org/LocalityStatsCan#loc1 |
| Centre de population de taille moyenne | Medium Population Centre | https://codelist.commonapproach.org/LocalityStatsCan#loc2 |
| Centre de population de petite taille | Small Population Centre | https://codelist.commonapproach.org/LocalityStatsCan#loc3 |
| Régions rurales | Rural Areas | https://codelist.commonapproach.org/LocalityStatsCan#loc4 |
| Communautés et territoires autochtones | Indigenous Communities and Lands | https://codelist.commonapproach.org/LocalityStatsCan#loc5 |
| Nord du Canada | Northern Canada | https://codelist.commonapproach.org/LocalityStatsCan#loc6 |
Sectors Served
Section titled “Sectors Served”Codelist: https://codelist.commonapproach.org/ESDCSector.jsonld
Organization Types
Section titled “Organization Types”Codelist: https://codelist.commonapproach.org/OrgTypeGOC.jsonld
| Response label | Matching URI |
|---|---|
| Coop de travail | https://codelist.commonapproach.org/OrgTypeGOC#Cooperative |
| Coop de solidarité | https://codelist.commonapproach.org/OrgTypeGOC#Cooperative |
| Coop de producteurs | https://codelist.commonapproach.org/OrgTypeGOC#Cooperative |
| Coop de consommateurs | https://codelist.commonapproach.org/OrgTypeGOC#Cooperative |
| Coop de travailleurs actionnaire | https://codelist.commonapproach.org/OrgTypeGOC#Cooperative |
| Coop d’habitation | https://codelist.commonapproach.org/OrgTypeGOC#Cooperative |
| Coop de services financiers | https://codelist.commonapproach.org/OrgTypeGOC#Cooperative |
| Fiducie d’utilité sociale | https://codelist.commonapproach.org/OrgTypeGOC#nonProfit |
| OBNL (organisme communautaire) | https://codelist.commonapproach.org/OrgTypeGOC#nonProfit |
| OBNL (entreprise d’économie sociale) | https://codelist.commonapproach.org/OrgTypeGOC#nonProfit |
| Entreprise privée | https://codelist.commonapproach.org/OrgTypeGOC#forProfit |
ProvinceTerritory Served
Section titled “ProvinceTerritory Served”There is no question for “Provinces and/or territories served” in the Palier Fixe, but this information is required by ESDC for Social Finance Fund reporting.
It is assumed that for all Palier Fixe responses the default value is “Quebec”: https://codelist.commonapproach.org/ProvinceTerritory#QC
ProvinceTerritory Codelist: https://codelist.commonapproach.org/ProvinceTerritory.jsonld
Palier Fixe code list details
Section titled “Palier Fixe code list details”Primary classes (rdf:types)
Section titled “Primary classes (rdf:types)”There are four classes from the Common Impact Data Standard represented in the code list file; each instance has the properties appropriate to its class.
For detailed documentation on datatypes and cardinality restrictions for each class and property, please refer to the Common Impact Data Standard Alignment Checklist.
The included classes and properties are:
- Characteristic (11 items)
- hasName
- hasDescription
- hasCode links to PopulationServed code list items
- Indicator (193 items)
- hasName
- hasDescription
- unitDescription
- unit_of_measure links to UnitsOfMeasureList code list items
- forOutcome links to PalierFixeElements Outcomes
- forTheme links to SDGImpacts code list items
- forOrganization links to a “Palier Fixe” placeholder organization URI
- Outcome (19 items)
- hasName
- hasDescription includes a description of the priority order of linked SDG (ODD) Themes
- hasIndicator links to PalierFixeElements Indicators.
- forTheme links to PalierFixeElements Themes, and SDGImpacts code list items
- forOrganization links to a “Palier Fixe” placeholder organization URI
- Theme (18 items: 5 Fondement and 13 Enjeu)
- hasName
- hasDescription describes Palier Fixe Theme hierarchy, and whether the Theme is an “Enjeu” (child Theme) or “Fondement” (parent Theme).
- relatesTo for “child” Themes, this property holds the URI of the “parent” Theme.
Multi-typing as Code class
Section titled “Multi-typing as Code class”Each item in the Palier Fixe code list is also multi-typed as a skos:Concept and a cids:Code , which means that each item also bears the additional required property for the Code class:
- definedBy links to the URI of the organization that defined the Code (in this case, a “Palier Fixe” placeholder organization URI)
By multi-typing, the list item URIs can be used directly as their primary types, but can also be valid values of Code for the hasCode property of an instance of Characteristic, Indicator, Outcome, or Theme in another namespace.
This alternate method is not part of the initial implementation approach; it is a “future-proofing” design feature. The “defined by” property of Code can be omitted from import/export functionality of impact data capsules and impact measurement software databases unless otherwise specified.
References to standards
Section titled “References to standards”Normative standards documents
Section titled “Normative standards documents”Palier Fixe code list: https://codelist.commonapproach.org/PalierFixeElement
Palier Fixe mapping file: https://codelist.commonapproach.org/PalierFixeMapping.xlsx
Common Impact Data Standard ontology file (TTL): https://ontology.commonapproach.org/cids.ttl
Social Finance Fund companion module ontology file (TTL): https://ontology.commonapproach.org/sff.ttl
Other code lists (Turtle versions are generally the ‘canonical’ version): https://codelist.commonapproach.org/
The CSV export from Fiducie du Chantier’s Zoho CRM, where Palier Fixe has been implemented, is the definitive source for entity names and identifiers. The entity names (hasName properties) in the code list and mapping files are intended to be exact matches with the column heading names in the Zoho export.
Non-normative standards references
Section titled “Non-normative standards references”Common Impact Data Standard
- HTML version of guide: https://ontology.commonapproach.org/cids-en.html
- Quick reference for datatypes and cardinality restrictions for each class and property: Common Impact Data Standard Alignment Checklist.
- SHACL validation file for CIDS basic tier and SFF combined: https://ontology.commonapproach.org/validation/shacl/sff.shacl.ttl
Social Finance Fund companion module
- HTML: https://ontology.commonapproach.org/2.0.0/sff-en.html
- Further implementation details: https://ontology.commonapproach.org/2.0.0/SFFCompanionModulev2-0.pdf
URI slugification
Section titled “URI slugification”In earlier versions, entity identifiers in URIs were slugified versions of the Zoho column heading names. These were created with a custom “slugify” function in Google Sheets:
/*** Converts text into a URL-friendly slug.* @param {string} input The text to slugify.* @return The slugified string.* @customfunction*/function SLUGIFY(input) { if (!input) return ""; return input.toString().toLowerCase() .normalize('NFD') // Splits accents from letters .replace(/[\u0300-\u036f]/g, "") // Removes accents .replace(/\s+/g, '') // Removes spaces .replace(/[^\w\-]+/g, '') // Removes all non-word chars .replace(/\-\-+/g, '-') // Replaces multiple - with single - .replace(/^-+/, '') // Trim - from start .replace(/-+$/, ''); // Trim - from end}Changes in this version
Section titled “Changes in this version”Version 1.2, May 28 2026
These changes reflect our understanding that the Palier Fixe may continue to evolve, even if only slowly and incrementally.
Model for Indicator: It’s a design decision whether to use controlled vocabulary items directly in impact data capsules as the type of thing they are, or to refer to them via ‘hasCode’ properties. Using them directly can simplify graphs somewhat by removing “extra hops” in analysis, but this relies on the code list items being very static, and can easily create conflicts when data sets are merged or melted together.
With version 1.2 of the Palier Fixe code list, we’ve changed our recommendation with respect to mapping/modeling Indicators to NOT use the Palier Fixe Indicator code list items directly as Indicators, and instead create SPO-specific Indicator instances that are mapped to the Palier Fixe code list items.
A second reason for this change is that there may be items in specific software outputs that map to Indicators, but may not map to any item in the Palier Fixe indicator code list. To have all of the Indicators from that source appear in the organization’s namespace, rather than just some, is a cleaner and more consistent approach.
Palier Fixe Indicator identifiers: We have changed to a sequential numbering system to be “meaning agnostic” and more stable over time. In the previous version, identifiers for Palier Fixe Indicators were based on slugs of the column names in the Zoho export. This posed a few challenges:
- The Zoho output did not include all Palier Fixe Indicators, leaving gaps for future potential mappings to updated or changed data sources.
- There were duplicates in the Zoho column headings.
- The column headings were based on the question’s wording, which may change, and lead to confusing identifiers that don’t match the questions.
We evaluated a concatenation of section and question numbers as an alternate basis for meaningful identifiers, but recognized that the order may change and result in conflicting or confusing identifiers.
Outcomes, Themes, and Characteristics still use URIs with slugs of the item names.
