> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurar la contabilidad en la Console

> Una guía práctica, centrada en la Console, para construir tu modelo contable en Midaz — desde tu plan de cuentas hasta un pago Pix funcionando, sin escribir una sola llamada a la API.

Esta guía te lleva paso a paso por la configuración de la contabilidad en el Módulo Midaz de la Lerian Console, usando solo las pantallas y formularios de la Console. Es la versión Console del [Recorrido de Contabilidad](/es/midaz/accounting-walkthrough) orientado a desarrolladores: el mismo destino, pero expresado como **lo que clicas y configuras**, no lo que envías a una API.

Está escrita para product managers, equipos de implementación y desarrolladores que prefieren modelar su contabilidad en la UI en lugar de armar payloads de API en crudo. Mantenemos los términos técnicos donde importan, pero siempre explicamos qué significan cuando los ves en pantalla.

<Note>
  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.
</Note>

## 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:

<Steps>
  <Step title="Planifica tu plan de cuentas">
    Decide qué balances necesita tu producto (fondos de clientes, fees, settlement, treasury, revenues).
  </Step>

  <Step title="Crea los Tipos de Cuenta">
    Define las categorías que clasifican tus Cuentas.
  </Step>

  <Step title="Crea las Cuentas">
    Abre los contenedores de balance reales, cada uno ligado a un Tipo de Cuenta y un Asset.
  </Step>

  <Step title="Crea las Rutas Contables">
    Define las reglas que dicen qué Cuentas pueden participar en cada transacción y cómo se asientan las entradas.
  </Step>
</Steps>

<Tip>
  Trabaja de arriba abajo. Las rutas son mucho más fáciles de construir una vez que ya sabes qué Cuentas representan a los clientes, treasury, fees y settlement.
</Tip>

## 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, 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    |

Esta lista es tu plano. Los siguientes pasos convierten cada línea en algo concreto en la Console.

<Note>
  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](/es/midaz/console/creating-an-asset).
</Note>

## 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 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.

<Card title="Crear un Tipo de Cuenta" icon="plus" horizontal href="/es/midaz/console/creating-an-account-type">
  Abre el formulario Nuevo Tipo de Cuenta y define una categoría con un nombre claro y un key value estable.
</Card>

Una configuración de pagos típica usa estos Tipos de Cuenta:

| 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      |

<Warning>
  El **Key Value** de un Tipo de Cuenta (por ejemplo `customer`) es de lo que dependen las routes y las Cuentas. Mantenlo corto, en minúsculas y estable — cambiarlo más tarde implica recrear las Cuentas y routes que dependen de él.
</Warning>

<Note>
  El menú de Tipos de Cuenta solo aparece cuando **Validate Account Type** está habilitado en la configuración de tu Ledger. Consulta [Gestionar Ledgers](/es/midaz/console/managing-ledgers-via-console#ledger-settings) para activarlo.
</Note>

## Paso 3 — Crea tus Cuentas

***

Las **Accounts** 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.

<Card title="Crear una Cuenta" icon="plus" horizontal href="/es/midaz/console/creating-an-account">
  Abre el formulario Nueva Cuenta, elige su Tipo y Asset, y dale un alias claro.
</Card>

Al rellenar el formulario, algunas decisiones son permanentes y conviene acertarlas a la primera:

| Campo             | Por qué importa                                                                                           |
| ----------------- | --------------------------------------------------------------------------------------------------------- |
| **Account Alias** | El nombre que routes y transacciones usan para encontrar la Cuenta. No se puede cambiar tras la creación. |
| **Type**          | 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.                                    |

<Warning>
  Alias, Tipo y Asset quedan **bloqueados una vez guardada la Cuenta**. Si necesitas cambiar alguno, tienes que crear una Cuenta nueva. Verifica dos veces antes de guardar.
</Warning>

### 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.                      |

<Note>
  "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.
</Note>

## 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?

La Console las construye mediante un asistente guiado de 3 pasos, así que no tienes que armar nada a mano.

<Card title="Gestionar Rutas Contables" icon="route" horizontal href="/es/midaz/console/managing-accounting-routes">
  Mira cómo funciona la página de Rutas Contables y qué hace cada parte del asistente.
</Card>

<Card title="Crear una Ruta Contable" icon="plus" horizontal href="/es/midaz/console/creating-an-accounting-route">
  Recorre el asistente de 3 pasos para definir una route, sus operation rules y sus entradas.
</Card>

Si todavía estás decidiendo cómo dar forma a una route, [Reglas contables](/es/midaz/console/mc-accounting) explica las opciones en términos sencillos. Lo esencial:

<AccordionGroup>
  <Accordion title="¿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.

    Una route válida necesita al menos un Source **y** un Destination, o una única regla Bidirectional.
  </Accordion>

  <Accordion title="¿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 `customer` puede enviar). Úsalo para flujos flexibles y escalables.
    * **@Alias** — solo se permite una Cuenta exacta (por ejemplo, solo `@fee_revenue` puede recibir). Úsalo para Cuentas operativas fijas como treasury, fees o settlement.
  </Accordion>

  <Accordion title="¿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.
    * **Overdraft** — entradas registradas cuando un débito excede los fondos disponibles de la cuenta y recurre a una línea de sobregiro (disponible para rutas source y bidirectional).
  </Accordion>
</AccordionGroup>

<Warning>
  Activa **Validate Routes** en la configuración del Ledger **solo después** de que las routes que necesitas ya existan. Si la validación está activa pero falta una route coincidente, esas transacciones fallarán.
</Warning>

## 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.

<Steps>
  <Step title="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.

    Consulta [Crear un Tipo de Cuenta](/es/midaz/console/creating-an-account-type).
  </Step>

  <Step title="Crea las Cuentas">
    Desde la página **Accounts**, crea:

    * `@customer_123_brl` — Tipo `customer`, Asset `BRL`. La wallet del cliente.
    * `@external_brl` — Tipo `settlement`, Asset `BRL`. Donde se asientan los fondos al salir del ledger.

    Consulta [Crear una Cuenta](/es/midaz/console/creating-an-account).
  </Step>

  <Step title="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.

    Consulta [Crear una Ruta Contable](/es/midaz/console/creating-an-accounting-route).
  </Step>

  <Step title="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](/es/midaz/console/creating-a-transaction).
  </Step>

  <Step title="Revisa el resultado">
    Abre cada Cuenta y mira el balance:

    * `@customer_123_brl` — **Available** baja `100.00`.
    * `@external_brl` — **Available** sube `100.00`.

    Ambos movimientos comparten la misma transacción, dándote un rastro de auditoría limpio y balanceado.
  </Step>
</Steps>

<Tip>
  ¿Necesitas un flujo de autorizar y luego capturar en lugar de uno instantáneo? Usa un scenario **Two-Step** en la route. Verás el monto moverse a **On hold** al reservarlo, y salir de ahí cuando confirmes o canceles.
</Tip>

## 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:

<Card title="Recorrido de Contabilidad (desarrollador)" icon="code" href="/es/midaz/accounting-walkthrough">
  La versión de desarrollador de extremo a extremo de esta guía, incluyendo el modelo de datos y el detalle de partida doble.
</Card>

<Card title="Visión general de Contabilidad" icon="book" href="/es/midaz/accounting-in-midaz">
  Cómo se relacionan entre sí los primitivos contables centrales.
</Card>

<Card title="Entidades de Transaction Routing" icon="route" href="/es/midaz/transaction-routing-entities">
  El modelo técnico detrás de las Rutas Contables, operation routes y entradas.
</Card>

<Card title="Balances" icon="scale-balanced" href="/es/midaz/balances">
  El modelo de balance completo detrás de available, on-hold y scale.
</Card>
