← Roadmap publique

README

CRM AWM V1.6.39Snapshot sécurisé de la version effectivement publiée. Les lignes potentiellement sensibles sont masquées automatiquement.
# CRM AWM 1.6.39

Suite AWM 4.5.469 — Aperçu avant enregistrement · 22 octobre 2026.

CRM 1.6.39 consomme la hiérarchie Neutral contrôlée dans les zones client isolées, sans affecter le shell. La fiche conserve les couleurs du client et suit la variante claire/sombre de Core. Les opérations métier, données et permissions restent inchangées.

Les contrôles exécutés et leurs limites figurent dans VALIDATION-SUITE-AWM-4.5.469.md. Les essais utilisent le code PHP/CSS/JavaScript réel avec services WordPress substitués; ils ne valent pas installation ou validation sur le site de production.

---

# Version 1.6.38

Suite AWM 4.5.468 — Bascule clair/sombre et profils distincts.

Les cartes, l’en-tête client et le contenu du dossier consomment les deux profils canoniques Hub Client. Leur variante suit Core, y compris quand famille, accent, typographie, surface, mouvement ou densité diffèrent entre clair et sombre. Le basculement n’écrit aucune préférence client et ne change pas les filtres de liste.

Les contrôles exécutés et leurs limites figurent dans VALIDATION-SUITE-AWM-4.5.468.md. Aucune installation ni publication de cette version sur l’hébergement n’est présumée.

---

# CRM AWM 1.6.37

Les cartes de la liste CRM, le bandeau et le contenu de la fiche consomment le profil partagé Hub Client. Chaque client garde sa palette et ses choix de style, typographie, surface, mouvement et densité. Les cartes et fiches passent dans la variante claire ou sombre de Core; les couleurs du shell ne remplacent plus l’identité client.

## Validation et portée

Cette version fait partie de Suite AWM 4.5.466. Les preuves détaillées sont dans `PREUVES-VALIDATION-SUITE-AWM-4.5.466.json` et le rapport `VALIDATION-SUITE-AWM-4.5.466.md` de la Suite. Elles couvrent le rendu PHP et Chromium, les modes opposés, les bascules, les identités distinctes et la persistance du choix du portail. Les tests s’exécutent localement avec données et services WordPress substitués; ils ne constituent pas une installation sur le site de production.

Les préférences client ne sont pas modifiées par l’ouverture d’une carte ou d’une fiche administrative, ni par une bascule Core. Les anciennes notes ci-dessous restent historiques : pour cette livraison, les cartes et fiches administratives utilisent la variante Core, tandis que Hub Client conserve son choix indépendant.

---

## Mise à jour 1.6.36 — 2026-10-22 · Suite 4.5.464

La décision de 4.5.463 qui imposait le profil Core au contenu CRM était notre interprétation erronée, et non une demande de l’utilisateur. L’instruction explicite du 22 octobre 2026 la remplace : le contenu de la fiche doit utiliser le profil personnalisé commun à Hub Client. Les anciennes entrées ci-dessous sont conservées comme historique et sont remplacées sur ce point par la présente décision.

Le bandeau d’identité du client et le contenu de sa fiche sont deux zones `.callink-crm-client-themed`. Le header global, les guides, le retour et le passage vers Hub restent dans le thème administratif Core. La fiche conserve ses données, ses formulaires, ses permissions et ses états métier CRM. Ses couleurs, sa famille, sa typographie, sa surface, son mouvement et sa densité viennent du profil client partagé.

CRM lit `CallLink_Client_API::style_payload(WP_User)`, puis adapte localement les **33 variables**, les classes de profil et les recettes de surface utilisées par Hub Client 1.14.40. Le CSS complet du portail n’est pas injecté dans l’administration. L’apparence claire/sombre du client est résolue depuis logo/site ou choisie manuellement; elle reste indépendante de Core, comme sa palette.

La sérialisation des piles de polices est corrigée dans CRM et le portail : les 33 variables sont assemblées dans un attribut `style` échappé une seule fois. Les guillemets des noms de police restent du CSS valide; les séparateurs de déclaration et les caractères de contrôle sont refusés. Cela évite les entités HTML littérales dans les valeurs CSS et le repli involontaire vers une autre police. Le sérialiseur conserve chaque famille d’une pile compilée séparément et laisse les familles génériques, telles que `system-ui`, `ui-monospace` et `serif`, sans guillemets; une pile entière n’est plus traitée comme un seul nom de police.

Le profil automatique choisit une combinaison existante du catalogue à partir de l’identité du client : l’exemple demandé est **Arctic + Rouge pour un logo rouge**. Le même profil est consommé par Hub Client et la fiche CRM; il ne s’agit pas de reconstruire le CSS du site. La couleur et l’apparence privilégient le logo exploitable, puis le site, avec leurs replis documentés; les autres axes utilisent les indices CSS du site disponibles. L’affichage lit le profil déjà résolu : il ne déclenche pas d’analyse réseau du logo ou du site, ni d’écriture du profil client. Le chargement CSS rétabli en 1.6.35, le scope JavaScript existant et la correction du badge primaire sur mobile sont conservés.

L’automatique est un point de départ : le client peut toujours personnaliser son thème. Les choix manuels existants restent prioritaires; une réanalyse ne les remplace pas. Le retour à l’automatique reste une action explicite disponible dans l’interface.

Les réglages de densité existants **Compact, Standard et Confortable** sont réellement appliqués au portail et à la fiche CRM. Les anciennes valeurs fixes du `body` du portail et des alias CRM ne masquent plus les tokens partagés : `--hub-gap`, `--hub-panel-pad`, `--hub-control-height` et `--hub-cell-padding`. Espacement, panneaux, hauteur des champs et cellules de tableau suivent le profil choisi. Le catalogue et les autres axes restent inchangés.

Les résultats effectivement acquis sont consignés dans les rapports de validation de la Suite 4.5.464. Aucun résultat de 4.5.463 ne vaut validation de cette nouvelle version. La validation sur l’hébergement actuel et la publication publique ne sont pas présumées.

La précision finale porte sur les six choix existants : Style, Couleur, Typographie, Surface, Mouvement et Densité. En automatique, Hub rapproche chaque indice exploitable du CSS du site des options du catalogue. Neutral, Auto, Subtle et Standard sont les replis respectifs de typographie, surface, mouvement et densité lorsqu’aucun indice exploitable n’existe, notamment pour un logo seul. Les choix manuels restent prioritaires.

## Mise à jour 1.6.35 — 2026-10-21 · Suite 4.5.463

Le dossier administratif CRM doit suivre le profil Design Composer principal de Core, y compris lorsqu’un client est ouvert. Le retour vidéo montre des fonds bleus et violets hérités sur `admin.php?page=callink-crm&tab=clients&client_id=<id>` alors que Core est en Cyan Dark.

La route canonique ne chargeait pas `assets/crm-clients.css` : son chargeur ne couvrait que trois pages CRM satellites. Les styles inline historiques conservaient alors leurs fonds locaux; les styles CRM de passage vers Hub et de groupement portés par cette feuille étaient absents. Core assurait déjà le masquage Standard des éléments avancés : la navigation est contrôlée en non-régression. Le correctif porte sur le chargement de cette feuille et sur un pont CSS local qui raccorde les composants de la fiche aux tokens Core.

Fonds, textes, panneaux, champs, onglets et états interactifs reprennent le profil administratif; géométrie, surface, typographie, mouvement et densité viennent du même contrat. Les états métier d’activité, d’avertissement et de danger conservent leur sens. Les modes Guidé/Standard/Avancé gardent leurs règles d’affichage et les permissions demeurent appliquées côté serveur.

Le chargement ajouté concerne uniquement le CSS; le JavaScript clients conserve sa porte existante sur `awm-crm-clients` avec les droits requis.

CRM reste propriétaire des dossiers, contacts, sites, services, factures et opportunités. Ce raccordement visuel ne change ni ces données ni les thèmes personnalisés des cartes et fiches Hub. Hub 4.5.107 et Hub Client 1.14.39 sont reconduits.

Les résultats de validation effectivement obtenus figurent dans le rapport de la Suite. La publication 4.5.463 et le rendu sur l’hébergement utilisateur ne sont pas présumés.

# CRM AWM 1.6.34 — Dossier administratif + passage Hub

CRM reste la source canonique des coordonnées, sites, statut, contacts, services commerciaux et facturation. La configuration opérationnelle du client s ouvre explicitement dans Hub AWM. Affichage → Guidé ajoute un parcours commun en sept étapes; Affichage → Avancé réaffiche les ponts techniques et onglets de diagnostic.

# CRM AWM 1.6.33

CRM AWM est la source canonique des dossiers clients et du cycle commercial. La version 1.6.33 ajoute un **pipeline visuel des opportunités** relié aux leads sans modifier leur source opérationnelle.

Le pipeline est disponible dans **CRM AWM → Opportunités** et dans l onglet **Opportunités** de chaque fiche client. Un lead du registre CRM Client peut créer une opportunité explicitement; la relation utilise une référence stable et idempotente. Les appels, formulaires, campagnes, CPL et enregistrements restent dans LeadTracker/CallTracker.

## 2026-10-14 - 1.6.32 / Suite AWM 4.5.404 - CRM Clients

Assistant global de liaison et import par lots, reprises idempotentes, nouveaux prospects uniques a vie par entreprise et lecteurs CRM.

Candidate de migration additive : tests locaux, essai WordPress/MySQL et sites clients requis.
Aucun transfert a l'installation. Ne supprime ni sources historiques, ni audio Twilio.
Un seul lancement global depuis CRM AWM > CRM Clients - campagnes et leads.
Prealables : trousseau Core enrole et sauvegarde separement; Hub Client 1.14.22 sur sources et destination; autorisations techniques.
Le statut commercial et le statut des campagnes ne sont pas modifies. Capturia n'est jamais exige ni active pour les autres clients.

---

## CRM AWM 1.6.31 — Pastille cliquable dans l'entête client (13 octobre 2026)
- Fiche détaillée CRM : statut à droite remplacé par le même composant Actif/Inactif utilisé dans la liste des clients.
- Confirmation explicite, action AJAX, retour de réussite/erreur visible, mise à jour du bouton et du sélecteur « État du compte » sans rechargement.
- Droit CRM modifier, nonce client, comparaison du statut attendu, refus d'un dossier archivé ou supprimé, journal `crm_client_status_changed`, période de suspension et hook `awm_crm_client_status_changed` conservés.
- Aucune suppression de données ou désactivation automatique lors de l'installation; le bouton agit seulement après validation de l'utilisateur.
- Tests locaux : 24 assertions métier croisées CRM/LeadTracker et simulation de l'interaction navigateur; test sur WordPress réel requis.

# Crm Alliance 1.6.30 — Suppression sécurisée de fiche client

Ajoute une Zone sensible avec confirmation SUPPRIMER, révocation des Connectors, tombstone CRM et conservation intégrale des historiques liés.

## 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

Les Connectors de la fiche Sites du client possèdent maintenant une destination directe par `site_id`, afin que Tech puisse envoyer le technicien au bon site principal ou secondaire sans ambiguïté.


> Version 1.6.25 : cycle Actif/Inactif traçable, motif/date optionnels et réactivation planifiée sans perte de Connector ni d’historique.

## 1.6.24 — statut client instantané sans rechargement

Le badge **Actif / Inactif** de la liste clients utilise maintenant une action AJAX. Le statut canonique CRM est modifié côté serveur avec le même nonce et le même événement inter-modules, mais la page n est plus rechargée : recherche, filtre, mode Fiches/Tableau et position de défilement sont conservés. Dans le filtre Actifs ou Inactifs, le client disparaît immédiatement de la vue lorsqu il ne correspond plus au filtre; dans Tous, seul le badge change. Le loader AWM suit la requête et affiche le résultat sans bandeau WordPress.

# CRM AWM 1.6.21 — site principal et Connectors par site
CRM AWM 1.6.22 simplifie la liaison des sites secondaires : une clé générée est présentée comme **Clé en attente**, avec un raccourci vers Hub Client. Le site n est considéré réellement connecté que lorsque le runtime Connector a terminé son appairage.


Le site principal est maintenant la référence officielle du client pour les couleurs/typographies et la destination Hub Client par défaut. Chaque site secondaire conserve son propre `site_id`, son propre Connector et ses actions Générer/Régénérer/Révoquer. Une action sur un site n'affecte pas les autres. Le thème sombre des cartes KPI de la fiche client est également corrigé.

# CRM AWM 1.6.19 — sites principal et secondaires

La fiche client multi-sites utilise maintenant une interface premium et responsive. Le **site principal** reste la source de vérité visuelle; les sites secondaires disposent d'un `site_type` canonique (landing page, sous-domaine, répertoire, staging, boutique, blog, portail client, campagne, microsite, etc.) tout en conservant un environnement technique compatible avec Tech AWM.

La fiche client canonique gère maintenant un **site principal** obligatoire et une liste extensible de **sites secondaires**. Le site principal reste la source de vérité visuelle (couleurs, typographies, styles et règles de marque) utilisée par les modules AWM. Chaque site secondaire reçoit un `site_id` persistant, son URL complète (sous-domaine ou répertoire), un libellé et un type d’environnement.

# CRM AWM 1.6.17 — blocs permanents de la fiche client

La fiche client canonique affiche maintenant en permanence les contrôles Hub Client/Connector et le choix des services, sans déplacer la propriété des données hors de CRM.

# CRM AWM 1.6.16 — source client canonique

CRM AWM est la source unique des données maîtres clients. Tous les modules de la Suite utilisent le même `client_id` et ne stockent que leurs données métier.

# CRM AWM 1.6.15 — protection des forfaits CallTracker

Le prix 10 $ + taxes est réservé aux nouveaux Funnels. Les forfaits et campagnes existants restent inchangés.

# CRM AWM 1.6.14 — gestion commerciale des Funnels CallTracker

CRM AWM gère désormais explicitement le service **Funnel CallTracker à 10 $/mois**. Le service est créé avant le numéro, reste en configuration sans facturation automatique, puis devient actif et récurrent seulement après attribution confirmée du numéro par CallTracker.

# CRM AWM 1.6.13 — UX responsive et couleurs des catégories

Le catalogue **Services et abonnements** est réorganisé pour une utilisation plus rapide sur ordinateur, tablette et mobile. Les définitions du catalogue s’affichent sous forme de fiches responsives plutôt que dans un tableau horizontal difficile à manipuler.

## Livré
- fiches responsives du catalogue avec catégorie, état, prix, cycle, taxes, utilisation et actions;
- formulaires Modifier / Appliquer / Supprimer sans largeur minimale qui déborde sur les petits écrans;
- registre des services attribués transformé automatiquement en fiches sous 1100 px;
- couleur personnalisable pour chaque catégorie;
- gestion centralisée des couleurs depuis **Couleurs des catégories**;
- choix de couleur directement lors de la création ou modification d’un service du catalogue;
- couleur reprise automatiquement sur tous les badges CRM de la même catégorie;
- contraste texte/fond calculé automatiquement pour conserver la lisibilité;
- progression intégrée pour les actions de service : Préparation → Enregistrement → Synchronisation → résultat;
- messages de résultat conservés dans le loader AWM après rechargement;
- journalisation Core des changements de couleurs.

La couleur d’une catégorie est purement visuelle : elle ne change jamais le prix, les taxes, le cycle, l’état, les factures ou l’application Hub.

---

# CRM AWM 1.6.11 — catégories de services et abonnements

Le catalogue général et chaque attribution cliente possèdent maintenant une catégorie commerciale modifiable. Alliance peut utiliser les catégories proposées ou écrire librement une nouvelle catégorie.

## Fonctions
- catégories françaises préconfigurées;
- catégorie personnalisée autorisée;
- filtre, recherche, tri et colonne Catégorie;
- catégorie transmise lors de l’application d’un service à un client;
- propagation facultative vers les attributions déjà reliées;
- catégorie visible dans les fiches clients, factures et soumissions;
- anciens services classés automatiquement sous **Sans catégorie**;
- aucun changement aux prix, cycles, taxes, dates, états ou historiques pendant la mise à niveau.

CRM reste propriétaire du catalogue commercial. Hub reste propriétaire de l’application au portail. Core sécurise et journalise. Soutien AWM reste séparé.

---

# CRM AWM 1.6.10 — catalogue autonome des services et abonnements

CRM AWM sépare maintenant clairement deux niveaux :

1. **Catalogue des services et abonnements** : la liste générale des services disponibles, même lorsqu’aucun client ne les utilise actuellement.
2. **Services et abonnements attribués aux clients** : les exemplaires propres à chaque client, avec leur prix, cycle, taxes, état et prochaine échéance.

## Catalogue général

- création d’un nouveau service ou abonnement sans choisir de client;
- amorçage automatique depuis les services historiques déjà enregistrés;
- recherche et filtre Actif / Archivé;
- modification du nom, de la description, du prix par défaut, du cycle et des taxes;
- option explicite pour propager ces valeurs aux services clients déjà reliés, sans toucher à leurs dates, états ou autorisations de facturation;
- application du service à un client;
- suppression du catalogue sans effacer les services déjà attribués ni leur historique.

## Registre des services clients

- affichage par défaut de tous les services attribués, appliqués au Hub ou non;
- modification complète de chaque attribution;
- actions Activer, Mettre en pause et Retirer;
- suppression vers une corbeille avec restauration;
- exclusion persistante d’un service WHMCS supprimé afin d’empêcher sa recréation lors d’une synchronisation ultérieure.

## Frontières

CRM possède le catalogue et les conditions commerciales. Hub possède l’application au portail client. Core protège les permissions, le journal et les exclusions de connecteurs. WHMCS reste optionnel. Soutien AWM demeure l’unique propriétaire du soutien opérationnel.

---

# CRM AWM 1.6.9 — services et abonnements appliqués modifiables

CRM AWM présente maintenant une vue complète des services et abonnements déjà appliqués aux clients. La liste permet de rechercher, filtrer et modifier les paramètres commerciaux sans dépendre de WHMCS.

## Fonctions principales

- liste par défaut des services appliqués au Hub client;
- filtres par client, état et application;
- fiche client avec services appliqués en premier;
- modification du nom, de la description, du montant, du cycle, de la prochaine date, des taxes et de la facturation automatique;
- actions Activer, Mettre en pause et Retirer tout en conservant l’historique;
- cycles mensuel, trimestriel, semestriel, annuel, biennal, triennal, unique et gratuit;
- sélection des services appliqués directement dans une nouvelle facture ou soumission;
- protection des modifications locales pour les services historiquement liés à WHMCS;
- accès direct à Hub AWM pour gérer l’application au portail client.

## Frontières

CRM possède la fiche commerciale du service. Hub possède l’application au portail. Core sécurise les permissions et le journal. WHMCS reste optionnel. Soutien AWM n’est jamais reproduit dans CRM.

---

# CRM AWM 1.6.8 — titres français et activation rapide des courriels

CRM AWM affiche maintenant les titres de sa bibliothèque de courriels en français. Le nom WHMCS d’origine reste visible comme référence technique lorsque pertinent. Le statut **Activé / Désactivé** est une vraie commande : un administrateur autorisé peut cliquer directement dessus pour basculer l’état du modèle, sans devoir ouvrir l’éditeur.

- 86 modèles préconfigurés avec titres visibles en français;
- conservation des sujets et corps déjà personnalisés;
- activation/désactivation rapide depuis la liste;
- état synchronisé avec le formulaire détaillé;
- journalisation de chaque changement d’état;
- aucun changement aux communications Soutien AWM.

---

# CRM AWM 1.6.7 — modèles courriel préconfigurés et réparés

CRM AWM 1.6.7 corrige le registre qui empêchait WordPress de créer les modèles. À l’installation ou à la mise à niveau, les **86 modèles AWM** sont maintenant créés automatiquement, visibles dans **CRM AWM → Courriels** et modifiables individuellement. Aucun import WHMCS n’est requis pour les afficher.

## Comportement

- catalogue préconfiguré dès la mise à niveau;
- sujet et corps éditables pour chaque modèle;
- activation/désactivation par modèle;
- restauration de la version source AWM;
- réparation automatique des modèles manquants;
- conservation stricte des textes déjà modifiés localement;
- migration des éventuelles entrées héritées de l’ancien registre;
- import WHMCS toujours facultatif et limité au rapprochement des sujets disponibles.

## Cause corrigée

WordPress limite les identifiants de types de contenu à 20 caractères. L’ancien identifiant interne des modèles en comptait 22; WordPress refusait donc silencieusement leur création et l’écran affichait `0`. Le nouveau registre utilise un identifiant valide et le catalogue est amorcé automatiquement.

---

# CRM AWM 1.6.6 — bibliothèque complète de courriels AWM

CRM AWM 1.6.6 fournit une bibliothèque locale complète et modifiable inspirée des familles de modèles actuellement utilisées dans WHMCS Alliance. Elle reste disponible sans WHMCS et permet de réécrire les sujets et les corps directement dans CRM. Les communications de soutien sont volontairement absentes : Soutien AWM demeure le seul module propriétaire des tickets et conversations.

## Livré

- catalogue local de 86 modèles couvrant général/commercial, utilisateurs, invitations, facturation, services, domaines, administration, notifications et affiliation;
- modèles personnalisés Alliance **Soumission** et **Soumission Orange** ajoutés comme références modifiables;
- recherche, filtre par catégorie, regroupement, statut actif/désactivé, propriétaire AWM et état Branché/Référence;
- modèles opérationnels reliés aux événements CRM existants : facture, trois relances, paiement, avoir, remboursement, soumission et renouvellement;
- import WHMCS optionnel qui rapproche les sujets et conserve le corps lorsqu’il est fourni, sans écraser une modification locale;
- bibliothèque utilisable même si l’import retourne HTTP 403, avec lien direct vers la configuration du connecteur;
- navigation CRM harmonisée dans le shell Core et suppression de la navigation dupliquée;
- ancien endpoint de création de ticket CRM désactivé; aucun nouveau ticket n’est enregistré dans CRM.

---

# CRM AWM 1.6.5 — services facturables et centre de courriels

CRM AWM 1.6.5 poursuit l’autonomie du CRM sans WHMCS et relie directement la facturation aux services/abonnements du client. Le soutien opérationnel demeure entièrement dans Soutien AWM.

## Services et abonnements

- ajout d’un service ou abonnement directement dans la fiche client;
- actions **Activer**, **Mettre en pause** et **Retirer** avec conservation de l’historique;
- retrait d’un service = arrêt de sa facturation automatique;
- sélection des services du client lors de la création d’une facture ou d’une soumission;
- ajout d’un service comme ligne structurée, avec montant et taxes du service;
- lignes manuelles toujours permises;
- les factures natives conservent la série `28102` (`281020001`, `281020002`, ...).

## Onglet Courriels

CRM possède maintenant son propre registre de modèles de courriels. Alliance peut voir, activer/désactiver et réécrire le sujet et le contenu de chaque modèle.

Modèles AWM opérationnels livrés :
- nouvelle facture;
- premier, deuxième et dernier rappel de facture;
- confirmation de paiement;
- avoir appliqué;
- remboursement enregistré;
- nouvelle soumission;
- renouvellement de service.

Si le connecteur WHMCS est configuré, **Importer / actualiser depuis WHMCS** copie en lecture seule son catalogue général, produit, domaine, facture et affiliation dans CRM. Les modifications sont ensuite locales à CRM et ne sont jamais réécrites dans WHMCS. L’API officielle `GetEmailTemplates` garantit le catalogue et les sujets; si une version WHMCS ne retourne pas le corps d’un modèle, CRM conserve son corps AWM lorsqu’il existe ou laisse le contenu modifiable à compléter.

Les modèles de type support/ticket sont exclus de CRM : **Soutien AWM** reste l’unique module métier de soutien.

## Variables principales

`{{business_name}}`, `{{client_name}}`, `{{client_firstname}}`, `{{invoice_number}}`, `{{invoice_total}}`, `{{invoice_balance}}`, `{{due_date}}`, `{{issue_date}}`, `{{days_overdue}}`, `{{invoice_url}}`, `{{payment_instructions}}`, `{{invoice_lines}}`.

## Architecture

- **CRM AWM** : clients, contacts, services/abonnements, documents commerciaux et finances;
- **Hub AWM** : application et présentation des services clients;
- **Core AWM** : sécurité, permissions, API et connecteurs;
- **Soutien AWM** : tickets, conversations, réanalyses et opérations de soutien;
- **WHMCS** : connecteur optionnel de migration ou de lecture historique seulement.