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

> Saiba como as Rotas Contábeis decidem quais Contas participam de uma transação e como os lançamentos de débito e crédito são registrados para cada tipo de transação no Midaz.

A seção **Contabilidade** é onde você define regras opcionais para transações.

Você faz isso por meio de **Rotas Contábeis**. Uma Rota Contábil é uma regra reutilizável para um tipo de transação, como uma *transferência via Pix*, uma *compra no cartão* ou uma *cobrança de tarifa*. Cada rota responde a três perguntas:

* Quais contas podem atuar no lado de origem?
* Quais contas podem atuar no lado de destino?
* Quais lançamentos de débito e crédito a rota registra quando a transação é executada?

**Exemplo.** Uma rota `Pix transfer` pode exigir uma conta `customer` no lado de origem e uma conta `merchant` no lado de destino. A rota então define lançamentos diretos de débito e crédito entre elas. Quando você habilita a validação de rota, uma transação Pix que referencia a rota valida as contas e aplica as regras configuradas.

As Rotas Contábeis oferecem validação de rota opcional. O Midaz as impõe apenas quando você habilita a configuração de Ledger `accounting.validateRoutes` (padrão `false`). Quando habilitada, as transações devem referenciar rotas válidas e as operações devem corresponder às regras configuradas. As rotas ficam mais fáceis de modelar quando você já sabe quais contas representam clientes, tesouraria, tarifas, liquidação, receita e despesas.

## Como as peças se encaixam

***

<Frame>
  <img src="https://mintcdn.com/lerian-49cb71fc/vdBt8wfgjsNRO1rf/images/pt/d2/accounting-route-flow.svg?fit=max&auto=format&n=vdBt8wfgjsNRO1rf&q=85&s=2ab73668d59382938bda1ac74b22b3fc" alt="Como contas, tipos de conta e rotas contábeis se encaixam para que uma solicitação de transação seja validada e registrada como lançamentos de débito e crédito" width="1913" height="345" data-path="images/pt/d2/accounting-route-flow.svg" />
</Frame>

| Peça               | O que ela controla                                                                            | Exemplo                                                   |
| ------------------ | --------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| Rota Contábil      | A rota no nível da transação que agrupa as regras de operação.                                | `Pix transfer route`                                      |
| Rota de Operação   | O lado da conta e a regra de validação.                                                       | `Source must be customer`, `Destination must be 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 ao longo do ciclo de vida da transação. | Direct, Duas Etapas, Estorno, Overdraft, Block/Unblock    |

## Escolhendo o tipo de operação

***

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

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

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

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

  <Accordion title="Use Bidirecional quando a mesma regra se aplica aos dois lados">
    Use **Bidirecional** quando a mesma classe de conta pode enviar e receber.

    Exemplo: contas correntes podem transferir valor para outras contas correntes.
  </Accordion>
</AccordionGroup>

<Note>
  Uma rota deve incluir uma rota de operação de Origem e uma de Destino, ou pelo menos uma rota de operação Bidirecional.
</Note>

## Escolhendo a regra de validação

***

| Tipo de validação | Use quando                                    | 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.       | Apenas `@treasury_main` pode enviar.   |

Uma Rota de Operação pode incluir opcionalmente uma regra de conta (Tipos de Conta registrados ou um `@Alias`). O Midaz impõe uma regra presente quando você habilita a validação de rota. Use a validação por Tipo de Conta para fluxos escaláveis. Use a validação por alias para contas operacionais fixas, como contas de tesouraria, tarifa, liquidação ou suspense.

## Padrões comuns de rota

***

### Cliente para estabelecimento

Use rotas de Origem e Destino separadas quando cada lado tiver um papel diferente.

| Rota de operação | Validação                |
| ---------------- | ------------------------ |
| Origem           | Tipo de Conta `customer` |
| Destino          | Tipo de Conta `merchant` |

### Transferência ponto a ponto

Use uma rota Bidirecional quando o mesmo tipo de conta puder ser origem e destino.

| Rota de operação | Validação                |
| ---------------- | ------------------------ |
| Bidirecional     | Tipo de Conta `customer` |

### Coleta de tarifas

Use uma rota de Destino com validação por alias quando as tarifas deverem sempre chegar a uma única conta operacional.

| Rota de operação | Validação                |
| ---------------- | ------------------------ |
| Origem           | Tipo de Conta `customer` |
| Destino          | Alias `@fee_revenue`     |

## Cenários contábeis

***

| Cenário                  | Use quando                                                                                                                            | O que o usuário configura                                                              |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| Transação Direct         | A movimentação é executada em uma única etapa.                                                                                        | Lançamentos de débito e crédito para registro imediato.                                |
| Transação em Duas Etapas | A movimentação tem fases de hold, commit e cancel.                                                                                    | Lançamentos para reserva, confirmação e cancelamento.                                  |
| Estorno                  | 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, recorrendo a uma linha de overdraft.                                           | Lançamentos de débito e crédito para a utilização do overdraft e a quitação posterior. |
| Block/Unblock            | Fundos precisam ser retidos e depois liberados no saldo da conta. Disponível para todos os tipos de rota (o rótulo da aba é "Block"). | Lançamentos para os eventos de bloqueio (block) e desbloqueio (unblock).               |

<Warning>
  Não habilite a validação de rota nas configurações do Ledger antes que as rotas necessárias existam. Se você a habilitar sem rotas correspondentes, as transações falham na validação.
</Warning>

## Páginas disponíveis

***

<Card title="Configurando a contabilidade no Console" icon="list-check" href="/pt/products/midaz/console/accounting-setup-in-console">
  Um guia passo a passo, focado no Console, para construir o seu modelo contábil, do plano de contas a um pagamento Pix funcional. Nenhuma chamada de API é necessária.
</Card>

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