Commit Graph

82 Commits

Author SHA1 Message Date
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
1a09c98ef5 fix: exportStatus mis à jour à 'exported' après validation BAP (unitaire et en masse) 2026-06-16 12:18:40 -04:00
Manus
22b34fcf1e fix: nommage fichiers BAP - format AAAA-MM-JJ - Fournisseur - NFacture.pdf 2026-06-15 12:28:04 -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
a9387eaaea feat: détection doublons par numéro+montant dans les 3 points d'import 2026-06-15 12:02:24 -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
595f5dded1 fix: appliquer les règles d'automatisation (ventilation) lors de l'import email 2026-06-09 10:48:29 -04:00
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