Aller au contenu
Hugo Delacour
Tous les projets

Finalytics

Générer des rapports financiers automatiquement

Un SaaS qui transforme des données financières brutes en rapports lisibles, structurés et prêts à être partagés. Automatiser un processus long, répétitif et source d’erreurs.

Rôle
Fondateur & développeur front-end
Période
2024 — présent
  • Next.js
  • TypeScript
  • Tailwind
  • Docker
  • GitHub Actions

Aperçus

Un SaaS qui produit des rapports d’analyse financière à partir de données de marché réelles : on choisit un actif — action, ETF ou indice — et un type d’analyse, et le rapport sort en PDF.

Ce que le produit remplace, c’est une journée de travail : extraire les données, appliquer les méthodes de valorisation, mettre en page, vérifier. Chacune de ces étapes est répétitive, et chacune est une occasion d’introduire une erreur que personne ne verra avant le client.

L’unité de facturation est le crédit, et son coût s’affiche avant de lancer la génération. L’historique garde ensuite chaque rapport avec son coût, son statut et ses horodatages : le travail reste reproductible, et surtout auditable.

Contexte

Créer des rapports financiers complets est un processus lent, manuel et fragile. Entre l’extraction des données, les calculs, l’uniformisation des mises en page et les vérifications, chaque livraison peut prendre des heures — voire des jours. Et chaque étape manuelle est une occasion d’introduire une erreur que personne ne verra avant le client.

L’objectif : centraliser les données, automatiser leur traitement et produire des rapports professionnels de manière fiable et reproductible. Réduire le travail répétitif pour laisser l’utilisateur sur l’analyse et la décision, pas sur la mise en forme.

Fonctionnalités

  • Import de données hétérogènes : exports comptables, bilans, journaux, feuilles Excel, normalisés en une base structurée.
  • Génération automatique de rapports : mises en page cohérentes, graphiques, tableaux comparatifs et synthèses.
  • Templates adaptables : tonalité, style visuel et structure ajustables aux usages internes de chaque entreprise.
  • Suivi des versions et piste d’audit : chaque rapport documenté, horodaté, reproductible à l’identique.
  • Interface pensée pour être lisible et rapide, sans surcharge visuelle.

Approche front-end

L’interface est construite en atomic design, ce qui donne trois choses concrètes : une cohérence sur toutes les pages, une facilité d’évolution — ajouter une vue, un tableau, un type de graphique ne demande pas de réécrire l’existant — et des composants réellement accessibles au clavier, avec des contrastes tenus et une structure sémantique correcte.

Le fil conducteur est de minimiser le bruit visuel : laisser la donnée respirer, supprimer tout décoratif, guider l’attention vers les indicateurs qui portent la décision. Sur un produit financier, la sobriété n’est pas un parti pris esthétique — c’est ce qui évite de faire lire le mauvais chiffre.

Défis

  • Normalisation des sources : les formats financiers ne sont jamais vraiment standards, et deux exports du même logiciel peuvent différer.
  • Performance : la génération de rapports lourds a imposé d’optimiser le pipeline et d’introduire des pré-calculs.
  • UX pour profils non techniques : simplifier l’interface sans masquer la complexité réelle des calculs, pour que l’utilisateur garde confiance dans ce qu’il signe.

Ce projet a confirmé une conviction que j’applique depuis à tout le reste : simplifier n’est pas enlever, c’est réduire l’interface à ce qui porte la décision.

Ce que contient un rapport

Un rapport détaillé fait dix-huit pages et suit toujours la même ossature numérotée. C’est ce qui permet d’en comparer deux sans avoir à réapprendre la structure à chaque fois. Il ouvre sur un résumé exécutif — position, cours actuel, valeur centrale, potentiel — puis déroule les constats structurants avant d’entrer dans le détail des méthodes.

  • La valorisation par trois approches indépendantes : flux de trésorerie actualisés, comparables sectoriels, consensus d’analystes. Chacune donne une fourchette et une valeur centrale.
  • L’écart entre les trois est traité comme une information, pas comme un défaut : quand elles ne convergent pas, le rapport le dit et pointe l’hypothèse sur laquelle elles divergent.
  • Une grille de sensibilité — croissance projetée contre coût du capital — qui mesure la fragilité d’une valorisation au lieu d’afficher un chiffre unique et net.
  • Le positionnement face à l’indice de référence sur trois horizons, et les repères du titre : capitalisation, secteur, multiple de résultat.

Cinq types de rapport, trois langues. La mise en page est calculée à partir des données plutôt que remplie à la main : deux rapports du même type sont strictement comparables, y compris entre deux analystes.

L’actualité, au même endroit

Le tableau de bord s’ouvre sur l’information majeure du moment — une décision de taux d’une banque centrale, une acquisition qui redistribue un secteur — puis sur l’actualité des sociétés que l’utilisateur suit : rapports trimestriels et annonces de financement, tirés des dépôts publiés auprès de la SEC.

Un rapport répond à une question posée à un instant donné. L’actualité dit quand la reposer : un résultat trimestriel ou une levée de fonds rendent une valorisation caduque, et c’est au même endroit qu’on relance l’analyse.

Le crédit comme unité

La facturation passe par des crédits, et le coût d’un rapport s’affiche avant de le lancer. C’est un détail d’interface qui règle un problème de confiance : sur un produit qui génère à la demande, ne pas savoir ce qu’on va payer suffit à ne pas cliquer.

La liste des générations conserve tout — l’actif, le type d’analyse, le statut, le coût, l’heure de lancement et l’heure de fin — et se filtre par chacun de ces axes. Elle n’a plus de page à part : elle vit dans le tableau de bord, sous l’actualité. Un rapport livré reste consultable et téléchargeable à l’identique : rien n’est régénéré à la volée, donc rien ne peut changer entre deux consultations.

Résultats

  • Jusqu’à 70 % de temps gagné sur la préparation des rapports chez les utilisateurs pilotes.
  • Moins d’erreurs humaines, et surtout des erreurs traçables lorsqu’elles surviennent.
  • Plus de cohérence entre les livrables, y compris entre personnes différentes.
  • Un workflow front-end propre et durable autour de l’atomic design, du clean code et de l’accessibilité.

Stack

  • Next.js et React pour la structure applicative et l’interface.
  • TypeScript pour la robustesse et la maintenabilité sur la durée.
  • Tailwind et atomic design pour une hiérarchie visuelle cohérente.
  • Docker pour un environnement reproductible, GitHub Actions pour le déploiement continu.

Autres projets