Manus
6c7828d829
fix: transmettre aiSettings (provider Manus) lors de l'import email
2026-06-09 10:20:17 -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
43cacda7ad
Checkpoint: Correction des montants des lignes de ventilation : application d'un coefficient de redistribution proportionnel (totalTtc_officiel / totalTtc_calculé) sur chaque ligne pour que leur somme corresponde exactement au total TTC officiel FreePro. Les montants sont maintenant cohérents avec le portail.
2026-06-08 10:38:58 -04:00
Manus
ed01a07105
Checkpoint: Correction des montants TTC : utilisation du total_ttc retourné par l'API /api/api_red_october/v1/invoices au lieu de recalculer depuis les lignes CSV. Les montants correspondent maintenant exactement au portail FreePro.
2026-06-08 10:30:03 -04:00
Manus
9de1a767fa
Checkpoint: Récupération automatique FreePro opérationnelle : utilisation de l'API REST interne Angular /api/api_red_october/v1/invoices pour lister les factures, puis téléchargement CSV via /account/invoice/{ref}/primary_csv. 6 factures importées automatiquement (01/2026 à 06/2026).
2026-06-08 10:16:52 -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
b5705b5209
fix: PDF A4 portrait, total sans slash, bouton SharePoint FreePro
2026-06-05 10:08:38 -04:00
Manus
054cee0e06
fix: lignes FreePro sans structure affectées à 3069UDA (au lieu de vide)
2026-06-05 09:56:12 -04:00
Manus
a4c347e554
feat: import FreePro accepte .xls, .xlsx et .csv
2026-06-05 09:20:42 -04:00
Manus
db96b29c9f
fix: correction extraction insertId MySQL2 dans createFreeproImport (result[0].insertId)
2026-06-05 08:38:31 -04:00
Manus
ce6760a2ea
fix: insertion freeproVentilationLines par lots de 50 pour eviter limite MySQL
2026-06-05 08:26:31 -04:00
Manus
7f56fa7045
Checkpoint: Module Ventilation FreePro complet : import Excel FreePro, transformation automatique (script/TTC/type XOAUTH2), tableau de ventilation par structure+type, historique par mois, export PDF. Menu Ventilations ajouté dans la navigation.
2026-06-05 08:02:29 -04:00
Manus
4ef130f21d
Checkpoint: OAuth2 IMAP pour Office 365 : ajout du mode d'authentification OAuth2 pour l'import email (Azure AD Client Credentials), sélecteur basic/oauth2 dans l'UI, bouton "Tester la connexion IMAP", procédure testEmailConnection dans le router. Migration DB emailImportAuthMode appliquée.
2026-06-05 05:54:21 -04:00
Manus
22515e5414
feat: date de début de lecture emails dans paramètres import
2026-06-02 10:53:45 -04:00
Manus
7c73d701ac
fix: nom fichier export conforme date-fournisseur-numero.pdf
2026-05-06 12:18:03 -04:00
Manus
4086227df7
feat: export manuel (exportToPdf) supporte maintenant SharePoint en plus du dossier local
2026-05-06 12:12:38 -04:00
Manus
41ae95737b
fix: logs explicites export SharePoint dans validateBAP + migration colonnes bapHistory camelCase
2026-05-06 11:07:58 -04:00
Manus
94844b0589
feat: bouton Tester l'upload SharePoint + tooltip erreur SP dans historique BAP
2026-05-06 10:18:46 -04:00
Manus
6c21c71660
fix: export SharePoint - erreur remontée au frontend, meilleur parsing URL et détection bibliothèque
2026-05-06 09:41:40 -04:00
Manus
5cb1f878a5
fix: page Paramètres - 2 onglets Import/Export, bug date expiration secret corrigé, chargement optimisé
2026-05-06 09:10:41 -04:00
Manus
6553aee8a6
feat: améliorations SharePoint - test connexion Azure AD, alerte expiration secret, log statut upload dans BapHistory
2026-05-06 07:55:46 -04:00
Manus
766f2b444d
feat: intégration Microsoft Graph pour export SharePoint - helper uploadToSharePoint, champs Azure AD en DB et UI
2026-05-06 07:29:23 -04:00
Manus
b5f7e98f4d
fix: ajouter 'both' dans l'enum bapExportMode (schema DB + validation Zod) pour permettre la sauvegarde des paramètres SharePoint
2026-05-05 09:56:07 -04:00
Manus
8536c9a8aa
fix: corriger URL Manus Forge de forge.manus.im vers forge.manus.ai
2026-05-05 09:31:54 -04:00
Manus
699e245cf0
fix: afficher le nom du signataire BAP même sans image de signature (fallback texte)
2026-05-05 05:58:18 -04:00
Manus
37cc9442da
feat: les admins voient toutes les factures/logs/historique BAP, colonne Utilisateur dans Factures
2026-05-03 10:56:20 -04:00
Manus
62b7a61bf5
Checkpoint: Ajout de la section "Moteur IA" dans les paramètres : sélecteur Mistral/Manus, champs clé API avec affichage masqué, persistance en DB, migration VPS appliquée
2026-04-15 08:04:54 -04:00
Manus
7fbb3d5f2c
Checkpoint: Placement intelligent du cartouche BAP : détection de zone blanche par rasterisation PDF (pdftoppm + sharp), cartouche positionné automatiquement dans la zone blanche disponible, ou sur une nouvelle page annexe si aucune zone suffisante n'existe
2026-04-15 07:35:41 -04:00
Manus
412da0e68f
Checkpoint: Ajout du téléchargement groupé ZIP dans Factures BAP, bouton Re-générer dans Historique BAP, filtres Validées BAP / En attente BAP dans Factures BAP
2026-04-12 17:53:38 -04:00
Manus
ba3392b1e4
Checkpoint: La route /api/download-bap accepte maintenant un param filename et le met dans Content-Disposition (RFC 5987). Les fonctions downloadBapPdf dans InvoicesBAP.tsx et BapHistory.tsx passent le filename formaté dans l'URL.
2026-04-12 17:42:15 -04:00
Manus
d1dda66b9a
Checkpoint: Bouton Télécharger toujours visible pour les factures en état Validé dans InvoicesBAP, même après rechargement. Le pdfUrl est récupéré depuis bapHistory via une nouvelle route tRPC getBapPdfUrls. Nommage uniforme Date - Fournisseur - N°Facture.pdf sur tous les points d'export.
2026-04-12 17:36:09 -04:00
Manus
132f8ccec2
Checkpoint: isSubscription appliqué lors des imports. Seuil de confiance persisté en base (champ learningConfidenceThreshold dans userSettings). LearningSettings.tsx charge et sauvegarde le seuil via settings.get/upsert.
2026-04-12 15:27:19 -04:00
Manus
3ae1e47ca6
Checkpoint: Bouton Relancer corrigé (automatismes uniquement, sans LLM). Système d'apprentissage complet : table invoiceLearnings, routes tRPC, déclenchement depuis InvoiceDetail, application lors des imports, page LearningSettings dans Configuration > Apprentissages IA.
2026-04-12 14:54:29 -04:00
Manus
8acfb4eae1
Checkpoint: Ajout route tRPC invoices.reprocessSelected et bouton Relancer (violet) dans la barre d'outils de Factures BAP
2026-04-12 14:20:05 -04:00
Manus
d4fe15c23d
Checkpoint: Correction du bouton téléchargement BAP : la route /api/download-bap utilise maintenant un query param pdfPath pour accepter les chemins complets avec sous-dossiers (ex: /storage/2026-04/BAP_xxx.pdf). Ajout d'une route de compatibilité qui cherche dans tous les sous-dossiers. Sécurité anti-path-traversal maintenue.
2026-04-12 10:31:18 -04:00
Manus
9d71f1e34a
Checkpoint: Ajout du bouton de téléchargement direct du PDF annoté BAP : route Express /api/download-bap/:filename avec Content-Disposition attachment, bouton Télécharger dans InvoicesBAP (apparaît après validation), boutons Voir + Télécharger dans l'Historique BAP. Correction du layout PDF (2 colonnes) également incluse.
2026-04-12 10:05:02 -04:00
Manus
3cbd705249
Checkpoint: Correction du layout de la zone BAP dans les PDFs annotés : mise en page 2 colonnes (texte à gauche / signature à droite), séparation du destinataire sur sa propre ligne, suppression du chevauchement entre le nom d'établissement et l'image de signature. Appliqué aux deux routes validateBAP et validateBAPBulk.
2026-04-12 09:49:38 -04:00
Manus
76554214b2
Checkpoint: Ajout du bouton "Valider tout en BAP" sur la fenêtre Factures BAP : route validateBAPBulk côté serveur (traitement de toutes les factures éligibles en une passe), mutation côté client avec ouverture des PDFs générés, bouton vert dans le header de la page.
2026-04-12 09:40:33 -04:00
Manus
d07ff1b34d
Checkpoint: Correction critique : la route validateBAP et exportToPdf lisent maintenant le PDF source et l'image de signature depuis l'URL publique en fallback si le fichier local n'est pas disponible (cas du VPS où les fichiers sont stockés localement mais pas dans la sandbox).
2026-04-12 06:17:38 -04:00
Manus
5f7c8c7c7f
Checkpoint: Améliorations Factures BAP : suppression colonne Abonnement, mode d'export configurable (navigateur/dossier), génération PDF annoté avec zone blanche (CAPEX/OPEX | BAP | Destinataire + signature du service) lors du clic BAP, historique BAP dans le menu Traçabilité, table bapHistory en DB.
2026-04-12 05:57:02 -04:00
Manus
edf7cc704d
Checkpoint: Ajout du filtre destinataire dans la liste des factures (dropdown + recherche textuelle), graphique "Top 10 destinataires" et liste détaillée dans le dashboard, filtre destinataire dans les paramètres SFTP (sftpRecipientFilter) avec application lors de l'export
2026-04-12 05:20:55 -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
d8d2ef14da
Checkpoint: Connexion locale avec identifiant libre (non-email), compte adminItinova créé, page Login mise à jour avec champ Identifiant
2026-03-22 13:23:16 -04:00
Manus
ee49992530
Checkpoint: Ajout de l'association Service→Signature dans l'onglet Signatures des Paramètres et apposition automatique de la signature sur les PDFs exportés lors de l'export BAP. Inclut : table serviceSignatures, routes tRPC, interface de configuration, et modification de exportToPdf pour apposer la signature en bas à droite du PDF avec le nom du signataire.
2026-03-14 19:28:50 -04:00
Manus
33a82e2ad2
Checkpoint: Ajout de l'onglet "Signatures" dans la page Paramètres : table DB signatures (firstName, lastName, imageKey, imageUrl), migration appliquée, routes tRPC (list, upload, create, delete), composant SignaturesSection avec formulaire d'ajout (prénom+nom+upload image), grille d'affichage des signatures avec aperçu, bouton de suppression au survol
2026-03-14 18:52:47 -04:00
Manus
9868a1afda
Checkpoint: Ajout du bouton Validation BAP dans la page Factures BAP : nouveau champ bapValidated/bapValidatedAt dans le schéma, migration DB, route tRPC validateBAP avec vérification des critères (Score 100%, non exportée, isSubscription=0, service+typeAchat+ventilation remplis), bouton vert actif/désactivé avec tooltip explicatif, badge "Validé" pour les factures déjà validées
2026-03-06 04:17:53 -05:00
Manus
f16efa4197
Checkpoint: Checkpoint saved: Améliorations majeures de l'export des factures BAP
...
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.
2026-02-13 10:33:09 -05:00