diff --git a/datas/riga.files.matching.header.csv b/datas/riga.files.matching.header.csv
index 440be8f3fc6a36fb3875500259008b81218ba9f5..8c5c1abbb82e1abbe86f950b47fca7e3fc9229ba 100644
--- a/datas/riga.files.matching.header.csv
+++ b/datas/riga.files.matching.header.csv
@@ -1,52 +1,52 @@
-id,parent_id:id,name,riga_name
-scop_contribution_header_1,odoo_scop_contribution,id_riga,EVTID
-scop_contribution_header_2,odoo_scop_contribution,type_id,EVT04
-scop_contribution_header_3,odoo_scop_contribution,year,EVT08
-scop_contribution_header_4,odoo_scop_contribution,calculation_date,EVT05
-scop_contribution_header_5,odoo_scop_contribution,amount_calculated,EVT13
-scop_contribution_header_6,odoo_scop_contribution,amount_called,EVT06
-scop_contribution_header_7,odoo_scop_contribution,amount_paid,EVT20
-scop_contribution_header_8,odoo_scop_contribution,amount_remaining_previous,EVT10
-scop_contribution_header_9,odoo_scop_contribution,amount_paid_late,EVT11
-scop_contribution_header_10,odoo_scop_contribution,spreading,EVT16
-scop_contribution_header_11,odoo_scop_contribution,amount_remaining,EVT21
-scop_contribution_header_12,odoo_scop_contribution,quarter_1,EVT27
-scop_contribution_header_13,odoo_scop_contribution,quarter_2,EVT28
-scop_contribution_header_14,odoo_scop_contribution,quarter_3,EVT29
-scop_contribution_header_15,odoo_scop_contribution,quarter_4,EVT30
-scop_questionnaire_header_1,odoo_scop_questionnaire,id_riga,EVTID
-scop_questionnaire_header_2,odoo_scop_questionnaire,year_riga,EVT02
-scop_questionnaire_header_3,odoo_scop_questionnaire,staff_count,EVT08
-scop_questionnaire_header_4,odoo_scop_questionnaire,staff_shareholder_count,EVT09
-scop_questionnaire_header_5,odoo_scop_questionnaire,staff_average,EVT10
-scop_liasse_fiscale_header_1,odoo_scop_liasse_fiscale,id_riga,EVTID
-scop_liasse_fiscale_header_2,odoo_scop_liasse_fiscale,year_riga,EVT02
-scop_liasse_fiscale_header_3,odoo_scop_liasse_fiscale,effective_date,EVT04
-scop_liasse_fiscale_header_4,odoo_scop_liasse_fiscale,duration,EVT03
-scop_liasse_fiscale_header_5,odoo_scop_liasse_fiscale,closing_date,EVT04
-scop_liasse_fiscale_header_6,odoo_scop_liasse_fiscale,source_id,EVT07
-scop_liasse_fiscale_header_7,odoo_scop_liasse_fiscale,revenue_cg,EVT08
-scop_liasse_fiscale_header_8,odoo_scop_liasse_fiscale,margin_cg,EVT09
-scop_liasse_fiscale_header_9,odoo_scop_liasse_fiscale,av_cg,EVT10
-scop_liasse_fiscale_header_10,odoo_scop_liasse_fiscale,wage_cg,EVT11
-scop_liasse_fiscale_header_11,odoo_scop_liasse_fiscale,margin2ca,EVT14
-scop_liasse_fiscale_header_12,odoo_scop_liasse_fiscale,av_cgsubv,EVT19
-scop_liasse_fiscale_header_13,odoo_scop_liasse_fiscale,revenue_cgsubv,EVT29
-scop_liasse_fiscale_header_14,odoo_scop_liasse_fiscale,is_av_lf,EVT15
-scop_liasse_fiscale_header_15,odoo_scop_liasse_fiscale,av_lf,EVT16
-scop_liasse_fiscale_header_16,odoo_scop_liasse_fiscale,revenue_sub,EVT33
-scop_liasse_fiscale_header_17,odoo_scop_liasse_fiscale,sal,EVT34
-scop_liasse_fiscale_header_18,odoo_scop_liasse_fiscale,margin,EVT35
-scop_liasse_fiscale_header_19,odoo_scop_liasse_fiscale,distribution,EVT39
-scop_liasse_fiscale_header_20,odoo_scop_liasse_fiscale,capital_cae,EVT41
-scop_liasse_fiscale_header_21,odoo_scop_liasse_fiscale,flexible_keys,EVT37
-scop_liasse_fiscale_header_22,odoo_scop_liasse_fiscale,reserve,EVT42
-scop_liasse_fiscale_header_23,odoo_scop_liasse_fiscale,share_ass_perm,EVT51
-scop_liasse_fiscale_header_24,odoo_scop_liasse_fiscale,dvpt_fund,EVT45
-scop_liasse_fiscale_header_25,odoo_scop_liasse_fiscale,share_ass_work,EVT53
-scop_liasse_fiscale_header_26,odoo_scop_liasse_fiscale,share_capital,EVT43
-scop_liasse_fiscale_header_27,odoo_scop_liasse_fiscale,share_work,EVT46
-scop_liasse_fiscale_header_28,odoo_scop_liasse_fiscale,pension_fund,EVT44
-scop_liasse_fiscale_header_29,odoo_scop_liasse_fiscale,others,EVT47
-scop_liasse_fiscale_header_30,odoo_scop_liasse_fiscale,key_name,EVT64
-scop_liasse_fiscale_header_31,odoo_scop_liasse_fiscale,status_update,EVT48
\ No newline at end of file
+id,parent_id:id,name,riga_name,relation
+scop_contribution_header_1,odoo_scop_contribution,id_riga,EVTID,
+scop_contribution_header_2,odoo_scop_contribution,type_id,EVT04,id_riga
+scop_contribution_header_3,odoo_scop_contribution,year,EVT08,
+scop_contribution_header_4,odoo_scop_contribution,calculation_date,EVT05,
+scop_contribution_header_5,odoo_scop_contribution,amount_calculated,EVT13,
+scop_contribution_header_6,odoo_scop_contribution,amount_called,EVT06,
+scop_contribution_header_7,odoo_scop_contribution,amount_paid,EVT20,
+scop_contribution_header_8,odoo_scop_contribution,amount_remaining_previous,EVT10,
+scop_contribution_header_9,odoo_scop_contribution,amount_paid_late,EVT11,
+scop_contribution_header_10,odoo_scop_contribution,spreading,EVT16,
+scop_contribution_header_11,odoo_scop_contribution,amount_remaining,EVT21,
+scop_contribution_header_12,odoo_scop_contribution,quarter_1,EVT27,
+scop_contribution_header_13,odoo_scop_contribution,quarter_2,EVT28,
+scop_contribution_header_14,odoo_scop_contribution,quarter_3,EVT29,
+scop_contribution_header_15,odoo_scop_contribution,quarter_4,EVT30,
+scop_questionnaire_header_1,odoo_scop_questionnaire,id_riga,EVTID,
+scop_questionnaire_header_2,odoo_scop_questionnaire,year_riga,EVT02,
+scop_questionnaire_header_3,odoo_scop_questionnaire,staff_count,EVT08,
+scop_questionnaire_header_4,odoo_scop_questionnaire,staff_shareholder_count,EVT09,
+scop_questionnaire_header_5,odoo_scop_questionnaire,staff_average,EVT10,
+scop_liasse_fiscale_header_1,odoo_scop_liasse_fiscale,id_riga,EVTID,
+scop_liasse_fiscale_header_2,odoo_scop_liasse_fiscale,year_riga,EVT02,
+scop_liasse_fiscale_header_3,odoo_scop_liasse_fiscale,effective_date,EVT04,
+scop_liasse_fiscale_header_4,odoo_scop_liasse_fiscale,duration,EVT03,
+scop_liasse_fiscale_header_5,odoo_scop_liasse_fiscale,closing_date,EVT04,
+scop_liasse_fiscale_header_6,odoo_scop_liasse_fiscale,source_id,EVT07,id_riga
+scop_liasse_fiscale_header_7,odoo_scop_liasse_fiscale,revenue_cg,EVT08,
+scop_liasse_fiscale_header_8,odoo_scop_liasse_fiscale,margin_cg,EVT09,
+scop_liasse_fiscale_header_9,odoo_scop_liasse_fiscale,av_cg,EVT10,
+scop_liasse_fiscale_header_10,odoo_scop_liasse_fiscale,wage_cg,EVT11,
+scop_liasse_fiscale_header_11,odoo_scop_liasse_fiscale,margin2ca,EVT14,
+scop_liasse_fiscale_header_12,odoo_scop_liasse_fiscale,av_cgsubv,EVT19,
+scop_liasse_fiscale_header_13,odoo_scop_liasse_fiscale,revenue_cgsubv,EVT29,
+scop_liasse_fiscale_header_14,odoo_scop_liasse_fiscale,is_av_lf,EVT15,
+scop_liasse_fiscale_header_15,odoo_scop_liasse_fiscale,av_lf,EVT16,
+scop_liasse_fiscale_header_16,odoo_scop_liasse_fiscale,revenue_sub,EVT33,
+scop_liasse_fiscale_header_17,odoo_scop_liasse_fiscale,sal,EVT34,
+scop_liasse_fiscale_header_18,odoo_scop_liasse_fiscale,margin,EVT35,
+scop_liasse_fiscale_header_19,odoo_scop_liasse_fiscale,distribution,EVT39,
+scop_liasse_fiscale_header_20,odoo_scop_liasse_fiscale,capital_cae,EVT41,
+scop_liasse_fiscale_header_21,odoo_scop_liasse_fiscale,flexible_keys,EVT37,
+scop_liasse_fiscale_header_22,odoo_scop_liasse_fiscale,reserve,EVT42,
+scop_liasse_fiscale_header_23,odoo_scop_liasse_fiscale,share_ass_perm,EVT51,
+scop_liasse_fiscale_header_24,odoo_scop_liasse_fiscale,dvpt_fund,EVT45,
+scop_liasse_fiscale_header_25,odoo_scop_liasse_fiscale,share_ass_work,EVT53,
+scop_liasse_fiscale_header_26,odoo_scop_liasse_fiscale,share_capital,EVT43,
+scop_liasse_fiscale_header_27,odoo_scop_liasse_fiscale,share_work,EVT46,
+scop_liasse_fiscale_header_28,odoo_scop_liasse_fiscale,pension_fund,EVT44,
+scop_liasse_fiscale_header_29,odoo_scop_liasse_fiscale,others,EVT47,
+scop_liasse_fiscale_header_30,odoo_scop_liasse_fiscale,key_name,EVT64,
+scop_liasse_fiscale_header_31,odoo_scop_liasse_fiscale,status_update,EVT48,
\ No newline at end of file
diff --git a/models/riga_files_matching.py b/models/riga_files_matching.py
index a5a77120c370fa981b7184addcf2d0aba8b02716..bc50fe005b85e104cbc745fb61fa46100698ad9a 100644
--- a/models/riga_files_matching.py
+++ b/models/riga_files_matching.py
@@ -11,8 +11,9 @@ class CgscopRigaFilesMatchingHeader(models.Model):
     parent_id = fields.Many2one(
         comodel_name='riga.files.matching',
         string='Modèle')
-    name = fields.Char('Champ Odoo')
-    riga_name = fields.Char('Header RIGA')
+    name = fields.Char('Champ Odoo', required=True)
+    riga_name = fields.Char('Header RIGA', required=True)
+    relation = fields.Char('Champ Relation')
 
 
 class CgscopRigaFilesMatching(models.Model):
diff --git a/models/riga_odoo_import.py b/models/riga_odoo_import.py
index 1439ded36e5b374d43df9c60c9401d36a347eb28..a820c43547be1508ef604b819cbf94cac129a88a 100644
--- a/models/riga_odoo_import.py
+++ b/models/riga_odoo_import.py
@@ -83,72 +83,74 @@ class CgscopRigaOdooImport(models.Model):
         :param parent_id (string):  header du fichier CSV pour lequel on va
                                     rechercher l'ID RIGA de l'organisme
         """
-        try:
-            file.seek(0)
-            # Création du lecteur CSV.
-            reader = csv.DictReader(
-                io.TextIOWrapper(file, encoding="utf-8-sig", newline=None),
-                delimiter=';')
-            model_obj = self.env[model.model]
-            crea_nb = 0
-            maj_nb = 0
-            log = ""
-            # Lecture de chaque ligne
-            for row in reader:
-                # Création de l'objet
-                vals = {}
-                for field in table:
+        # try:
+        file.seek(0)
+        # Création du lecteur CSV.
+        reader = csv.DictReader(
+            io.TextIOWrapper(file, encoding="utf-8-sig", newline=None),
+            delimiter=';')
+        model_obj = self.env[model.model]
+        crea_nb = 0
+        maj_nb = 0
+        log = ""
+        # Lecture de chaque ligne
+        for row in reader:
+            # Création de l'objet
+            vals = {}
+            for field in table:
+                print
+                vals.update({
+                    field[0]: self._cast_type(
+                        model=model,
+                        field=field[0],
+                        value=row[field[1]],
+                        relation=field[2])
+                })
+            # Vérification de la ligne dans la base
+            line = model_obj.search([
+                ['id_riga', '=', row[primary_key]]])
+            # Si il y a un enregistrement, on met à jour
+            if line:
+                line.write(vals)
+                maj_nb += 1
+            else:
+                # Check d'un organisme dans la base
+                partner = self.env['res.partner'].search([
+                    ['id_riga', '=', row[header_key]],
+                    ['is_cooperative', '=', True]])
+                # Si l'organisme existe, on crée un enregistrement
+                if partner:
                     vals.update({
-                        field[0]: self._cast_type(
-                            model=model,
-                            field=field[0],
-                            value=row[field[1]])
+                        'partner_id': partner.id
                     })
-                # Vérification de la ligne dans la base
-                line = model_obj.search([
-                    ['id_riga', '=', row[primary_key]]])
-                # Si il y a un enregistrement, on met à jour
-                if line:
-                    line.write(vals)
-                    maj_nb += 1
+                    model_obj.create(vals)
+                    crea_nb += 1
                 else:
-                    # Check d'un organisme dans la base
-                    partner = self.env['res.partner'].search([
-                        ['id_riga', '=', row[header_key]],
-                        ['is_cooperative', '=', True]])
-                    # Si l'organisme existe, on crée un enregistrement
-                    if partner:
-                        vals.update({
-                            'partner_id': partner.id
-                        })
-                        model_obj.create(vals)
-                        crea_nb += 1
-                    else:
-                        log += ("Pas d'enredistrement trouvé pour l'id " +
-                                row[primary_key] + " avec l'id riga " +
-                                row[header_key] + "\n")
-
-            # Création du log
-            self.create({
-                'model_id': model.id,
-                'is_sync': True,
-                'log': ("Import du fichier réussi : \n" + 
-                        " - Création de " + str(crea_nb) + " lignes\n" +
-                        " - Mise à jour de " + str(maj_nb) + " lignes\n\n" + log),
-                'is_warning': True if log else False,
-            })
-
-        except Exception as e:
-            _logger.error(e.__str__())
-            # Création du log
-            self.create({
-                'model_id': model.id,
-                'is_sync': False,
-                'is_error': True,
-                'log': str(e)
-            })
-
-    def _cast_type(self, model, field, value):
+                    log += ("Pas d'enredistrement trouvé pour l'id " +
+                            row[primary_key] + " avec l'id riga " +
+                            row[header_key] + "\n")
+
+        # Création du log
+        self.create({
+            'model_id': model.id,
+            'is_sync': True,
+            'log': ("Import du fichier réussi : \n" + 
+                    " - Création de " + str(crea_nb) + " lignes\n" +
+                    " - Mise à jour de " + str(maj_nb) + " lignes\n\n" + log),
+            'is_warning': True if log else False,
+        })
+
+        # except Exception as e:
+        #     _logger.error(e.__str__())
+        #     # Création du log
+        #     self.create({
+        #         'model_id': model.id,
+        #         'is_sync': False,
+        #         'is_error': True,
+        #         'log': str(e)
+        #     })
+
+    def _cast_type(self, model, field, value, relation=None):
         """ Détermine en fonction du champ la valeur typée à renvoyer
         pour l'ORM
 
@@ -167,13 +169,22 @@ class CgscopRigaOdooImport(models.Model):
                 return int(float(value.replace(',', '.')))
             elif field_type == 'float':
                 return float(value.replace(',', '.'))
-            elif field_type in ['date', 'datetime']:
+            elif field_type == 'date':
+                date_value = datetime.datetime.strptime(
+                    value, '%d/%m/%Y')
+                return date_value
+            elif field_type == 'datetime':
                 date_value = datetime.datetime.strptime(
                     value, '%d/%m/%Y %H:%M:%S')
                 return date_value
-            if field_type == 'many2one':
+            elif field_type == 'selection':
+                selection = self.env[model.model]._fields.get('state').selection
+                for item in selection:
+                    if item[1] == value:
+                        return item[0]
+            elif field_type == 'many2one':
                 m2o_value = self.env[odoo_field.relation].search([
-                    ['id_riga', '=', value]]).id
+                    [relation, '=', value]]).id
                 return m2o_value
             else:
                 return value
@@ -202,7 +213,7 @@ class CgscopRigaOdooImport(models.Model):
                 model.model_id.name
             )
             for header in model.matching_table_ids:
-                table.append((header.name, header.riga_name))
+                table.append([header.name, header.riga_name, header.relation])
             self._read_file(
                 model=model.model_id,
                 file=self._get_ftp_file(model.riga_filename),
diff --git a/models/scop_questionnaire.py b/models/scop_questionnaire.py
index 8333a6ca4cfe8bcfe1cae1cd786ac3221b05b6c7..32497c9d05579557933a44b0e3908b57bd7a7044 100644
--- a/models/scop_questionnaire.py
+++ b/models/scop_questionnaire.py
@@ -22,7 +22,7 @@ class ScopQuestionnaireImport(models.Model):
     @api.multi
     def _compute_fields(self):
         for questionnaire in self:
-            if questionnaire.year_riga != '14862':
+            if questionnaire.year_riga != '14862' and questionnaire.year_riga != '14443':
                 year = questionnaire.env['riga.lookup.table'].search([
                     ['id_riga', '=', questionnaire.year_riga]])
                 questionnaire.year = year.name
diff --git a/views/riga_files_matching.xml b/views/riga_files_matching.xml
index 3894433d67947e0098ab9a13c673c1a5fe069b3f..738068e06103430f6c2e79ddb5ccd15158bb875d 100644
--- a/views/riga_files_matching.xml
+++ b/views/riga_files_matching.xml
@@ -34,7 +34,7 @@
                             <group>
                                 <field name="primary_key"/>
                                 <field name="header_key"/>
-                                <field name="is_active"/>
+                                <field name="is_active" widget="boolean_toggle"/>
                             </group>
                         </group>
                         <group>
@@ -42,6 +42,7 @@
                                 <tree editable="bottom">
                                     <field name="name"/>
                                     <field name="riga_name"/>
+                                    <field name="relation"/>
                                 </tree>
                             </field>
                         </group>