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
973cc67603
feat: page rapport détaillé des imports avec filtres, compteurs et détails doublons/erreurs
2026-05-03 10:23:40 -04:00
Manus
4dbc161a5f
feat: historique imports - filtres, compteurs et bouton visualisation
2026-05-03 06:41:50 -04:00
Manus
8a02125fe2
fix: getLoginUrl() returns /login when VITE_OAUTH_PORTAL_URL is not set
2026-05-03 06:00:18 -04:00
Manus Deploy
a3a7016130
fix: vite outputs to dist/public not client/dist
2026-04-28 13:03:47 -04:00
Manus Deploy
ba16596dc0
fix: use node:22-bookworm (Debian) instead of Alpine for sharp compatibility
2026-04-28 12:40:45 -04:00
Manus Deploy
8bf2001693
fix: copy node_modules from builder to avoid sharp recompilation
2026-04-28 12:28:18 -04:00
Manus Deploy
cdd8aabf39
fix: Dockerfile - add node-gyp for sharp compilation
2026-04-28 12:24:12 -04:00
Manus Deploy
1ddb715eda
feat: déploiement initial recette Santinova
2026-04-28 12:12:13 -04:00
Manus
54f3f8eeef
Checkpoint: Ajout d'un sélecteur Période (année + mois) dans la barre de filtres de Factures BAP, cumulable avec les filtres de statut existants. Le sélecteur mois est désactivé si "Toute année" est sélectionné. Bouton Réinitialiser visible si un filtre est actif.
2026-04-15 08:20:43 -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
927ab2ff22
Checkpoint: Correction du ReferenceError sur le VPS : isEligibleForBAPValidation déplacée avant filteredInvoices et statusCounts pour éviter l'erreur de hoisting dans le bundle minifié.
2026-04-14 08:24:00 -04:00
Manus
776324f315
Checkpoint: Ajout du filtre "À compléter" dans Factures BAP : affiche toutes les factures dont le bouton BAP n'est pas actif (score < 100%, champs manquants, déjà exportée ou abonnement). Bouton ambré avec compteur dynamique.
2026-04-14 08:19:14 -04:00
Manus
4090678f6f
Checkpoint: Accordéon +/- dans Factures BAP : bouton global ChevronsUpDown en en-tête, bouton individuel ChevronRight/Down par ligne, seconde ligne dépliable avec Service/Type achat/Ventilation, colonnes retirées de la ligne principale
2026-04-12 18:31:22 -04:00
Manus
5d0c8fbda9
Checkpoint: Titre et sous-titre sur une ligne dédiée, boutons d'action sur une ligne séparée avec flex-wrap pour éviter le défilement horizontal
2026-04-12 18:17:42 -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
bcc421c6a7
Checkpoint: Toutes les restrictions sur les cases à cocher dans Factures BAP ont été supprimées : n'importe quelle facture peut être cochée pour l'export et la relance des automatismes, sans restriction de score ou de champs remplis.
2026-04-12 15:56:17 -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
95aee693ea
Checkpoint: Apprentissage déclenché depuis le select Abonnement (OUI/NON) dans la liste Factures (Invoices.tsx). Correction du commentaire erroné dans InvoiceDetail.tsx.
2026-04-12 15:20:13 -04:00
Manus
e80f899498
Checkpoint: Apprentissage déclenché depuis les selects serviceConcerne/typeAchat/ventilation dans la liste Factures BAP. Page Apprentissages IA refaite avec indicateur de confiance (Confirmé/En observation) et seuil configurable.
2026-04-12 15:11:24 -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
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
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
e9c727d679
Checkpoint: Renommage menus (Paramètres IA et Signatures, Paramètres import/export), paramètres export BAP refondus (switches indépendants navigateur+dossier, types local/Teams/SharePoint), historique BAP simplifié (colonnes supprimées, bouton Réexporter), import manuel par dossier entier
2026-04-12 13:47:30 -04:00
Manus
8b12f4fdcb
Checkpoint: Modification du nommage des PDFs BAP téléchargés : format "AAAA-MM-JJ - Fournisseur - N°Facture.pdf" dans BapHistory.tsx et InvoicesBAP.tsx. Les paramètres invoiceNumber et validatedAt sont passés à la fonction downloadBapPdf.
2026-04-12 12:23:48 -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
cd11059a89
Checkpoint: DashboardLayout redirige maintenant vers /login (connexion locale) au lieu d'afficher le bouton Sign in OAuth
2026-03-22 13:15:56 -04:00
Manus
9baa2c0610
Checkpoint: Logo Santinova agrandi à h-24 pour correspondre à la taille du logo Itinova sur la page de connexion
2026-03-22 13:11:28 -04:00
Manus
73edd0c757
Checkpoint: Page de connexion : arrivée directe sur connexion locale, logo Itinova en haut, logo Santinova + "powered by" en bas, renommage en "Gestion facturation"
2026-03-22 13:06:48 -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
cf886a1adb
Checkpoint: Correction du problème d'affichage du canvas de signature : utilisation d'une callback ref (initCanvas) au lieu d'un useEffect conditionnel pour initialiser le fond blanc du canvas dès son montage dans le DOM
2026-03-14 19:13:45 -04:00
Manus
20be9c6060
Checkpoint: Amélioration de l'onglet Signatures : ajout d'un canvas interactif pour dessiner la signature à la souris/tactile, sélecteur de mode Dessiner/Importer, bouton Effacer, export automatique du canvas en PNG base64 lors de l'enregistrement
2026-03-14 19:07:03 -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
Manus
661e477d36
Checkpoint: Checkpoint saved: Ajout de la fonctionnalité d'export intelligent des factures BAP
...
Nouvelle fonctionnalité implémentée :
✅ Sélection automatique des factures exportables uniquement
✅ Critères d'exportabilité renforcés : Score 100% + Type d'achat + Service + Ventilation remplis
✅ Case à cocher générale qui sélectionne toutes les factures exportables
✅ Cases à cocher individuelles désactivées pour les factures non exportables
✅ Bouton "Exporter" actif dès qu'au moins une facture est cochée
✅ Tooltips explicatifs sur les cases à cocher
Modifications techniques :
- client/src/pages/InvoicesBAP.tsx : Fonction isEligibleForExport modifiée avec critères complets
- client/src/pages/InvoicesBAP.tsx : handleSelectAll modifié pour sélectionner uniquement les factures exportables
- client/src/pages/InvoicesBAP.tsx : Ajout de l'attribut disabled sur les checkboxes non exportables
- client/src/pages/InvoicesBAP.tsx : Ajout de tooltips explicatifs
- client/src/pages/InvoicesBAP.tsx : Simplification du bouton "Exporter" (activation dès qu'une facture est cochée)
Fonctionnement :
1. Une facture BAP est exportable si et seulement si :
- Score de qualité = 100%
- Type d'achat rempli (CAPEX ou OPEX)
- Service concerné rempli
- Ventilation comptable remplie
2. La case à cocher générale (en-tête du tableau) sélectionne automatiquement toutes les factures qui remplissent ces critères
3. Les cases à cocher individuelles sont :
- Actives pour les factures exportables
- Désactivées (grisées) pour les factures non exportables
- Avec tooltip explicatif sur les cases désactivées
4. Le bouton "Exporter" s'active dès qu'au moins une facture est cochée et affiche le nombre de factures sélectionnées
Cette fonctionnalité garantit que seules les factures complètes et validées peuvent être exportées, évitant ainsi les erreurs d'export de données incomplètes.
2026-02-13 10:26:03 -05:00
Manus
4c3b68fda5
Checkpoint: Correction du bug où l'accordéon se refermait après avoir cliqué sur un sous-menu. Maintenant, la section parent reste ouverte automatiquement quand on navigue vers une page enfant.
2026-02-13 04:49:46 -05:00
Manus
8b74f8e0ea
Checkpoint: Amélioration du menu accordéon avec comportement exclusif (un seul ouvert à la fois) et design moderne coloré avec dégradés, icônes agrandies, et animations fluides
2026-02-13 04:43:05 -05:00
Manus
d0ae99042c
Checkpoint: Création d'un menu latéral accordéon avec 4 sections principales : Tableau de bord (ouvert par défaut), Facturation, Configuration, et Traçabilité
2026-02-13 04:37:15 -05:00