Manus
|
d729a94a96
|
Checkpoint: Correction robuste des doublons de factures : empreinte SHA-256 unique des PDF sources, détection globale avant import manuel/email/dossier/web, verrou contre les vérifications IMAP concurrentes, attente réelle de fin de traitement avant marquage lu, migration et tests de non-régression.
|
2026-08-22 10:31:54 +00:00 |
|
Manus
|
54164b1b33
|
Checkpoint: Audit technique : suppression des composants, scripts et dépendances inutilisés ; chargement différé des pages ; génération de sauvegardes SQL robuste par lots ; centralisation des contrôles d’accès ; sécurisation des cookies Azure et imports web ; documentation de maintenance et 5 tests de non-régression ajoutés.
|
2026-08-17 20:21:58 +00:00 |
|
Manus
|
4ce2d2877a
|
Checkpoint: Ajout onglet Sauvegarde DB dans ImportSettings : endpoint POST /api/db-backup (mysqldump), GET /api/db-backup/:filename, procédures tRPC backup.list et backup.delete, composant BackupSection avec liste des sauvegardes et téléchargement.
|
2026-08-08 10:04:57 +00:00 |
|
Manus
|
711ce6b83a
|
Checkpoint: Ajout du système de connecteurs web : table webImportSources, CRUD tRPC, page WebImportSources.tsx, endpoint /api/web-import/push-invoice, script cron SFR (scripts/web-import/sfr-connector.mjs)
|
2026-07-30 13:53:07 +00:00 |
|
Manus
|
5d18dfa468
|
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.
|
2026-07-30 09:48:00 +00:00 |
|
Manus
|
827c9ec41e
|
Checkpoint: Ajout de Google Gemini (gemini-2.0-flash) comme 3ème moteur IA : schéma DB mis à jour (enum aiProvider + colonne geminiApiKey dans userSettings et importSettings), llm.ts mis à jour avec routing vers l'API Google AI Studio (compatible OpenAI), fenêtre de configuration IA mise à jour avec 3 cartes (Mistral / Gemini / Manus) et champ clé API Gemini.
|
2026-07-27 15:55:07 +00:00 |
|
Manus
|
1951b9b9d1
|
Checkpoint: Les admins voient désormais toutes les factures (tous userId) : getById, update, delete, validateBAP, devalidateBAP, validateBAPBulk, reprocessSelected, regenerateBapPdf, search, exportToExcel, exportToPdf, exportSFTP, bapHistory.delete/regenerate — tous corrigés pour les admins.
|
2026-07-13 08:13:49 -04:00 |
|
Manus
|
d4c9bf635a
|
Checkpoint: Fix: la procédure deleteAll des importLogs permet maintenant aux admins de supprimer tous les logs (pas seulement les leurs). Correction de deleteAllImportLogs dans db.ts pour accepter userId=null (suppression totale).
|
2026-06-17 06:20:40 -04:00 |
|
Manus
|
f7d3f6d5b3
|
Checkpoint: Ajout colonne "Source import" (Email / Dossier / Fichier) dans l'historique des imports : schéma DB migré, backend mis à jour (routers.ts, emailImportService.ts, folderImportService.ts), frontend History.tsx avec badges colorés dans le tableau et le dialog de détails.
|
2026-06-17 06:11:46 -04:00 |
|
Manus
|
b97efb5c57
|
Checkpoint: Fix: bouton de téléchargement PDF BAP pour factures validées sans PDF (NOVRH VF11521, EVOLUCARE ET098857). Ajout procédure regenerateBapPdf côté serveur + bouton orange RefreshCw côté frontend pour régénérer le PDF à la volée. Déployé en recette et production.
|
2026-06-17 03:41:18 -04:00 |
|
Manus
|
1a09c98ef5
|
fix: exportStatus mis à jour à 'exported' après validation BAP (unitaire et en masse)
|
2026-06-16 12:18:40 -04:00 |
|
Manus
|
22b34fcf1e
|
fix: nommage fichiers BAP - format AAAA-MM-JJ - Fournisseur - NFacture.pdf
|
2026-06-15 12:28:04 -04:00 |
|
Manus
|
b34e145d5d
|
feat: bouton Dévalider BAP, barre actions 2 lignes, suppression colonne Utilisateur
|
2026-06-15 12:14:25 -04:00 |
|
Manus
|
a9387eaaea
|
feat: détection doublons par numéro+montant dans les 3 points d'import
|
2026-06-15 12:02:24 -04:00 |
|
Manus
|
056bccd985
|
Checkpoint: Ajout de la colonne 'Export SP' dans le tableau historique de Ventilation FreePro : icône horloge grise = non exporté, icône verte = exporté (date au survol), icône rouge = erreur (message au survol). Le statut est sauvegardé en base (sharepointUploadStatus, sharepointUploadPath, sharepointUploadError, sharepointExportedAt) lors de chaque export via 'Envoyer vers SharePoint'.
|
2026-06-08 10:53:34 -04:00 |
|
Manus
|
f3e985af5f
|
Checkpoint: Fix testConnection : le backend lit désormais le mot de passe directement en base (jamais exposé au frontend). Timeout porté à 25s. Détection correcte de invalid_credentials dans la réponse JSON FreePro.
|
2026-06-08 09:58:58 -04:00 |
|
Manus
|
e32d540bc9
|
Checkpoint: Ajout de l'onglet "Paramétrage" dans la page Ventilation FreePro :
- Table DB freeproSettings (URL portail, credentials, fréquence, date antériorité, statut dernière récupération)
- Service freeproAutoImport.ts : connexion HTTP au portail FreePro, téléchargement CSV, pipeline d'import
- Procédures tRPC : getSettings, saveSettings, testConnection, forceImport
- Job périodique en mémoire (daily/weekly/monthly) via setInterval
- Frontend : wrapper Tabs (onglet 1 = Import & Historique, onglet 2 = Paramétrage)
- Onglet Paramétrage : credentials, fréquence, date antériorité, bouton "Forcer récupération", statut
- Tests unitaires : 8 tests passés
|
2026-06-08 09:24:05 -04:00 |
|
Manus
|
51830b88be
|
fix: PDF généré côté serveur (pdf-lib) - 1 page A4 portrait garantie
|
2026-06-05 11:27:58 -04:00 |
|
Manus
|
b5705b5209
|
fix: PDF A4 portrait, total sans slash, bouton SharePoint FreePro
|
2026-06-05 10:08:38 -04:00 |
|
Manus
|
a4c347e554
|
feat: import FreePro accepte .xls, .xlsx et .csv
|
2026-06-05 09:20:42 -04:00 |
|
Manus
|
7f56fa7045
|
Checkpoint: Module Ventilation FreePro complet : import Excel FreePro, transformation automatique (script/TTC/type XOAUTH2), tableau de ventilation par structure+type, historique par mois, export PDF. Menu Ventilations ajouté dans la navigation.
|
2026-06-05 08:02:29 -04:00 |
|
Manus
|
4ef130f21d
|
Checkpoint: OAuth2 IMAP pour Office 365 : ajout du mode d'authentification OAuth2 pour l'import email (Azure AD Client Credentials), sélecteur basic/oauth2 dans l'UI, bouton "Tester la connexion IMAP", procédure testEmailConnection dans le router. Migration DB emailImportAuthMode appliquée.
|
2026-06-05 05:54:21 -04:00 |
|
Manus
|
22515e5414
|
feat: date de début de lecture emails dans paramètres import
|
2026-06-02 10:53:45 -04:00 |
|
Manus
|
7c73d701ac
|
fix: nom fichier export conforme date-fournisseur-numero.pdf
|
2026-05-06 12:18:03 -04:00 |
|
Manus
|
4086227df7
|
feat: export manuel (exportToPdf) supporte maintenant SharePoint en plus du dossier local
|
2026-05-06 12:12:38 -04:00 |
|
Manus
|
41ae95737b
|
fix: logs explicites export SharePoint dans validateBAP + migration colonnes bapHistory camelCase
|
2026-05-06 11:07:58 -04:00 |
|
Manus
|
94844b0589
|
feat: bouton Tester l'upload SharePoint + tooltip erreur SP dans historique BAP
|
2026-05-06 10:18:46 -04:00 |
|
Manus
|
6c21c71660
|
fix: export SharePoint - erreur remontée au frontend, meilleur parsing URL et détection bibliothèque
|
2026-05-06 09:41:40 -04:00 |
|
Manus
|
5cb1f878a5
|
fix: page Paramètres - 2 onglets Import/Export, bug date expiration secret corrigé, chargement optimisé
|
2026-05-06 09:10:41 -04:00 |
|
Manus
|
6553aee8a6
|
feat: améliorations SharePoint - test connexion Azure AD, alerte expiration secret, log statut upload dans BapHistory
|
2026-05-06 07:55:46 -04:00 |
|
Manus
|
766f2b444d
|
feat: intégration Microsoft Graph pour export SharePoint - helper uploadToSharePoint, champs Azure AD en DB et UI
|
2026-05-06 07:29:23 -04:00 |
|
Manus
|
b5f7e98f4d
|
fix: ajouter 'both' dans l'enum bapExportMode (schema DB + validation Zod) pour permettre la sauvegarde des paramètres SharePoint
|
2026-05-05 09:56:07 -04:00 |
|
Manus
|
37cc9442da
|
feat: les admins voient toutes les factures/logs/historique BAP, colonne Utilisateur dans Factures
|
2026-05-03 10:56:20 -04:00 |
|
Manus
|
62b7a61bf5
|
Checkpoint: Ajout de la section "Moteur IA" dans les paramètres : sélecteur Mistral/Manus, champs clé API avec affichage masqué, persistance en DB, migration VPS appliquée
|
2026-04-15 08:04:54 -04:00 |
|
Manus
|
7fbb3d5f2c
|
Checkpoint: Placement intelligent du cartouche BAP : détection de zone blanche par rasterisation PDF (pdftoppm + sharp), cartouche positionné automatiquement dans la zone blanche disponible, ou sur une nouvelle page annexe si aucune zone suffisante n'existe
|
2026-04-15 07:35:41 -04:00 |
|
Manus
|
412da0e68f
|
Checkpoint: Ajout du téléchargement groupé ZIP dans Factures BAP, bouton Re-générer dans Historique BAP, filtres Validées BAP / En attente BAP dans Factures BAP
|
2026-04-12 17:53:38 -04:00 |
|
Manus
|
d1dda66b9a
|
Checkpoint: Bouton Télécharger toujours visible pour les factures en état Validé dans InvoicesBAP, même après rechargement. Le pdfUrl est récupéré depuis bapHistory via une nouvelle route tRPC getBapPdfUrls. Nommage uniforme Date - Fournisseur - N°Facture.pdf sur tous les points d'export.
|
2026-04-12 17:36:09 -04:00 |
|
Manus
|
132f8ccec2
|
Checkpoint: isSubscription appliqué lors des imports. Seuil de confiance persisté en base (champ learningConfidenceThreshold dans userSettings). LearningSettings.tsx charge et sauvegarde le seuil via settings.get/upsert.
|
2026-04-12 15:27:19 -04:00 |
|
Manus
|
3ae1e47ca6
|
Checkpoint: Bouton Relancer corrigé (automatismes uniquement, sans LLM). Système d'apprentissage complet : table invoiceLearnings, routes tRPC, déclenchement depuis InvoiceDetail, application lors des imports, page LearningSettings dans Configuration > Apprentissages IA.
|
2026-04-12 14:54:29 -04:00 |
|
Manus
|
8acfb4eae1
|
Checkpoint: Ajout route tRPC invoices.reprocessSelected et bouton Relancer (violet) dans la barre d'outils de Factures BAP
|
2026-04-12 14:20:05 -04:00 |
|
Manus
|
9d71f1e34a
|
Checkpoint: Ajout du bouton de téléchargement direct du PDF annoté BAP : route Express /api/download-bap/:filename avec Content-Disposition attachment, bouton Télécharger dans InvoicesBAP (apparaît après validation), boutons Voir + Télécharger dans l'Historique BAP. Correction du layout PDF (2 colonnes) également incluse.
|
2026-04-12 10:05:02 -04:00 |
|
Manus
|
3cbd705249
|
Checkpoint: Correction du layout de la zone BAP dans les PDFs annotés : mise en page 2 colonnes (texte à gauche / signature à droite), séparation du destinataire sur sa propre ligne, suppression du chevauchement entre le nom d'établissement et l'image de signature. Appliqué aux deux routes validateBAP et validateBAPBulk.
|
2026-04-12 09:49:38 -04:00 |
|
Manus
|
76554214b2
|
Checkpoint: Ajout du bouton "Valider tout en BAP" sur la fenêtre Factures BAP : route validateBAPBulk côté serveur (traitement de toutes les factures éligibles en une passe), mutation côté client avec ouverture des PDFs générés, bouton vert dans le header de la page.
|
2026-04-12 09:40:33 -04:00 |
|
Manus
|
d07ff1b34d
|
Checkpoint: Correction critique : la route validateBAP et exportToPdf lisent maintenant le PDF source et l'image de signature depuis l'URL publique en fallback si le fichier local n'est pas disponible (cas du VPS où les fichiers sont stockés localement mais pas dans la sandbox).
|
2026-04-12 06:17:38 -04:00 |
|
Manus
|
5f7c8c7c7f
|
Checkpoint: Améliorations Factures BAP : suppression colonne Abonnement, mode d'export configurable (navigateur/dossier), génération PDF annoté avec zone blanche (CAPEX/OPEX | BAP | Destinataire + signature du service) lors du clic BAP, historique BAP dans le menu Traçabilité, table bapHistory en DB.
|
2026-04-12 05:57:02 -04:00 |
|
Manus
|
edf7cc704d
|
Checkpoint: Ajout du filtre destinataire dans la liste des factures (dropdown + recherche textuelle), graphique "Top 10 destinataires" et liste détaillée dans le dashboard, filtre destinataire dans les paramètres SFTP (sftpRecipientFilter) avec application lors de l'export
|
2026-04-12 05:20:55 -04:00 |
|
Manus
|
604426523d
|
Checkpoint: Ajout complet du champ "Destinataire" (recipientName) dans toute l'application : schéma DB (invoices.recipientName + userSettings.recipientKeywords), extraction IA (prompt LLM + interface), services d'import (email, dossier, upload manuel), interface utilisateur (liste des factures, détail, paramètres mots-clés), règles d'automatisme et configuration des champs LLM obligatoires.
|
2026-04-12 05:06:06 -04:00 |
|
Manus
|
d8d2ef14da
|
Checkpoint: Connexion locale avec identifiant libre (non-email), compte adminItinova créé, page Login mise à jour avec champ Identifiant
|
2026-03-22 13:23:16 -04:00 |
|
Manus
|
ee49992530
|
Checkpoint: Ajout de l'association Service→Signature dans l'onglet Signatures des Paramètres et apposition automatique de la signature sur les PDFs exportés lors de l'export BAP. Inclut : table serviceSignatures, routes tRPC, interface de configuration, et modification de exportToPdf pour apposer la signature en bas à droite du PDF avec le nom du signataire.
|
2026-03-14 19:28:50 -04:00 |
|
Manus
|
33a82e2ad2
|
Checkpoint: Ajout de l'onglet "Signatures" dans la page Paramètres : table DB signatures (firstName, lastName, imageKey, imageUrl), migration appliquée, routes tRPC (list, upload, create, delete), composant SignaturesSection avec formulaire d'ajout (prénom+nom+upload image), grille d'affichage des signatures avec aperçu, bouton de suppression au survol
|
2026-03-14 18:52:47 -04:00 |
|