The Kohesio validator is a tool to validate CSV-formatted files against the Kohesio data specification. Thus, the to-be-validated CSV files must be conformant to the CSV syntax rules as specified in:
- RFC (RFC-4180), for the core syntax format.
- The Kohesio Table Schema, for field definitions.
For the former, the minimum elements needed for a successful Kohesio validation are depicted in the CSV syntax rules table, while for the latter the fields and the constraints applied to them that the CSV file may have are listed in the field constraints and definition table.
CSV syntax rules
Rule |
Field |
Definition |
Add header row |
All |
A header row is expected to define the input's fields. Note: the header field names must match the one listed under “Field” in the table below. |
Use comma (“,”) character for field definition |
All |
Within the header and each record, there may be one or more fields, separated by commas. Each line should contain the same number of fields throughout the file. Spaces are considered part of a field and should not be ignored. The last field in the record must not be followed by a comma. |
Use line break for record definition. |
All |
Each record is located on a separate line, delimited by a line break. |
Field constraints and definition
Field |
Data type |
Required |
Definition |
Operation_Unique_Identifier |
string |
No |
Any unique ID. |
CountryID |
string* |
No |
Country's ID for the programme. Note: see Annex I table to check the accepted values. |
Operation_Name_Programme_Language |
string |
Yes |
Action’s name expressed in the MS’ official language. |
Operation_Name_English |
string |
No |
Action’s name expressed in English. |
Country |
string |
Yes |
Fixed value pre-filled by country. |
Location_Indicator_Postcode |
string |
Yes* |
The field corresponding to the programme address postcode. The field corresponding to the programme regional NUTS code. Note: At least one of the following fields must be present: Location_Indicator_NUTS_code, Location_Indicator_latitude_longitude or Location_Indicator_Postcode. |
Operation_Start_Date |
date |
Yes |
The start date of the operation expressed in DD/MM/YYYY format. I.e., 01/01/2021. Note: start date must always be before the date set in Operation_End_Date field. |
Operation_Expected_End_Date |
date |
No |
The expected ending date of the operation expressed in DD/MM/YYYY format. I.e., 01/01/2021. |
Operation_End_Date |
date |
Yes |
The actual ending date of the operation expressed in DD/MM/YYYY format. I.e., 01/01/2021. Note: end date must always be after the date set in Operation_Start_Date field. |
CoFinancing_Rate |
number |
Yes |
The approved co-financed percentage of the operation’s budget, expressed as a decimal number (e.g. 0.5 for 50%). |
Total_Eligible_Expenditure_amount |
number |
Yes |
Total expenditure amount eligible for financing, including decimals. |
Total_Eligible_Expenditure_Currency |
string* |
Yes |
The currency of the total eligible expenditure amount. Note: see Annex I table to check the accepted values. |
Total_Eligible_Expenditure_Exchange_Rate |
number |
No* |
The exchange rate applicable to the total eligible expenditure if in a currency different to Euro. Note: the field will be mandatory when the currency code is different to EUR. |
Location_Indicator_NUTS_code |
string |
Yes* |
The field corresponding to the programme regional NUTS code. Note: At least one of the following fields must be present: Location_Indicator_NUTS_code, Location_Indicator_latitude_longitude or Location_Indicator_Postcode. |
Beneficiary_Name |
string |
Yes |
The name of the person or entity to which the operation belongs. To be anonymised if individual person name. |
Location_Indicator_latitude_longitude |
geopoint |
Yes* |
The field corresponding to the programme address expressed as a geopoint object. Note: At least one of the following fields must be present: Location_Indicator_NUTS_code, Location_Indicator_latitude_longitude or Location_Indicator_Postcode. |
Category_Of_Intervention |
number |
Yes |
Based on the list defined in Annex I of the Commission Implementing Regulation (EU) No 215/2014. |
Fund_Code |
string |
No |
Corresponding to the CF, EAFRD, EMFF, ENI, ERDF, ESF, YEI and IPA II funds. Note: See Annex I table to check the accepted values. |
Programme_Code |
string |
No |
N/A Note: See Annex I table to check the accepted values. |
Operation_Summary_English |
string |
No |
The operation summary expressed in English. |
Operation_Summary_Programme_Language |
string |
Yes |
The operation summary expressed in its original language. |
Programming_Period |
string |
Yes |
Corresponding to the two periods in which Kohesio activity has been taking place: 2014-2020 and 2021-2027. Note: See Annex I table to check the accepted values. |
Programme_Name |
string |
No |
A human readable version of the program name. |
Program_Priority_Axis_Code |
string |
No |
To use the codes corresponding to the 11 thematic objectives set on the Cohesion Policy. |
Program_Priority_Axis_Name |
string |
No |
To use the names corresponding to the 11 thematic objectives set on the Cohesion Policy. |
Program_Specific_Objective_Code |
string |
No |
N/A |
Program_Specific_Objective_Name |
string |
No |
N/A |
Program_Thematic_Objective_Code |
string |
No |
N/A |
Program_Thematic_Objective_Name |
string |
No |
N/A |
Fund_Name |
string |
No |
A human readable version of the fund name. |
Date_Of_Last_Update |
date |
No |
Date of the last update on the operation’s status express in DD/MM/YYYY format. I.e., 01/01/2021. |
Beneficiary_Unique_Identifier |
string |
No |
Unique identifier of the beneficiary, such as a VAT or registration number. |
Social_Media_Links |
string |
No |
URLs from Facebook, Twitter, YouTube, etc. If more than one, to be separated by spaces. |
Annex I: expected values for enumerations
For the following fields, only the values detailed in the table below are accepted:
Field |
Data type |
Value |
string |
Country codes listed in the Country authority table maintained by the Publications Office. |
|
String |
Currency codes listed in the Currency authority table maintained by the Publications Office. |
|
String |
"2014-2020" or "2021-2027". |
|
String |
One of the following: "CF", "EAFRD", "EMFF", "ENI", "ERDF", "ESF", "YEI", "IPA II" |
|
String |
Codes listed in the programme code list. |
Additional considerations for Excel users
Other than the above, please take in consideration that:
- If the original file is in Excel, you have to convert it to CSV format first (using "Save as"). For more information on how to do this, please check the related Microsoft support page.
- If there are several sheets in the original Excel, only the active sheet will be exported as CSV, make sure it contains all the needed data.
- Sometimes Excel uses semicolons instead of commas as separators. If you can’t force it to use commas, it is possible to customise it in the validator, both in the API or the web UI (e.g., by using the "Specify CSV syntax settings" option in the web UI). For more information about this, please refer to the validator user guide, where both options are covered.
- The first row must always be the header containing the field names, remove any extra rows at the top of the file (same thing with extra footer lines at the bottom).
- Likewise, the validator does not allow empty field names, make sure that all cells are populated in the first row (i.e., the column names are specified).