Las necesidades de software de un operador de microcréditos no son las de un banco, y tampoco son las de un prestamista entre particulares. El producto tiene que respaldar todo el ciclo de crédito —recepción de solicitudes, análisis de riesgo, firma electrónica, desembolso, devolución programada y flujo de impagos—, con cada paso trazable para auditoría y cada transición reversible sin perder el estado anterior. Las opciones estándar o bien estaban dirigidas a bancos (demasiado rígidas y caras) o eran SaaS de pagos a plazos (demasiado orientadas al consumidor, sin espacio de trabajo para el analista de riesgo). Construimos desde cero una plataforma unificada con Laravel + React, con un modelo de datos diseñado en torno a «el préstamo como máquina de estados» y no a «el préstamo como una fila en un CRM».
El planteamiento de máquina de estados rinde en todo lo que viene después. Un préstamo pasa por borrador, enviado, análisis de riesgo, aprobado, firmado, desembolsado, al corriente, en mora, reestructurado, cerrado y fallido, y cada transición queda sellada con el operador, la marca de tiempo y las pruebas de respaldo. La estación de trabajo del analista de riesgo, el módulo de cobros, el bloque de contabilidad y el panel de administración son todos vistas sobre la misma máquina de estados, por lo que un mismo préstamo se lee de forma coherente en todos los departamentos sin tareas diarias de conciliación. Es el mismo patrón de ingeniería que aplicamos en nuestra práctica de desarrollo de software a medida cuando un flujo de trabajo regulado debe abarcar varios roles en Estados Unidos y la Unión Europea.