From 8c12f4c18cf808a186ae0a614bffd6ebf1c74033 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Mon, 1 Sep 2025 13:52:04 +0000 Subject: [PATCH 1/2] Trigger invoice verification after webhook completion After a webhook process finishes, automatically re-fetch delivery data and trigger an invoice verification process by invalidating related queries and calling handleVerifyAllInvoices. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 98f01874-e00c-4bbe-9d71-b0b338001848 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/98f01874-e00c-4bbe-9d71-b0b338001848/XDIQsDu --- client/src/pages/BLReconciliation.tsx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/client/src/pages/BLReconciliation.tsx b/client/src/pages/BLReconciliation.tsx index bc1a6ab..9dd8b52 100644 --- a/client/src/pages/BLReconciliation.tsx +++ b/client/src/pages/BLReconciliation.tsx @@ -448,6 +448,25 @@ export default function BLReconciliation() { // Reset des données setSelectedDeliveryForInvoice(null); setSelectedFile(null); + + // Relancer la vérification des factures après le traitement du webhook + try { + // Invalidation des caches pour forcer le rechargement des données + queryClient.invalidateQueries({ queryKey: ['/api/deliveries/bl'] }); + queryClient.invalidateQueries({ queryKey: ['/api/deliveries'] }); + + // Recharger les données + await refetch(); + + // Attendre un peu que les données soient à jour, puis relancer les vérifications + setTimeout(() => { + handleVerifyAllInvoices(); + }, 1000); + + console.log('🔄 Vérifications automatiques relancées après webhook'); + } catch (error) { + console.error('Erreur lors de la relance des vérifications:', error); + } } catch (error: any) { handleCloseWaitingModal(); From 2549663637779e790965391b655880ed3e7e3009 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Mon, 1 Sep 2025 13:54:04 +0000 Subject: [PATCH 2/2] Improve invoice verification process after webhook processing Update BLReconciliation page to specifically verify the processed delivery after webhook. This involves invalidating cache for '/api/deliveries/bl' and calling `handleVerifyInvoice` with the selected delivery after a 1-second delay. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 98f01874-e00c-4bbe-9d71-b0b338001848 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/98f01874-e00c-4bbe-9d71-b0b338001848/XDIQsDu --- client/src/pages/BLReconciliation.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/client/src/pages/BLReconciliation.tsx b/client/src/pages/BLReconciliation.tsx index 9dd8b52..fab3ba1 100644 --- a/client/src/pages/BLReconciliation.tsx +++ b/client/src/pages/BLReconciliation.tsx @@ -449,7 +449,7 @@ export default function BLReconciliation() { setSelectedDeliveryForInvoice(null); setSelectedFile(null); - // Relancer la vérification des factures après le traitement du webhook + // Relancer la vérification de la facture qui vient d'être traitée try { // Invalidation des caches pour forcer le rechargement des données queryClient.invalidateQueries({ queryKey: ['/api/deliveries/bl'] }); @@ -458,14 +458,14 @@ export default function BLReconciliation() { // Recharger les données await refetch(); - // Attendre un peu que les données soient à jour, puis relancer les vérifications + // Attendre un peu que les données soient à jour, puis vérifier cette livraison spécifique setTimeout(() => { - handleVerifyAllInvoices(); + handleVerifyInvoice(selectedDeliveryForInvoice, true); }, 1000); - console.log('🔄 Vérifications automatiques relancées après webhook'); + console.log('🔄 Vérification automatique relancée pour la livraison traitée par webhook'); } catch (error) { - console.error('Erreur lors de la relance des vérifications:', error); + console.error('Erreur lors de la relance de la vérification:', error); } } catch (error: any) {