Relatório de verificação de inalterabilidade de dados

As autoridades fiscais de alguns países exigem que as empresas provem que seus lançamentos contábeis lançados não foram alterados, o que significa que, uma vez que um lançamento tenha sido garantido, ele não poderá mais ser alterado.

Para fazer isso, o Odoo cria uma impressão digital exclusiva para cada entrada protegida graças ao algoritmo SHA-256. Essa impressão digital é chamada de hash. O hash é gerado ao pegar os dados essenciais de um registro (os valores dos campos ame`, date, journal_id, company_id, debit, credit, account_id e partner_id fields`), concatená-los e inseri-los na função de hash SHA-256, que gera uma cadeia de caracteres de tamanho fixo (256 bits). A função de hash é determinística (a mesma entrada sempre cria a mesma saída): qualquer pequena modificação nos dados originais alteraria completamente o hash resultante. Consequentemente, o algoritmo SHA-256 é usado com frequência, entre outros, para fins de verificação da integridade dos dados.

Além disso, o hash do lançamento anterior é sempre adicionado ao lançamento seguinte para formar uma cadeia de hash. Isso é usado para garantir que um novo lançamento não seja adicionado posteriormente entre dois lançamentos protegidos, pois isso quebraria a cadeia de hash.

Nota

Teoricamente, os hashes gerados pelo algoritmo SHA-256 não são exclusivos, pois há um número finito de valores possíveis. No entanto, esse número é excepcionalmente alto: 2²⁵⁶, que é muito maior do que o número de átomos no universo conhecido. É por isso que os hashes são considerados únicos, na prática.

Recursos de inalterabilidade

Os recursos de inalterabilidade podem ser ativados ativando a opção Proteger lançamentos postados com hash em qualquer diário ou usando o assistente de lançamentos seguros.

  • Dois indicadores são adicionados à visualização de formulário do lançamento contábil manual. Eles mostram se o lançamento está protegido ou não.

    • Um ou (ícone de cadeado) próximo ao estado Lançado.

    • Uma caixa de seleção Protegido na aba Outras informações.

  • Há um filtro Não protegido disponível nas visualizações de lista de lançamentos e itens de diário. Ele pode ser usado para localizar lançamentos de diário realizados que não estão protegidos.

  • A opção para abrir o assistente de lançamentos seguros é exibida no menu Financeiro.

Proteger lançamentos postados com hash

Para ativar a função de hashing em um diário específico, vá para Financeiro ‣ Configuração ‣ Diários. Abra um diário de vendas, compras ou diversos, vá para a guia Configurações avançadas e ative Proteger lançamentos postados com hash. Os diários com tal recurso ativado são chamados de “restritos”.

Para computar o hash de um lançamento, o Odoo recupera os lançamentos predecessoras da cadeia (ou seja, os lançamentos com o mesmo prefixo de sequência) e as coloca em hash de forma contínua, desde o último lançamento com hash até o novo lançamento a fazer hash.

Aviso

Depois de postar um lançamento em um diário restrito, você não poderá mais desativar o recurso nem editar lançamentos protegidos.

Assistente de lançamentos seguros

Você também pode usar o assistente Lançamentos seguros para proteger todos os lançamentos de diário, em todos os diários, até uma data específica.

Nota

O assistente funciona independentemente das configurações e dos tipos de diário.

Para abri-lo, ative o modo de desenvolvedor, vá para Financeiro ‣ Financeiro e clique em Proteger lançamentos. Se os recursos de inalterabilidade estiverem ativados, também estará visível fora do modo de depuração.

Para proteger os lançamentos, selecione uma data até a qual todos os registros devem ser protegidos e pressione Proteger lançamentos.

Aviso

Depois de proteger os lançamentos, você não poderá mais editá-los.

Nota

Pode acontecer de lançamentos que tenham passado da data selecionada estarem protegidos. Isso é possível porque a cadeia de hash corresponde ao prefixo de sequência, ordenado pelo número de sequência.

Baixar relatório

Para fazer download do relatório de verificação de inalterabilidade de dados, vá para Financeiro ‣ Configuração ‣ Definições ‣ Relatórios e clique em Baixar relatório de verificação de inalterabilidade de dados.

A primeira seção do relatório é uma visão geral de todos os prefixos de sequência de periódicos que contêm lançamentos com hash. Na coluna Restrito, você pode ver se um diário tem ou não a opção proteger os lançamentos postados com hash ativada (V) ou não (X). A coluna Verificação informa se todas os lançamentos estão com o hash correto.

Relatório de configuração para dois diários

A segunda seção fornece um resultado mais detalhado da verificação de consistência de dados para cada prefixo de sequência de diário com hash. Você pode visualizar o primeiro lançamento com hash e o hash correspondente, bem como o último lançamento com hash e o hash correspondente.

Relatório de verificação de consistência de dados para um diário