La plupart des bases internes que j'ouvre ne manquent pas de champs. Elles ont un champ au mauvais endroit. Ça ne se voit jamais le jour où on le crée : ça se voit six mois plus tard, quand le même client apparaît avec deux origines différentes selon la ligne qu'on regarde, et que plus personne ne sait laquelle fait foi.
Je viens de refaire ce rangement sur mon propre suivi d'accompagnement. Une seule décision, et elle a tenu toute la structure : le canal par lequel un client arrive est porté par sa fiche, pas par chacune de ses séances.
La question à poser sur chaque champ
Elle tient en une ligne.
Est-ce que cette information peut être différente d'une occurrence à l'autre ?
Si la réponse est non, le champ vit sur le parent — la fiche client — et chaque occurrence le lit par la relation. Si la réponse est oui, il vit sur l'occurrence.
Le canal d'acquisition, le tarif convenu, l'entité qu'on facture, l'interlocuteur : ça ne change pas d'un rendez-vous au suivant. Ça appartient au client. La date, la durée, ce qui s'est dit, le livrable, l'état du paiement : ça change chaque fois. Ça appartient à la séance.
Le piège est de répondre par le confort plutôt que par la nature de l'information. « Je mets le canal sur la séance, c'est plus pratique pour filtrer. » Une information recopiée est une information qui va diverger. Pas par négligence : parce qu'un jour quelqu'un la corrigera à un endroit et pas à l'autre, et que rien ne signalera l'écart.
Trois natures d'objets, donc trois bases
Une fois le principe posé, la question du nombre de bases se règle d'elle-même. Dans une activité de service, j'en vois systématiquement trois, et elles ne se mélangent pas.
L'avant-vente. Des affaires, pas des clients. Un cycle de vie qui finit par gagné ou perdu, et des champs qui n'ont de sens qu'avant la signature : source, score, prochaine action, raison de la perte.
Les clients. L'identité stable. Tout ce qui est vrai pour cette relation en général, et les attributs durables du premier paragraphe.
Les occurrences. Une ligne par séance, intervention, dossier, livraison. C'est là que vivent la réalisation et l'argent. C'est la base la plus volumineuse, et la seule sur laquelle on compte quelque chose.
Un prospect et une séance n'ont presque aucun champ en commun. Les forcer dans une même base avec une colonne « type » donne une table dont la moitié des cellules sont vides, des statuts de deux cycles de vie différents dans la même liste, et des vues qu'il faut filtrer deux fois pour ne pas compter n'importe quoi.
Ce qui rate
Le tableau par client. Un onglet ou une page par personne suivie. Chaque dossier est lisible, et aucune question transverse n'a de réponse : combien de séances ce mois-ci, qui n'a pas été relancé, quoi reste à facturer. Tu n'as pas une base, tu as une collection de documents.
L'écrasement de la dernière ligne. La fiche client porte un champ « dernier rendez-vous » et un champ « compte rendu », qu'on remplace à chaque fois. L'historique disparaît au fur et à mesure. C'est le signe qu'il manque l'objet occurrence.
Le statut fourre-tout. Une seule colonne de statut qui contient à la fois à qualifier, proposition envoyée, séance faite et payée. Quatre questions distinctes sur un même champ : aucune ne peut être automatisée proprement, parce qu'aucune n'a de valeur de départ ni de valeur finale claire.
La base par canal. Une base pour les clients venus d'un partenaire, une autre pour les directs. Le canal est un champ, jamais une base. Le jour où un client arrive par deux chemins, la structure ne sait plus quoi en faire.
Pourquoi un agent rend ces erreurs beaucoup plus coûteuses
Tant que tu es seule à lire la base, un champ dupliqué est une petite gêne : tu sais, toi, lequel est à jour. Dès qu'une chaîne automatisée ou un agent lit la même base, cette connaissance tacite disparaît.
Un agent lit des champs, pas des intentions. Si l'origine du client existe à deux endroits, il prendra celui qui est renseigné, pas celui qui est juste — et il produira une réponse assurée, sans signaler le conflit. Même chose à l'écriture : s'il n'y a pas un endroit unique et évident où poser « payée », il posera l'information quelque part, et tu découvriras le choix en lisant un rapport.
C'est pour ça que je range les bases avant de brancher quoi que ce soit dessus. Pas par goût de la modélisation : parce qu'un agent branché sur une structure ambiguë ne fait pas des erreurs plus rares, il en fait des plus rapides.
Un quart d'heure, une feuille, dix champs
Ouvre ta base principale. Prends les dix champs que tu remplis le plus souvent et pose à chacun la question du début : est-ce que ça peut être différent d'une occurrence à l'autre ?
Ceux qui répondent non et qui se trouvent sur l'occurrence sont à déplacer sur la fiche parent. En général il y en a deux ou trois, ce sont exactement ceux que tu ressaisis à la main, et les déplacer coûte une demi-journée aujourd'hui contre un nettoyage complet dans un an.
Si tu n'arrives pas à trancher pour un champ, c'est souvent qu'il désigne deux choses à la fois. Coupe-le en deux avant de décider où le mettre.