cd ~/blog && cat pensar-como-un-banco.md
Pensar como un banco
Cinco hábitos de un sector que no puede fallar
Cuando envías 50 € por Bizum, el dinero no viaja a ninguna parte. Lo que ocurre es que cambian unos registros en dos bancos y, más tarde, alguien comprueba que ambos cuadran. Es un proceso que se repite millones de veces al día y que casi nunca falla.
¿Qué tiene que ver eso con una app de reservas o una tienda online? Más de lo que parece. La banca lleva siglos resolviendo problemas que cualquier producto digital acaba encontrándose tarde o temprano. Estos son cinco de sus hábitos.
Los números no flotan
Abre una consola de Python y escribe 0.1 + 0.1 + 0.1 == 0.3. La respuesta es False. No es un error del lenguaje: los ordenadores guardan los decimales en binario y 0,1 no tiene una representación exacta, igual que 1/3 no la tiene en decimal. La diferencia es minúscula, pero existe.
En una calculadora da igual. Cuando sumas miles de importes, esas diferencias se acumulan y un día el total no coincide con la suma de sus partes. Por eso la banca nunca guarda el dinero en coma flotante: usa céntimos enteros (19,99 € se guarda como 1999) o tipos decimales exactos.
Si tu producto maneja precios, esto también va contigo.
En banca no se borra nada
En 1494, el fraile Luca Pacioli publicó en Venecia una de las primeras descripciones de la contabilidad por partida doble, el método que ya usaban los comerciantes de la ciudad. Su regla de oro sigue vigente: cada movimiento se anota dos veces, como cargo en una cuenta y abono en otra, y los errores nunca se tachan. Se corrigen con un apunte contrario.
El resultado es un historial completo: se puede reconstruir qué pasó, cuándo y por qué. En software, la misma idea se llama registro de solo escritura (append-only). En lugar de sobrescribir el saldo de un cliente, guardas cada movimiento y calculas el saldo a partir de ellos. Cuando algo sale mal, tienes la historia entera para entenderlo.
Eso sí: un historial de movimientos no es un historial de personas. Guarda todo lo que le pasó al dinero, y solo los datos personales que de verdad necesitas.
Cuadrar cada noche
Los bancos no se fían de que todo haya ido bien: lo comprueban. Cada día comparan sus registros con los de las redes de tarjetas, los otros bancos y los procesadores de pago. Es la conciliación, y cualquier diferencia, por pequeña que sea, se investiga.
Un producto digital puede hacer lo mismo con poco esfuerzo. Que tu app diga «pagado» no significa que el dinero haya llegado. Una tarea nocturna que compare tus pedidos con lo que dice la pasarela de pago detecta a tiempo el cobro duplicado, el reembolso que nunca se hizo o el pedido que se entregó sin cobrar.
Cuatro ojos
Muchos bancos aplican la regla de las dos personas: para abrir una cámara acorazada, cada empleado conoce solo una parte de la combinación, y algunos cheques necesitan dos firmas. En las operaciones se conoce como el principio de los cuatro ojos: quien prepara algo sensible no es quien lo aprueba.
No es desconfianza, es reconocer que cualquiera puede equivocarse. En software su forma más común es la revisión de código, y tiene sentido llevarla más allá: a los cambios de permisos, a los borrados masivos o a los despliegues en producción.
El fraude empieza con poco
Quien roba los datos de una tarjeta no suele estrenarla con una compra grande. Antes la prueba con cargos de céntimos que el titular difícilmente notará. Se llama card testing, y muchas veces se hace con scripts que prueban cientos de tarjetas en cualquier formulario de pago que encuentren abierto.
Lo que enseña es que un producto no solo lo usan sus clientes. Limitar los intentos por persona, vigilar los picos de pagos rechazados o pedir una verificación extra solo cuando algo no encaja, sin cargar con ella a todos los demás, son medidas sencillas que se agradecen el día que alguien llama a la puerta equivocada.
Si algo saliera mal esta noche
No hace falta ser un banco para pensar como uno. Guardar el dinero en céntimos, conservar el historial de movimientos, comprobar en lugar de suponer, pedir una segunda mirada y pensar en quien quiere abusar del sistema son hábitos baratos. Lo que evitan, en cambio, suele salir caro.
La próxima vez que tu app mueva dinero, o simplemente datos que importan, hazte una pregunta muy de banco: si algo saliera mal esta noche, ¿cómo me enteraría mañana?