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

# Como o Lerian CCS funciona

> Como o Lerian CCS cria o lote diário ACCS001, o envia por meio do Lerian STA, registra solicitações de detalhamento e transferências, e concilia a posição aceita.

O Lerian CCS executa um ciclo regulatório por **data de movimento** e por **configuração**. Todo arquivo que sai ou chega ao Lerian CCS passa pelo [Lerian STA](/pt/rails/sta/what-is-lerian-sta), e cada mudança de estado chega à cadeia de auditoria.

## De onde vêm os dados do cliente

***

O Lerian CCS não mantém cópia da sua base de clientes. O **Lerian Reporter** renderiza o arquivo ACCS001 diário a partir dos seus dados de clientes, usando um template registrado. O Lerian CCS lê os bytes renderizados e cria um item de linha de lote para cada operação do arquivo.

O Reporter é um upstream obrigatório. O Lerian CCS se recusa a começar sem o endereço do Reporter, e um Reporter inacessível tira o Lerian CCS do estado pronto. Um identificador de template ACCS001 vazio recusa a aprovação com `MYS-0008`.

## Reporte (ACCS001)

***

Um lote pertence a uma data de movimento. Uma regra determina qual data de movimento a instituição pode transmitir agora, e se uma data informada é aceitável. Uma data fora da regra falha com `CCS-0012`.

Em seguida, o lote percorre uma máquina de estados:

| Estado                                                            | O que significa                                                 |
| ----------------------------------------------------------------- | --------------------------------------------------------------- |
| `GENERATING` → `GENERATED`                                        | O Lerian CCS cria o lote e o valida.                            |
| `PENDING_REVIEW`                                                  | O lote aguarda uma decisão do operador.                         |
| `AWAITING_RENDER`                                                 | Um operador aprovou o lote, e a renderização está em andamento. |
| `SUBMITTED`                                                       | Os bytes renderizados chegaram e foram para o Lerian STA.       |
| `FORMAT_ACCEPTED`                                                 | A transmissão foi concluída.                                    |
| `ACCEPTED`                                                        | O BACEN aceitou a remessa.                                      |
| `PARTIALLY_REJECTED`                                              | O BACEN recebeu o arquivo e recusou alguns registros.           |
| `FORMAT_REJECTED`                                                 | O BACEN recusou o arquivo.                                      |
| `REJECTED`, `GENERATION_FAILED`, `RENDER_FAILED`, `SUBMIT_FAILED` | Falhas terminais.                                               |

Aprovar e rejeitar são as únicas decisões do operador sobre um lote em revisão. Aprovar dispara a renderização e estaciona o lote, de modo que nenhum caminho síncrono chega ao repasse. Uma renderização que desiste termina em `RENDER_FAILED`, e a recuperação é um novo lote.

O BACEN responde no canal de arquivos de entrada. Um ACCS002 traz o veredito no nível do arquivo. Um ACCS003 traz um veredito por registro, e o Lerian CCS associa cada veredito ao seu item de linha pela tupla regulatória. Um veredito que não corresponde a nenhum item de linha falha negando por padrão, em vez de ser descartado silenciosamente. Um registro aceito promove seu relacionamento para a posição aceita. Um registro recusado deixa uma linha de erro que seus operadores podem ler.

Depois de uma recusa, um operador pode criar um lote de reenvio a partir da origem terminal.

Um monitor em segundo plano verifica, por configuração e data de movimento, se o BACEN confirmou o recebimento de uma remessa com aquela data. Ele responde `PRESENT`, `MISSING` ou `UNDETERMINED`. A obrigação vale mesmo sem movimento, então `MISSING` é uma omissão regulatória. `UNDETERMINED` indica que o controle não conseguiu responder.

## Solicitações de detalhamento (CCS0001 e CCS0003)

***

O BACEN envia uma solicitação de detalhamento como um arquivo. O Lerian STA baixa o arquivo e passa a referência para o Lerian CCS pelo message broker. `CCS0001` pergunta por pessoa e `CCS0003` pergunta por conta.

O Lerian CCS é idempotente em relação ao identificador de correlação. Ele analisa o arquivo, deriva o hash do documento e o texto cifrado, e calcula o prazo regulatório a partir do calendário bancário. Ele grava a solicitação e sua linha de auditoria em uma única transação.

Seus operadores listam as solicitações, ordenadas por prazo, com todos os documentos mascarados. Um operador pode cancelar uma solicitação que ainda está `RECEIVED` ou `PROCESSING`. Um cancelamento depois que a janela se fecha retorna `CCS-0066`.

O BACEN também envia relatórios de penalidade como ACCS009 no mesmo canal. Esse documento é um relatório de texto em colunas, sem layout XML. O Lerian CCS o analisa e armazena a ocorrência.

## Transferências (ACCS010 a ACCS012)

***

Uma transferência move pernas de relacionamento para outra instituição, identificada pela raiz do seu CNPJ. Um operador cria a transferência como um rascunho, junto com as pernas que ela cobre. Seus operadores listam as transferências das mais recentes para as mais antigas, até 200 por página, e leem qualquer transferência com suas pernas.

## Conformidade e medidas judiciais (ACCS004)

***

O BACEN publica a posição que mantém para a instituição como um ACCS004. O Lerian CCS analisa esse relatório e executa uma conciliação em relação à posição aceita que mantém. Apenas uma execução por configuração pode estar em andamento. Uma execução termina como `COMPLETED`, com suas contagens de correspondências e divergências, ou como `FAILED`, com um diagnóstico. Seus operadores listam as divergências de uma execução, com cada documento mascarado até os últimos quatro caracteres.

A comparação usa como chave um hash com chave do documento. O Lerian CCS nunca armazena um documento em texto claro. Ele criptografa um documento apenas quando uma linha de divergência deve retê-lo.

Uma medida judicial registra um `BLOCK` ou `UNBLOCK` judicial contra um documento, para uma configuração, com base na LC 105/2001. Um bloqueio mantém essa identidade fora da remessa. Um operador pode revogar uma medida judicial ativa, e a revogação é reversível.

## Trilha de auditoria e eventos

***

Cada mudança de estado grava uma entrada em um log de auditoria apenas de inclusão, dentro da mesma transação da própria mudança. Cada entrada carrega o SHA-256 da entrada anterior combinado com a forma canônica do registro, de modo que as entradas formam uma cadeia por instituição. Um operador pode pedir ao serviço para verificar uma cadeia de ponta a ponta.

O Lerian CCS também publica um evento de negócio quando o lote ACCS001 vai para o Lerian STA. Ele grava o evento por meio de um outbox transacional, para que o evento e a mudança de estado que ele reporta façam commit juntos. A publicação de eventos no tópico de streaming permanece desativada até que um operador a habilite.
