Introdução
O erro conhecido como Odoo RPC Error surge quando há falha na comunicação entre o cliente (interface web ou sistema externo) e o servidor Odoo. RPC é a sigla de Remote Procedure Call, o método pelo qual pedidos remotos invocam ações do back-end — e quando algo falha, o cliente recebe essa falha em forma de erro RPC.
Normalmente este problema manifesta-se com mensagens do tipo:
RPC_ERROR
Odoo Server Error
Ou aparece registado no console do navegador desta forma:
RPC_ERROR: Odoo Server Error
Ao contrário dos erros de validação da interface, um erro RPC é um reflexo de um problema no servidor — é uma exceção levantada no back-end e devolvida ao cliente.
Este guia descreve o que é um erro RPC, as suas causas habituais e passos práticos para resolver e evitar estes incidentes.
O que significa um erro RPC no Odoo?
No Odoo, quase todas as ações do utilizador disparam chamadas RPC. Por exemplo:
- Criar um registo
- Validar um documento
- Premir um botão com lógica no servidor
- Executar uma ação agendada ou manual do servidor
A interface envia um pedido ao servidor; se durante o processamento o servidor lançar uma exceção, o resultado chega ao utilizador como um erro RPC.
Em termos simples:
Um erro RPC indica que o servidor encontrou uma exceção enquanto processava um pedido remoto.
Os erros RPC costumam deixar um rasto — um traceback nos logs do servidor — que identifica a origem do problema.
Causas mais frequentes de erros RPC no Odoo
1. Exceção no Python do back-end
Quando um módulo personalizado desencadeia um erro no código do servidor,
por exemplo com um raise ValueError("Valor inválido"),
o utilizador verá um erro RPC na interface.
Na prática, a maioria dos erros RPC é apenas uma exceção server-side exposta ao utilizador final.
2. Problemas de permissões durante a chamada RPC
Se um utilizador tenta executar uma ação sem ter privilégios adequados, o Odoo pode devolver um erro RPC em vez de uma simples mensagem de validação na UI.
3. Chamada de método inválida
Os problemas surgem quando o frontend tenta invocar um método que:
- não existe,
- recebe parâmetros incorretos,
- ou está definido de forma inadequada no servidor.
Nessas situações a camada RPC falha ao processar o pedido.
4. Violação de restrições na base de dados
Erros como:
- violação de restrição de unicidade,
- erro de chave estrangeira,
aparecem frequentemente como erros RPC na interface.
5. Integrações ou chamadas a APIs externas
Quando o Odoo interage com sistemas externos, um erro RPC pode ter origem em:
- payload inválido,
- autenticação com falha,
- ou dados obrigatórios em falta,
pelo que o erro exibido na UI pode ter raiz na camada de integração.
6. Timeout do servidor ou problemas de desempenho
Processos que demoram demasiadamente podem exceder limites do servidor e resultar em erros RPC.
Isto é especialmente frequente em operações como:
- importações em massa,
- atualizações massivas,
- ou cálculos pesados no servidor.
Como corrigir um erro RPC no Odoo
Passo 1 – Verificar os logs do servidor
A mensagem apresentada ao utilizador raramente contém informação suficiente.
Abra os logs do Odoo e procure por:
Traceback (most recent call last):
para identificar a causa real do erro.
Passo 2 – Identificar a ação que disparou o erro
Determine o que o utilizador estava a fazer no momento:
- premiu um botão,
- Criar um registo
- lançou uma ação agendada,
ou executou outra operação. Reproduza o cenário num ambiente controlado para investigar.
Passo 3 – Rever o código personalizado
Se existirem módulos feitos à medida:
- inspecione métodos alterados recentemente,
- verifique overrides em create/write,
- e valide a lógica ligada aos botões e ações,
porque muitas vezes a culpa está nesses pontos.
Passo 4 – Confirmar permissões de acesso
Erros RPC podem mascarar problemas de autorização. Tente executar a mesma ação como Administrador para validar se é esse o motivo.
Passo 5 – Validar payloads de API
Quando o erro é disparado por integrações:
- confirme que todos os campos obrigatórios chegam,
- verifique IDs relacionais,
- e valide credenciais de autenticação.
Fazer validação estruturada antes de enviar para o Odoo reduz muito as falhas RPC.
Passo 6 – Verificar restrições da base de dados
Se o erro mencionar:
- restrição de unicidade,
- chave estrangeira,
- ou not null,
é preciso corrigir a integridade dos dados subjacentes.
Como evitar erros RPC
- Boas práticas para minimizar erros: registar e monitorizar exceções do servidor, testar módulos personalizados em staging, validar dados antes de os submeter, evitar lógica pesada dentro de métodos acionados por botões e implementar tratamento de erros nas integrações.
- Testar módulos personalizados em ambiente de homologação
- É essencial validar alterações antes de as levar para produção: execute testes funcionais e de carga para identificar falhas que geram RPCs repetidos.
- Validar dados antes de envio
- Valide e saneie os dados nas integrações de entrada para reduzir erros de integridade e exceções no servidor.
Evitar lógica pesada em métodos de interface
Como a Dasolo torna estáveis as camadas de API e RPC
Em ambientes orientados por APIs, camadas de validação antes do Odoo impedem que muitos erros RPC cheguem aos utilizadores finais, aumentando a robustez do sistema.
Os erros RPC costumam encobrir exceções mais profundas do lado do servidor em vez de serem meras falhas de comunicação. Em muitos projetos Odoo, ocorrências repetidas revelam falhas na validação, no controlo de autenticação ou em métodos expondo lógica sem proteções adequadas.
- Na Dasolo, a nossa abordagem para estabilizar RPC passa por:
- Validação estruturada da API
- Tratamento controlado de exceções
- Fluxos de autenticação claros e seguros
- Registos e monitorização adequados
Exposição criteriosa e segura de métodos do servidor
Conclusão
Uma camada de integração bem desenhada reduz falhas RPC inesperadas e torna o sistema mais resiliente e previsível.
O erro “RPC Error” no Odoo surge quase sempre quando o servidor lança uma exceção durante uma chamada remota. Apesar da mensagem geral, a causa normalmente está ligada à lógica do servidor, permissões ou validação de dados.