Commit Graph

178 Commits

Author SHA1 Message Date
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
5d919f891f fix: PDF FreePro dessin manuel - 1 page A4 portrait garantie 2026-06-05 11:00:37 -04:00
Manus
44186a056b fix: PDF FreePro 1 page A4 portrait - calcul précis hauteur cellule 2026-06-05 10:50:00 -04:00
Manus
b5705b5209 fix: PDF A4 portrait, total sans slash, bouton SharePoint FreePro 2026-06-05 10:08:38 -04:00
Manus
d3bb0c7e07 fix: renommage export PDF FreePro - ventilation facture mm.AA.pdf 2026-06-05 10:01:22 -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
6224328331 fix: export PDF A4 paysage, 1 seule page, taille police dynamique 2026-06-05 09:12:22 -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
96cfdc8901 Checkpoint: Trois améliorations SharePoint : (1) bouton 'Tester la connexion' Azure AD dans les paramètres avec procédure tRPC testAzureConnection, (2) champ date d'expiration du secret Azure AD avec alerte 30 jours avant expiration, (3) log statut upload SharePoint (success/error/path) dans la table bapHistory et affichage dans BapHistory.tsx 2026-05-06 08:02:50 -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
bbee4cd7c9 Checkpoint: Intégration complète de l'API Microsoft Graph pour l'export automatique des PDF BAP vers SharePoint. Inclut : helper uploadToSharePoint, champs Azure AD en DB (azureTenantId, azureClientId, azureClientSecret, exportFolderType), UI de configuration dans Paramètres, et adaptation des procédures validateBAP et validateBAPBulk. 2026-05-06 07:38:24 -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
382ac51943 fix: compteurs statusCounts respectent le filtre de période (cohérence avec la liste affichée) 2026-05-05 10:44:18 -04:00
Manus
cfe6fdf95a fix: corriger le compteur 'À compléter' - affiche uniquement les factures sans BAP validé ET avec champs manquants 2026-05-05 10:38:45 -04:00
Manus
08bb220360 Checkpoint: Corrections déployées : 1) Signature BAP affichée même sans image (fallback texte), 2) URL Manus Forge corrigée (forge.manus.im → forge.manus.ai), 3) Enum bapExportMode étendu à 'both' pour permettre la sauvegarde des paramètres SharePoint 2026-05-05 10:00:39 -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
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