Quando surge exatamente e o que significa
A mensagem surge quando o módulo tenta carregar da biblioteca cryptography a parte que cifra com AES-GCM e o Python não a consegue importar. É a primeira coisa que faz o método que cifra dados no modelo de certificados do VeriFactu España: AEAT RRSIF Compliance: antes de obter a chave e antes de cifrar o que quer que seja. Significa que a biblioteca está em falta ou não pode ser carregada nesse Python. A ação é interrompida.
Um dos caminhos que levam à mensagem é o botão Configure. Esse botão vê-se sempre, no Odoo 17, 18, 19 e 20, e a mensagem consta do código publicado dessas quatro versões. O módulo está publicado no Odoo Apps para 17, 18, 19 e 20.

O que faz o módulo quando a biblioteca está presente
Saber o que vem a seguir ajuda a perceber porque é que a mensagem surge tão cedo. Com a biblioteca disponível, o método obtém a chave de cifragem, gera um valor aleatório (o vetor de inicialização) e cifra os dados com AES-256-GCM. Devolve três coisas: o texto cifrado, esse vetor e a etiqueta de autenticação.
A chave é calculada a partir de um segredo da instância. Nos registos marcados com a chave por empresa, o identificador da empresa faz parte do cálculo. Nada disto acontece enquanto a biblioteca estiver em falta, porque a mensagem é lançada antes.
Checklist para resolver
Ao ver a mensagem
- Confirma que o texto é o literal:
Python cryptography library not available. Install it: pip install cryptography. Se o texto for outro, não é este erro.
- Anota o que estavas a fazer. Se acabaste de clicar em
Configure, esse é o caminho que leva à mensagem.
- Anota também a versão do Odoo (17, 18, 19 ou 20). A mensagem consta do código das quatro, pelo que, por si só, não dá pista.
- A ação foi interrompida: terás de a repetir quando estiver resolvido.

La biblioteca cryptography de Python no está disponible. Instálela con: pip install cryptography; em catalão, La biblioteca cryptography de Python no està disponible. Instal·leu-la amb: pip install cryptography.Instalar a biblioteca
- Instala a biblioteca com o comando que a mensagem indica:
pip install cryptography.
- Fá-lo para o Python a partir do qual corre o teu Odoo, porque é nesse processo que o módulo tenta carregá-la.
- Se o servidor for gerido por outra pessoa ou por um fornecedor de alojamento, envia-lhe a mensagem completa e o comando. Assim fica a saber o que instalar e porquê.
- Verifica o resultado de
pip install cryptography: se terminou com um erro, a biblioteca não foi instalada.
Confirmar que está resolvido
- Repete a ação que falhava, por exemplo clicar em
Configure.
- Confirma que a mensagem já não aparece. Se o módulo passar esse ponto, o método prossegue com a chave e a cifragem descritas acima.
- Se tiveres várias versões do Odoo em funcionamento (17, 18, 19 ou 20), repete a verificação em cada uma, porque a mensagem consta do código das quatro.
Onde estão as fichas de certificados
As fichas de certificados abrem-se a partir de Verifactu / SIF › Configuration › Certificates. Cada troço do menu exige uma permissão e, se não a tiveres, não vês esse troço:
- O troço
ConfigurationexigeSIF Manager. - O troço
Verifactu / SIFexigeAccountant,Asesoría Operator,Auditor (read-only),Privacy OfficerouSIF Manager.
- Se não vês o troço
Configuration, pede que te atribuam a permissãoSIF Manager.
Se a mensagem continuar a surgir
- Volta a ler o texto: continua a ser o da biblioteca
cryptography, não outro.
- Verifica que a instalação foi feita no Python do teu Odoo e não noutro diferente do mesmo servidor.
- Se a mensagem persistir, anota que botão clicaste e a versão do Odoo (17, 18, 19 ou 20) antes de pedires ajuda.
Como a FlexigoTech te pode ajudar
Se o servidor não for teu ou preferires que o revejamos, a FlexigoTech implementa Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida.
Continue a ler
Verificado no código do módulo (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigo_spain_verifactu 20.0 (1fdc980f): models/verifactu_certificado.py
- Código do módulo: flexigo_spain_verifactu 20.0 (1fdc980f): wizards/verifactu_onboarding_wizard_views.xml
- apps.odoo.com/apps/modules/20.0/flexigo_spain_verifactu
- flexigotech.com/en/services.html
