Files
demat-facturation/todo.md
Manus a237057b77 Checkpoint: Ajout d'un tableau de bord détaillé avec statistiques avancées et graphiques.
Nouvelles fonctionnalités :
- Cartes de statistiques : Factures traitées, Montant total, Score moyen, Dernière activité
- Graphique en barres : Évolution des factures par semaine (30 derniers jours)
- Graphique circulaire : Top 10 fournisseurs avec pourcentages
- Liste détaillée : Tous les fournisseurs avec nombre de factures et montants
- Bouton "Voir les statistiques détaillées" pour afficher/masquer les graphiques
- Calculs automatiques : montant moyen par facture, score de qualité avec label (Excellent/Bon/Moyen/Faible)

Le dashboard utilise Recharts pour les visualisations et offre une vue complète de l'activité de traitement des factures.
2026-01-08 08:56:35 -05:00

77 lines
3.5 KiB
Markdown

# Invoice Analyzer - TODO
## Phase 1: Base de données et schéma
- [x] Créer table users avec support authentification locale + Azure AD
- [x] Créer table sourceFiles pour fichiers PDF uploadés
- [x] Créer table invoices pour factures extraites
- [x] Créer table userSettings pour paramètres utilisateur
- [x] Créer table importLogs pour historique des imports
- [x] Créer table llmLogs pour logs des appels LLM
- [x] Pousser les migrations avec pnpm db:push
## Phase 2: Authentification
- [x] Implémenter authentification locale (email/password avec bcrypt)
- [x] Implémenter authentification Azure AD avec MSAL
- [x] Créer helpers de génération de tokens JWT
- [x] Créer middleware de vérification des rôles (user/admin)
## Phase 3: Stockage et extraction IA
- [x] Créer helper de stockage local avec préfixe YYYY-MM
- [x] Implémenter extraction PDF avec Mistral OCR
- [x] Implémenter extraction de métadonnées avec Mistral LLM
- [x] Créer système de scoring de qualité (0-100)
- [x] Implémenter détection de doublons
- [x] Créer helper de génération de fichiers JSON de métadonnées
- [x] Implémenter logger LLM pour debug
## Phase 4: Export SFTP
- [x] Créer helper de connexion SFTP
- [x] Implémenter export manuel de factures
- [x] Implémenter export automatique de factures
- [x] Créer test de connexion SFTP
## Phase 5: Routes tRPC
- [x] Routes auth (me, loginLocal, getAzureLoginUrl, logout)
- [x] Routes invoices (upload, list, getById, update, delete, search, getStats)
- [x] Routes sourceFiles (getByIds pour polling)
- [x] Routes settings (get, upsert)
- [x] Routes admin (createUser, getAllUsers, updatePassword, toggleActive, deleteUser)
- [x] Routes sftp (testConnection, exportInvoices)
- [x] Routes importLogs (getByUser)
- [x] Routes llmLogs (getBySourceFile, getByInvoice)
## Phase 6: Pages Frontend
- [x] Page Login avec formulaire local + bouton Azure AD
- [x] Page Dashboard avec statistiques et graphiques
- [x] Page Upload avec drag-and-drop et suivi temps réel
- [x] Page Invoices avec liste, recherche, filtres, pagination
- [x] Page Settings avec configuration LLM, keywords, SFTP
- [x] Page History avec logs et détails
- [x] Page Users (admin) pour gestion des utilisateurs
- [x] Layout avec navigation adaptée (DashboardLayout)
- [x] Configuration des routes dans App.tsx
## Phase 7: Tests et finalisation
- [x] Tests unitaires d'authentification (hashPassword, verifyPassword, JWT)
- [x] Tests de logout avec cookies multiples
- [x] Vérification du build et de la compilation TypeScript
- [x] Vérification du serveur de développement
- [x] Créer le checkpoint final
## Corrections et améliorations
- [x] Créer un utilisateur administrateur avec login adminServFacturation
- [x] Tester la connexion locale avec le nouvel utilisateur
- [x] Modifier l'email de l'administrateur de adminServFacturation à o.pareige@itinova.org
- [x] Diagnostiquer le problème de connexion locale avec o.pareige@itinova.org
- [x] Corriger l'authentification locale (ajout support cookie auth_token)
## Amélioration du Dashboard
- [x] Créer route tRPC pour statistiques détaillées (factures par semaine, top fournisseurs)
- [x] Créer cartes de statistiques (Factures traitées, Montant total, Score moyen, Dernière activité)
- [x] Créer graphique en barres des factures par semaine (Recharts)
- [x] Créer graphique circulaire du top 10 fournisseurs (Recharts)
- [x] Créer liste détaillée des fournisseurs avec nombre de factures
- [x] Ajouter bouton "Voir les statistiques détaillées"