Cómo se relacionan las primitivas
Midaz convierte eventos de negocio en asientos balanceados del ledger. Un pequeño conjunto de primitivas se construye una sobre otra:
Plan de Cuentas
Esta es la estructura de saldos que tu producto necesita. Midaz no tiene una API dedicada de Plan de Cuentas. En su lugar, la modelas en un ledger a partir de assets, cuentas, segments, portfolios 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 asiento.
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 (Rúbricas)
Una ruta no necesita una entrada para cada acción de transacción. Cuando emite una acción, la entrada debe cumplir los requisitos de débito y crédito específicos de la ruta. Cada entrada configurada contiene la rúbrica de débito, de crédito o ambas, según lo que exige 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 aplica la rúbrica correspondiente a cada operación, según la acción y la dirección de la operación.
Operaciones
Una transacción produce movimientos del ledger. Una Operación es un único tramo de una transacción — un débito o un crédito sobre una cuenta específica. Midaz valida que los totales de origen, destino y envío de la transacción original coincidan. El conjunto de operaciones devuelto no siempre es un par débito/crédito: la creación pendiente y la cancelación procesan solo tramos 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 un 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 la vincula con un transactionId. En conjunto, estos campos ofrecen una pista de auditoría completa: transacción → operación → rúbrica. Tus equipos rastrean qué regla contable se aplicó a cada movimiento, sin búsquedas adicionales.Flujo de trabajo de las primitivas contables

