Checkpoint: Ajout de la table deletedInvoices (blacklist) : quand une facture est supprimée, son numéro est enregistré et l'import email/fichier ne la réimporte plus.

This commit is contained in:
Manus
2026-07-30 09:48:00 +00:00
parent aebc607e8a
commit 5d18dfa468
9 changed files with 2323 additions and 7 deletions

View File

@@ -6,6 +6,7 @@ import {
updateSourceFile,
getUserSettings,
findDuplicateInvoice,
isInvoiceBlacklisted,
createInvoice,
createImportLog,
} from "./db";
@@ -130,6 +131,19 @@ async function processEmailAttachment(
processingProgress: `Extraction ${i + 1}/${result.invoiceCount} factures...`,
});
// Vérifier la blacklist (factures supprimées manuellement)
const blacklisted = await isInvoiceBlacklisted(invoiceData.invoiceNumber, userId);
if (blacklisted) {
duplicatesCount++;
duplicateDetails.push({
supplierName: invoiceData.supplierName,
invoiceNumber: invoiceData.invoiceNumber,
totalAmount: invoiceData.totalAmount,
reason: 'blacklisted',
});
continue;
}
// Check for duplicates (numéro de facture + montant)
const duplicate = await findDuplicateInvoice(
invoiceData.invoiceNumber,