Qué son los Asientos Contables
Una rúbrica es un mapeo que le indica al motor qué cuentas del ledger debitar y acreditar para una acción de transacción dada. En lugar de calcular las clasificaciones contables a mano para cada movimiento, registras las rúbricas una vez y dejas que Midaz las resuelva automáticamente a medida que se procesan las transacciones. Cada rúbrica lleva:
code— un identificador único (el código del plan de cuentas, ej.,1.1.1.001).description— una etiqueta legible para el asiento (ej.,Customer checking — outbound).- Un conjunto de mapeos de acción — un asiento por tipo de acción, cada uno con su propia rúbrica de débito y/o crédito.
routeCode (y el routeDescription) resultante en la operación. Esto te da una pista de auditoría completa desde la transacción → operación → rúbrica, permitiendo que los equipos rastreen exactamente qué regla contable se aplicó a cada movimiento.
Las rúbricas se configuran por acción en cada Ruta de Operación. Las rutas Source requieren la rúbrica de débito, las rutas destination requieren la rúbrica de crédito, y las rutas bidirectional requieren ambas.
Los 5 tipos de acción
Cada acción representa un evento transaccional distinto. Una sola rúbrica puede mapear diferentes cuentas de débito/crédito para cada acción, de modo que cada etapa de una operación llegue al asiento correcto del ledger.
| Acción | Identificador | Descripción |
|---|---|---|
| Direct | direct | Débito/crédito inmediato, de un solo paso, entre dos cuentas, sin etapas intermedias (ej., una comisión o un ajuste). |
| Hold | hold | Reserva fondos creando un movimiento pendiente (mueve valor de available a on_hold en la cuenta de origen). |
| Commit | commit | Confirma un monto previamente retenido, liberando el valor on_hold a la cuenta de destino. |
| Cancel | cancel | Cancela/revierte una retención, devolviendo el valor on_hold al saldo available en la cuenta de origen. |
| Revert | revert | Revierte una transacción direct completada creando una contra-transacción que deshace la original. |
Configurar Asientos Contables
Las rúbricas se registran a través de la API como parte de tus Rutas de Operación — el bloque
accountingEntries de una ruta define un asiento por acción, cada uno con su rúbrica de debit y/o credit:
Modos de validación
Cómo reacciona Midaz cuando no se encuentra una rúbrica coincidente depende de la configuración contable del Ledger. Hay dos compuertas distintas:
Por defecto (tolerante)
Por defecto, si no hay una rúbrica registrada para una acción, la transacción procede normalmente. Los camposrouteCode y routeDescription simplemente se dejan vacíos (nil) para esa operación — no se genera ningún error.
Estricto (opcional)
Estableceaccounting.validateRoutes en true en la Configuración del Ledger para exigir que todas las acciones tengan una rúbrica registrada. Cualquier operación cuya acción y dirección no tenga un mapeo registrado se rechaza con el error 0117 ErrAccountingRouteNotFound.
- routeCode — el
codede laAccountingRubricresuelta para esa acción y dirección. - routeDescription — la descripción de la rúbrica contable resuelta, poblada junto con
routeCode.

