Cómo se relacionan las primitivas
Midaz convierte eventos de negocio en apuntes de ledger balanceados. Un pequeño conjunto de primitivas se apoya entre sí:
Plan de cuentas
Esta es la estructura de saldos que necesita tu producto. Midaz no tiene una API dedicada para el Plan de cuentas. En su lugar, lo modelas en un ledger a partir de activos, cuentas, segmentos, portafolios y tipos de cuenta. El campocode de un Asiento contable (por ejemplo, 1.1.1.001) lleva el número de cuenta tradicional de cada apunte.
Tipos de cuenta
Son clasificaciones reutilizables que asignas a las cuentas. Cada tipo de cuenta tiene un nombre, un valor de clave y una descripción. Usas los tipos de cuenta para agrupar cuentas en tu estructura financiera.Asientos contables (Rubricas)
Una ruta no necesita un asiento para cada acción de transacción. Cuando emite una acción, el asiento debe satisfacer los requisitos de débito y crédito específicos de la ruta. Cada asiento configurado contiene la rúbrica de débito y/o de crédito que requiere su ruta de operación. Cada rúbrica presente tiene uncode y una descripción. Con la validación de rutas (accounting.validateRoutes) habilitada, Midaz estampa la rúbrica correspondiente en cada operación, según la acción y la dirección de la operación.
Operaciones
Una transacción produce movimientos de ledger. Una Operación es un solo tramo de una transacción, un débito o un crédito en una cuenta específica. Midaz valida que el origen, el destino y los totales de envío de la transacción original coincidan. Su conjunto de operaciones devuelto no siempre es un par débito/crédito: la creación pendiente y la cancelación procesan solo los tramos del lado del origen. Cada operación lleva untransactionId, un amount y un assetCode. Cuando la validación de rutas (accounting.validateRoutes) está habilitada en el ledger y la ruta de operación define asientos contables, la operación también lleva un routeCode y una routeDescription de la rúbrica resuelta.
Con
accounting.validateRoutes habilitado, cuando una ruta de operación define un asiento contable, Midaz resuelve una rúbrica para la acción y la dirección de la operación. Escribe el code de la rúbrica en el routeCode de la operación y vincula la operación con un transactionId. Juntos, estos campos dan un registro de auditoría completo: transacción → operación → rúbrica. Tus equipos rastrean qué regla contable se aplicó a cada movimiento, sin búsquedas adicionales.Workflow de las primitivas contables

