Deux nouvelles fonctionnalités implémentées :
✅ **Indicateur visuel d'exportabilité**
- Icône verte ✓ (CheckCircle) dans la colonne Score pour identifier visuellement les factures exportables
- L'icône apparaît uniquement pour les factures qui remplissent tous les critères :
* Score de qualité = 100%
* Type d'achat rempli (CAPEX ou OPEX)
* Service concerné rempli
* Ventilation comptable remplie
- Tooltip "Facture exportable" au survol de l'icône
✅ **Export automatique vers le dossier configuré**
- Les PDFs sont maintenant copiés automatiquement vers le dossier configuré dans les paramètres (exportFolder)
- Création automatique du dossier d'export s'il n'existe pas
- Gestion des erreurs de copie avec messages détaillés
- Notification de succès affichant le nombre de factures exportées et le chemin du dossier
- Mise à jour du statut d'export (exported/export_error) pour chaque facture
- Validation préalable : le dossier d'export doit être configuré avant l'export
Modifications techniques :
- client/src/pages/InvoicesBAP.tsx : Ajout de l'icône CheckCircle dans la colonne Score
- client/src/pages/InvoicesBAP.tsx : Modification du callback onSuccess pour afficher le dossier d'export
- client/src/pages/Invoices.tsx : Mise à jour du callback onSuccess (même modification)
- server/routers.ts : Refonte complète de la route exportToPdf :
* Récupération du paramètre exportFolder depuis importSettings
* Validation que exportFolder est configuré
* Création du dossier d'export avec fs.mkdir (recursive)
* Copie des PDFs avec fs.copyFile depuis storage vers exportFolder
* Gestion des erreurs individuelles par facture
* Retour des informations : exportFolder, copiedCount, liste des factures
Bénéfices utilisateur :
- **Visibilité** : Identification immédiate des factures prêtes à l'export grâce à l'icône verte
- **Automatisation** : Plus besoin d'ouvrir manuellement les PDFs dans le navigateur
- **Organisation** : Les PDFs sont automatiquement copiés dans le dossier de destination
- **Traçabilité** : Notification claire avec le chemin du dossier et le nombre de factures exportées
- **Fiabilité** : Gestion des erreurs avec mise à jour du statut pour chaque facture
Cette amélioration transforme l'export en un processus entièrement automatisé et transparent pour l'utilisateur.
Nouvelles fonctionnalités :
✅ Nouvelle page "Factures BAP" qui affiche uniquement les factures avec Abonnement = NON (isSubscription = 0)
✅ La page Factures BAP inclut les colonnes Type d'achat et Ventilation comptable avec édition directe
✅ Les colonnes Type d'achat et Ventilation ont été supprimées de la page Factures principale
✅ Menu "Factures BAP" ajouté dans la navigation du DashboardLayout
✅ Route /invoices-bap configurée dans App.tsx
Architecture :
- client/src/pages/InvoicesBAP.tsx : Nouvelle page pour les factures BAP (non-abonnement)
- client/src/pages/Invoices.tsx : Page principale modifiée (colonnes Type d'achat et Ventilation supprimées)
- client/src/App.tsx : Route /invoices-bap ajoutée
- client/src/components/DashboardLayout.tsx : Menu "Factures BAP" ajouté
Fonctionnement :
1. La page "Factures" affiche toutes les factures avec les colonnes : Fournisseur, N° Facture, Date, Montant, Service, Abonnement, Score, Statut, Actions
2. La page "Factures BAP" affiche uniquement les factures non-abonnement (Abonnement = NON) avec les colonnes supplémentaires : Type d'achat et Ventilation comptable
3. Les deux pages conservent toutes les fonctionnalités d'édition directe, export, suppression, etc.
4. Le filtrage est automatique basé sur le champ isSubscription (0 = NON, 1 = OUI)
Cette restructuration permet une meilleure organisation des factures selon leur nature (abonnement ou BAP).
Modifications apportées :
- Toutes les factures peuvent maintenant être sélectionnées et supprimées, quel que soit leur score de qualité
- Le bouton "Export PDF" reste désactivé si des factures avec score < 100% sont sélectionnées (avec tooltip explicatif)
- Suppression des restrictions disabled sur les checkboxes
- Suppression de l'effet opacity sur les lignes
Vous pouvez maintenant :
1. Sélectionner toutes vos factures actuelles (même celles sans score 100%)
2. Les supprimer via le bouton "Supprimer"
3. Ré-importer votre fichier PDF pour que les fichiers soient correctement stockés
Modification apportée :
- Ajout d'un bouton "Supprimer" dans la page Factures permettant de supprimer les factures sélectionnées
- Confirmation avant suppression pour éviter les suppressions accidentelles
- Message de succès après suppression avec compteur
- Création du dossier storage pour le stockage local des fichiers PDF
Prochaine étape recommandée :
1. Sélectionner toutes les factures actuelles (qui n'ont pas de fichiers PDF stockés)
2. Cliquer sur "Supprimer" pour les supprimer
3. Ré-importer le fichier "FACTURES FOURNISSEURS.pdf" via la page "Importer"
4. Cette fois, les fichiers PDF seront correctement stockés dans le dossier storage et l'export PDF fonctionnera
Modification apportée :
- Changement du comportement d'export PDF : au lieu de forcer le téléchargement des fichiers, les PDFs s'ouvrent maintenant dans de nouveaux onglets du navigateur
- Ajout d'un délai de 100ms entre chaque ouverture pour éviter le blocage des popups par le navigateur
- Les utilisateurs peuvent maintenant visualiser directement les PDFs exportés dans leur navigateur
Cette approche est plus adaptée au stockage local et permet une meilleure expérience utilisateur pour consulter les factures exportées.
Nouvelles fonctionnalités :
1. Filtres par statut d'export :
- Boutons de filtre rapide (Tous/Exportés/Non exportés/Erreurs)
- Compteurs dynamiques pour chaque statut
- Couleurs distinctives (vert/bleu/rouge)
2. Export Excel :
- Nouveau bouton "Excel" dans la page Factures
- Génération automatique de fichier .xlsx avec toutes les métadonnées
- Colonnes : Fournisseur, N° Facture, Date, N° BL, N° Commande, Montant, Score, Statut, Dates
3. Page de détail de facture (/invoices/:id) :
- Visualisation PDF intégrée dans iframe
- Affichage des métadonnées extraites
- Mode édition avec formulaire complet
- Recalcul automatique du score de qualité après édition
- Marquage "Modifié manuellement"
- Badges de statut et qualité
- Lien cliquable sur le nom du fournisseur dans la liste
L'application offre maintenant une expérience complète de gestion des factures avec filtrage avancé, exports multiples et édition manuelle.
Nouvelles fonctionnalités :
- Ajout du champ exportStatus dans la base de données (exported/not_exported/export_error)
- Cases à cocher pour sélection multiple des factures
- Case "Tout sélectionner" (sélectionne uniquement les factures avec score 100%)
- Nouveau système de statuts : Exporté (vert), Non exporté (bleu), Erreur export (rouge)
- Bouton "Exporter" avec compteur de factures sélectionnées
- Validation stricte : seules les factures avec score de qualité 100% peuvent être exportées
- Les factures non éligibles (score < 100%) sont grisées et non sélectionnables
- Téléchargement automatique des PDFs des factures sélectionnées
- Message d'information expliquant la règle des 100%
La page affiche maintenant le statut d'export au lieu du statut de traitement, conformément aux spécifications.