diff --git a/__manifest__.py b/__manifest__.py
index c84d186c1e2235031b31c35f39589786eca04b6a..554ca462191050429349cb057a7e6bd29cc15594 100755
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -16,6 +16,7 @@
         "datas/mail_message_subtype.xml",
         "datas/mail_data.xml",
         "report/report_invoice_adhesion.xml",
+        "views/res_partner.xml",
         "views/scop_adhesion_file.xml",
     ],
 }
diff --git a/models/res_partner.py b/models/res_partner.py
index 977ed11c66851016c8f647784ac97bbaea5f6906..ef270816793b33001ea7f0e501b92151e5e162de 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -1,12 +1,15 @@
 # © 2021 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
+from pytz import timezone
 from odoo import models, api, fields
 
 
 class ScopAlfrescoAdhesionPartner(models.Model):
     _inherit = 'res.partner'
 
+    log_missing_docs = fields.Text('Documents manquants')
+
     # ------------------------------------------------------
     # Actions
     # ------------------------------------------------------
@@ -62,6 +65,32 @@ class ScopAlfrescoAdhesionPartner(models.Model):
             'context': ctx,
         }
 
+    def check_docs_adhesion(self):
+        compulsory_docs = self.get_compulsory_docs()
+        missing_docs = self.check_compulsory_docs()
+        html = str()
+        for doc in compulsory_docs:
+            html += "<input type='checkbox'"
+            if doc.name not in missing_docs:
+                html += "checked"
+            html += "/> " + doc.name + "<br/>"
+        local_tz = timezone('Europe/Paris')
+        utc_tz = timezone('UTC')
+        html += "<hr/>Vérifié le " + '<strong>' + utc_tz.localize(
+                    fields.Datetime.now()).astimezone(local_tz).strftime(
+                    "%d/%m/%Y à %-H:%M") + \
+                '</strong>'
+        self.log_missing_docs = html
+
+    # ------------------------------------------------------
+    # Business method
+    # ------------------------------------------------------
+    def get_compulsory_docs(self):
+        return self.env['scop.adhesion.file'].search([
+            ('coop_type_id', '=', self.cooperative_form_id.id),
+            ('is_compulsory', '=', True)
+        ])
+
     # ------------------------------------------------------
     # Override parent
     # ------------------------------------------------------
@@ -125,22 +154,18 @@ class ScopAlfrescoAdhesionPartner(models.Model):
         Override function to check docs with cmis query
         :return:
         """
-        errors = ''
-        compulsory_docs = self.env['scop.adhesion.file'].search([
-            ('coop_type_id', '=', self.cooperative_form_id.id),
-            ('is_compulsory', '=', True)
-        ])
+        errors = list()
+        compulsory_docs = self.get_compulsory_docs()
         loaded_docs = self.env['scop.adhesion.file'].\
             compulsory_doc_cmis_query(self)
 
         compulsory_docs_list = compulsory_docs.mapped(lambda d: {'name': d.name, 'metadata': d.type_doc})
         loaded_docs_list = list(map(lambda d: d.properties.get('crm:type'), loaded_docs))
-        for madatory_doc in compulsory_docs_list:
-            if madatory_doc.get('metadata') not in loaded_docs_list:
-                errors += "<li>" + madatory_doc.get('name') + "</li>"
+        for mandatory_doc in compulsory_docs_list:
+            if mandatory_doc.get('metadata') not in loaded_docs_list:
+                errors.append(mandatory_doc.get('name'))
 
         if errors:
-            res = '<hr/><strong>Documents manquants :</strong><ul>' + errors + '</ul>'
-            return res
+            return errors
         else:
-            return str()
+            return False
diff --git a/views/res_partner.xml b/views/res_partner.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0f82f5878650597a2ae24a3f7ab058fcd506211a
--- /dev/null
+++ b/views/res_partner.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!-- Copyright 2019 Le Filament
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+
+<odoo>
+    <data>
+
+		<!-- FORM -->
+        <record id="res_partner_scop_adhesion_alfodoo_view_form_inherit" model="ir.ui.view">
+            <field name="name">res.partner.scop.adhesion.view.form.inherit</field>
+            <field name="model">res.partner</field>
+            <field name="inherit_id" ref="cgscop_partner_alfodoo.res_partner_alfresco_view_form_inherit"/>
+            <field name="arch" type="xml">
+                <xpath expr="//field[@name='partner_cmis_folder']" position="before">
+                    <button string="Vérifier la liste des docs" type="object" name="check_docs_adhesion" class="btn-info mb-10"
+                            attrs="{'invisible': [('project_status', '!=', '4_adhesion')]}"/>
+                    <div class="alert alert-info mt16" role="alert" attrs="{'invisible':['|', '|', ('write_date', '=', False), ('log_missing_docs', '=', False), ('project_status', '!=', '4_adhesion')]}">
+                        <field class="o_field_header" name="log_missing_docs" readonly="1" widget="html"/>
+                    </div>
+                </xpath>
+            </field>
+        </record>
+
+    </data>
+</odoo>