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

# Regras contábeis

> Configure Rotas Contábeis que decidem quais Contas podem participar de cada tipo de Transação e como os lançamentos são registrados.

A seção **Contábil** é onde você define as regras que toda Transação precisa seguir antes de impactar o Ledger.

Isso é feito por meio das **Rotas Contábeis**. Uma Rota Contábil é uma regra nomeada e reutilizável para um tipo específico de Transação (por exemplo, *transferência Pix*, *compra com cartão* ou *cobrança de taxa*) que responde a três perguntas operacionais:

* Quais Contas são permitidas no lado de origem?
* Quais Contas são permitidas no lado de destino?
* Quais lançamentos de débito e crédito devem ser registrados quando a Transação é executada?

**Exemplo.** Uma rota `Pix transfer` pode exigir que a origem seja uma Conta do tipo `customer` e o destino uma Conta do tipo `merchant` e, em seguida, registrar um lançamento direto de débito e crédito entre as duas. Quando alguém cria uma transação Pix no Midaz, é a rota que valida as Contas e grava os lançamentos.

Configure as Rotas Contábeis depois de ter as Contas principais e os Tipos de Conta já definidos — as rotas são mais fáceis de modelar quando você já sabe quais Contas representam clientes, treasury, fees, settlement, revenues e expenses.

## Como as peças se encaixam

***

<Frame>
  <img src="https://mintcdn.com/lerian-49cb71fc/BiSm5XjyifxTTX_7/images/pt/console/accounting-route-flow.jpg?fit=max&auto=format&n=BiSm5XjyifxTTX_7&q=85&s=28618fd9673bb4ba53fabfa750801fdb" alt="" width="1536" height="355" data-path="images/pt/console/accounting-route-flow.jpg" />
</Frame>

| Peça               | O que controla                                                                              | Exemplo                                                     |
| ------------------ | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
| Rota Contábil      | A Rota em nível de Transação que agrupa as Rotas de Operação.                               | `Pix transfer route`                                        |
| Rota de Operação   | O lado da Conta e a regra de validação.                                                     | `Source deve ser customer`, `Destination deve ser merchant` |
| Regra de validação | Como o Midaz decide se uma Conta pode ser usada.                                            | Tipo de Conta `customer` ou alias `@treasury_main`          |
| Cenário contábil   | Quais lançamentos de débito e crédito são registrados durante o ciclo de vida da Transação. | Direct, Two-Step, Reversal, Overdraft                       |

## Escolhendo o tipo de operação

***

<AccordionGroup>
  <Accordion title="Use Source quando a regra se aplica apenas ao lado de envio">
    Use **Source** para Contas onde o valor se origina.

    Exemplo: uma Conta de cliente pode enviar fundos em um fluxo de pagamento.
  </Accordion>

  <Accordion title="Use Destination quando a regra se aplica apenas ao lado de recebimento">
    Use **Destination** para Contas onde o valor chega.

    Exemplo: uma Conta de merchant pode receber fundos em um fluxo de pagamento.
  </Accordion>

  <Accordion title="Use Bidirectional quando a mesma regra vale para os dois lados">
    Use **Bidirectional** quando a mesma classe de Conta pode enviar e receber.

    Exemplo: Contas checking podem transferir valor para outras Contas checking.
  </Accordion>
</AccordionGroup>

<Note>
  Uma Rota precisa ter pelo menos uma Rota de Operação Source e uma Destination, ou uma Rota de Operação Bidirectional.
</Note>

## Escolhendo a regra de validação

***

| Tipo de validação | Quando usar                                                          | Exemplo                                |
| ----------------- | -------------------------------------------------------------------- | -------------------------------------- |
| Tipo de Conta     | Qualquer Conta de uma classe deve ser válida.                        | Qualquer Conta `customer` pode enviar. |
| Alias             | Apenas uma Conta exata deve ser válida.                              | Somente `@treasury_main` pode enviar.  |
| Sem validação     | Você quer, propositalmente, não validar a Conta nesse nível da Rota. | Raro; use com cuidado.                 |

Use validação por Tipo de Conta para fluxos escaláveis. Use validação por alias para Contas operacionais fixas, como treasury, fee, settlement ou suspense.

## Padrões comuns de Rota

***

### Cliente para comerciante

Use Rotas Source e Destination separadas quando cada lado tem um papel diferente.

| Rota de Operação | Validação                |
| ---------------- | ------------------------ |
| Source           | Tipo de Conta `customer` |
| Destination      | Tipo de Conta `merchant` |

### Transferência peer-to-peer

Use uma Rota Bidirectional quando o mesmo Tipo de Conta pode ser origem e destino.

| Rota de Operação | Validação                |
| ---------------- | ------------------------ |
| Bidirectional    | Tipo de Conta `customer` |

### Cobrança de taxas

Use uma Rota Destination com validação por alias quando as taxas precisam sempre cair em uma única Conta operacional.

| Rota de Operação | Validação                |
| ---------------- | ------------------------ |
| Source           | Tipo de Conta `customer` |
| Destination      | Alias `@fee_revenue`     |

## Cenários contábeis

***

| Cenário              | Quando usar                                                                                 | O que o usuário configura                                                       |
| -------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| Direct Transaction   | O movimento é executado em uma única etapa.                                                 | Lançamentos de débito e crédito para registro imediato.                         |
| Two-Step Transaction | O movimento tem fases de hold, commit e cancel.                                             | Lançamentos para reserva, confirmação e cancelamento.                           |
| Reversal             | Uma Transação concluída pode precisar ser estornada.                                        | Lançamentos de débito e crédito para o evento de estorno.                       |
| Overdraft            | Um débito pode exceder os fundos disponíveis da Conta, usando uma linha de cheque especial. | Lançamentos de débito e crédito para o uso do overdraft e a posterior quitação. |

<Warning>
  Não habilite a validação de Rotas nas configurações do Ledger até que as Rotas necessárias existam. Se a validação de Rotas estiver habilitada sem Rotas correspondentes, as Transações vão falhar na validação.
</Warning>

## Páginas disponíveis

***

<Card title="Configurando a contabilidade na Console" icon="list-check" href="/pt/lerian-console/midaz-console/accounting-setup-in-console">
  Um guia passo a passo, centrado na Console, para construir seu modelo contábil — do plano de contas até um pagamento Pix funcionando, sem chamadas de API.
</Card>

<Card title="Gerenciar Rotas Contábeis" icon="route" href="/pt/lerian-console/midaz-console/managing-accounting-routes">
  Configure Rotas de Transação com Rotas de Operação e cenários contábeis em um assistente unificado.
</Card>
