← Roadmap publique
CHANGELOG
CRM AWM V1.6.29Snapshot sécurisé de la version effectivement publiée. Les lignes potentiellement sensibles sont masquées automatiquement.## 1.6.29 - Correctif du fatal Pulse WP_User - 2026-09-12 - Le Pulse utilise les objets WP_User renvoyes par canonical_clients() et la methode PUBLIQUE canonical_client_is_active(). - Aucun acces tableau sur WP_User et aucun appel a la methode privee client_is_active(). - Compatibilite avec les profils tableaux explicitement types; un type inconnu reste inconnu, pas automatiquement inactif. - Comptage en lecture seule, sans construire de profil pouvant creer un site_id. Inactif et archive ne sont pas renommes abusivement suspendus. - Aucune migration du schema metier. Regression reproduite sur l'ancienne version puis testee avec la classe CRM reelle et des doubles WordPress. ## 1.6.28 — Pulse v2 Health / cycle client — 2026-09-12 - CRM expose un score/fraîcheur Health tout en restant l autorité du statut actif/inactif. - Le nombre de clients suspendus reste contextuel et ne pénalise pas automatiquement le score technique. ## 1.6.27 — Pulse opérationnel transversal — 2026-09-12 - Expose au Core un pulse clients actifs / suspendus depuis le statut CRM canonique. - Prépare Health/SLA à distinguer une suspension commerciale d une panne technique. # CRM AWM 1.6.26 — ancres Connector par site - Chaque bloc Connector principal ou secondaire expose maintenant une ancre stable dérivée du `site_id`. - Tech AWM peut ainsi ouvrir directement le bon Connector depuis le badge **À connecter** ou depuis un diagnostic indisponible. - Le Connector ciblé est mis en évidence sans modifier sa clé, son état ou son `instance_uuid`. ## 1.6.25 — 2026-09-11 - Ajoute un **motif d’inactivité** et une **date de réactivation planifiée** directement dans l’état du compte CRM, sans créer de second statut. - Conserve le clic rapide Actif/Inactif de la liste exactement comme en 1.6.24; les détails d’inactivité restent optionnels dans la fiche client. - Ajoute une réactivation automatique horaire : lorsque la date planifiée est atteinte, CRM repasse le client à `active` et republie l’événement canonique à toute la Suite. - Historise les périodes de suspension avec début, fin, motif et source de réactivation afin que Health/SLA puissent distinguer une vraie indisponibilité d’une suspension commerciale. - Expose `canonical_client_status_context()`, `canonical_client_status_history()` et `canonical_client_suspensions()` aux autres modules AWM. - La chronologie du dossier client inclut désormais les changements de statut et les mises à jour du contexte d’inactivité. - Aucun Connector, incident historique, appel, statistique, ticket, facture ou service n’est supprimé lors d’une suspension ou d’une réactivation. ## 1.6.24 — 2026-09-11 - Remplace la soumission/recharge complète du badge **Actif / Inactif** par une bascule AJAX sécurisée. - Conserve la position de défilement, la recherche, le filtre Actifs/Inactifs/Tous et le mode Fiches/Tableau après le changement. - Met à jour simultanément la fiche et la ligne Tableau du même client sans dupliquer le statut. - Le loader AWM suit l action et affiche le résultat; aucune notice WordPress ni retour en haut de page n est nécessaire. - Le traitement serveur conserve `_callink_crm_account_status`, `_callink_manual_inactive`, le journal de sécurité et l événement `awm_crm_client_status_changed` utilisés par Tech, Hub, Stats, Studio, CallTracker et le Connector. - La route `admin-post.php` historique reste disponible pour les autres écrans CRM et comme compatibilité serveur. ## 1.6.23 — 2026-09-11 - Le badge **Actif / Inactif** des fiches clients devient un interrupteur direct dans les vues Fiches et Tableau. - CRM demeure la source unique du statut `active / inactive / archived` et expose ce statut aux autres modules via l API canonique. - Chaque changement de statut publie l événement `awm_crm_client_status_changed` pour suspendre ou reprendre proprement les modules opérationnels. - Une désactivation ne supprime aucune facture, statistique, campagne, appel, ticket, incident, site, clé Connector ou historique. - Le retour Inactif → Actif réutilise la même fiche, les mêmes `client_id`, `site_id`, `instance_uuid` et Connectors existants. ## 1.6.22 — 2026-09-09 - Clarifie le parcours Connector des sites secondaires : `Clé en attente` remplace le statut ambigu `Code prêt`. - Un site avec une clé en attente affiche maintenant **Régénérer la clé** et un raccourci pour ouvrir Hub Client sur le WordPress concerné. - Explique directement dans la fiche qu un site runtime connecté alimente Stats/Health et devient éligible aux actions distantes. - Aucun changement aux `client_id`, `site_id`, `instance_uuid` ou secrets existants. ## 1.6.21 — 2026-09-08 - Corrige les cartes KPI blanches et illisibles dans la fiche client lorsque le thème AWM sombre est actif. - Formalise le **site principal** comme source graphique canonique et comme destination **Hub Client par défaut**. - Expose `canonical_primary_site_id()`, `canonical_hub_default_site()` et `canonical_design_source_site()` pour les autres modules AWM. - Ajoute les indicateurs `is_design_source` et `is_hub_default` à la liste canonique des sites. - Une promotion de site secondaire déplace automatiquement la référence visuelle et le Hub Client par défaut vers le nouveau site principal. - Conserve un Connector indépendant par `client_id + site_id`; générer, régénérer ou révoquer une clé secondaire n'affecte jamais le site principal ni les autres sites. - Clarifie le panneau Sites du client avec le badge **Design + Hub par défaut** et une note d'isolation des Connectors. - Aucun changement aux secrets, `instance_uuid`, paiements, WHMCS ou données commerciales. ## 1.6.19 — 2026-09-05 - Refonte premium et responsive du bloc **Sites du client** dans la fiche client canonique. - Remplace les radios et styles inline par des cartes compactes, actions directes **Promouvoir / Supprimer**, ajout secondaire visible et état de promotion avant enregistrement. - Ajoute un champ `site_type` distinct de l'environnement technique et conserve la compatibilité des sites déjà enregistrés. - Étend les types disponibles : Production, Landing page, Sous-domaine, Répertoire, Staging, Développement, Boutique, Blog, Portail client, Campagne, Microsite, Réservation, Site multilingue, Intranet, Extranet et Autre. - Le site principal reste la source canonique des couleurs, typographies et règles visuelles pour tous les sites secondaires. ## 1.6.18 — 2026-09-05 - Ajoute `Site principal` comme source graphique canonique du client. - Ajoute une liste extensible de sites secondaires avec URL complète, libellé, environnement et `site_id` persistant. - Permet de promouvoir un site secondaire en site principal avec journalisation. - Expose `canonical_client_sites()` et `canonical_primary_site_url()` aux autres modules de la Suite. - Conserve `_callink_client_site_url` comme méta principale pour compatibilité et pour le moteur de style Hub. ## 1.6.17 — 2026-09-04 - Ajoute deux blocs permanents à la fiche client canonique : **Hub Client & connexion** et **Services**. - Ces blocs sont visibles sur toutes les sections de la fiche client et restent liés au même `client_id` CRM. - CRM reste propriétaire des données maîtres et des abonnements; Hub gère l application des services et Core garde la sécurité/Connector. - Aucun répertoire ni fiche client parallèle n est créé. ## 1.6.16 — 2026-09-04 - CRM AWM devient explicitement la source canonique unique de toutes les fiches clients de la Suite. - Ajoute l API `canonical_client*` pour la recherche, la lecture et les liens vers la fiche client unifiée. - Ajoute `update_canonical_client_fields()` afin que les outils de la Suite modifient les données maîtres uniquement via CRM. - La fiche client CRM accepte maintenant les onglets des modules AWM sans dupliquer les données clients. ## 1.6.15 — 2026-09-03 - Ajoute une protection explicite des **forfaits historiques** CallTracker. - Le tarif **10 $ + taxes / mois** est marqué comme modèle tarifaire réservé aux nouveaux Funnels créés explicitement depuis le parcours Nouveau funnel. - Refuse l activation de ce tarif sur un service CRM qui ne provient pas du nouveau Funnel CallTracker. - Les campagnes et services existants conservent leur prix, taxes, cycle et forfait historiques sans migration rétroactive. - Le prix retourné à Hub Client provient maintenant du service CRM créé, au lieu d être supposé sur les services existants. ## 1.6.14 — 2026-09-02 - Rend CRM explicitement propriétaire du cycle commercial des **Funnels CallTracker à 10 $/mois**. - Crée le service dès l étape **Nouveau funnel** avec l état `awaiting_number`, le cycle mensuel et la formule **1 numéro + 1 formulaire**. - Conserve le service en pause et la facturation automatique désactivée pendant la configuration du numéro. - Lie le service CRM à la campagne technique CallTracker préparée avant tout achat Twilio. - Active le service, son application au Hub et la facturation récurrente seulement après attribution confirmée du numéro. - Ajoute une lecture CRM des funnels du client afin que Hub Client affiche une liste commerciale unique sans créer de catalogue parallèle dans CallTracker. # Changelog — CRM AWM ## 1.6.13 — 2026-09-02 - Ajoute le service métier **Funnel CallTracker** créé automatiquement lors d un achat autorisé depuis Hub Client. - Chaque funnel est enregistré à **10 $/mois**, avec un numéro et un formulaire associés. - Le service est d abord préparé en pause, puis activé seulement après confirmation de l achat Twilio. - Le service CRM conserve le lien vers la campagne et le numéro CallTracker et peut rejoindre la facturation récurrente native CRM. - Une opération Twilio échouée avant achat supprime le service préparatoire afin d éviter une facturation fantôme. ## 1.6.12 — 2026-08-25 - Remplace la liste générale du catalogue par des fiches responsives et lisibles sans défilement horizontal. - Rend les éditeurs de catalogue et d’attributions réellement responsives sur tablette et mobile. - Ajoute une couleur configurable par catégorie avec valeurs initiales françaises et support des catégories personnalisées. - Ajoute un panneau **Couleurs des catégories** et un sélecteur de couleur dans l’éditeur du catalogue. - Applique la même couleur à tous les badges d’une catégorie et calcule automatiquement une couleur de texte contrastée. - Affiche les catégories colorées dans le registre des services clients. - Ajoute une progression intégrée aux opérations d’enregistrement, application, modification, changement d’état et suppression. - Journalise les changements de couleurs dans Core AWM et conserve les retours d’opération dans le loader AWM. - Maintient CRM propriétaire du catalogue, Hub propriétaire de l’application et WHMCS facultatif. - Exige Core AWM 4.5.40. --- ## 1.6.11 — 2026-08-25 - Ajoute une **catégorie modifiable** à chaque définition du catalogue de services et abonnements ainsi qu’à chaque attribution cliente. - Préconfigure les catégories : Publicité et marketing, Sites Web et développement, Hébergement et domaines, Téléphonie et CallTracker, Modules AWM, Création de contenu, Services professionnels, Autres et Sans catégorie. - Permet de saisir une catégorie personnalisée sans limiter Alliance aux suggestions préconfigurées. - Ajoute la catégorie à la recherche, au filtre, au tri et à la colonne du catalogue général. - Affiche et permet de modifier la catégorie dans la fiche commerciale propre à chaque client. - Transmet la catégorie du catalogue lorsqu’un service est appliqué à un client et permet sa propagation facultative aux attributions existantes. - Ajoute la catégorie au sélecteur des services déjà appliqués lors de la création d’une facture ou d’une soumission. - Classe automatiquement les anciens services sans catégorie sous **Sans catégorie**, sans modifier leurs prix, cycles, taxes ou historique. - Utilise des identifiants `datalist` uniques dans les formulaires imbriqués afin d’éviter les collisions HTML lorsque plusieurs éditeurs sont ouverts. - Maintient Hub AWM comme propriétaire de l’application du service au portail et Soutien AWM comme propriétaire exclusif du soutien opérationnel. - Exige Core AWM 4.5.39. --- ## 1.6.10 — 2026-08-25 - Ajoute un **catalogue réel des services et abonnements**, indépendant des clients, visible avant le registre des services attribués. - Construit automatiquement le catalogue à partir des noms de services déjà présents, sans limiter l’affichage aux clients qui possèdent actuellement un service. - Permet de créer, rechercher, filtrer, modifier, archiver et supprimer une définition de service du catalogue. - Ajoute une propagation facultative et explicitement cochée du nom, de la description, du prix, du cycle et des taxes vers les services clients déjà reliés, sans remplacer leurs dates, états ni autorisations de facturation. - Permet d’appliquer un service du catalogue à un client; chaque attribution reçoit ensuite ses propres prix, cycle, taxes, état, prochaine échéance et réglages de facturation. - La suppression d’une définition du catalogue conserve tous les services déjà attribués aux clients et leur historique financier. - Affiche par défaut **tous** les services attribués aux clients, qu’ils soient appliqués au Hub ou non, avec filtres distincts. - Ajoute la suppression sécurisée d’un service client vers une corbeille, sa restauration contrôlée et la conservation des factures, soumissions et transactions existantes. - Ajoute une exclusion persistante pour empêcher WHMCS de recréer automatiquement un service externe supprimé dans CRM. - Maintient Hub AWM comme propriétaire de l’application au portail et Soutien AWM comme propriétaire exclusif du soutien. - Exige Core AWM 4.5.38. --- ## 1.6.9 — 2026-08-25 - Affiche par défaut la liste des services et abonnements déjà appliqués aux clients dans **CRM AWM → Services et abonnements**. - Ajoute les filtres par application, client et état, la recherche ainsi que des indicateurs globaux. - Place les services appliqués en premier dans chaque fiche client et conserve les autres services dans une section séparée. - Permet de modifier le nom, la description, le prix, le cycle, la prochaine échéance, les taxes, l’état et la facturation automatique. - Ajoute les cycles semestriel, biennal, triennal, unique et gratuit; un service unique désactive sa récurrence après génération. - Limite le sélecteur de services des nouvelles factures et soumissions aux services déjà appliqués au client dans Hub AWM. - Protège les modifications CRM des services reliés à WHMCS : les synchronisations futures conservent seulement un instantané de comparaison et signalent les écarts. - Maintient Hub AWM comme propriétaire de l’application au portail et Soutien AWM comme propriétaire exclusif du soutien. - Exige Core AWM 4.5.37. --- ## 1.6.8 — 2026-08-25 - Traduit en français les titres visibles des 86 modèles courriel préconfigurés tout en conservant le nom WHMCS original comme référence technique. - Met automatiquement à jour les titres existants lors de la mise à niveau, sans toucher aux sujets ni aux corps personnalisés. - Transforme le badge **Activé / Désactivé** en commande cliquable pour basculer immédiatement l’état d’un modèle depuis la liste. - Conserve l’édition détaillée dans chaque modèle et synchronise le même état avec la case d’activation du formulaire. - Journalise chaque activation/désactivation dans le journal de sécurité Core AWM. - Les modèles de référence peuvent être activés comme modèles disponibles, mais ne déclenchent aucun envoi tant que leur événement AWM n’est pas branché. - Exige Core AWM 4.5.36. --- ## 1.6.7 — 2026-08-25 - Corrige la cause du catalogue vide dans **CRM AWM → Courriels** : l’identifiant interne `callink_email_template` dépassait la limite WordPress de 20 caractères et empêchait l’enregistrement du type de contenu. - Remplace cet identifiant par `callink_email_tpl`, valide et compatible avec WordPress. - Installe automatiquement les 86 modèles AWM préconfigurés lors de l’activation ou de la mise à niveau, sans exiger l’import WHMCS. - Répare automatiquement un catalogue incomplet et recrée uniquement les modèles manquants. - Préserve les sujets et corps déjà modifiés localement; une réparation ne remplace jamais une version marquée comme éditée. - Migre les éventuelles entrées héritées portant l’ancien identifiant interne vers le nouveau registre. - Conserve pour chaque modèle l’édition du sujet, du corps, de l’état actif et la restauration de la version source. - Exige Core AWM 4.5.35. --- ## 1.6.6 — 2026-08-25 - Étend l’onglet **Courriels** à une bibliothèque locale de 86 modèles éditables couvrant les familles visibles dans WHMCS Alliance, hors Soutien/tickets. - Ajoute les références personnalisées **Soumission** et **Soumission Orange**. - Ajoute recherche, filtre par catégorie, regroupement et badges de propriétaire, branchement et activation. - Conserve les modèles opérationnels réellement branchés aux factures, relances, paiements, avoirs, remboursements, soumissions et renouvellements. - Maintient toute la bibliothèque disponible lorsque WHMCS refuse l’import par HTTP 403 et fournit un lien direct vers les réglages du connecteur. - Préserve les modifications locales lors d’un nouvel import; les sujets et corps WHMCS disponibles sont stockés comme source de restauration. - Harmonise la navigation avec le shell Core AWM et retire la seconde barre d’onglets interne. - Désactive l’ancien endpoint de création de ticket CRM et cesse d’enregistrer le type de contenu ticket dans CRM; Soutien AWM reste l’unique propriétaire du soutien. - Exige Core AWM 4.5.34. --- ## 1.6.5 — 2026-08-25 - Ajoute l’onglet **Courriels** avec une copie locale et modifiable des modèles utilisés par CRM AWM. - Ajoute l’import/actualisation en lecture seule du catalogue de modèles WHMCS pour les types général, produit, domaine, facture et affiliation; les modèles Soutien/tickets sont volontairement exclus et restent sous Soutien AWM. - Conserve le sujet et, lorsque la version WHMCS le fournit, le corps source comme référence; une modification locale CRM n’est jamais écrasée silencieusement lors d’un nouvel import. - Ajoute des modèles AWM natifs pour nouvelle facture, trois niveaux de rappel, paiement reçu, avoir, remboursement, soumission et renouvellement de service. - Les avis de facture, rappels, confirmations de paiement, avoirs et remboursements utilisent désormais les modèles CRM actifs et leurs variables AWM. - Ajoute la sélection directe des **Services et abonnements du client** dans les formulaires de facture et de soumission; le service choisi devient une ligne structurée du document. - Ajoute dans **Services et abonnements** les actions Activer, Mettre en pause et Retirer, en conservant l’historique et en désactivant la récurrence lors d’un retrait. - Permet d’ajouter un service/abonnement directement depuis l’onglet Services de la fiche client sans dépendre de WHMCS. - Retire l’onglet et les interfaces de tickets/soutien de CRM AWM; Soutien AWM reste l’unique propriétaire des tickets, conversations et opérations de soutien. - Corrige les styles clair/sombre des badges, champs de paiement, boutons, actions financières, Services et modèles de courriels afin d’éviter les contrôles WordPress/CSS par défaut illisibles. - Conserve la série de facturation native `28102` et la séparation stricte CRM / Hub / Core / Soutien AWM. - Exige Core AWM 4.5.33 pour l’import sécurisé du catalogue WHMCS. --- ## 1.6.4 — 2026-08-25 - Change la numérotation des nouvelles factures natives CRM : préfixe fixe `28102` suivi d’une séquence continue sur au moins 4 chiffres (`281020001`, `281020002`, ...). - Les factures existantes ne sont jamais renumérotées; la séquence recherche les numéros `28102` déjà présents avant de choisir le prochain numéro afin d’éviter les collisions. - Étend la migration WHMCS aux factures contenant un crédit historique lorsque le montant est confirmé par le snapshot de facture. - Crée un avoir historique CRM explicite pour le crédit appliqué à la facture; le montant est exact et la date est marquée comme estimée lorsque WHMCS ne fournit pas la date d’application. - Ajoute une catégorie **Exceptions détaillées** pour les factures remboursées; elles ne sont jamais cochées automatiquement. - Exige `GetTransactions` pour une facture remboursée et utilise `amountout` / `refundid` afin de reconstruire les remboursements réels sans les déduire d’un simple statut. - Importe les remboursements historiques dans le grand livre et crée leur avoir compensatoire, en réduisant le paiement net appliqué pour conserver exactement le solde WHMCS. - Distingue paiement brut historique, remboursement, paiement net, crédit appliqué et crédit compensatoire dans le snapshot de migration. - Ventile les taxes WHMCS sur les lignes taxables en conservant exactement les montants de taxe de la facture et le reliquat d’arrondi sur la dernière ligne taxable. - Utilise une ligne agrégée explicitement identifiée lorsque le détail des lignes historiques est indisponible; bloque les lignes négatives/remises tant que CRM ne les gère pas comme objet financier natif. - Enregistre un rapprochement fiscal de migration et conserve les identifiants de lignes/transactions WHMCS lorsqu’ils existent. - Maintient le rollback par facture : avoirs, remboursements et transactions créés pendant une migration échouée sont supprimés avant restauration des métadonnées précédentes. - Préserve le statut **Remboursée** lors des recalculs financiers ultérieurs d’une facture migrée. - Exige Core AWM 4.5.32 pour obtenir le détail officiel `GetTransactions` des remboursements. --- ## 1.6.3 — 2026-08-25 - Ajoute la migration contrôlée des factures WHMCS historiques vers le registre financier natif CRM. - Ajoute un aperçu des factures pré-admissibles, bloquées et déjà migrées dans **Connecteurs / migration**. - Exige une sélection explicite et une confirmation intégrée AWM; aucune fenêtre `confirm()` native n’est utilisée. - Vérifie client, source, montants et absence d’écritures CRM concurrentes avant migration. - Préfère un snapshot WHMCS détaillé en direct et utilise l’archive locale seulement lorsque les informations disponibles permettent une bascule sûre. - Reprend les paiements historiques détaillés dans le grand livre et ajoute un mouvement de rapprochement explicite si le montant payé connu dépasse le détail transactionnel disponible. - Bloque les factures comportant crédits/remboursements historiques ambigus ou incohérences au lieu de fabriquer une écriture comptable. - Conserve l’identifiant WHMCS et un snapshot de migration, mais bascule `_callink_invoice_source` vers `crm_native_migrated`. - Ajoute un journal de migration par lot et un rollback par facture si une écriture financière échoue. - Exige Core AWM 4.5.31 afin qu’une synchronisation WHMCS future ne puisse pas reprendre le contrôle financier d’une facture migrée. - Affiche aussi l’état de comparaison des factures déjà migrées : conforme au dernier état connu ou dérive externe détectée. --- ## 1.6.2 — 2026-08-24 - Ajoute les **avoirs natifs CRM** liés à une facture et numérotés `AVO-AAAA-NNNN`. - Le solde d’une facture devient `total - paiements - avoirs`; les paiements sont automatiquement limités au solde réellement exigible. - Ajoute les statuts financiers **Créditée** et **Réglée** pour distinguer une facture annulée par avoir d’une facture soldée par combinaison paiement + avoir. - Ajoute un **grand livre financier natif** regroupant encaissements, avoirs, remboursements et ajustements avec type, sens, méthode, référence et date. - Ajoute l’enregistrement des remboursements sur factures natives avec création d’un avoir compensatoire, afin qu’un remboursement ne recrée pas artificiellement un solde dû. - L’action de remboursement est comptable : elle doit être utilisée après le remboursement réel effectué chez le prestataire de paiement ou par le moyen externe concerné, tant qu’aucune passerelle native n’est connectée. - Empêche les avoirs et remboursements CRM sur les factures encore contrôlées par un connecteur WHMCS historique. - Ajoute des contrôles de cohérence et rollback si l’écriture du grand livre échoue. - Corrige les relances : elles utilisent maintenant le solde après avoirs et incluent correctement les factures déjà marquées En retard. - Ajoute une date de règlement distincte et retire la date de paiement lorsqu’une facture est réglée autrement que par paiement intégral. - Expose les avoirs et mouvements financiers autorisés au payload Hub/Core. - Conserve WHMCS comme connecteur optionnel de migration seulement; aucune opération de ce lot ne nécessite WHMCS. --- # Changelog — CRM AWM ## 1.6.1 — 2026-08-24 - Ajoute les lignes multiples aux factures et soumissions natives : description, quantité et prix unitaire. - Permet d’appliquer séparément les deux taxes configurées à chaque ligne. - Remplace les taxes figées TPS/TVQ dans les nouveaux documents par deux profils configurables : nom, numéro et taux; les clés historiques restent synchronisées pour compatibilité. - Fige les libellés, numéros et taux de taxes sur chaque document afin qu’un changement futur de réglages ne modifie pas son historique comptable. - Expose les lignes détaillées des factures natives dans le payload Hub/Core tout en conservant les champs de total historiques. - La conversion d’une soumission en facture conserve ses lignes et son instantané fiscal. - Ajoute la facturation récurrente native à partir des Services et abonnements CRM : mensuelle, trimestrielle, annuelle ou unique. - Ajoute une double autorisation de sécurité pour la récurrence : activation globale dans Réglages et activation explicite sur chaque service. - Ajoute un cron quotidien dédié qui ne génère qu’une occurrence identifiable par service/date, puis avance la prochaine échéance sans dépendre de WHMCS. - L’envoi automatique du courriel de facture récurrente est optionnel et désactivé par défaut. - Les anciens documents sans lignes structurées restent lisibles grâce à un repli compatible. ## 1.6.0 — 2026-08-24 - Fait de CRM AWM la source native des nouvelles factures, soldes et paiements. - Retire l’appel automatique à `CreateInvoice` WHMCS lors de la création d’une facture CRM. - Ajoute le statut client CRM autonome : Actif, Inactif ou Archivé. - Ajoute la création de clients directement dans CRM AWM et l’édition de leurs coordonnées sans compte WHMCS. - Protège les coordonnées modifiées dans CRM contre l’écrasement par un connecteur externe. - Ajoute les contacts multiples par compte Alliance. - Ajoute les champs personnalisés natifs du dossier client avec types texte, texte long, courriel, URL, nombre et date. - Ajoute les rappels CRM assignables avec échéance, statut ouvert/en retard/terminé et action de clôture. - Ajoute un registre natif de transactions créé lors de chaque paiement manuel. - Renforce l’intégrité des paiements : si la transaction ne peut pas être créée, le solde et le statut de la facture sont restaurés. - Valide les montants avant création d’une facture/soumission et bloque la double conversion d’une soumission. - Limite les rappels automatiques de paiement aux factures natives CRM pour éviter les doubles relances avec un ancien système externe. - Ajoute une première chronologie 360° dans le dossier client CRM. - Renomme l’accès WHMCS en **Connecteurs / migration** et conserve les références externes pour la transition. - Les factures importées WHMCS restent verrouillées sur leur source tant qu’elles ne sont pas migrées, afin d’éviter un double solde. - Hub/Core peut consommer les factures CRM natives en priorité; aucune connexion WHMCS n’est nécessaire pour les afficher. - Journalise les créations de factures natives, conversions de soumissions, paiements, changements de statut, champs personnalisés et rappels via Core lorsqu’il est disponible. ## 1.5.3 — 2026-08-24 - Retire le bandeau vert de règle client de la vue d’ensemble CRM. - Route les confirmations CRM vers le loader AWM. - Corrige `À recevoir` pour ignorer les statuts payée, annulée, remboursée et brouillon. - Corrige `Facturé` afin d’exclure les factures annulées/remboursées/brouillons des KPI opérationnels. - Conserve WHMCS comme source de vérité et la compatibilité des métas historiques. ## 1.5.2 — 2026-08-24 - Masque les clients supprimés localement et leurs identifiants WHMCS tombstonés des listes CRM. - Conserve WHMCS comme source de vérité, sans relancer ni recréer un client explicitement supprimé dans AWM. - Maintient le contexte CRM indépendant de CallTracker et la facturation Alliance en arrière-plan. ## 1.5.1 — 2026-08-24 - Les cartes et le tableau **Fiches clients** ouvrent maintenant le dossier directement dans `CRM AWM`, au lieu de la route historique CallTracker `callink-clients`. - Le dossier client conserve donc l’en-tête, les permissions et la navigation CRM. - Les modules AWM actifs sont présentés comme cartes/actions explicites; CallTracker ne s’ouvre que si l’administrateur clique sur **Ouvrir CallTracker**. - WHMCS reste la source de vérité des coordonnées et de la facturation. - Aucun identifiant client, service, facture, campagne ou méta historique n’est renommé. --- ## 1.4.1 — 2026-08-18 - L’application des services clients est déplacée vers Hub AWM → Services clients. - L’ancien onglet CRM « Module offert aux clients » n’est plus affiché; son URL historique reste compatible et redirige fonctionnellement vers Hub. - `_callink_crm_enabled` est synchronisé avec l’application du module CRM décidée dans Hub, sans suppression de données ni changement d’identifiant technique. ## 1.4.0 — 2026-08-18 - CRM AWM 1.4.0 adopte le shell visuel Core 4.5.0. Les onglets clients, services, soumissions, contrats, factures, soutien, WHMCS et réglages utilisent la même hiérarchie visuelle que CallTracker, sans modifier les données CRM/WHMCS. ## Sécurité 1.3.1 — 2026-08-17 - CRM AWM 1.3.1 délègue le chiffrement des secrets WooCommerce au coffre Core tout en conservant le déchiffrement des valeurs historiques. # Historique — CRM AWM ## 1.3.0 — 2026-08-17 - Contrat de permissions Core AWM 1.0 appliqué aux pages et actions CRM. - Consultation, modification, approbation et administration séparées. - Interface de lecture seule sans création d’entité, import, paiement ni réglage de connexion. - Import WHMCS autorisé avec CRM Approbation ou Core Approbation. - Réglages WHMCS conservés sous Core Administrer. - Activation arrêtée proprement avec Core antérieur à 4.3.0, sans modification de données. ## 1.2.0 — 2026-08-15 - CRM AWM séparé comme extension indépendante avec son propre onglet WordPress. - Conservation du dossier technique, des données et des réglages historiques. ## 1.5.0 — 2026-08-24 - Création des factures WHMCS directement depuis CRM AWM. - Synchronisation immédiate de l’identifiant, du statut, des taxes, du total et du solde dans la facture CRM. - Option d’envoi de la facture par WHMCS et conservation du mode local pour les fiches non liées.