Quand un terme métier apparaît (DSO moyen, LME, mise en demeure…), un petit astérisque rubis à côté indique qu'il est hoverable. Au hover/focus clavier, une popover s'affiche avec la définition courte (qui ce fait, pourquoi ça compte, repère LME 30j). Implémentation : - components/ui/GlossaryTerm.tsx : wrap n'importe quel ReactNode + définition, utilise @radix-ui/react-tooltip (déjà dans la stack pour Dialog), Asterisk Lucide en marker, underline pointillée subtile pour signaler "interactif" - lib/glossary.tsx : définitions centralisées (DSO, LME, mise en demeure, encaissé, rubis) — single source of truth, ton produit cohérent - KpiCard.label / SummaryCard.label passent à React.ReactNode pour accepter le wrapping - Wiring : "DSO moyen" sur dashboard (KpiCard + titre du chart) et /insights (récap + titre du chart). LME aussi taggée dans le sous-titre du DSO chart. Aucun nouveau dep. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
/**
|
|
* Glossaire métier — définitions partagées par les tooltips.
|
|
* Centraliser ici pour pas réécrire la même chose à 3 endroits + garder
|
|
* le ton produit cohérent.
|
|
*/
|
|
|
|
export const GLOSSARY = {
|
|
dso: (
|
|
<>
|
|
<strong>DSO</strong> (Days Sales Outstanding) = délai moyen entre
|
|
l'émission d'une facture et son paiement. Plus le chiffre est bas,
|
|
plus vous êtes payé vite. La norme française B2B (LME) est{" "}
|
|
<strong>30 jours</strong>.
|
|
</>
|
|
),
|
|
lme: (
|
|
<>
|
|
<strong>LME</strong> = loi de modernisation de l'économie (2008).
|
|
Elle plafonne les délais de paiement entre entreprises à{" "}
|
|
<strong>60 jours</strong> (ou 45 j fin de mois). Au-delà, sanctions
|
|
DGCCRF jusqu'à 2 M€.
|
|
</>
|
|
),
|
|
miseEnDemeure: (
|
|
<>
|
|
<strong>Mise en demeure</strong> = relance formelle écrite avec un
|
|
délai impératif (8 jours en général). Étape obligatoire avant toute
|
|
procédure judiciaire de recouvrement. Sous Rubis, elle est toujours
|
|
validée manuellement avant envoi.
|
|
</>
|
|
),
|
|
encaisse: (
|
|
<>
|
|
<strong>Encaissé</strong> = montant total des factures effectivement
|
|
payées sur la période, hors TVA si non collectée. C'est l'argent
|
|
qui est arrivé sur votre compte, pas juste facturé.
|
|
</>
|
|
),
|
|
rubis: (
|
|
<>
|
|
<strong>1 rubis</strong> = 10 minutes de votre temps libérées par
|
|
Rubis. À chaque relance envoyée automatiquement et chaque facture
|
|
réglée, vous gagnez un rubis.
|
|
</>
|
|
),
|
|
} as const;
|