Commit Graph

8 Commits

Author SHA1 Message Date
Manus
6e04cbe798 Checkpoint: Ajout du paramètre "Dossier d'export" dans les paramètres de réception
Nouvelle fonctionnalité :
 Champ "Dossier d'export" ajouté dans la page Paramètres de réception
 Permet de configurer le chemin du dossier de destination pour l'export des factures
 Stockage en base de données dans la table importSettings
 Interface utilisateur avec carte dédiée et champ de saisie

Modifications techniques :
- drizzle/schema.ts : Ajout du champ exportFolder (type text, nullable) dans la table importSettings
- server/routers.ts : Ajout de exportFolder dans les routes importSettings.get et importSettings.update
- client/src/pages/ImportSettings.tsx : Ajout du state, initialisation, et carte UI pour le dossier d'export
- Migration de base de données : 0008_orange_prism.sql appliquée avec succès

Utilisation :
1. Accéder à "Paramètres de réception" dans le menu
2. Descendre jusqu'à la section "Dossier d'export"
3. Saisir le chemin absolu du dossier (ex: /chemin/vers/dossier/export)
4. Cliquer sur "Enregistrer les paramètres"
5. Le chemin est sauvegardé et pourra être utilisé pour les exports futurs

Ce paramètre permettra de centraliser la configuration du dossier d'export pour toutes les fonctionnalités d'export de l'application.
2026-02-11 12:26:52 -05:00
Manus
4535cd6bdf Checkpoint: Ajout du champ Abonnement (OUI/NON) aux factures avec détection automatique par mots-clés et édition directe dans la liste 2026-02-11 09:54:17 -05:00
Manus
14c50fc8fd Checkpoint: Ajout d'un bouton "Détail" dans la liste des factures pour afficher le texte complet extrait du PDF. Le texte est maintenant demandé à Mistral AI lors de l'extraction et sauvegardé dans la base de données. Une boîte de dialogue affiche le texte complet avec défilement. 2026-02-11 09:30:58 -05:00
Manus
4a8be36d00 Checkpoint: Ajout de 3 champs métier aux factures (Service concerné, Type d'achat, Ventilation comptable) avec interface d'administration pour gérer les listes enrichissables. Les champs apparaissent dans la liste des factures et dans le formulaire d'édition. 2026-02-11 08:03:30 -05:00
Manus
35efbf632d Checkpoint: Checkpoint saved: Ajout d'une page "Paramètres de réception" complète pour configurer les différentes méthodes d'import de factures.
Nouvelles fonctionnalités :
 Table importSettings dans la base de données (7 tables au total)
 Routes tRPC pour gérer les paramètres de réception (get, update)
 Page "Paramètres de réception" accessible via le menu de navigation

Configuration disponible :
1. **Import manuel** : Activation/désactivation de l'upload manuel de fichiers PDF via l'interface

2. **Import automatique depuis dossier** :
   - Activation/désactivation
   - Configuration du chemin du dossier source à surveiller
   - Fréquence de lecture du dossier (en minutes)

3. **Import par email** :
   - Activation/désactivation
   - Configuration du compte email (adresse + mot de passe)
   - Serveur IMAP (host + port)
   - Fréquence de lecture des emails (en minutes)

Interface utilisateur :
- 3 cartes distinctes avec icônes (Upload, FolderOpen, Mail)
- Switches pour activer/désactiver chaque méthode
- Champs de configuration qui apparaissent uniquement si la méthode est activée
- Bouton "Enregistrer les paramètres" avec feedback visuel
- Notifications toast pour confirmer la sauvegarde ou signaler les erreurs

Architecture :
- Schéma de base de données : table importSettings avec 14 colonnes
- Backend : Fonctions db.ts (getImportSettingsByUser, upsertImportSettings)
- Routes tRPC : importSettings.get et importSettings.update
- Frontend : Page ImportSettings.tsx avec gestion d'état React
- Navigation : Nouveau lien "Paramètres de réception" dans le menu latéral

La page est maintenant accessible via /import-settings et permet aux utilisateurs de configurer toutes les méthodes d'importation de factures de manière centralisée.
2026-02-10 12:05:23 -05:00
Manus
d24f7c5569 Checkpoint: Modification de la page Factures avec sélection multiple et export PDF.
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.
2026-01-08 09:17:29 -05:00
Manus
5a01860aba Checkpoint: Application complète de dématérialisation de facturation avec extraction IA (Mistral), authentification locale + Azure AD, stockage local, et export SFTP.
Fonctionnalités implémentées :
 Authentification locale (email/password) + Azure AD + Manus OAuth
 Upload drag-and-drop de fichiers PDF avec suivi en temps réel
 Extraction automatique avec Mistral AI (OCR + LLM)
 Détection de doublons (fournisseur, numéro, date)
 Score de qualité d'extraction (0-100)
 Tableau de bord avec statistiques
 Liste des factures avec recherche et filtres
 Paramètres utilisateur (LLM, keywords, SFTP)
 Historique des imports avec logs détaillés
 Gestion des utilisateurs (admin)
 Export SFTP manuel/automatique
 Stockage local avec organisation YYYY-MM
 Tests unitaires d'authentification

Architecture :
- Frontend : React 19 + Vite + TailwindCSS + Radix UI
- Backend : Express + tRPC + Drizzle ORM
- Base de données : MySQL (6 tables)
- IA : Mistral AI pour extraction
- Stockage : Local filesystem
- Export : SFTP

Pages :
- Login (choix local/Azure/Manus)
- Dashboard (statistiques)
- Upload (drag-and-drop)
- Invoices (liste avec recherche)
- Settings (LLM, keywords, SFTP)
- History (logs d'import)
- Users (gestion admin)
2026-01-08 06:02:07 -05:00
Manus
205b6061ef Initial project bootstrap 2026-01-08 05:47:56 -05:00