Les besoins logiciels d'un opérateur de microcrédit ne sont pas les mêmes que ceux d'une banque, et ne sont pas non plus les mêmes que ceux d'un prêteur pair-à-pair. Le produit doit prendre en charge l'ensemble du cycle de crédit — prise en charge des demandes, souscription, signature électronique, décaissement, remboursement programmé et flux de délinquance — avec chaque étape traçable pour l'audit et chaque transition réversible sans perte de l'état antérieur. Les options du marché ciblaient soit les banques (trop rigides, trop chères) soit les SaaS de paiement en plusieurs fois (trop orientées grand public, sans espace de travail souscripteur). Nous avons construit une plateforme unifiée Laravel + React de zéro, avec le modèle de données conçu autour du ‘prêt comme une machine à états’ plutôt que ‘prêt comme une ligne dans un CRM’.
La conception en machine à états porte ses fruits partout en aval. Un prêt passe par les états brouillon, soumis, en souscription, approuvé, signé, décaissé, performant, délinquant, restructuré, clôturé, passé en pertes — chaque transition horodatée avec l'opérateur et les preuves justificatives. Le poste de travail souscripteur, le module de recouvrement, le bloc comptabilité et le panneau d'administration sont tous des vues sur la même machine à états, ce qui fait que le même prêt se lit de façon cohérente entre les départements sans tâches de réconciliation quotidiennes. C'est le même pattern d'ingénierie que nous appliquons dans notre pratique de développement de logiciels sur mesure lorsqu'un flux de travail réglementé doit couvrir plusieurs rôles aux États-Unis et dans l'Union européenne.