Saltar al contenido principal
Un Ledger actúa como la columna vertebral financiera de la Organización, manteniendo un registro preciso de todas las Transacciones y Operaciones. Cada evento financiero—depósitos, retiros, transferencias, comisiones—se rastrea dentro de un Ledger, garantizando trazabilidad y control completos. Las Organizaciones pueden usar múltiples Ledgers para segregar operaciones financieras. Por ejemplo, un banco puede mantener Ledgers separados para diferentes líneas de negocio, geografías o requisitos regulatorios. Alternativamente, un solo Ledger puede manejar todas las operaciones para un enfoque simplificado.

Estructura del Ledger


  • Ledger > Organización: Cada Organización puede poseer múltiples Ledgers, pero cada Ledger pertenece a una sola Organización. Esto garantiza separación financiera y responsabilidad.
    • Los múltiples Ledgers solo deben usarse cuando se requiera segregación de datos u operacional—por ejemplo, para operaciones de tesorería interna versus cuentas de clientes.
Las Transacciones no pueden ocurrir directamente entre Ledgers sin orquestación. Si necesitas gestionar transacciones entre Ledgers, debes implementar flujos de trabajo apropiados para garantizar la consistencia.

Cómo orquestar transacciones entre Ledgers

Para mover fondos entre dos Ledgers, necesitarás crear un flujo de trabajo orquestado que divida la transferencia en dos transacciones separadas:
  1. Débito del Ledger de origen: Comienza transfiriendo la cantidad deseada desde una cuenta en el Ledger 1 a una Cuenta Externa. Esta cuenta actúa como puente y siempre está vinculada a un Activo específico.
  2. Crédito al Ledger de destino: Luego, crea una segunda transacción que mueva la misma cantidad desde la Cuenta Externa a la cuenta objetivo en el Ledger 2.
Este proceso de dos pasos garantiza que cada Ledger procese una transacción válida e independiente, mientras que la Cuenta Externa mantiene la consistencia en todo el ecosistema.
Puedes usar Flowker para automatizar esta orquestación e incluir validaciones, condiciones y lógica de reversión si es necesario.

Características clave


  • Los Ledgers garantizan integridad financiera y transparencia operacional.
  • Todas las Cuentas y Transacciones existen dentro de un Ledger, formando un sistema financiero completo.
  • Cada Ledger mantiene un conjunto equilibrado de Cuentas.
  • Se pueden usar múltiples Ledgers para segmentación, pero las transacciones entre Ledgers requieren manejo explícito.

Múltiples Ledgers


Midaz proporciona la capacidad de crear múltiples Ledgers para cada organización, ofreciendo mayor flexibilidad y control. Esta característica es particularmente beneficiosa para empresas con necesidades operacionales diversas, como separar registros financieros por país, departamento o función comercial específica.

Ejemplo de caso de uso

Considera una empresa global con negocios en múltiples regiones:
  • Ledger 1: Negocio en EE. UU.
  • Ledger 2: Negocio en la UE
  • Ledger 3: Negocio en APAC
Al usar Ledgers separados, la empresa puede mantener registros de transacciones específicos de la región, consideraciones fiscales y configuraciones de moneda, mientras retiene una supervisión unificada de todas las operaciones.

Cuándo crear un nuevo Ledger

Un Ledger es una frontera rígida, no solo una etiqueta. Las cuentas en Ledgers distintos no pueden realizar transacciones directamente entre sí — todo movimiento entre Ledgers debe orquestarse a través de una Cuenta Externa (consulta Cómo orquestar transacciones entre Ledgers). Ese costo es el factor decisivo: crea un nuevo Ledger solo cuando los segmentos rara vez necesiten mover dinero entre sí. Utiliza esta heurística para elegir el nivel de separación adecuado:
MecanismoQué separaÚsalo cuando
LedgerUn conjunto de libros completo y autónomo — con sus propias cuentas, saldos y configuración de activosNecesitas aislamiento real: una entidad jurídica, país o régimen regulatorio separado, donde los saldos nunca deben mezclarse y los movimientos entre segmentos son raros.
PortfolioUna agrupación de cuentas dentro de un LedgerQuieres una vista consolidada de un cliente o unidad de negocio, pero las cuentas siguen realizando transacciones libremente con el resto del Ledger.
Cuenta / Tipo de CuentaUn saldo individual y sus reglasUn único saldo necesita tener su propia verdad — su propio extracto, naturaleza o restricciones.
En resumen: si dos conjuntos de saldos necesitan realizar transacciones entre sí con frecuencia, mantenlos en el mismo Ledger y sepáralos con Portfolios o Cuentas. Divide en múltiples Ledgers solo cuando el aislamiento justifique el overhead de orquestación.

Personalización de Ledgers


Una de las características destacadas de los Ledgers en Midaz es la capacidad de adaptar configuraciones según requisitos individuales. Por ejemplo, el mismo activo puede configurarse de manera diferente en Ledgers separados: Ejemplo Para representar Bitcoin (BTC) con configuraciones únicas en diferentes Ledgers:
  • Ledger 1: BTC con 10 decimales.
  • Ledger 2: BTC con 20 decimales.
En este caso, simplemente crea el activo BTC de forma independiente en cada Ledger, aplicando la configuración necesaria. Este enfoque permite un control granular sobre la gestión de activos, alineándose con necesidades operacionales o regulatorias específicas.

Beneficios de usar Ledgers en Midaz


  • Organización Mejorada: Mantén registros financieros claros y distintos adaptados a varios aspectos de tu negocio.
  • Configuraciones Personalizadas: Ajusta configuraciones de activos, monedas u otros parámetros por Ledger para satisfacer necesidades localizadas o departamentales.
  • Escalabilidad: Agrega o modifica fácilmente Ledgers a medida que tu organización crece o se diversifica.
  • Transparencia: Obtén información completa sobre todas las actividades financieras, con cada Ledger contribuyendo a una imagen operacional cohesiva.

Configuraciones del ledger


Cada Ledger tiene configuraciones ajustables que controlan cómo se validan las transacciones. Por ejemplo, puedes exigir que cada transacción siga una ruta predefinida, o que los tipos de cuenta coincidan con tus reglas de negocio — de modo que el ledger rechace movimientos inválidos antes de que se registren. Estas configuraciones se pueden cambiar en cualquier momento a través de la API, sin necesidad de reiniciar el servicio ni realizar cambios en el código.

Configuraciones disponibles

Las siguientes configuraciones están disponibles:
ConfiguraciónValor por defectoDescripción
validateAccountTypefalseCuando está habilitada, valida que los tipos de cuenta en cada operación coincidan con las reglas definidas en las rutas de operación asociadas.
validateRoutesfalseCuando está habilitada, cada transacción debe incluir una ruta de transacción asociada. Cada operación también se valida contra las reglas de su ruta de operación.
Comienza con ambas configuraciones deshabilitadas mientras configuras tus rutas de operación y rutas de transacción. Una vez que tu configuración de enrutamiento esté completa, habilita la validación para aplicar tus reglas de negocio.

Cómo las configuraciones afectan las transacciones

Cuando validateRoutes está habilitada para un Ledger:
  1. Cada transacción enviada a ese Ledger debe hacer referencia a una ruta de transacción válida.
  2. Cada operación dentro de la transacción se valida contra las reglas de la ruta de operación correspondiente.
  3. Las transacciones que no cumplan son rechazadas antes de registrarse — protegiendo la integridad de tu ledger.
Cuando validateAccountType está habilitada:
  1. La cuenta de cada operación se verifica contra las reglas de tipo de cuenta definidas en la ruta de operación.
  2. Si el tipo de cuenta no coincide con la regla esperada, la transacción se rechaza.
Habilitar la validación en un Ledger que ya procesa transacciones no afectará los registros existentes. La validación solo se aplica a nuevas transacciones enviadas después de habilitar la configuración.

Gestión de configuraciones vía API

Usa los endpoints de Configuraciones del Ledger para recuperar y actualizar estas configuraciones:
Las actualizaciones de configuraciones surten efecto inmediatamente. Los cambios se aplican mediante deep merge — solo los campos que incluyas en la solicitud se modifican.

Gestión de Ledgers


Puedes gestionar tus Ledgers a través de API o mediante Lerian Console.

Ver API

Cuando eliminas un Ledger, no se elimina permanentemente del sistema.En su lugar, se agrega una etiqueta de eliminación con una marca de tiempo, y el Ledger se vuelve inactivo e inutilizable, lo que ayuda a preservar los datos históricos para pistas de auditoría.

Vía Lerian Console

Todas las acciones de gestión de Ledgers, incluidas ver, crear, editar y eliminar, se pueden realizar a través de Lerian Console. Obtén más información en la guía de Gestión de Ledgers.
Si estás creando tu primer Ledger en Lerian Console, lo harás como parte del flujo de incorporación. Para obtener más información, consulta la guía de incorporación del Módulo Midaz.