#Backend

Los ingenieros obtienen una guía de campo para sistemas fintech

Marta Kowalska
Marta Kowalska
8 min read

El Manual de Ingeniería Fintech ofrece a los equipos de software un mapa práctico para construir sistemas que mueven, registran y auditan dinero sin inventar ni perder valor.

El Manual de Ingeniería Fintech expone un conjunto práctico de patrones para ingenieros que construyen software alrededor del dinero, desde el diseño de libros contables y la idempotencia hasta los webhooks, la conciliación, los controles de acceso y las pruebas en producción.

El manual está dirigido a ingenieros que llegan a fintech desde otros campos del software. Una aplicación social puede recuperarse de una notificación duplicada. Un sistema monetario no puede pasar por alto un retiro duplicado, una comisión redondeada a la baja o un registro de liquidación faltante. La guía enmarca ese trabajo en torno a tres reglas: no inventar datos, no perder datos y no confiar en sistemas externos o internos sin comprobaciones.

La primera lección empieza por la representación. El dinero necesita un importe y una divisa, almacenados con la precisión suficiente para la tarea. El manual advierte contra los tipos de punto flotante para importes financieros porque los analizadores y entornos de ejecución comunes pueden introducir errores de redondeo en el borde de un sistema por lo demás cuidadoso. Orienta a los equipos hacia unidades menores fijas, decimales de precisión arbitraria, números racionales o una mezcla de esos enfoques, según si el sistema almacena saldos, calcula tasas o maneja criptoactivos.

Esa distinción importa. Un saldo fiat de 12,34 $ puede encajar como 1.234 centavos bajo los metadatos de la divisa en ISO 4217. Un token cripto puede usar 18 decimales y desbordar un entero de 64 bits. Un número JSON en bruto puede deshacer un diseño interno cuidadoso si un cliente lo analiza como un doble IEEE 754. El manual empuja a los ingenieros a enviar el dinero como cadenas o como enteros de la unidad más pequeña en su lugar.

La guía trata el redondeo como una decisión de negocio, no como una cuestión de formato. Los cálculos de comisiones, las conversiones de divisa, los intereses y la aplicación de tasas pueden crear fracciones que el sistema debe asignar. Los equipos necesitan elegir quién recibe o pierde el resto, registrar el residual y evitar redondear hasta un límite como la persistencia o la visualización. Si una plataforma divide un pago en varias partes, las partes redondeadas pueden ya no sumar el importe original. El manual insta a los equipos a registrar esa diferencia en lugar de ocultarla.

La sección sobre el libro contable da al manual su centro de gravedad. La guía explica la contabilidad de doble entrada como un patrón de ingeniería: cada movimiento acredita una cuenta y debita otra, de modo que el dinero tiene un origen y un destino. Los proveedores externos también obtienen cuentas. Los saldos de usuario provienen de apuntes, no de campos de saldo mutables. Las correcciones se hacen mediante nuevas entradas vinculadas, no editando registros ya contabilizados.

Ese enfoque da a los auditores un rastro. Un sistema financiero necesita explicar qué ocurrió, quién lo desencadenó, cuándo lo registró el sistema, por qué ocurrió y qué datos de origen respaldaron la decisión. El manual separa el tiempo de valor, el tiempo de contabilización y el tiempo de liquidación porque esas fechas responden a preguntas distintas. Una transacción con tarjeta puede ocurrir el lunes, entrar en el sistema de la empresa el martes y liquidarse en el banco el viernes. Fusionar esas fechas en un único campo created_at hace perder hechos que el equipo no podrá reconstruir después.

El manual también trata el event sourcing con cautela. El event sourcing puede dar a los equipos un rastro de auditoría sólido porque el registro de eventos se convierte en la fuente del estado derivado. La guía no lo vende como una respuesta universal. Los ingenieros siguen necesitando proyecciones, instantáneas, evolución de esquemas y herramientas para eventos antiguos que deben sobrevivir durante años. Para muchos dominios adyacentes, el manual dice que un modelo convencional con un registro de cambios fiable puede satisfacer la necesidad con menor coste operativo.

Los patrones de ejecución ocupan otra gran parte de la guía. La idempotencia recibe especial atención porque los sistemas fintech reintentan llamadas por diseño. Una solicitud de retiro puede agotar el tiempo de espera después de que el proveedor la reciba. El cliente puede reintentar. El servidor debe colapsar esas entregas en un único efecto. El manual favorece claves de idempotencia explícitas acotadas a un cliente y una operación, además de barreras atómicas que manejen dos solicitudes duplicadas que lleguen al mismo tiempo.

La reserva de fondos resuelve otra carrera. Antes de que una plataforma envíe dinero o llame a un proveedor de cumplimiento, reserva la cantidad necesaria contra el saldo disponible del usuario. El usuario sigue siendo propietario de los fondos, pero el sistema impide que otra transacción gaste la misma cantidad. La guía deja claro un requisito duro: comprobar el saldo y registrar la reserva necesitan una consistencia fuerte. Una lectura obsoleta puede dejar pasar dos retiros contra los mismos fondos.

El manual no finge que las reservas eliminen los descubiertos. Los sistemas externos pueden forzar saldos negativos por liquidaciones superiores a lo esperado, reversos, contracargos o comisiones retrasadas. La guía advierte a los ingenieros que no codifiquen saldos no negativos como un tipo sin signo o una restricción de base de datos que rechace la realidad. Un sistema que no puede representar un saldo negativo puede bloquearse, recortar el valor a cero o acuñar dinero mediante una mala ruta de reparación. El manual dice a los equipos que contabilicen el descubierto, lo investiguen y lo recuperen mediante depósitos futuros, reembolso o una cuenta de pérdidas.

Las integraciones externas reciben la misma desconfianza. Los procesadores de pago, los bancos, los custodios, los proveedores de KYC, los proveedores de AML, los nodos blockchain y los servicios internos pueden devolver cargas malformadas, registros obsoletos, mensajes duplicados o silencio. El manual aconseja a los equipos validar los campos de los que dependen, almacenar solicitudes y respuestas en forma consultable y hacer cálculos aproximados frente a los cupos del proveedor antes de que el tráfico exponga un límite.

Los webhooks reciben un tratamiento directo. Un webhook debería disparar una comprobación, no dar por sentada una verdad. La guía recomienda verificar firmas sobre bytes crudos, guardar la carga útil original, responder rápido y procesar el trabajo fuera de la ruta de la solicitud. Los equipos deberían consultar la API del proveedor para obtener el estado actual y construir trabajos de conciliación para los webhooks que nunca llegan. El mismo evento puede llegar dos veces o fuera de orden, por lo que los manejadores de webhooks necesitan idempotencia y comprobaciones de estado.

El manual conecta ese patrón con una publicación fiable. Un sistema que actualiza su base de datos y envía un evento de Kafka o un webhook saliente en un paso separado puede fallar entre ambos. La guía describe el patrón outbox, la captura de datos de cambios y el event sourcing como respuestas prácticas. Herramientas como Debezium, AWS Database Migration Service, Temporal, Camunda y AWS Step Functions cubren partes de ese espacio, aunque cada una aporta su propio modelo y carga operativa.

La conciliación actúa como el freno de seguridad. El manual insta a los equipos a comparar su libro contable con procesadores, bancos, custodios, blockchains y otras fuentes independientes. Un desajuste puede significar datos faltantes, importes distintos, liquidación obsoleta o transferencias por lotes de uno a muchos. La guía advierte contra sobrescribir un lado para que un informe quede en verde. Los ingenieros necesitan correcciones de primera clase, rutas de reprocesamiento y lógica de correspondencia que respete los tiempos de liquidación.

La sección de controles amplía la idea de la desconfianza a empleados y sistemas dentro de la empresa. Las operaciones sensibles de dinero, los cambios de comisiones, los despliegues a producción y los cambios de infraestructura pueden requerir segregación de funciones o aprobación maker-checker. La aprobación en sí necesita un registro: solicitante, aprobador, motivo, marca de tiempo y prueba de que la misma persona no desempeñó ambos roles. El control de acceso recibe el mismo tratamiento mediante privilegio mínimo, acceso basado en roles, trazabilidad de cambios y revisiones periódicas.

Las pruebas cierran el manual con técnicas que se ajustan mejor al estado financiero que las comprobaciones basadas solo en ejemplos. Las pruebas basadas en propiedades pueden generar secuencias de operaciones y afirmar que los libros cuadran después de cada paso. La inyección de fallos puede matar un flujo de larga duración entre cada par de pasos y demostrar que un worker puede reanudarlo. Las pruebas doradas pueden fijar los desglose de comisiones o los extractos a salidas revisadas. Las pruebas de compatibilidad hacia atrás pueden mantener legibles las cargas útiles antiguas de eventos tras cambios de esquema.

Los ejemplos de extremo a extremo del manual vuelven concretos los patrones. Un retiro de cripto combina envío idempotente, reserva de fondos, comprobaciones de cumplimiento, difusión en cadena, profundidad de confirmación, apuntes contables, liquidación de comisiones y conciliación de la cadena. Un depósito con tarjeta muestra por qué una plataforma debería tratar un webhook de captura como una señal, acreditar a través de una cuenta de compensación, esperar la liquidación y manejar los contracargos mediante reversos vinculados. Una conversión dentro de la app con cashback muestra por qué el spread, el redondeo, las tasas de referencia y el dinero promocional necesitan todos apuntes contables.

El proyecto no anuncia financiación, inversores ni un lanzamiento comercial. Su posición en el mercado viene de otra brecha: muchos ingenieros entran en fintech con sólidas habilidades en sistemas distribuidos, pero poca exposición a la contabilidad, la liquidación, la custodia, los controles de sanciones, los contracargos y las evidencias de auditoría. El manual empaqueta esas preocupaciones como patrones de software en lugar de folclore financiero.

Eso hace que la guía sea útil más allá de las startups fintech. Cualquier equipo que almacene saldos, mueva activos, acredite fondos promocionales, emita informes financieros o se integre con proveedores de pago afronta la misma presión. El software de dinero falla en las grietas entre servicios, marcas de tiempo, reintentos y anulaciones humanas. El manual da a los ingenieros un vocabulario para esas grietas y un conjunto de controles que pueden convertir en código.

Comentarios

Cargando comentarios...