Manus
16759b4ad5
feat: purge import history by retention
2026-10-09 10:22:46 +00:00
Manus
6d72547509
fix: paginate import history and report
2026-10-09 09:58:08 +00:00
Manus
939dddd1d8
fix: require BAP before original PDF exports
2026-10-09 08:44:02 +00:00
Manus
1617267128
fix: expliciter le résultat des imports manuels
2026-10-02 21:10:42 +00:00
Manus
70f867d62b
fix: relancer les sources vides après purge
2026-10-02 20:46:21 +00:00
Manus
aebdafd026
Checkpoint: Paramètres > Intelligence IA affiche désormais automatiquement le moteur, et le modèle quand il est fourni, décidés par le Référentiel IA dès sa sélection. La consultation ne transmet aucune facture ; un état de chargement et une reprise sur erreur sont affichés. Test Référentiel IA, TypeScript et build validés.
2026-10-02 15:13:56 +00:00
Manus
136797ca36
Merge remote-tracking branch 'user_github/main'
...
# Conflicts:
# server/webImportSourcesMigration.test.ts
# todo.md
2026-09-30 16:35:50 +00:00
Manus
e9d25d9270
feat: route invoice analysis through referentiel ia
2026-09-30 16:20:22 +00:00
Manus
0d65592d75
feat: lancer manuellement les imports SFR
2026-09-30 16:42:27 +02:00
Manus
e08df31909
Checkpoint: Ajout du déclenchement manuel pour les connecteurs web SFR : confirmation explicite, automate Chromium côté serveur, récupération des PDF par session authentifiée et injection dans le flux existant de stockage/dédoublonnage/analyse. Le bouton est désactivé pour les types sans moteur réellement livré. Le résultat affiche factures importées et doublons, sans créer de planification. Chromium et playwright-core sont intégrés à l’image. Validation locale : 77 tests, TypeScript et build.
2026-09-30 14:39:43 +00:00
Manus
77d57f4e42
fix: normaliser les URLs des connecteurs web
2026-09-30 14:55:13 +02:00
Manus
26eec3831a
Checkpoint: Les connecteurs web acceptent désormais les noms de domaine saisis sans protocole : HTTPS est ajouté automatiquement dans l’interface et à l’API. Les URL HTTP(S) valides restent acceptées et les adresses incorrectes affichent un message métier clair. Sept tests dédiés, la suite complète (71 tests), TypeScript et build ont été validés.
2026-09-30 12:52:53 +00:00
Manus
daa5fb8463
fix: recalculer le score après correction manuelle
2026-09-30 12:20:12 +02:00
Manus
082e6d8326
Checkpoint: Le score de qualité est désormais recalculé et persisté par le serveur après chaque modification manuelle de facture. Il s’appuie sur les champs obligatoires configurés pour le propriétaire de la facture, conserve un référentiel par défaut en l’absence de configuration et accepte explicitement un compte ayant rendu tous ses champs optionnels. Le calcul local non persisté de la page détail est supprimé. 64 tests, TypeScript et build validés.
2026-09-30 10:16:27 +00:00
Manus
5aa2b9e285
Checkpoint: Réception automatique e-mail sécurisée : le planificateur est créé uniquement après un test IMAP concluant, les erreurs d’authentification sont affichées explicitement et ne déclenchent plus de boucle. Les administrateurs peuvent sélectionner, démarrer, arrêter et suivre le compte source déjà configuré sans afficher ni recopier de secrets. Tests de démarrage réussi/refusé, arrêt et ciblage de compte ajoutés ; 59 tests, TypeScript et build validés.
2026-09-24 09:34:22 +00:00
Manus
f7c522b18e
Checkpoint: Les onglets Automatismes d’import et Automatismes d’export sont visuellement différenciés en bleu et violet. Le libellé « Mode d’export BAP » devient « Mode d’export » et le texte de repli ne mentionne plus BAP. Tests, TypeScript et rendu visuel validés en sandbox.
Validation applicative / TypeScript, tests et build (push) Successful in 2m15s
2026-09-02 12:42:46 +00:00
Manus
071376c9b1
Checkpoint: La configuration Microsoft Azure AD est de nouveau centralisée dans Paramètres : URL SharePoint, Tenant ID, Client ID, secret masqué, date d’expiration et tests de connexion/upload. Les Automatismes d’export ne contiennent plus d’identifiants et restent dédiés aux règles de destination. Tests, TypeScript, build et rendu de la page Paramètres validés en sandbox.
2026-09-02 12:31:50 +00:00
Manus
582ca77f28
Checkpoint: Automatismes séparé en onglets Import et Export. Les règles d’export ciblent un destinataire ou une ventilation, avec destination locale, Teams ou SharePoint et ouverture navigateur optionnelle. La validation BAP unique ou en masse applique la première règle active par priorité puis conserve le paramétrage historique comme repli. Paramètres d’export déplacés vers Automatismes et page renommée Paramètres. Migration additive, tests, TypeScript, build et contrôles visuels validés.
2026-09-02 12:13:23 +00:00
Manus
da19629ee0
Checkpoint: Factures BAP inclut désormais, après Année et Mois, les filtres Destinataires, Entités et Ventilations comptables de la page Factures. Leur logique est identique, avec valeurs absentes et règle SANTINOVA/ITINOVA fondée sur DSI SANTINOVA. Les filtres sont conservés au retour depuis le détail. Tests, TypeScript, build et rendu visuel validés en sandbox.
2026-09-02 11:52:20 +00:00
Manus
0b2f1b781d
Checkpoint: Historique des imports enrichi avec le compte, la source, le déclencheur, les résultats, les erreurs et les informations du fichier source. Les administrateurs peuvent déclencher une lecture e-mail ponctuelle pour une boîte configurée, avec confirmation explicite, sans activer ni créer de planification. Migration importTrigger appliquée en sandbox ; TypeScript, 48 tests, build et rendus bureau/mobile validés.
2026-09-02 11:43:23 +00:00
Manus
9997e383cc
Checkpoint: Budget réel confirmé en ordre décroissant de montant total ; graphique en barres annuel comparant les montants BAP et abonnements ajouté au tableau de bord.
Validation applicative / TypeScript, tests et build (push) Successful in 3m19s
2026-08-30 08:56:27 +00:00
Manus
5128322a6d
Checkpoint: Ajout du récapitulatif annuel BAP et abonnements au tableau de bord, et de Budget réel par fournisseur avec filtres Année/Mois et ventilation abonnements/hors abonnement.
2026-08-29 22:15:35 +00:00
Manus
e2d067ff4b
Checkpoint: Ajout de la page Factures abonnements, accessible après Factures BAP, partageant les recherches, filtres et actions de la page Factures. Filtres Année et Mois ajoutés aux deux listes, avec règle date de facture puis réception.
2026-08-29 18:32:12 +00:00
Manus
a0c440dfae
Checkpoint: Le seuil d’éligibilité et de validation BAP est centralisé à 90 % dans le serveur et l’interface. Les validations unitaires, TypeScript, build et rendu de la page Factures BAP sont réussis en sandbox.
2026-08-27 13:02:07 +00:00
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.
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
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
bcb307bde1
Checkpoint: Tous les boutons d'action (Excel, ZIP, Valider tout BAP, Importer, Supprimer, Dévalider BAP, Relancer) et la recherche sont maintenant sur une seule ligne dans le cartouche vert pastel, avec les filtres période et statut en dessous.
2026-07-30 12:48:20 +00:00
Manus
295ba29329
Checkpoint: Zone de filtres Factures BAP refactorisée en 3 lignes dans un cartouche vert émeraude pastel : ligne 1 (recherche), ligne 2 (filtres période année/mois), ligne 3 (boutons statut + tri aligné à droite).
2026-07-30 12:37:32 +00:00
Manus
ac0594f5db
Checkpoint: Zone de filtres Factures refactorisée en 3 lignes dans un cartouche bleu pastel : ligne 1 (recherche + compact/détail), ligne 2 (destinataire, abonnement, entité, ventilation comptable), ligne 3 (boutons statut export + tri par date).
2026-07-30 12:24:15 +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
aebc607e8a
Checkpoint: Ajout de deux nouveaux filtres sur la page Factures : Abonnement (OUI/NON basé sur isSubscription) et Entité (SANTINOVA/ITINOVA basé sur ventilationComptable === 'SANTINOVA'). Filtrage côté client, aucune modification backend nécessaire.
2026-07-30 08:15:56 +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
8ee10602d3
Checkpoint: Ajout de la connexion OAuth2 Microsoft 365 (Azure AD) : route callback /api/auth/azure/callback, bouton Microsoft sur la page de login, variables d'environnement Azure AD configurées
2026-07-07 05:54:46 -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
756f8ab392
fix: stabiliser validatedInvoiceIds avec useMemo pour bouton téléchargement BAP
2026-06-16 12:29:58 -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
295965fa57
true message
2026-06-15 11:54:58 -04:00
Manus
2fde4f92a6
feat: mode compact/détail, tri date réception/facturation, suppression colonne utilisateur
2026-06-12 09:00:56 -04:00
Manus
f49eadda2b
feat: warningMessage quota IA dans rapports d'import + redémarrage auto services
2026-06-09 12:15:26 -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
f676395973
Checkpoint: Correction du bouton "Tester la connexion" FreePro :
...
- Backend : réécriture de loginToFreePro avec timeout 15s, gestion robuste des erreurs, multiples endpoints tentés, vérification de l'accès /account/ pour confirmer la connexion
- Frontend : suppression de la garde incorrecte sur loginPassword === "••••••••", validation par trim() + includes("@") + longueur minimale
- Résultat : le bouton répond maintenant et retourne un message d'erreur explicite si les credentials sont incorrects
2026-06-08 09:42:32 -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
5d919f891f
fix: PDF FreePro dessin manuel - 1 page A4 portrait garantie
2026-06-05 11:00:37 -04:00