Aquí no verás ningún JSON ni llamadas a la API. Haces todo lo de abajo mediante formularios de la Console. Para automatizar la misma configuración más adelante, sigue la referencia técnica que cada sección enlaza.
Qué estás construyendo
La contabilidad en Midaz usa la partida doble. No llevas la contabilidad a mano — la Console y el ledger la aplican por ti. Ten en cuenta una sola regla:
Toda transacción mueve valor desde un lugar hacia otro. Un lado da (débito), un lado recibe (crédito), y los dos siempre cuadran.Modelas tus Cuentas y tus routes una vez. A partir de ahí, el ledger balancea cada transacción automáticamente y la mantiene auditable. La configuración sigue un orden lógico. Cada capa se apoya en la anterior:
1
Planifica tu plan de cuentas
Decide qué balances necesita tu producto (fondos de clientes, fees, settlement, treasury, revenues).
2
Crea los Tipos de Cuenta
Define las categorías que clasifican tus Cuentas.
3
Crea las Cuentas
Abre los contenedores de balance reales, cada uno con un campo Tipo obligatorio y un Asset. Cuando Validate Account Type está habilitado, el Tipo de cada Cuenta no externa debe coincidir con un Tipo de Cuenta registrado.
4
Crea las Rutas Contables
Define las reglas para qué Cuentas pueden participar en cada transacción y cómo el ledger asienta las entradas.
Paso 1 — Planifica tu plan de cuentas
En la contabilidad tradicional, un Chart of Accounts (CoA) es la lista maestra de cada categoría de cuenta que usa tu negocio: activos, pasivos, ingresos y gastos. También define cómo clasificas cada movimiento contra esas categorías. En Midaz no hay una única pantalla de “Plan de Cuentas” para rellenar. En cambio, tu CoA emerge de los bloques que creas en la Console: Assets, Tipos de Cuenta y Cuentas. Lo planificas de antemano, sobre todo como un ejercicio de papel (o pizarra). Antes de abrir la Console, lista los balances que necesita tu producto. Para un producto de pagos típico podría ser:
Esta lista es tu plano. Los siguientes pasos convierten cada línea en algo concreto en la Console.
Antes de que pueda existir cualquier Cuenta, necesita un Asset — la unidad de valor que mantiene (por ejemplo
BRL). Si aún no has creado tus assets, empieza por Crear un Asset.Paso 2 — Crea tus Tipos de Cuenta
Los Account Types son las categorías que clasifican tus Cuentas. Piénsalos como etiquetas como
customer, treasury o fee que agrupan Cuentas por su rol. Más adelante, las Rutas Contables usan estas etiquetas para decidir qué Cuentas puede usar una transacción.
En la Console creas un Tipo de Cuenta por categoría de tu plano — no uno por cada cliente individual.
Crear un Tipo de Cuenta
Abre el formulario Nuevo Tipo de Cuenta y define una categoría con un nombre claro y un key value estable.
El menú de Tipos de Cuenta aparece solo después de que habilitas Validate Account Type en la configuración de tu Ledger. Para activarlo, consulta Gestionar Ledgers.
Paso 3 — Crea tus Cuentas
Las Accounts son los contenedores de balance — las cosas que mantienen valor y entre las que se mueve el dinero. Cada Cuenta tiene un campo Tipo obligatorio y un Asset (su moneda). Cuando Validate Account Type está habilitado, el Tipo de una Cuenta no externa debe coincidir con un Tipo de Cuenta registrado (las Cuentas externas omiten esta comprobación). Un alias legible la identifica (por ejemplo
customer_123_brl).
Por cada línea de tu plano, crea una Cuenta en la Console.
Crear una Cuenta
Abre el formulario Nueva Cuenta, elige su Tipo y Asset, y dale un alias claro.
Entender qué muestra realmente un balance
Cuando abres una Cuenta en la Console, su balance no es un único número. Midaz divide cada balance en dos buckets. Siempre sabes qué puedes gastar y qué retiene el ledger. En lenguaje sencillo:
Ambos montos aparecen como valores decimales exactos (por ejemplo,
12.50). No hay ningún factor de escala que aplicar al leerlos.
On hold viabiliza los pagos en dos pasos. Cuando autorizas un pago pero aún no lo capturas, el monto pasa de Available a On hold. Confirmar el pago lo libera al destino. Cancelarlo lo devuelve a Available. Ves cada uno de estos movimientos en la Cuenta en cada etapa.
Paso 4 — Crea tus Rutas Contables
Con Validate Routes habilitado, cada transacción debe especificar una Ruta Contable válida en el ledger. Una route es una regla reutilizable para un tipo de transacción, como un Pix transfer o un fee charge. Responde a tres preguntas:
- ¿Qué Cuentas pueden enviar en el lado source?
- ¿Qué Cuentas pueden recibir en el lado destination?
- ¿Qué entradas de débito y crédito debe asentar el ledger cuando se ejecuta?
Gestionar Rutas Contables
Mira cómo funciona la página de Rutas Contables y qué hace cada parte del asistente.
Crear una Ruta Contable
Recorre el asistente de 3 pasos para definir una route, sus operation rules y sus entradas.
¿Source, Destination o Bidirectional?
¿Source, Destination o Bidirectional?
Cada regla dentro de una route aplica a un lado de la transacción:
- Source — el lado emisor (de donde viene el valor).
- Destination — el lado receptor (donde llega el valor).
- Bidirectional — la misma regla aplica a ambos lados, para casos donde un tipo de Cuenta puede tanto enviar como recibir.
¿Cómo se debe validar una Cuenta?
¿Cómo se debe validar una Cuenta?
Cada regla revisa las Cuentas de una de dos formas:
- Account Type — la regla acepta cualquier Cuenta de una categoría dada (por ejemplo, cualquier Cuenta
customerpuede enviar). Úsalo para flujos flexibles y escalables. - @Alias — la regla acepta solo una Cuenta exacta (por ejemplo, solo
@fee_revenuepuede recibir). Úsalo para Cuentas operativas fijas como treasury, fees o settlement.
¿Qué accounting scenario?
¿Qué accounting scenario?
Los scenarios deciden cómo se registran las entradas de débito y crédito:
- Direct — un movimiento en un paso, asentado de inmediato.
- Two-Step — un flujo de hold y luego commit. Usa entradas separadas para reservar, confirmar y cancelar fondos, e impulsa el bucket On hold.
- Reversal — entradas que el ledger registra para deshacer una transacción completada.
- Overdraft — entradas que el ledger registra cuando un débito excede los fondos disponibles de la cuenta y recurre a una línea de sobregiro.
- Block — entradas que el ledger registra cuando se bloquean o desbloquean fondos en una cuenta.
Poniéndolo todo junto — un pago Pix simple
Ejecutemos el flujo completo en la Console para un Pix cash-out básico: un cliente envía BRL desde su wallet a una cuenta de liquidación. Asume que tu asset
BRL ya existe.
1
Crea los Tipos de Cuenta
Desde la página Account Types, crea:
customer— para balances de usuarios finales.settlement— para fondos que salen hacia el mundo exterior.
2
Crea las Cuentas
Desde la página Accounts, crea:
@customer_123_brl— Tipocustomer, AssetBRL. La wallet del cliente.@external_brl— Tiposettlement, AssetBRL. Donde se asientan los fondos al salir del ledger.
@external_brl es una Cuenta de liquidación normal, propiedad del ledger. Este ejemplo la usa para que la route pueda validar el Tipo de Cuenta settlement. No es la Cuenta externa canónica @external/BRL, que Midaz crea automáticamente junto con el Asset BRL; el prefijo de alias @external/ está reservado, así que no puedes crear esa Cuenta tú mismo. Para el dinero que realmente entra o sale de Midaz, usa @external/BRL. Consulta Errores comunes que debes evitar.3
Crea la Ruta Contable
Desde la página Rutas Contables, inicia el asistente y construye una route
Pix cash-out:- Una operation rule Source validando el Tipo de Cuenta
customer(la wallet envía). - Una operation rule Destination validando el Tipo de Cuenta
settlement(la cuenta de liquidación recibe). - Un accounting scenario Direct, con una entrada de débito en el source y una de crédito en el destination.
4
Ejecuta una transacción
Crea una transacción que mueva, por ejemplo,
100.00 BRL de @customer_123_brl a @external_brl usando tu route Pix cash-out. Consulta Crear una Transacción.5
Revisa el resultado
Abre cada Cuenta y mira el balance:
@customer_123_brl— Available baja100.00.@external_brl— Available sube100.00.
Qué hacer después
Ahora tienes un modelo contable funcionando, construido enteramente en la Console. Para ir más profundo, usa estas referencias técnicas. Cubren cómo automatizar la configuración, entender las entidades y convertir la actividad del ledger en reportes:
Recorrido de Contabilidad (desarrollador)
La versión de desarrollador de extremo a extremo de esta guía, incluyendo el modelo de datos y el detalle de partida doble.
Visión general de Contabilidad
Cómo se relacionan entre sí los primitivos contables centrales.
Entidades de Transaction Routing
El modelo técnico detrás de las Rutas Contables, operation routes y entradas.
Balances
El modelo de balance completo detrás de available y on-hold.

