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

> Crie e gerencie regras de correspondência EXACT, TOLERANCE, DATE_LAG e FUZZY na aba Regras da página de configuração de um contexto, na interface do Matcher.

Use a aba **Regras** na página de configuração de um contexto para definir e gerenciar as regras de correspondência. As regras controlam como o motor de correspondência pareia as transações durante a conciliação. As regras especificam os critérios que o motor de correspondência usa para identificar transações correspondentes entre as fontes de dados.

## Como acessar a aba Regras

***

<Steps>
  <Step>
    Vá para **Configurar → Contextos** na barra lateral esquerda.
  </Step>

  <Step>
    Selecione um contexto na lista para abrir a página de configuração dele.
  </Step>

  <Step>
    Selecione a aba **Regras**.
  </Step>
</Steps>

<Note>
  O **Alternador de contextos** global na barra lateral permite trocar o contexto de conciliação ativo a qualquer momento.
</Note>

## Lista de regras

***

A aba Regras lista as regras de correspondência na ordem de prioridade. As regras são avaliadas de cima para baixo. A primeira correspondência vence. Cada linha visível mostra a estratégia da regra e um resumo curto da configuração. A linha também tem as setas **Mover regra para cima** / **Mover regra para baixo**, um botão **Editar regra** e um botão **Excluir regra**.

Para contextos com 100 regras ou menos, a prioridade é atribuída automaticamente quando você cria uma regra. Uma regra nova vai para o fim da cadeia. Para mudar a precedência, reordene a lista com as setas para cima e para baixo. Não existe campo de prioridade no formulário.

<Warning>
  A aba Regras carrega apenas as 100 primeiras regras por prioridade e não oferece paginação. Você não pode ver nem gerenciar aqui as regras que vêm depois disso. O botão **Adicionar regra** deriva a nova prioridade dessas 100 regras. Quando uma regra na prioridade 101 fica oculta, a próxima tentativa de criação entra em conflito com ela e falha.
</Warning>

## Criar uma regra

***

<Steps>
  <Step>
    Na aba **Regras**, clique no botão **Adicionar regra**.
  </Step>

  <Step>
    Uma caixa de diálogo abre. Selecione uma **Estratégia**:

    | Estratégia            | Descrição                             |
    | --------------------- | ------------------------------------- |
    | **Exata**             | Igualdade campo a campo               |
    | **Tolerância**        | Valor ou data dentro de uma faixa     |
    | **Defasagem de data** | Janela de atraso de liquidação        |
    | **Aproximada**        | Similaridade aproximada de referência |

    Conforme a estratégia, campos diferentes aparecem (veja abaixo).
  </Step>

  <Step>
    Clique em **Criar regra**.
  </Step>
</Steps>

<Warning>
  Você não pode mudar a estratégia depois de criar a regra. Para mudar a estratégia de uma regra, exclua a regra e crie-a de novo.
</Warning>

## Tipos de regra

***

### EXACT

Corresponde transações comparando campos por igualdade exata.

Toggles de primeiro nível:

| Campo                   | Descrição                         |
| ----------------------- | --------------------------------- |
| **Comparar valor**      | Compara os valores das transações |
| **Comparar moeda**      | Exige igualdade de moeda          |
| **Comparar data**       | Compara as datas das transações   |
| **Comparar referência** | Compara os campos de referência   |

A seção **Avançado** acrescenta:

| Campo                                                   | Descrição                                                                                                                                                        |
| ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Precisão da data**                                    | Precisão da comparação de datas: `DAY` ou `TIMESTAMP`                                                                                                            |
| **Comparação de referência sem diferenciar maiúsculas** | Ignora maiúsculas e minúsculas ao comparar referências                                                                                                           |
| **A referência deve estar presente**                    | Quando **Comparar referência** está habilitado, exige um valor de referência não vazio                                                                           |
| **Comparar valor base**                                 | Compara também o valor base (antes da conversão)                                                                                                                 |
| **Comparar moeda base**                                 | Compara também a moeda base                                                                                                                                      |
| **Modo de sinal**                                       | Como os sinais dos valores são comparados: `same` casa sinais iguais, `opposite` casa uma devolução com a cobrança dela, `ignore` compara apenas as magnitudes   |
| **Pontuação da correspondência**                        | Valor de configuração aceito (0 a 100). Ele é armazenado, mas não determina a confiança atribuída, que usa os componentes de comparação com pesos fixos do motor |
| **Pontuação da correspondência base**                   | Valor de configuração aceito (0 a 100). Ele é armazenado, mas não determina a confiança atribuída                                                                |
| **Alocação (1:N / N:1)**                                | Opções de alocação parcial (veja abaixo)                                                                                                                         |
| **Campos de correspondência**                           | Editor de chave composta para comparar campos nomeados adicionais, combinado com os toggles acima                                                                |

### TOLERANCE

Corresponde transações dentro de uma faixa de tolerância numérica ou de data.

Campos de primeiro nível:

| Campo                     | Descrição                                                                                                                                            |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Tolerância absoluta**   | Tolerância de valor fixa. A faixa de valor efetiva usa a maior entre esta e a tolerância de valor derivada do percentual                             |
| **Tolerância percentual** | Tolerância de valor derivada de um percentual (por exemplo, `0.005` = 0,5%). A faixa de valor efetiva usa a maior entre esta e a tolerância absoluta |
| **Janela de data (dias)** | Desvio de data permitido entre os lados (0 a 3650)                                                                                                   |
| **Comparar moeda**        | Exige igualdade de moeda                                                                                                                             |

<Note>
  Tolerâncias zero são válidas. Os dois valores têm `0` como padrão, o que faz a faixa de valor exigir igualdade depois do arredondamento `HALF_UP` padrão na escala `2`.
</Note>

A seção **Avançado** acrescenta:

| Campo                                                                    | Descrição                                                                                                                                                                                                                      |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Modo de arredondamento**                                               | Como os valores são arredondados antes da comparação: `HALF_UP`, `BANKERS`, `FLOOR`, `CEIL` ou `TRUNCATE`                                                                                                                      |
| **Escala de arredondamento**                                             | Casas decimais do arredondamento (0 a 10)                                                                                                                                                                                      |
| **Base do percentual**                                                   | Contra qual lado a tolerância percentual é medida: `MAX`, `MIN`, `AVERAGE`, `LEFT` ou `RIGHT`                                                                                                                                  |
| **Comparar referência**                                                  | Compara os campos de referência                                                                                                                                                                                                |
| **Comparação de referência sem diferenciar maiúsculas**                  | Ignora maiúsculas e minúsculas ao comparar referências                                                                                                                                                                         |
| **A referência deve estar presente**                                     | Quando **Comparar referência** está habilitado, exige um valor de referência não vazio                                                                                                                                         |
| **Comparar valor base** / **Comparar moeda base**                        | Compara também o valor base e a moeda base                                                                                                                                                                                     |
| **Modo de sinal**                                                        | `same`, `opposite` ou `ignore` (como em EXACT)                                                                                                                                                                                 |
| **Pontuação da correspondência** / **Pontuação da correspondência base** | Valores de configuração aceitos (0 a 100). Eles são armazenados, mas não determinam a confiança atribuída, que usa os componentes de comparação com pesos fixos do motor                                                       |
| **Banda de variação cambial**                                            | Tolerância extra entre moedas acima da faixa de correspondência, como fração decimal (`0.0001` = 1 ponto-base). Um residual dentro dela ainda corresponde e registra uma exceção de variação da taxa de câmbio; `0` desabilita |
| **Banda de dedução de lockbox**                                          | Tolerância de pagamento a menor para a correspondência N:M de lockbox, como fração decimal do valor de face da fatura (`0.05` = 5%); `0` desabilita                                                                            |
| **Dias úteis e fuso horário**                                            | Calendário de feriados e fuso horário para a comparação de datas                                                                                                                                                               |
| **Alocação (1:N / N:1)**                                                 | Opções de alocação parcial (veja abaixo)                                                                                                                                                                                       |
| **Campos de correspondência**                                            | Editor de chave composta, como em EXACT                                                                                                                                                                                        |

### DATE\_LAG

Corresponde transações que ocorrem dentro de um número configurável de dias uma da outra.

Campos de primeiro nível:

| Campo                  | Descrição                                                                                      |
| ---------------------- | ---------------------------------------------------------------------------------------------- |
| **Dias mín.**          | Defasagem mínima de dias permitida (0 a 3650; o padrão é `0`)                                  |
| **Dias máx.**          | Defasagem máxima de dias permitida (0 a 3650; o padrão é `0`)                                  |
| **Direção**            | Qual lado deve ser o mais antigo: `ABS` (absoluto), `LEFT_BEFORE_RIGHT` ou `RIGHT_BEFORE_LEFT` |
| **Limites inclusivos** | Inclui os limites de dias mínimo e máximo                                                      |

<Note>
  **Dias máx.** deve ser maior ou igual a **Dias mín.**. Limites exclusivos (`Inclusive bounds` desligado) com **Dias mín.** em `0` são rejeitados, porque isso excluiria transações do mesmo dia.
</Note>

A seção **Avançado** acrescenta:

| Campo                                                   | Descrição                                                                                                                                                                                                                                            |
| ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Tolerância de tarifa**                                | Diferença absoluta máxima entre os valores das transações (o padrão é `0`)                                                                                                                                                                           |
| **Comparar moeda**                                      | Exige igualdade de moeda                                                                                                                                                                                                                             |
| **Comparar referência**                                 | Desligado por padrão; habilite para exigir igualdade de referência                                                                                                                                                                                   |
| **Comparação de referência sem diferenciar maiúsculas** | Ignora maiúsculas e minúsculas ao comparar referências                                                                                                                                                                                               |
| **A referência deve estar presente**                    | Quando **Comparar referência** está habilitado, exige um valor de referência não vazio                                                                                                                                                               |
| **Pontuação da correspondência**                        | Valor de configuração aceito (0 a 100). Ele é armazenado, mas não determina a confiança atribuída, que usa os componentes de comparação com pesos fixos do motor                                                                                     |
| **Dias úteis e fuso horário**                           | **Calendário de feriados** (`US Federal` ou `Brazil ANBIMA`), **Fuso horário** (zona IANA, o padrão é UTC) e **Contar apenas dias úteis**, que mede a defasagem em dias úteis e pula os fins de semana e feriados do calendário. Exige um calendário |
| **Alocação (1:N / N:1)**                                | Opções de alocação parcial (veja abaixo)                                                                                                                                                                                                             |

As regras DATE\_LAG não têm opções de valor base (`Match base amount` / `Match base currency` estão disponíveis apenas em EXACT e TOLERANCE).

### FUZZY

Corresponde transações por similaridade aproximada de referência, com verificações financeiras configuráveis de valor, moeda e data. As correspondências aproximadas sempre propõem para revisão. Elas nunca confirmam automaticamente.

Campos de primeiro nível:

| Campo                   | Descrição                                                                                                                                                                                                                                                                            |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Similaridade mínima** | Limiar de similaridade de referência como razão de 0 a 1 (`0.80` = 80% de similaridade). Referências abaixo dele são rejeitadas; se elas passarem por ele e as verificações financeiras habilitadas também passarem, o par recebe uma pontuação de confiança graduada. Padrão `0.80` |
| **Comparar valor**      | Compara os valores das transações                                                                                                                                                                                                                                                    |
| **Comparar moeda**      | Exige igualdade de moeda                                                                                                                                                                                                                                                             |
| **Comparar data**       | Compara as datas das transações                                                                                                                                                                                                                                                      |

A seção **Avançado** acrescenta:

| Campo                                | Descrição                                                                                                                                                                                                                  |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Precisão da data**                 | `DAY` ou `TIMESTAMP`                                                                                                                                                                                                       |
| **A referência deve estar presente** | Ligada por padrão, porque duas referências em branco seriam comparadas como totalmente similares                                                                                                                           |
| **Modo de sinal**                    | `same`, `opposite` ou `ignore`                                                                                                                                                                                             |
| **Pontuação da correspondência**     | Valor de configuração aceito (0 a 100; padrão `70`). Ele é armazenado, mas não determina a confiança atribuída; a confiança aproximada usa os componentes com pesos fixos do motor e a similaridade de referência graduada |
| **Alocação (1:N / N:1)**             | Opções de alocação parcial (veja abaixo)                                                                                                                                                                                   |

As regras FUZZY não têm toggle de igualdade de referência nem opções de valor base.

## Configurações de alocação

***

As regras EXACT, TOLERANCE, DATE\_LAG e FUZZY incluem um bloco **Alocação (1:N / N:1)** dentro da seção **Avançado**:

| Campo                               | Descrição                                                                                                                                      |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Permitir alocação parcial**       | Corresponde um conjunto de itens a uma contraparte, dividindo o valor entre eles; um resto não alocado é levado adiante como item em aberto    |
| **Divisão consciente de tarifas**   | Consome da contraparte a parcela bruta de cada perna (líquido + tarifa) em vez de apenas o valor líquido dela. Desligada, usa apenas o líquido |
| **Direção da alocação**             | Ordem em que as pernas são consumidas; o padrão é da esquerda para a direita                                                                   |
| **Modo de tolerância da alocação**  | Como o residual é limitado: `ABS` (valor absoluto) ou `PERCENT` (fração, `0.01` = 1%). O padrão é `ABS`                                        |
| **Valor de tolerância da alocação** | Residual que a divisão pode deixar; o padrão é `0`                                                                                             |
| **Alocar pelo valor base**          | Usa o valor base em vez do valor convertido para a alocação                                                                                    |

## Ver a prévia de uma regra

***

A caixa de diálogo da regra inclui um painel **Prévia de correspondências**. Clique em **Executar prévia** para testar a regra antes de salvar. A prévia continua somente leitura. Ela usa até 5.000 transações não conciliadas com extração completa, forma apenas pares 1:1 e não aplica normalização de tarifas, bandas de variação cambial nem alocação. O painel mostra quantos pares **Corresponderiam**, as contagens de não conciliados à esquerda e à direita, e até 25 pares de maior pontuação que corresponderiam. A prévia não salva nada.

## Editar uma regra

***

Clique no botão **Editar regra** de uma regra para abrir a caixa de diálogo. O seletor **Estratégia** fica inativo, porque você não pode mudar a estratégia depois da criação. Atualize os demais campos e clique em **Salvar alterações**.

## Reordenar regras

***

Use as setas **Mover regra para cima** / **Mover regra para baixo** na lista para mudar a precedência das regras. As regras são avaliadas de cima para baixo. A primeira correspondência vence.

## Excluir uma regra

***

Clique no botão **Excluir regra** de uma regra e confirme na caixa de diálogo **Excluir regra?**. A regra é removida da cadeia. As demais regras mantêm a ordem.
