diff --git a/bin/signatureBook/process_mailsFromSignatoryBook.php b/bin/signatureBook/process_mailsFromSignatoryBook.php
index 3752f0a513a1e6e2e9d448730ada56639f91bfee..af4a8e7c0544e5e5a62c0e08ff19bf4a08657b62 100755
--- a/bin/signatureBook/process_mailsFromSignatoryBook.php
+++ b/bin/signatureBook/process_mailsFromSignatoryBook.php
@@ -255,7 +255,8 @@ foreach ($retrievedMails['noVersion'] as $resId => $value) {
                 'status'          => 'TRA',
                 'encodedFile'     => $value['encodedFile'],
                 'inSignatureBook' => true,
-                'originId'        => $resId
+                'originId'        => $resId,
+                'signatory_user_serial_id' => $value['signatory_user_serial_id'] ?? null
             ]);
         }
 
diff --git a/src/app/external/externalSignatoryBook/controllers/FastParapheurController.php b/src/app/external/externalSignatoryBook/controllers/FastParapheurController.php
index c328944e696bffabc7e2e4bdd20fe9cc1a2a4825..a40a6d450fb00f9a381cd31a852f1badd2565ae7 100755
--- a/src/app/external/externalSignatoryBook/controllers/FastParapheurController.php
+++ b/src/app/external/externalSignatoryBook/controllers/FastParapheurController.php
@@ -79,20 +79,15 @@ class FastParapheurController
                     $aArgs['idsToRetrieve'][$version][$resId]['status'] = 'validated';
                     $aArgs['idsToRetrieve'][$version][$resId]['format'] = 'pdf';
                     $aArgs['idsToRetrieve'][$version][$resId]['encodedFile'] = $response['b64FileContent'];
+                    $signatoryInfo = FastParapheurController::getSignatoryUserInfo(['resId' => $aArgs['idsToRetrieve'][$version][$resId]['res_id_master']]);
+                    $aArgs['idsToRetrieve'][$version][$resId]['signatory_user_serial_id'] = $signatoryInfo['id'];
                     FastParapheurController::processVisaWorkflow(['res_id_master' => $value['res_id_master'], 'res_id' => $value['res_id'], 'processSignatory' => true]);
                     break;
                 } elseif ($state == $aArgs['config']['data']['refusedState']) {
-                    $res = DatabaseModel::select([
-                        'select'    => ['firstname', 'lastname'],
-                        'table'     => ['listinstance', 'users'],
-                        'left_join' => ['listinstance.item_id = users.id'],
-                        'where'     => ['res_id = ?', 'item_mode = ?'],
-                        'data'      => [$aArgs['idsToRetrieve'][$version][$resId]['res_id_master'], 'sign']
-                    ])[0];
-
+                    $signatoryInfo = FastParapheurController::getSignatoryUserInfo(['resId' => $aArgs['idsToRetrieve'][$version][$resId]['res_id_master']]);
                     $response = FastParapheurController::getRefusalMessage(['config' => $aArgs['config'], 'documentId' => $value['external_id']]);
                     $aArgs['idsToRetrieve'][$version][$resId]['status'] = 'refused';
-                    $aArgs['idsToRetrieve'][$version][$resId]['noteContent'] = $res['lastname'] . ' ' . $res['firstname'] . ' : ' . $response;
+                    $aArgs['idsToRetrieve'][$version][$resId]['noteContent'] = $signatoryInfo['lastname'] . ' ' . $signatoryInfo['firstname'] . ' : ' . $response;
                     break;
                 } else {
                     $aArgs['idsToRetrieve'][$version][$resId]['status'] = 'waiting';
@@ -103,6 +98,19 @@ class FastParapheurController
         return $aArgs['idsToRetrieve'];
     }
 
+    public static function getSignatoryUserInfo($args = [])
+    {
+        $res = DatabaseModel::select([
+            'select'    => ['firstname', 'lastname', 'users.id'],
+            'table'     => ['listinstance', 'users'],
+            'left_join' => ['listinstance.item_id = users.id'],
+            'where'     => ['res_id = ?', 'process_date is null', 'difflist_type = ?'],
+            'data'      => [$args['resId'], 'VISA_CIRCUIT']
+        ])[0];
+
+        return $res;
+    }
+
     public static function processVisaWorkflow($aArgs = [])
     {
         $resIdMaster = $aArgs['res_id_master'] ?? $aArgs['res_id'];
diff --git a/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php b/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php
index 7b387e5557e04429f246e90733282d51bd099849..4e78e6e4fa0aa394809aaec85487b19a6d933fb2 100755
--- a/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php
+++ b/src/app/external/externalSignatoryBook/controllers/MaarchParapheurController.php
@@ -528,12 +528,13 @@ class MaarchParapheurController
                 }
                 if (!empty($state['signatoryUserId'])) {
                     $signatoryUser = UserModel::getByExternalId([
-                        'select'            => ['user_id'],
+                        'select'            => ['user_id', 'id'],
                         'externalId'        => $state['signatoryUserId'],
                         'externalName'      => 'maarchParapheur'
                     ]);
                     if (!empty($signatoryUser['user_id'])) {
                         $aArgs['idsToRetrieve'][$version][$resId]['typist'] = $signatoryUser['user_id'];
+                        $aArgs['idsToRetrieve'][$version][$resId]['signatory_user_serial_id'] = $signatoryUser['id'];
                     }
                 }
                 $aArgs['idsToRetrieve'][$version][$resId]['workflowInfo'] = implode(", ", $state['workflowInfo']);