Projet protégé
Ce projet est confidentiel. Entrez le mot de passe pour y accéder.
Client
Plus que pro
Domaine
SaaS · Artisanat & BTP
Service
UI/UX Design
Prototypage

Le contexte
La réforme de la facturation électronique impose à toute entreprise française d'être capable, au 1er septembre 2026, de recevoir ses factures fournisseurs via une plateforme agréée, dans un format structuré et avec un cycle de vie normé. Ce n'est pas une fonctionnalité qu'on décale d'un trimestre pour cause de roadmap chargée : sans ce module, nos clients sont hors la loi à date fixe. Il s'agissait en plus d'ouvrir un domaine entièrement neuf dans le logiciel, celui des dépenses, là où le produit ne traitait jusqu'ici que l'argent entrant. Et il ne s'adresse pas à l'artisan lui-même, mais à la personne qui tient son administratif : une gestionnaire en poste toute la journée sur le logiciel, méticuleuse, dont la peur dominante n'est pas de se tromper mais d'oublier, la pièce qui glisse dans la masse sans que personne s'en aperçoive. J'ai mené la conception en autonomie, en m'appuyant sur la documentation de notre plateforme agréée comme source de vérité réglementaire, pendant la période où le design system était lui-même en reconstruction.
Le challenge
Une norme n'est pas un cahier des charges. La documentation de la plateforme agréée décrit des statuts, des codes de transmission, des règles de filtrage. Elle ne dit rien de ce qu'un utilisateur doit voir, ni de ce qui doit lui être épargné. Tout le travail consiste à traduire un modèle de données réglementaire en gestes, et cette traduction n'est jamais neutre : chaque statut normé peut devenir un bouton, une entrée de menu, un état affiché sans action, ou rien du tout. Choisir mal, c'est soit exposer une complexité qui ne concerne pas l'utilisateur, soit lui cacher une conséquence qui le concerne beaucoup. Deux mots qui se ressemblent et ne veulent pas dire la même chose. « Rejetée » est un refus technique, posé automatiquement par la plateforme quand le format est invalide. « Refusée » est un refus commercial, posé par l'acheteur, et il est terminal : la facture est fiscalement close, le fournisseur doit émettre un avoir et réémettre. Les sources du marché inversent régulièrement les deux. Se tromper ici n'est pas une faute de vocabulaire, c'est laisser croire à un utilisateur qu'il peut revenir sur une décision qui ne se reprend pas. Une action irréversible au milieu d'une tâche répétitive. On traite ces factures à la chaîne, et c'est ce rythme qui rend le refus dangereux : le geste ressemble à tous les autres, sa conséquence non. Le problème n'était donc pas de sécuriser le refus, ce qui est facile, mais de le sécuriser sans alourdir les vingt gestes anodins qui l'entourent. Une interface qui demande confirmation partout ne protège plus rien : elle apprend à cliquer sans lire. Le statut légal ne répond pas à la question de l'utilisateur. La norme répond à « où en est cette facture dans son circuit officiel ». L'utilisatrice, elle, demande « qu'est-ce que je n'ai pas encore traité ». Deux questions différentes, et le réflexe naturel, ajouter un statut maison au milieu des statuts normés, casse la conformité d'un côté et perd l'utilisateur de l'autre.
La Solution
Lire la norme avant de dessiner une seule vue. J'ai commencé par cartographier le cycle de vie complet de la facture d'après la documentation de la plateforme agréée, en séparant la phase de transmission, qui se joue entre plateformes, de la phase de traitement, qui commence côté acheteur. Cette carte a produit la première décision structurante, et c'est une décision de retrait : tout ce qui relève de la transmission sort de l'interface d'action. L'utilisatrice n'entre dans l'histoire qu'à la prise en charge. Elle ne pose jamais un rejet technique, donc elle n'a aucune raison de le voir comme une option. Classer les statuts par ce qu'ils coûtent, pas par leur ordre. Trois familles, et cette grille commande ensuite toute l'interface. Les silencieux (prise en charge, approbation totale ou partielle) ne portent aucune donnée complémentaire : changement direct, sans modale. Les communicants réversibles (litige, suspension) portent un motif, notifient le fournisseur, et se reprennent. Le terminal (refus) notifie aussi, mais ne se reprend pas. Demander un motif pour une approbation serait une friction injustifiée ; laisser passer un refus sans motif serait une faute de conformité. Sortir le refus du menu déroulant. Le bouton « Refuser » est devenu « Bloquer la facture » : il ouvre une modale d'aiguillage regroupant les trois statuts bloquants, filtrés selon l'état courant, avant d'enchaîner sur le bon gabarit de motif. Deux gabarits, jamais un seul. Le premier pour les réversibles, avec motif filtré, message libre et confirmation neutre. Le second réservé au refus, avec avertissement d'irréversibilité, motif obligatoire, confirmation renforcée et un bouton qui nomme l'action au lieu d'un « Valider » générique. On ne refuse plus par glissement de souris dans une liste : on refuse après avoir traversé un écran qui demandait de choisir. C'est là, et seulement là, que le budget de friction est dépensé. Séparer le statut légal de l'état de travail. J'ai supprimé le statut maison « À traiter » qui cohabitait avec les statuts normés. Le besoin réel passe ailleurs : un filtre de travail dans la liste et un marqueur de ligne qui ne tombe qu'à l'action posée, jamais à la simple ouverture, et qui se réarme si une nouvelle décision devient nécessaire. C'est la réponse directe à la peur de l'oubli : ce qui n'a pas été traité remonte, et remonte encore. Même logique côté paiement, où « Paiement transmis » est le reflet d'un règlement enregistré et non une commande qu'on sélectionne : un flux abandonné ne change rien. La machine propose, l'utilisateur valide. À l'import, un OCR pré-remplit la facture, et les données descendues de la plateforme sont comparées à la base fournisseurs existante. Quand le fournisseur est inconnu, il est détecté et ses informations pré-remplies, à valider. Rien n'est confirmé à sa place, et les champs pré-remplis restent identifiables comme tels. Le point n'est pas que la machine devine, c'est qu'on voie ce qu'elle a deviné. Confronter au réel, et savoir ce qu'on ne tranche pas. Notre gestionnaire comptabilité et facturation, cible exacte du module et impliquée dans aucune décision de conception, a participé aux revues de validation en réagissant aux scénarios que la direction et moi avions anticipés. Focus group de guérilla plutôt que protocole de recherche, mais une source honnête, et infiniment préférable à la validation de ses propres hypothèses en circuit fermé. À l'inverse, plusieurs sujets touchaient la conformité et non le design : mapping exact des libellés, filtrage des motifs par réseau d'origine, règles de renotification du fournisseur. Je les ai documentés comme arbitrages à remonter plutôt que de les résoudre en maquette. Un designer qui tranche seul une question réglementaire ne crée pas une décision, il crée une dette que quelqu'un d'autre découvrira en production.
Le résultat
Le POC a été validé et la V1 est intégrée dans l'application. Le déploiement à l'ensemble des clients est calé sur l'échéance légale du 1er septembre 2026, date à laquelle chacun d'eux doit être en mesure de recevoir ses factures fournisseurs au format électronique. Les décisions structurantes ont tenu jusqu'au code : le découpage des statuts en trois familles, l'aiguillage des bloquants, la séparation entre statut légal et état de travail, le règlement comme source du statut plutôt que l'inverse. Le module a par ailleurs servi de première application complète du design system reconstruit, un domaine neuf étant le meilleur banc d'essai pour vérifier qu'un socle tient sous charge réelle. La fabrique a d'ailleurs fonctionné dans les deux sens : les gabarits de modale de motif conçus ici sont remontés dans le système comme modèle de référence pour toute décision qui demande une justification, et une variante de bouton verte y a été ajoutée, parce qu'aucune couleur du socle ne signalait assez nettement une issue positive. Ce que je retiens de cette mission tient à une question d'échelle. Le sujet n'était jamais une facture, c'était la centième de la journée. À ce rythme, on ne lit plus une interface, on reconnaît des formes. Concevoir pour quelqu'un qui travaille au volume, c'est faire en sorte que les gestes qui engagent ne ressemblent jamais aux autres.


