Retour aux expériences

Emeria Technologies

Développeur Backend TypeScript

août 2025 — novembre 2025

Overview

Emeria Technologies (Digital Factory du groupe Emeria, ex-Foncia) conçoit Millenium, l'ERP métier dédié à la gestion locative, à la copropriété et aux transactions immobilières. Au sein d'une équipe de 6 à 7 personnes, j'ai contribué à la mise en place de la gestion de la TVA pour les propriétaires bailleurs : comptabilisation à l'encaissement et ajustement lors des dépenses, afin de fiabiliser la production du bilan comptable.

Features, challenges & résultats

Création d'un microservice exposant la TVA applicable selon le type d'opération (recette ou dépense), le régime fiscal du bailleur, le patrimoine concerné et la date d'opération — avec prise en compte de l'historique des taux et des dates de bascule réglementaires. Mise en place en clean architecture (NestJS, Prisma), gestion des erreurs via le pattern Result<T, E>, alignée sur les guidelines d'Emeria et intégrée au monorepo, en coordination avec l'équipe Infrastructure pour les déploiements (Docker / AWS).

  • Modélisation fiscale exigeante : une opération doit appliquer le taux de TVA en vigueur à sa date, avec gestion de l'historique des taux et des dates de bascule. Le régime applicable varie selon le profil du bailleur et le logement concerné. Déploiement d'un nouveau service dans un écosystème métier vaste et morcelé : validation des ressources infra et du modèle de données par des équipes transverses, et application des guidelines d'architecture alors que peu de services existants en étaient encore l'illustration.
  • Microservice livré en un sprint et déployé en production sans régression (non consommé tant que les flux ne l'appellent pas). Il a remplacé des valeurs de TVA codées en dur et débloqué toutes les évolutions applicatives liées à la fiscalité locative. Endpoints couverts par des tests unitaires et des tests E2E backend. Le service est devenu une bonne référence d'implémentation des guidelines (clean architecture, NestJS, Prisma, pattern Result<T, E>) pour l'équipe.

Intégration de la TVA dans les flux backend de gestion locative — encaissements de loyers et paiement de charges locatives — remplacement progressif des mocks de l'équipe par l'appel à mon microservice. Travail principalement sur NestJS et TypeScript, au fil des cadrages avec le produit : l'équipe découvrait et priorisait les flux à traiter, sprint après sprint.

  • Périmètre mouvant : les flux à intégrer émergeaient au fur et à mesure des points avec le produit. Il fallait brancher mon microservice sur des parcours déjà en cours de développement, en remplaçant progressivement les mocks de l'équipe, sans bloquer le reste de l'équipe.
  • Encaissements et charges locatives branchés sur le calcul TVA réel, à la place des constantes codées en dur. Livraisons itératives alignées sur la feuille de route produit, en coordination continue avec l'équipe produit.

Correction d'un bug de production sur le module de copropriété : l'historique des assemblées générales s'affichait de façon incohérente sur certaines copropriétés.

  • Données altérées manuellement, combinées à des automatisations qui ont amplifié les écarts. La complexité métier (enchaînement des assemblées générales) et son modèle de données ont rendu le diagnostic et la correction délicats.
  • Bug corrigé en production ; la référente du pôle copropriété a validé la résolution pour le client concerné.