En parallèle de mon poste, j'ai conçu et développé en indépendant une plateforme de dépannage à domicile : serrurerie, plomberie, vitrerie, chauffage, électricité. Des donneurs d'ordre, comme des syndics ou des assureurs, commandent des interventions. Des artisans les réalisent. La plateforme les met en relation, suit chaque mission et produit les documents.
Dans la première version, les artisans étaient des sous-traitants. Dans la seconde, ils sont devenus des partenaires. Entre les deux, le modèle économique s'est inversé.
Deux modèles, deux sens pour l'argent
Dans la première version, les artisans étaient des sous-traitants. La plateforme encaissait le paiement du client, gardait sa part et reversait le reste à l'artisan. Elle facturait au nom de l'artisan, grâce à un mandat de facturation qu'il signait.
Dans la seconde, les artisans deviennent des partenaires. Le partenaire facture directement le donneur d'ordre. La plateforme facture ensuite au partenaire ses propres frais : un abonnement mensuel, une commission sur le chiffre d'affaires réalisé via la plateforme, et un droit d'accès pour chaque donneur d'ordre auquel il est connecté.
Ce n'est plus la même entreprise qui encaisse, et la relation juridique change avec elle. Il a fallu revoir chaque écran où il était question d'argent.
Ce que j'ai reconstruit
- Les factures. Qui émet quoi, à qui, avec quelle numérotation et quelles mentions légales. Devis, factures client, factures au donneur d'ordre, avoirs, factures de la plateforme au partenaire : chaque type de document a sa série de numéros. Un avoir ne peut pas dépasser la facture qu'il corrige.
- La commission. Un donneur d'ordre peut ajouter son propre taux à la commission de base. Les deux s'additionnent, avec un plafond. Le calcul est fait à un seul endroit du code, et un test vérifie qu'aucun autre module ne le refait. Les taux se paramètrent dans l'administration, sans redéploiement.
- Le contrat. Le mandat de facturation a laissé la place à un contrat de partenariat, généré par la plateforme et signé dans l'application par le responsable de l'entreprise partenaire.
- Le vocabulaire. Le contrat exclut tout lien de subordination. Des mots comme « nos techniciens » ont disparu de l'interface et du code, parce qu'ils décrivent un employeur. Dans le code, le sous-traitant est devenu une entreprise partenaire.
- L'ancien mode. Le reversement par la plateforme reste disponible en option, pour les cas prévus au contrat.
La TVA, sujet à part entière
Une plateforme qui produit des factures doit appliquer le bon taux de TVA. Dans le dépannage à domicile, il y en a plusieurs.
- Les travaux dans un logement de plus de deux ans relèvent du taux réduit de 10 %. La plateforme génère l'attestation simplifiée 1301-SD et la fait signer.
- Les autres cas relèvent du taux normal de 20 %.
- Un partenaire en franchise en base, c'est-à-dire une petite entreprise dispensée de TVA, facture sans TVA, avec la mention « TVA non applicable, art. 293 B du CGI ».
- L'autoliquidation, où c'est le client qui déclare la TVA, est un cas différent. La plateforme l'enregistre à part.
L'ordre des vérifications compte. Le statut de l'émetteur se vérifie avant le type d'intervention : un partenaire en franchise facture sans TVA, quel que soit le chantier. Dans l'autre ordre, la plateforme produit une facture non conforme.
Ce que ça m'a appris
Je ne connaissais pas ce domaine. J'ai lu le contrat article par article, et j'ai travaillé avec le comptable sur la rédaction des factures et le calcul des taux de TVA. Quand un taux n'était pas clair, je posais la question par écrit au comptable et je bloquais la fonctionnalité jusqu'à sa réponse.
Dans ce domaine, un bug produit une facture fausse, envoyée à une vraie entreprise. Chaque décision est donc datée et écrite dans le dépôt, avec sa raison.
Côté technique, la plateforme est en TypeScript de bout en bout : une API Express avec Prisma, une application web installable en Next.js, et une machine à états par laquelle passe chaque changement de statut d'une mission.
Cette plateforme est devenue DispaTech, proposée en marque blanche avec une démo publique.