Merge pull request #511 from R0m1k3/1.1

Improve reconciliation to only check for unchecked invoices
This commit is contained in:
LogiFlow authored and GitHub committed 2025-11-04 14:52:47 +01:00
commit 55a5fc3baf
1 file changed
+20 -5
+20 -5
View File
@@ -405,14 +405,17 @@ export default function BLReconciliation() {
return; // Autres livraisons réconciliées = AUCUNE vérification nécessaire
}
// VÉRIFICATION AUTOMATIQUE pour afficher les coches (UNE SEULE FOIS au chargement)
// Vérifier seulement les livraisons NON réconciliées qui n'ont PAS encore été vérifiées
// VÉRIFICATION AUTOMATIQUE pour afficher les coches
// NE vérifier QUE les factures qui n'ont PAS encore de montant renseigné (pas encore trouvées)
const hasVerifiableData = delivery.invoiceReference || delivery.blNumber;
const notAlreadyProcessed = !verificationResults[delivery.id] && !verifyingDeliveries.has(delivery.id);
const hasNoInvoiceAmount = !delivery.invoiceAmount; // Pas encore trouvée dans NocoDB
const notAlreadyVerified = !verificationResults[delivery.id];
const notCurrentlyVerifying = !verifyingDeliveries.has(delivery.id);
if (hasVerifiableData && notAlreadyProcessed) {
// Ne vérifier que si : a des données ET pas de montant (pas encore trouvée) ET pas déjà vérifiée
if (hasVerifiableData && hasNoInvoiceAmount && notAlreadyVerified && notCurrentlyVerifying) {
if (import.meta.env.DEV) {
console.log(`🔍 Vérification initiale pour affichage coche ${delivery.id}:`, {
console.log(`🔍 Vérification initiale ${delivery.id} (pas encore trouvée):`, {
invoiceRef: delivery.invoiceReference,
blNumber: delivery.blNumber
});
@@ -423,6 +426,18 @@ export default function BLReconciliation() {
handleVerifyInvoice(delivery, false);
}, Math.random() * 1000);
}
// Si la facture a déjà un montant → marquer comme trouvée (coche verte) sans vérifier
if (hasVerifiableData && delivery.invoiceAmount && !verificationResults[delivery.id]) {
newVerificationResults[delivery.id] = {
exists: true,
matchType: delivery.invoiceReference ? 'invoice_reference' : 'bl_number',
fromCache: true,
permanent: true,
invoiceAmount: delivery.invoiceAmount
};
hasNewReconciledResults = true;
}
});
}, [deliveriesWithBL, suppliers, verificationResults, verifyingDeliveries]);