Guia de integração WorkMeter · Odoo (API key) 🔗


Para quem é este guia: administradores que querem conectar seu Odoo com WorkMeter para receber automaticamente as ausências e os feriados da equipe e, se desejarem, enviar para o Odoo os registros de ponto que o WorkMeter registra.

1. O que a integração faz 🔗


Odoo gerencia RH (funcionários, ausências, feriados, presenças) e WorkMeter mede a atividade e o tempo de trabalho. Conectá-los evita a entrada dupla de dados e melhora o cálculo do tempo esperado.



DireçãoDadoDetalhe
Odoo → WorkMeter🌴 AusênciasFérias, licenças, permissões… aprovadas no app Ausências do Odoo, incluindo meios dias. É fundamental para que o WorkMeter calcule corretamente o tempo esperado.
Odoo → WorkMeter📅 FeriadosOs Dias feriados configurados no Odoo, aplicados a cada funcionário conforme sua empresa e seu horário de trabalho.
WorkMeter → Odoo⏱️ Registros de ponto (opcional)Os períodos de presença de cada dia registrados pelo WorkMeter são escritos no app Presenças do Odoo. Ativado com uma caixa na ficha.

A integração não cria nem exclui funcionários: vincula cada funcionário do WorkMeter com sua ficha no Odoo (o WorkMeter propõe os vínculos automaticamente por email).


A sincronização é noturna: toda noite o WorkMeter lê o Odoo e aplica as mudanças nos calendários; você também pode executá-la manualmente com Sincronizar agora.


🔒 Segurança. O WorkMeter conecta-se com uma API key de um usuário do Odoo criado para a integração, com as permissões mínimas necessárias. A chave é armazenada criptografada, não é exibida novamente e você pode revogá-la a qualquer momento a partir do Odoo ou desconectar a integração pelo WorkMeter. Apenas endereços https são aceitos.

2. Antes de começar (requisitos) 🔗


No WorkMeter:


  • Sua conta tem a função time@work (controle de ponto). A ficha do Odoo só aparece em contas com esta função.
  • Você é administrador no WorkMeter.
  • Você não tem outra integração de RH conectada (por exemplo, Factorial). Só pode haver uma ativa por vez.

No Odoo:


  • Sua versão do Odoo é compatível (veja a tabela a seguir) e a instância é acessível por https (Odoo Online, Odoo.sh ou instalação própria).
  • Se você usa Odoo Online, seu plano é Custom (veja a tabela a seguir).
  • Você tem instalados os apps Funcionários e Ausências (Time Off). Para enviar registros de ponto, também Presenças (Attendances).
  • Você pode criar usuários e atribuir permissões (você é administrador do Odoo).

Modalidades e versões do Odoo compatíveis


Por modalidade do Odoo:



ModalidadeCompatibilidade
Odoo Online (o Odoo na nuvem da Odoo S.A., `*.odoo.com`)✅ Compatível. É a modalidade com a qual o WorkMeter validou a integração. Requer o plano Custom: os planos One App Free e Standard não incluem acesso por API.
Odoo.sh✅ Compatível. Mesma API do Odoo Online, sem restrição de plano.
Instalação própria (on-premise ou no seu próprio provedor cloud)✅ Compatível se a instância for acessível pela Internet via https com um domínio público. Não são aceitos `http` nem endereços internos de rede.

Por versão do Odoo:



Versão do OdooCompatibilidade
18✅ Compatível. É a versão com a qual o WorkMeter validou a integração de ponta a ponta (Odoo 18 Enterprise, no Odoo Online).
16 e 17✅ Compatível. O conector usa a mesma API e leva em conta as diferenças do módulo de ausências entre versões.
19 ou superior⚠️ Compatível, com aviso. Funciona normalmente, mas o Odoo anunciou a retirada da API que o WorkMeter usa hoje (no Odoo Online, prevista para o inverno de 2027). O cartão lembra você para planejar a migração com suporte.
15 ou anterior❌ Não suportado.

Serve tanto para a edição Enterprise quanto Community: a integração usa apenas os módulos padrão Empregados, Ausências e Assistências. O WorkMeter detecta a versão ao conectar e em cada sincronização noturna, então você não precisa indicá-la nem reconfigurar nada quando o Odoo atualizar sua instância.


Durante o processo você vai lidar com quatro dados. Anote-os em um local seguro:



DadoDe onde vemExemplo
URL do OdooO endereço com que você acessa o Odoo`https://miempresa.odoo.com`
Base de dadosNo Odoo Online geralmente coincide com o subdomínio. No Odoo.sh ou instalação própria, seu administrador informa`miempresa`
Usuário (login)O login do usuário de integração (Passo 1)`workmeter@miempresa.com`
API keyVocê gera no Odoo (Passo 2). É exibida apenas uma vez

3. Resumo do processo 🔗

  1. Prepare o usuário de integração no Odoo (no Odoo), com as permissões necessárias:
  • para sincronizar o calendário (ausências e feriados): Empregados e Ausências
  • para enviar também os registros de ponto: Empregados, Ausências e Assistências
  1. Gere sua API key (no Odoo)
  2. Conecte-se a partir do WorkMeter → Configuração → Integrações (no WorkMeter)
  3. Vincule os empregados (no WorkMeter)
  4. Vincule os tipos de dia (no WorkMeter, se sincronizar ausências)
  5. Ative o envio dos registros de ponto para o Odoo (no WorkMeter, se sincronizar registros de ponto)

Os passos 1 e 2 são feitos no Odoo; o resto, no WorkMeter. Recomendamos ter as duas abas abertas ao mesmo tempo.

4. Passo 1 · Prepare o usuário de integração no Odoo 🔗


A chave da API está vinculada a um usuário do Odoo: o que esse usuário puder ver é o que o WorkMeter poderá ler. Recomendamos um usuário dedicado (por exemplo, `WorkMeter`) em vez da conta pessoal de um administrador.

  1. No Odoo, vá para Configurações → Usuários e empresas → Usuários e crie (ou escolha) o usuário de integração, do tipo Usuário interno.
  2. Na aba Permissões de acesso, atribua:


AppPermissão mínimaPara quê
EmpregadosOficial: gerenciar todos os empregadosLer a lista de empregados (nome, email, horário e fuso horário)
AusênciasOficial: gerenciar todas as solicitaçõesLer as ausências aprovadas de toda a equipe e os feriados
PresençasAdministradorApenas se for enviar registros de ponto: criar e substituir presenças de qualquer empregado
  1. Salve.

⚠️ Com permissões insuficientes, o Odoo não retorna um erro: retorna dados incompletos (por exemplo, apenas as ausências do próprio usuário). Se mais tarde faltarem empregados ou ausências no WorkMeter, revise primeiro essas permissões.

ℹ️ Multiempresa. O usuário deve ter acesso a todas as empresas cujos empregados você deseja sincronizar.

Odoo: permissões de acesso do usuário de integração

ℹ️ Na captura, o usuário tem Administrador nas três apps; para ler empregados e ausências basta o nível Oficial indicado na tabela.

5. Passo 2 · Gere a chave da API no Odoo 🔗


As chaves API são criadas a partir das preferências do próprio usuário, então faça login no Odoo com o usuário de integração.

  1. Clique no seu avatar (no canto superior direito) → Preferências (em algumas versões, Meu perfil).
  2. Abra a aba Segurança da conta e, no bloco Chaves API, clique em Nova chave API.
  3. Odoo pedirá para confirmar sua senha.
  4. Na janela New API Key, escreva uma descrição (por exemplo, `WorkMeter`) e escolha a duração de validade. Escolha a mais longa que sua política de segurança permitir (Persistent Key se disponível): quando a chave expirar, a sincronização será interrompida até que você insira uma nova no WorkMeter (ver seção 12).
  5. Clique em Gerar chave e copie-a naquele momento: o Odoo não a mostrará novamente. A partir daí, a chave aparece na lista Chaves API com sua data de expiração, de onde também pode ser excluída.

⚠️ A chave equivale à senha desse usuário. Não a compartilhe nem cole em nenhum lugar que não seja o assistente do WorkMeter.

Odoo: Preferências, aba Segurança da conta, bloco Chaves API

Odoo: diálogo de nova chave API com descrição e duração

Odoo: a chave criada aparece na lista Chaves API com sua data de expiração

6. Passo 3 · Conecte o Odoo a partir do WorkMeter 🔗

  1. Acesse seu console do WorkMeter: https://timework.workmeter.com
  2. Clique no ícone de engrenagem ⚙️ (Configurações) no canto superior direito e, no menu lateral, selecione Integrações.
  3. Localize o cartão Odoo. Sem configuração, exibe o texto «Sincronize as ausências e feriados do Odoo. Conecte sua instância com uma chave API para começar».

Cartão do Odoo sem configuração no painel de Integrações
  1. Pressione o interruptor do cartão (ou sua engrenagem ⚙️). Abre-se o assistente Integração com Odoo, que tem dois passos: Credenciais → Conectado.

6.1 · Credenciais


Preencha os quatro campos com os dados que anotou:



CampoO que colocar
URL do OdooO endereço da sua instância, sempre com `https://` (por exemplo, `https://minhaempresa.odoo.com`). Qualquer domínio serve: Odoo Online, Odoo.sh ou próprio.
Base de dadosO nome da base de dados. No Odoo Online geralmente coincide com o subdomínio (`minhaempresa`).
Usuário (login)O login do usuário de integração (Passo 1).
API keyA chave que você gerou no Odoo (Passo 2). É guardada criptografada e não é exibida novamente.

Pressione Conectar com Odoo. O WorkMeter verifica, nesta ordem, se a URL responde, se as credenciais são válidas e se o usuário pode ler Empregados e Ausências. Se algo falhar, você verá o motivo específico (seção 13) e nada será salvo.


Assistente do Odoo — passo Credenciais

6.2 · Conectado


Se tudo estiver correto, o assistente mostra «Odoo está conectado», com a data da conexão, a última sincronização (Pendente no início), o estado da credencial (Correto), os erros dos últimos 7 dias e a versão do Odoo detectada.


Assistente do Odoo — passo Conectado

Nesse momento o WorkMeter inicia uma carga inicial em segundo plano: lê os empregados e os tipos de ausência do Odoo e prepara as propostas de ligação dos passos seguintes.


⚠️ Se o seu Odoo for a versão 19 ou superior, verá um aviso permanente no cartão: essa versão removerá a API que o WorkMeter usa hoje. A integração funciona normalmente; avise o suporte para planejar a migração.

7. Passo 4 · Vincule os funcionários 🔗


Em Configuração → Integrações, clique na engrenagem ⚙️ do cartão do Odoo para abrir a Configuração do Odoo. Na aba Funcionários:


Mapeamento de funcionários WorkMeter ↔ Odoo
  • O WorkMeter propõe para cada funcionário sua ficha do Odoo quando o email (ou login) coincide. A proposta aparece no menu suspenso com seu percentual de confiança; clique em Confirmar para aceitá-la.
  • Para aceitar várias de uma vez, marque as linhas e clique em Confirmar selecionados (N).
  • Se não houver proposta («Sem sugestão automática — selecione manualmente»), escolha o funcionário do Odoo no menu suspenso e clique em Mapear.
  • O contador «N para confirmar» indica quantos faltam. Um vínculo confirmado pode ser desfeito com Desvincular.
ℹ️ Um funcionário do Odoo já vinculado a outro usuário aparece desabilitado com a nota «Já vinculado a …». Apenas os funcionários vinculados são sincronizados.

8. Passo 5 (se sincronizar ausências) · Vincule os tipos de dia 🔗


Este passo é necessário apenas se quiser receber as ausências do Odoo; os feriados são sincronizados sem ele. Na aba Tipos de dia são pareados os tipos de ausência do Odoo (férias, licença médica, permissão…) com os tipos de dia do WorkMeter:


Mapeamento de tipos de dia WorkMeter ↔ ausências do Odoo
  • Para cada tipo de dia do WorkMeter, escolha no menu suspenso o tipo de ausência do Odoo e clique em Confirmar. Se os nomes coincidirem, o WorkMeter indica («Coincidência por nome: …»).
  • Se um tipo de ausência do Odoo não tiver equivalente no WorkMeter, use Adicionar tipo de dia externo: ao escolhê-lo, abre-se Criar tipo de dia no WorkMeter, onde você indica o nome, uma cor e as horas esperadas por dia (por exemplo, `0` para férias). Clique em Criar e vincular.
  • O contador «N para mapear» indica os tipos do Odoo ainda sem vínculo. Um vínculo pode ser desfeito com Desvincular.
Modal para criar um tipo de dia no WorkMeter

⚠️ As ausências de um tipo não vinculado não são sincronizadas. Verifique se todos os tipos que você usa estão confirmados.

ℹ️ Os tipos de dia do WorkMeter que não alteram as horas esperadas (por exemplo, teletrabalho) não podem receber ausências e aparecem como Ignorado. Os tipos do Odoo configurados como Tempo trabalhado (em vez de Ausência) também não são oferecidos.

9. Passo 6 (se sincronizar registros) · Envie os registros do WorkMeter para o Odoo 🔗


Com a integração conectada, o cartão do Odoo mostra duas caixas:

  • Sincronizar calendário: Odoo → WorkMeter — marcada ao conectar. Desmarque se não quiser receber ausências nem feriados do Odoo.
  • Sincronizar registros: WorkMeter → Odoo — desmarcada ao conectar. Marque para ativar o envio.

As alterações nas caixas são salvas instantaneamente e aplicadas na próxima sincronização noturna.


Cartão do Odoo conectado com as duas caixas de sincronização

Antes de ativá-la, verifique no Odoo que:

  • O app Assistências está instalado.
  • O usuário da integração é Administrador de Assistências (Passo 1).
  • Cada funcionário vinculado tem seu fuso horário informado em sua ficha do Odoo: o WorkMeter o usa para registrar as horas corretas.

Como funciona:

  • Todas as noites, o WorkMeter envia os dias já fechados (até ontem) dos funcionários vinculados: um registro de presença para cada período de presença, com sua entrada e saída. O dia de hoje nunca é enviado.
  • Se um dia mudar no WorkMeter (por exemplo, uma correção de atividade), na noite seguinte ele é reescrito inteiro no Odoo. Se um dia ficar sem presença no WorkMeter, suas presenças são removidas do Odoo.
  • Se alguém apagar no Odoo todas as presenças de um dia que o WorkMeter tem (dentro da última semana), elas são repostas. Uma presença editada manualmente no Odoo é respeitada enquanto esse dia não mudar no WorkMeter.
  • Ao desmarcar a caixa, as presenças já escritas permanecem no Odoo.
ℹ️ O WorkMeter não registra marcações de ponto: os períodos que envia são a presença derivada da atividade medida (e dos relatórios manuais). Tenha isso em mente se usar as presenças do Odoo para fins de cumprimento de horário.

ℹ️ Precisa carregar no Odoo um histórico anterior à última semana? Contate o suporte: pode ser feito sob solicitação.

10. Sincronização: o que, quando e como forçá-la 🔗

  • Todas as noites, o WorkMeter lê do Odoo as ausências aprovadas e os feriados dos funcionários vinculados e atualiza seus calendários; se você ativou os registros de ponto, também os envia. Não há sincronização em tempo real: uma alteração feita hoje no Odoo aparece no WorkMeter amanhã.
  • Sincronização manual: em Configuração do Odoo, clique em Sincronizar agora para não esperar até a noite (por exemplo, após vincular funcionários ou tipos de dia). Afeta apenas o calendário dos funcionários já vinculados e pode levar alguns minutos. Os registros de ponto são enviados somente no processo noturno.

O que chega exatamente do Odoo:

  • Apenas as ausências em estado Aprovado. As pendentes, rejeitadas ou canceladas não são sincronizadas; se uma aprovada for cancelada, desaparece do calendário na próxima sincronização.
  • Uma atribuição de ausências (o saldo que você concede: «20 dias de férias») não é uma ausência: só chegam as solicitações aprovadas com datas.
  • Os meios dias (manhã / tarde) são respeitados.
  • Os feriados são os Dias festivos do app Ausências, aplicados a cada funcionário conforme sua empresa e seu horário de trabalho.
  • Os dias que no WorkMeter não são úteis para esse funcionário (fim de semana, etc.) não são alterados.
🛡️ Suas edições manuais são respeitadas. Se um administrador marcou manualmente uma ausência no calendário de um funcionário no WorkMeter, a sincronização não a sobrescreve: só gerencia os dias que vêm do Odoo.

11. Verificar que tudo funciona 🔗


Em Configuração → Integrações, o cartão do Odoo deve mostrar Conectado, Estado: Correto, Erros (7d): 0 e a versão do Odoo. Após a primeira noite (ou um Sincronizar agora), as ausências aprovadas no Odoo aparecem no calendário dos funcionários vinculados.


Se o estado mostrar outra coisa, consulte a seção 13.

12. Gerenciar ou desconectar a integração 🔗


Em Configuração do Odoo você dispõe de:

  • Substituir credenciais — para inserir uma nova chave API (porque expirou, você revogou ou mudou o usuário de integração). O WorkMeter desconecta e reabre a etapa Credenciais; os vínculos de funcionários e tipos de dia são mantidos.
  • Desconectar — corta a integração: o WorkMeter para de ler o Odoo e de enviar registros, e elimina a chave API salva.
ℹ️ Ao desconectar, os dados já sincronizados e os vínculos de funcionários e tipos de dia são mantidos no WorkMeter; simplesmente deixam de trocar dados novos. Se mais tarde você reconectar, terá que inserir novamente a URL, o banco de dados, o usuário e uma chave API.

Expiração da chave API. Se no Odoo você definiu uma duração, anote a data. Ao expirar (ou se você revogar), o cartão passa para Estado: Inválido ou expirado, a sincronização para e em Configuração do Odoo você verá o aviso «A conexão com o Odoo expirou». Gere uma nova chave no Odoo (Passo 2) e use Substituir credenciais.

Para revogar o acesso pelo Odoo: Preferências → Segurança da conta → Chaves API, clique em Excluir chave API (ou desative o usuário de integração).

13. Resolução de problemas 🔗



Mensagem / sintomaCausaSolução
«A URL não é válida: deve começar com https e apontar para um servidor público.»A URL não usa `https://` ou aponta para um endereço interno.Use o endereço público do seu Odoo com `https://` (por exemplo, `https://minhaempresa.odoo.com`).
«Não foi possível contactar o Odoo nessa URL. Verifique o endereço e se a instância está acessível.»Erro de digitação na URL, ou a instância não está acessível pela Internet.Verifique se a URL abre no navegador e se não há um firewall bloqueando.
«Banco de dados, usuário ou chave API incorretos.»Algum dos três dados está incorreto, ou a chave já expirou.Verifique o nome do banco de dados (no Odoo Online, o subdomínio) e o login. Se tiver dúvidas sobre a chave, gere uma nova (Passo 2).
«O usuário não tem permissões suficientes: precisa ler Funcionários e Ausências (Time Off).»O usuário de integração está sem permissões.Atribua as permissões do Passo 1 e reconecte.
«O aplicativo Ausências (Time Off) não está instalado no seu Odoo.»O app Ausências não está instalado.Instale-o pelo menu Aplicações do Odoo.
«Esta instância não expõe a API JSON-RPC (/jsonrpc) que o WorkMeter usa. Contate o suporte.»Seu Odoo não responde pelo canal que o WorkMeter usa (por exemplo, no Odoo 19 sem o módulo rpc, ou um proxy que o bloqueia).Contate o suporte do WorkMeter.
«Odoo já está conectado. Desconecte primeiro para reconectar.»Já existe uma conexão ativa para sua conta.Desconecte a integração atual antes de iniciar uma nova.
«Desconecte o Factorial para poder ativar o Odoo.»Há outra integração de RH conectada.Desconecte-a pelo seu cartão; o do Odoo será desbloqueado instantaneamente.
«Há uma conexão do Factorial em andamento…»Um assistente do Factorial ficou incompleto.Espere 10 minutos: expira sozinho.
Status: «Inválido ou expirado» / aviso «A conexão com o Odoo expirou»A chave da API expirou ou foi revogada, o usuário foi desativado, perdeu permissões ou um app foi desinstalado.Corrija a causa no Odoo, gere uma nova chave se necessário e use Substituir credenciais.
Faltam funcionários ou ausênciasPermissões insuficientes no Odoo (dados parciais, sem erro); tipo de ausência não vinculado; ausência não aprovada; ou é uma atribuição de saldo, não uma solicitação.Revise o Passo 1, a aba Tipos de dia e o status da ausência no Odoo.
Os registros de ponto não chegam ao OdooCaixa não marcada; app Assiduidade não instalado; o usuário não é Administrador de Assiduidade; o funcionário não está vinculado; é o dia atual.Revise a seção 9. Os dias são enviados na noite seguinte.
As horas no Odoo aparecem deslocadasO fuso horário do funcionário em sua ficha do Odoo não está correto.Corrija no Odoo. O dia será reescrito na próxima vez que mudar no WorkMeter.
O cartão do Odoo não apareceA conta não tem a função time@work.Contate seu responsável de conta do WorkMeter.

Se o problema persistir, contate o suporte do WorkMeter em https://help.workmeter.com.

14. Perguntas frequentes 🔗


O WorkMeter pode modificar dados no Odoo?
Somente se você ativar o envio de registros de ponto: então cria e substitui as assiduidades dos funcionários vinculados. Nunca modifica funcionários, ausências ou feriados.


Posso ter Odoo e Factorial conectados ao mesmo tempo?
Não. Só pode haver uma integração de RH ativa por conta.


O que acontece com as senhas dos meus usuários?
O WorkMeter não as conhece. Apenas guarda, criptografada, a chave da API do usuário de integração, que você pode revogar a qualquer momento pelo Odoo.


Com quais modalidades e versões do Odoo é compatível?
Com Odoo Online (plano Custom), Odoo.sh e instalações próprias acessíveis por https. Versões 16, 17 e 18 (validada na 18); com Odoo 19 ou superior funciona, mas com um aviso: Odoo retirará a API atual e será necessário migrar. Versões anteriores à 16 não são suportadas. Veja as tabelas da seção 2.


Preciso reconfigurar algo quando o Odoo é atualizado de versão?
Não. O WorkMeter detecta a versão a cada conexão e todas as noites. Se seu Odoo passar para a versão 19 ou superior, o cartão avisa para planejar a migração com suporte.


Com que frequência é sincronizado?
Uma vez por noite, em ambas as direções. Se não quiser esperar, use Sincronizar agora (apenas calendário).


Isso afeta os dados de atividade que o WorkMeter já mede?
Não. A integração só adiciona ausências e feriados para que o cálculo do tempo esperado seja mais preciso; a medição de atividade continua funcionando da mesma forma.