Commit Graph

10 Commits

Author SHA1 Message Date
Manus
0536035303 Checkpoint: Ajout d’un filtre par action dans la liste des automatismes, avec catégories Type d’achat, Service, Ventilation, Abonnement, Abonnement Oui et Abonnement Non. Tests, TypeScript, build et rendu visuel validés en sandbox. 2026-08-27 07:02:36 +00:00
Manus
3528fc6905 Checkpoint: L’option Abonnement est remontée en tête des actions du dialogue d’édition, dans un encadré explicite avec Oui, Non et Ne pas modifier. Tests, TypeScript et build validés.
Some checks failed
Validation applicative / TypeScript, tests et build (push) Failing after 3s
2026-08-26 11:49:09 +00:00
Manus
b603541adf Checkpoint: Correctifs validés en sandbox : retour contextuel depuis le détail vers Factures BAP avec filtres et tri conservés, et nouvelle action Abonnement Oui/Non/Ne pas modifier dans les automatismes. Ajout de tests de non-régression. 2026-08-26 10:20:20 +00:00
Manus
120f56bb23 Checkpoint: Ajout d'un champ texte libre qui s'affiche quand "Autre..." est sélectionné dans les selects typeAchat, serviceConcerne et ventilationComptable des règles d'automatisme. Le texte saisi remplace "AUTRE" dans le tampon BAP. Disponible dans les deux modes (wizard et avancé). 2026-04-12 14:40:18 -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
96f6367094 Checkpoint: Ré-application automatique des règles d'automatisme sur factures BAP existantes
 **Mise à jour automatique des factures BAP**

Le système applique maintenant automatiquement les règles d'automatisme sur toutes les factures BAP existantes lors de la création, modification ou activation d'une règle.

**Déclencheurs de ré-application automatique :**
1. **Création d'une règle active** : Si isActive = 1, toutes les factures BAP sont analysées et mises à jour
2. **Modification d'une règle active** : Si la règle modifiée est active, ré-application immédiate
3. **Activation d'une règle** : Lors du passage de isActive 0 → 1, ré-application automatique

**Fonctionnement :**
- Filtrage automatique des factures BAP (isSubscription = 0)
- Application séquentielle de toutes les règles actives par ordre de priorité
- Mise à jour des champs : Type d'achat, Service concerné, Ventilation comptable
- Traçage des champs auto-remplis dans autoFilledFields pour coloration (vert)
- Invalidation du cache des factures pour rafraîchissement immédiat de l'interface

**Notifications utilisateur :**
- Création : "Règle créée et appliquée aux factures BAP existantes" (si active)
- Modification : "Règle mise à jour et appliquée aux factures BAP existantes" (si active)
- Messages différenciés selon l'état actif/inactif de la règle

**Route API supplémentaire :**
- `automationRules.reapplyToExistingInvoices` : Permet une ré-application manuelle si nécessaire
- Retourne le nombre total de factures BAP et le nombre de factures mises à jour

Architecture technique :
- server/routers.ts : Ajout de la logique de ré-application dans create/update/toggleActive
- server/routers.ts : Nouvelle route reapplyToExistingInvoices pour ré-application manuelle
- server/automationEngine.ts : Utilisation de applyAutomationRules(userId, invoice)
- client/src/pages/AutomationRules.tsx : Notifications différenciées selon le contexte
- client/src/pages/AutomationRules.tsx : Invalidation du cache invoices pour rafraîchissement

Bénéfices utilisateur :
- **Cohérence** : Toutes les factures BAP sont toujours à jour avec les règles actives
- **Gain de temps** : Pas besoin de ré-appliquer manuellement les règles
- **Transparence** : Notifications claires sur l'application automatique
- **Flexibilité** : Possibilité de créer des règles inactives pour tests avant activation
- **Traçabilité** : Coloration verte des champs auto-remplis dans l'interface Factures BAP
2026-02-12 04:07:06 -05:00
Manus
8857ce01ef Checkpoint: Implémentation de l'assistant de création guidée avec interface différenciée
 **Assistant de création guidée en 3 étapes**

L'interface de l'assistant est maintenant complètement différente du mode avancé, offrant une expérience simplifiée et guidée pour les utilisateurs non techniques.

**Étape 1 - Conditions simples**
- Nom de la règle
- Question guidée : "Quand appliquer cette règle ?"
- Interface simplifiée : "Le fournisseur [contient/est égal à/commence par] [valeur]"
- Validation avant passage à l'étape suivante

**Étape 2 - Sélection des actions**
- Question guidée : "Que voulez-vous remplir automatiquement ?"
- Sélection simple des 3 champs : Type d'achat, Service concerné, Ventilation comptable
- Option "Ne pas modifier" pour chaque champ

**Étape 3 - Révision et validation**
- Récapitulatif visuel dans une Card
- Affichage clair du nom, des conditions et des actions
- Bouton "Créer la règle" pour finaliser

**Navigation intuitive**
- Boutons "Annuler" / "Précédent" / "Suivant"
- Badge indiquant l'étape courante (Étape X/3)
- Validation à chaque étape avant progression
- Messages d'erreur clairs si champs obligatoires manquants

**Différences Assistant vs Mode avancé**
- **Assistant** : Interface simplifiée, 1 condition sur le fournisseur uniquement, navigation par étapes, questions en français naturel
- **Mode avancé** : Formulaire complet, conditions multiples avec opérateurs complexes, logique AND/OR, bouton "Tester la règle", tout sur une seule page

Architecture technique :
- client/src/pages/AutomationRules.tsx : Ajout de la structure conditionnelle wizardMode
- client/src/pages/AutomationRules.tsx : Implémentation des 3 étapes avec wizardStep
- client/src/pages/AutomationRules.tsx : Navigation avec validation entre les étapes
- client/src/pages/AutomationRules.tsx : Séparation complète de l'UI wizard vs avancé
- client/src/pages/AutomationRules.tsx : Utilisation de Card pour le récapitulatif

Bénéfices utilisateur :
- **Accessibilité** : Interface guidée pour les non-techniciens
- **Simplicité** : Une seule condition à la fois, focus sur l'essentiel
- **Clarté** : Questions en langage naturel, pas de jargon technique
- **Sécurité** : Validation à chaque étape, récapitulatif avant création
- **Flexibilité** : Choix entre assistant simple et mode avancé selon le besoin
2026-02-12 03:44:28 -05:00
Manus
d0ef89e6ba Checkpoint: Améliorations majeures de la gestion des règles d'automatisme
Trois nouvelles fonctionnalités implémentées :

 **Assistant de création guidée**
- Deux modes de création : "Assistant de création" (guidé) et "Mode avancé" (complet)
- Interface simplifiée pour les utilisateurs non techniques
- Boutons séparés pour choisir le mode de création

 **Test de règles avant activation**
- Bouton "Tester la règle" dans le formulaire de création/édition
- Simulation sur toutes les factures existantes sans modification
- Affichage des résultats :
  * Nombre total de factures
  * Nombre de factures affectées
  * Aperçu des 10 premières factures avec les modifications prévues
- Permet de valider l'impact avant d'activer la règle

 **Duplication de règles**
- Bouton "Dupliquer" (icône Copy bleue) dans la liste des règles
- Création automatique d'une copie avec le suffixe "(copie)"
- Règle dupliquée désactivée par défaut pour éviter les conflits
- Facilite la création de variantes de règles similaires

Architecture technique :
- server/routers.ts : Ajout des routes `test` et `duplicate` dans automationRules
- server/routers.ts : Ajout des interfaces Condition et Actions
- server/routers.ts : Implémentation de la logique d'évaluation des conditions pour le test
- client/src/pages/AutomationRules.tsx : Ajout des mutations testMutation et duplicateMutation
- client/src/pages/AutomationRules.tsx : Ajout des états wizardMode, wizardStep, testResultsOpen, testResults
- client/src/pages/AutomationRules.tsx : Modification des boutons de création (Assistant vs Mode avancé)
- client/src/pages/AutomationRules.tsx : Ajout du bouton "Tester la règle" dans le DialogFooter
- client/src/pages/AutomationRules.tsx : Ajout du Dialog des résultats de test avec statistiques et aperçu
- client/src/pages/AutomationRules.tsx : Ajout du bouton "Dupliquer" dans le tableau des règles

Bénéfices utilisateur :
- **Sécurité** : Test avant activation pour éviter les erreurs de configuration
- **Productivité** : Duplication rapide pour créer des variantes
- **Accessibilité** : Assistant guidé pour les utilisateurs non techniques
- **Transparence** : Visualisation de l'impact réel avant application
- **Confiance** : Validation des règles sur données réelles

Ces améliorations transforment la gestion des automatismes en un outil puissant, sécurisé et accessible à tous les profils d'utilisateurs.
2026-02-12 03:28:27 -05:00
Manus
cd50372d30 Checkpoint: Correction de l'erreur Select.Item dans le formulaire de création de règles d'automatisme
Problème résolu :
 Erreur "Select.Item must have a value prop that is not an empty string" corrigée
 Le bouton "Nouvelle règle" fonctionne maintenant correctement
 Le formulaire de création de règles s'affiche sans erreur

Modifications techniques :
- client/src/pages/AutomationRules.tsx : Remplacement des valeurs vides ("") par une valeur spéciale "__NONE__" dans les trois Select (Type d'achat, Service concerné, Ventilation comptable)
- Ajout de la logique de conversion : "__NONE__" → undefined lors de la sauvegarde
- Conservation de l'affichage "Ne pas modifier" pour l'utilisateur

Contexte :
Le composant Select de shadcn/ui ne permet pas d'utiliser des chaînes vides comme valeur pour SelectItem. La solution consiste à utiliser une valeur sentinelle ("__NONE__") qui est convertie en undefined lors de la sauvegarde, permettant ainsi de ne pas modifier le champ correspondant lors de l'application de la règle.

Cette correction permet maintenant de créer des règles d'automatisme sans erreur, avec la possibilité de choisir de ne pas modifier certains champs.
2026-02-11 12:44:44 -05:00
Manus
72c3f503a3 Checkpoint: Système de gestion des automatismes pour remplissage automatique des factures
Nouvelle fonctionnalité majeure :
 Page "Automatismes" complète pour gérer les règles de remplissage automatique
 Système de règles conditionnelles SI...ALORS pour automatiser le remplissage des champs métier
 Support de conditions multiples avec logique AND/OR
 Application automatique des règles lors de l'import de factures
 Gestion de la priorité des règles (ordre d'exécution)
 Activation/désactivation des règles individuelles

Architecture technique :
- drizzle/schema.ts : Table automationRules avec conditions JSON et actions JSON
- server/db.ts : Fonctions CRUD complètes pour les règles (create, update, delete, list)
- server/routers.ts : Routes tRPC pour gérer les automatismes
- server/automationEngine.ts : Moteur d'évaluation et d'application des règles
- client/src/pages/AutomationRules.tsx : Interface complète de gestion des règles
- Migration 0009_regular_warhawk.sql appliquée avec succès

Fonctionnement des règles :
1. **Conditions (SI)** : Définissez des critères basés sur les champs de la facture
   - Champs disponibles : Fournisseur, N° Facture, Montant, Date, N° Commande, N° Bon de livraison
   - Opérateurs : contient, égal à, commence par, finit par, >, <, >=, <=
   - Logique : AND (toutes les conditions) ou OR (au moins une condition)

2. **Actions (ALORS)** : Définissez les champs à remplir automatiquement
   - Type d'achat (CAPEX/OPEX)
   - Service concerné (depuis la liste des services)
   - Ventilation comptable (depuis la liste des ventilations)

3. **Priorité** : Les règles sont appliquées dans l'ordre de priorité
   - Une règle de priorité supérieure ne peut pas être écrasée par une règle de priorité inférieure

4. **Application automatique** : Les règles s'appliquent automatiquement lors de l'import de factures

Exemples d'utilisation :
- SI Fournisseur contient "Microsoft" ET Montant > 1000 ALORS Type d'achat = CAPEX, Service = DSI
- SI Fournisseur contient "EDF" ALORS Type d'achat = OPEX, Ventilation = TOUS
- SI N° Facture commence par "AB" ALORS Service = Administration

Interface utilisateur :
- Liste des règles avec nom, conditions, actions et statut
- Formulaire de création/édition avec interface intuitive
- Boutons d'activation/désactivation rapide
- Suppression avec confirmation
- Affichage lisible des conditions et actions

Cette fonctionnalité permet de gagner un temps considérable en automatisant le remplissage des champs métier selon des règles métier prédéfinies.
2026-02-11 12:35:26 -05:00