> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Errores comunes que debes evitar

> Evita los errores típicos de las implementaciones de Midaz en la estructuración del Ledger, la segregación de activos, las rutas contables y las cuentas externas.

Una implementación confiable de Midaz depende de algunas decisiones estructurales que tomas desde el inicio. Evita los errores comunes que se describen a continuación para mantener los saldos exactos y el acceso bajo control.

## Estructuración deficiente del Ledger

***

* **Error:** Diseñas ledgers demasiado complejos o demasiado simples. Por ejemplo, un ledger por cliente genera fragmentación. Agrupar procesos no relacionados genera confusión.
* **Mejor práctica:** Estructura los ledgers en torno a las áreas de negocio clave o las entidades legales. Usa agrupaciones organizadas en lugar de un enfoque uno a uno. Esto mejora la capacidad de gestión y las transferencias internas.

## No usar portafolios para los clientes

***

* **Error:** Tratas cada cuenta de forma aislada en lugar de agruparla bajo un portafolio. Esto dificulta el seguimiento de todas las cuentas vinculadas a un mismo cliente.
* **Mejor práctica:** Crea un portafolio para cada cliente. Agrupa sus cuentas para simplificar las consultas, la gestión de relaciones y los informes.

## Mezclar activos en una cuenta

***

* **Error:** Administras varias divisas o tipos de activo en una sola cuenta, a menudo mediante anulaciones de metadatos. Esto genera saldos poco claros e inconsistencias en los informes.
* **Mejor práctica:** Asigna un activo por cuenta. Si un cliente necesita compatibilidad con múltiples divisas, crea cuentas separadas. Usa convenciones de nomenclatura o portafolios para estructurarlas.

## Rutas contables inadecuadas

***

* **Error:** Envías transacciones sin Rutas de operación o Rutas contables configuradas correctamente (Rutas de transacción en la API). Esto genera validaciones inconsistentes, fondos mal enrutados y datos del ledger poco confiables.
* **Mejor práctica:** Define Rutas contables que reflejen tu lógica de negocio y tus requisitos de cumplimiento, y luego configura el ajuste del Ledger `accounting.validateRoutes` en `true` para aplicarlas. Su valor predeterminado es `false`. Usa las Rutas de operación para validar el origen y el destino de cada operación cuando la validación de rutas está habilitada. Las rutas estructuradas mantienen cada transacción auditable.

## Pasar por alto el manejo de cuentas externas

***

* **Error:** Manejas mal las transacciones externas. Por ejemplo, eliminas una cuenta cuando los fondos salen del banco, lo que genera desequilibrios.
* **Mejor práctica:** Usa la cuenta canónica `@external/<asset-code>` (por ejemplo, `@external/BRL`) para el dinero que entra y sale de Midaz. Esto mantiene el ledger balanceado y coincide con los extractos bancarios reales.

## Fallas de seguridad en el control de acceso

***

* **Error:** Otorgas privilegios excesivos a los administradores o usas cuentas compartidas. Esto compromete la seguridad y la rendición de cuentas.
* **Mejor práctica:** Implementa el control de acceso basado en roles (RBAC) desde el inicio. No uses cuentas root ni admin para las operaciones diarias. Aplica una gestión estricta de credenciales. Audita los permisos con regularidad para evitar la escalada de privilegios no autorizada.

## Manejo incorrecto de errores en las transacciones

***

* **Error:** No manejas las transacciones fallidas en la capa de integración. Esto genera suposiciones falsas sobre operaciones exitosas.
* **Mejor práctica:** Valida siempre las respuestas de la API de transacciones. Implementa mecanismos de reintento con backoff para los errores transitorios. Registra los fallos permanentes. Confirma que los sistemas upstream, como las aplicaciones de core banking, manejen las transacciones rechazadas y notifiquen al usuario.
