Aquí no verás ningún JSON ni llamadas a la API. Todo lo de abajo se hace mediante formularios de la Console. Si más adelante quieres automatizar la misma configuración, cada sección enlaza con la referencia técnica correspondiente.
Qué estás construyendo
La contabilidad en Midaz se basa en la partida doble. No tienes que llevar la contabilidad a mano — la Console y el ledger la aplican por ti. La única regla a tener en cuenta:
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.Esto se configura una sola vez modelando tus Cuentas y tu routing, y a partir de ahí toda transacción queda automáticamente balanceada y auditable. La configuración sigue un orden lógico. Cada capa se apoya en la anterior:
Planifica tu plan de cuentas
Decide qué balances necesita tu producto (fondos de clientes, fees, settlement, treasury, revenues).
Crea las Cuentas
Abre los contenedores de balance reales, cada uno ligado a un Tipo de Cuenta y un Asset.
Paso 1 — Planifica tu plan de cuentas
En la contabilidad tradicional, un Plan de Cuentas (Chart of Accounts, CoA) es la lista maestra de cada categoría de cuenta que usa tu negocio — activos, pasivos, ingresos, gastos — y cómo se clasifican los movimientos contra ellas. En Midaz no hay una única pantalla de “Plan de Cuentas” para rellenar. En cambio, tu CoA emerge de cómo combinas los bloques que creas en la Console: Assets, Tipos de Cuenta y Cuentas. Planificarlo de antemano es sobre todo 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:
| Balance que necesitas | Qué representa |
|---|---|
| Fondos de clientes | Dinero que mantienen tus usuarios finales |
| Settlement | Fondos esperando a compensar |
| Fee revenue | Fees que cobras |
| Fee expense | Fees que pagas a proveedores |
| Treasury | Tus propios fondos operativos internos |
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 Tipos de Cuenta 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 se permiten en 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.
| Tipo de Cuenta | Úsalo para |
|---|---|
customer | Balances líquidos de clientes |
settlement | Fondos a la espera de compensar |
fee | Fees cobradas como revenue |
treasury | Operaciones internas |
expense | Fees pagadas a proveedores |
El menú de Tipos de Cuenta solo aparece cuando Validate Account Type está habilitado en la configuración de tu Ledger. Consulta Gestionar Ledgers para activarlo.
Paso 3 — Crea tus Cuentas
Las Cuentas son los contenedores de balance reales — las cosas que mantienen valor y entre las que se mueve el dinero. Cada Cuenta está ligada a un Tipo de Cuenta (su categoría) y un Asset (su moneda), y se identifica por un alias legible que empieza con
@ (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.
| Campo | Por qué importa |
|---|---|
| Alias de Cuenta | El nombre que routes y transacciones usan para encontrar la Cuenta. No se puede cambiar tras la creación. |
| Tipo | El Tipo de Cuenta que la clasifica. No se puede cambiar tras la creación. |
| Asset | La moneda o unidad que mantiene. No se puede cambiar tras la creación. |
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 varios buckets para que siempre sepas qué es realmente gastable frente a lo que está reservado. En lenguaje sencillo:| Bucket | Qué significa cuando miras una Cuenta |
|---|---|
| Available | Dinero libre para gastar o enviar ahora mismo. Es el número que sube y baja con los pagos normales. |
| On hold | Dinero que ha sido reservado por una operación pendiente pero aún no finalizada. Sigue perteneciendo a la Cuenta, pero está apartado y no se puede gastar hasta que el hold se confirme o cancele. |
| Scale | No es un pool de dinero — indica a la Console cuántos decimales leer. Con un scale de 2, un monto almacenado de 100 significa 1.00. Controla la precisión, no el valor. |
“On hold” es lo que da poder a los pagos en dos pasos. Cuando un pago se autoriza pero aún no se captura, el monto pasa de Available a On hold. Confirmar el pago lo libera al destino; cancelarlo lo devuelve a Available. Verás estos movimientos reflejados en la Cuenta en cada etapa.
Paso 4 — Crea tus Rutas Contables
Las Rutas Contables son las reglas que gobiernan toda transacción antes de que impacte el ledger. Una route es una regla reutilizable para un tipo de transacción (por ejemplo, Pix transfer o fee charge) que responde a tres preguntas:
- ¿Qué Cuentas se permiten en el lado source (emisor)?
- ¿Qué Cuentas se permiten en el lado destination (receptor)?
- ¿Qué entradas de débito y crédito deben asentarse 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 — cualquier Cuenta de una categoría dada se permite (por ejemplo, cualquier Cuenta
customerpuede enviar). Úsalo para flujos flexibles y escalables. - @Alias — solo se permite 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, con entradas separadas para reservar, confirmar y cancelar fondos (esto es lo que usa el bucket On hold).
- Reversal — entradas registradas cuando una transacción completada necesita deshacerse.
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 externa. Asume que tu asset
BRL ya existe.
Crea los Tipos de Cuenta
Desde la página Tipos de Cuenta, crea:
customer— para balances de usuarios finales.settlement— para fondos que salen hacia el mundo exterior.
Crea las Cuentas
Desde la página Cuentas, crea:
@customer_123_brl— Tipocustomer, AssetBRL. La wallet del cliente.@external_brl— Tiposettlement, AssetBRL. Donde se asientan los fondos al salir del ledger.
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 externa recibe). - Un accounting scenario Direct, con una entrada de débito en el source y una de crédito en el destination.
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.Qué hacer después
Ahora tienes un modelo contable funcionando construido enteramente en la Console. Si quieres ir más profundo — automatizar la misma configuración, entender las entidades subyacentes o convertir la actividad del ledger en reportes — estas referencias técnicas continúan donde esta guía lo deja:
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, on-hold y scale.

