diff --git a/models/api_alfresco.py b/models/api_alfresco.py
index 2ea90bd1f185ab52097c874113f198dc46197207..89098fa11aac0a4c0e92140c26a5045fce6e674a 100644
--- a/models/api_alfresco.py
+++ b/models/api_alfresco.py
@@ -219,7 +219,8 @@ class CgscopAlfresco(models.AbstractModel):
                 _("Le dossier parent n'existe pas ou n'est pas renseigné !")
             )
 
-        cmis_obj = backend.get_cmis_repository().getObject(folder)
+        cmis_rep = backend.get_cmis_repository()
+        cmis_obj = cmis_rep.getObject(folder)
         _logger.info("Chargement document Alfresco : %s" % name)
         try:
             file_upload = cmis_obj.createDocument(
@@ -229,10 +230,20 @@ class CgscopAlfresco(models.AbstractModel):
                 contentType="application/pdf",
             )
             return file_upload
+        except UpdateConflictException:
+            _logger.info("Le document %s existe déjà dans le dossier spécifié" % name)
+            # Recherche noderef document existant
+            children = cmis_obj.getChildren().getResults()
+            old_cmis_file = list(filter(lambda f: f.name == name, children))[0]
+            # Création d'une copie de travail du document pour versionnage
+            pwc = old_cmis_file.checkout()
+            # Mise à jour de la version
+            pwc.checkin(
+                contentFile=file, contentType="application/pdf", properties=metadata
+            )
         except (
             ContentAlreadyExistsException,
             ObjectNotFoundException,
-            UpdateConflictException,
             InvalidArgumentException,
         ) as e:
             _logger.error(e)