diff --git a/src/app/action/controllers/ExternalSignatoryBookTrait.php b/src/app/action/controllers/ExternalSignatoryBookTrait.php
index f05c32182695129e0a1b3db5db0a9d255691548c..c1ae10ea885ff28e0e3b77779eb06ec5cc2c131e 100644
--- a/src/app/action/controllers/ExternalSignatoryBookTrait.php
+++ b/src/app/action/controllers/ExternalSignatoryBookTrait.php
@@ -13,11 +13,13 @@
 namespace Action\controllers;
 
 use Attachment\models\AttachmentModel;
+use Entity\models\ListInstanceModel;
 use ExternalSignatoryBook\controllers\MaarchParapheurController;
 use ExternalSignatoryBook\controllers\XParaphController;
 use Resource\models\ResModel;
 use SrcCore\models\CoreConfigModel;
 use SrcCore\models\ValidatorModel;
+use User\models\UserModel;
 
 trait ExternalSignatoryBookTrait
 {
@@ -106,11 +108,28 @@ trait ExternalSignatoryBookTrait
             $document = ResModel::getById(['resId' => $args['resId'], 'select' => ['status']]);
             
             if ($document['status'] == 'EVIS' || $document['status'] == 'ESIG') {
-                //     $sequence    = $circuit_visa->getCurrentStep($res_id, $coll_id, 'VISA_CIRCUIT');
-                $stepDetails = array();
-                //     $stepDetails = $circuit_visa->getStepDetails($res_id, $coll_id, 'VISA_CIRCUIT', $sequence);
+                $stepDetails = ListInstanceModel::getCurrentStepByResId(['resId' => $args['resId']]);
 
-            //     $message = $circuit_visa->processVisaWorkflow(['stepDetails' => $stepDetails, 'res_id' => $res_id]);
+                if (!empty($stepDetails) && $stepDetails['item_id'] != $GLOBALS['userId']) {
+                    ListInstanceModel::update([
+                        'set'   => ['process_date' => 'CURRENT_TIMESTAMP'],
+                        'where' => ['listinstance_id = ?', 'item_mode = ?', 'res_id = ?', 'item_id = ?', 'difflist_type = ?'],
+                        'data'  => [$stepDetails['listinstance_id'], $stepDetails['item_mode'], $args['resId'], $stepDetails['item_id'], 'VISA_CIRCUIT']
+                    ]);
+
+                    $currentUserInfo = UserModel::getByLogin(['login' => $GLOBALS['userId'], 'select' => ['firstname', 'lastname']]);
+                    $visaUserInfo = UserModel::getByLogin(['login' => $stepDetails['item_id'], 'select' => ['firstname', 'lastname']]);
+        
+                    $historyInfo = ' ' . _VISA_BY . ' ' . $currentUserInfo['firstname'] . ' ' . $currentUserInfo['lastname'] . ' ' . _INSTEAD_OF . ' ' . $visaUserInfo['firstname'] . ' ' . $visaUserInfo['lastname'];
+                } elseif (!empty($stepDetails)) {
+                    ListInstanceModel::update([
+                        'set'   => ['process_date' => 'CURRENT_TIMESTAMP'],
+                        'where' => ['listinstance_id = ?', 'item_mode = ?', 'res_id = ?', 'item_id = ?', 'difflist_type = ?'],
+                        'data'  => [$stepDetails['listinstance_id'], $stepDetails['item_mode'], $args['resId'], $GLOBALS['userId'], 'VISA_CIRCUIT']
+                    ]);
+
+                    $historyInfo = '';
+                }
             }
         }
 
diff --git a/src/core/lang/lang-en.php b/src/core/lang/lang-en.php
index f4a3bc098374811113eb634c106b1bc5ec9210ae..4fd58e549fdec667fe1c9d552ce6f073c6a7d227 100755
--- a/src/core/lang/lang-en.php
+++ b/src/core/lang/lang-en.php
@@ -479,3 +479,5 @@ define("_SEND_SHIPPING", "Send a mailpiece");
 
 define("_VIEW_DOCUMENTS_WITH_NOTES", "View mail with notes");
 define("_VIEW_DOCUMENTS_WITH_NOTES_DESC", "View attachment of 'document_with_notes' type");
+define('_VISA_BY', 'Visa by');
+define('_INSTEAD_OF', 'Instead of');
diff --git a/src/core/lang/lang-fr.php b/src/core/lang/lang-fr.php
index a62249bb8e569e11b71723d57cffda32ba180e77..cb447bee6eadd0f805f0750a1a1733839d881fbf 100755
--- a/src/core/lang/lang-fr.php
+++ b/src/core/lang/lang-fr.php
@@ -479,3 +479,5 @@ define("_SEND_SHIPPING", "Envoyer un pli postal");
 
 define("_VIEW_DOCUMENTS_WITH_NOTES", "Voir les courriers annotés");
 define("_VIEW_DOCUMENTS_WITH_NOTES_DESC", "Voir les pièces jointes de type 'Document annoté'");
+define('_VISA_BY', 'Visa par');
+define('_INSTEAD_OF', 'à la place de');
diff --git a/src/core/lang/lang-nl.php b/src/core/lang/lang-nl.php
index 56603f2748a2a6457586416619ed37bc5022cf9a..fc80aad267d67c7f5cd27e2667ab3be372a5a8e5 100644
--- a/src/core/lang/lang-nl.php
+++ b/src/core/lang/lang-nl.php
@@ -481,3 +481,5 @@ define("_SEND_SHIPPING", "Send a mailpiece_TO_TRANSLATE");
 
 define("_VIEW_DOCUMENTS_WITH_NOTES", "View mail with notes_TO_TRANSLATE");
 define("_VIEW_DOCUMENTS_WITH_NOTES_DESC", "View attachment of 'document_with_notes' type_TO_TRANSLATE");
+define('_VISA_BY', 'Goedkeuring door');
+define('_INSTEAD_OF', 'in plaats van');