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

# Executando uma conciliação

> Dispare o motor do Matcher pela tela Conciliações: escolha Dry run para pré-visualizar ou Commit para persistir, depois revise as correspondências, as contagens de não conciliados e as exceções.

Use o painel **Rodar correspondência** na tela **Conciliações** para disparar o motor de correspondência manualmente para o contexto selecionado. O Console envia essa ação de forma síncrona. A execução é concluída dentro da requisição, em vez de entrar em uma fila. Use um dry run para avaliar as regras e inspecionar as estatísticas resumidas dele, sem gravar artefatos de correspondência. Use uma execução de commit para persistir os resultados.

## Acessando o painel Rodar correspondência

***

Vá em **Operar → Conciliações** na barra lateral esquerda. A tela Conciliações mostra o histórico de execuções do contexto selecionado, com o painel **Rodar correspondência** para iniciar uma nova execução. Se você não tiver selecionado um contexto, o Console seleciona automaticamente o primeiro disponível. Use o seletor de contexto para escolher outro. Se nenhum contexto estiver disponível, a tela mostra um estado vazio em vez do painel.

## Modos de execução

***

Escolha um modo de execução no menu suspenso **Modo** antes de iniciar:

| Modo        | Descrição                                                                                                                                                                                           |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Commit**  | Persiste os grupos de correspondência, as mudanças de resultado de transação e as exceções. Este é o modo padrão                                                                                    |
| **Dry run** | Avalia as regras e mostra estatísticas de prévia sem persistir os grupos de correspondência, as mudanças de resultado de transação ou as exceções. Use-o para testar regras antes de fazer o commit |

## Iniciando uma execução

***

Clique em **Rodar correspondência**. O Console envia `mode` sem `async`, então a execução roda de forma síncrona. A execução não entra em uma fila. A resposta dela traz um status de execução terminal. Os selos de status podem mostrar os seguintes estados:

| Status         | Descrição                                                                                                                                                                                                                                   |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **QUEUED**     | Apenas um chamador de API que envia explicitamente `async: true` vê esse estado. A execução está aguardando ser pega pelo worker de correspondência habilitado                                                                              |
| **PROCESSING** | O motor de correspondência está processando a execução ativamente                                                                                                                                                                           |
| **FINALIZING** | Os resultados de correspondência já são duráveis enquanto os registros adiados de quebra de não conciliados estão sendo gravados. Um cliente de polling assíncrono pode observar brevemente esse estado não terminal antes de **COMPLETED** |
| **COMPLETED**  | A execução terminou com sucesso                                                                                                                                                                                                             |
| **FAILED**     | A execução encontrou um erro. O motivo da falha é exibido abaixo do selo de status                                                                                                                                                          |

O Console busca o status da execução depois de cada disparo. O disparo síncrono dele chega a um status terminal nessa primeira busca, então ele não continua atualizando. Uma execução de API enviada com `async: true` responde **QUEUED** e precisa de polling contínuo até **COMPLETED** ou **FAILED**. O envio assíncrono exige um worker de execução de correspondência ativo. Sem esse worker, o serviço rejeita a requisição em vez de colocá-la na fila.

Na página de detalhe de execução de uma execução não terminal, o Console atualiza a cada dois segundos por até 90 tentativas (cerca de três minutos). Uma execução assíncrona aberta a partir do histórico de execuções é um exemplo. Clique em **Parar de observar** para parar apenas a atualização local, não a execução no lado do servidor. Clique em **Reverificar status** para reiniciar a atualização.

<Note>
  O Console bloqueia o disparo apenas quando a verificação pré-execução dele retorna com sucesso um total de zero transações. Ele então mostra um aviso e um botão **Importar dados**. Enquanto essa verificação roda ou falha, o Console não afirma que o contexto está vazio e mantém o disparo disponível. Se uma execução ainda assim terminar com zero candidatas dos dois lados, o Console mostra um aviso de importação em vez das estatísticas ou de **Ver grupos de correspondência**.
</Note>

## Revisando os resultados

***

Para uma execução concluída, não vazia, com estatísticas, o painel mostra uma figura de destaque de **Correspondências** e um detalhamento das estatísticas por lado:

| Estatística                                                                               | Descrição                                                                                                |
| ----------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| **Candidatas (left)** / **Candidatas (right)**                                            | Transações avaliadas em cada lado                                                                        |
| **Correspondidas automaticamente (left)** / **Correspondidas automaticamente (right)**    | Transações correspondidas automaticamente                                                                |
| **Aguardando revisão (left)** / **Aguardando revisão (right)**                            | Transações em correspondências aguardando revisão manual                                                 |
| **Propostas (left)** / **Propostas (right)**                                              | Transações em correspondências propostas (ainda não confirmadas)                                         |
| **Não conciliadas (left)** / **Não conciliadas (right)** / **Não conciliadas (external)** | Transações que não puderam ser correspondidas                                                            |
| **Exceções levantadas** / **Exceções atualizadas**                                        | Exceções recém-criadas / exceções pré-existentes retocadas pela execução. As duas são zero em um dry run |

Acima do detalhamento, o Console pode mostrar uma visualização resumida das estatísticas retornadas pela execução.

## Resultados de dry run

***

Um dry run cria e conclui um registro de execução persistido com estatísticas agregadas, incluindo contagens calculadas de candidatas, correspondências e não conciliadas. As duas estatísticas de exceção dele são explicitamente zero. Ele não persiste grupos nem itens de correspondência, mudanças de resultado de transação, nem exceções. O Console, portanto, apresenta a execução como uma prévia estatística, em vez de resultados persistidos grupo a grupo. Embora **Ver grupos de correspondência** ainda possa abrir o detalhe da execução, um dry run não grava grupos de correspondência. Use as estatísticas para ajustar as regras, depois mude para **Commit** e rode de novo para persistir os resultados.

## Vendo os resultados detalhados

***

Depois de uma execução **Commit** concluída, clique em **Ver grupos de correspondência** para abrir o detalhe da execução e inspecionar os grupos persistidos dessa execução. Um dry run não tem grupos persistidos para inspecionar. Use as estatísticas resumidas dele.
