Pular para o conteúdo

O Modelo hr.employee: Compreendendo a Arquitetura de Funcionários do Odoo

Um guia completo sobre o modelo de funcionários do Odoo para RH, desenvolvedores e consultores funcionais
11 de março de 2026 por
O Modelo hr.employee: Compreendendo a Arquitetura de Funcionários do Odoo
Dasolo
| Nenhum comentário ainda

Introdução


No Odoo, os modelos definem como os dados são estruturados e armazenados na base de dados. Cada pedaço de dados empresariais com o qual você trabalha, desde pedidos de venda a faturas e funcionários, vive em um modelo.


Compreender os modelos do Odoo é essencial tanto para desenvolvedores quanto para consultores funcionais. Os modelos são a base da arquitetura de dados do Odoo. Eles definem campos, relacionamentos e lógica de negócios.


Este artigo foca em um dos modelos centrais no módulo de RH: hr.employee. Quer você esteja construindo fluxos de trabalho de RH personalizados, integrando sistemas de folha de pagamento ou configurando presença e licenças, você trabalhará com este modelo.

O que é o Modelo hr.employee


O modelo hr.employee representa os funcionários no Odoo. É o local central onde todas as informações pessoais são armazenadas.


Este modelo Odoo faz parte do aplicativo de RH (Recursos Humanos). É utilizado em presença, licenças, contratos, folha de pagamento e folhas de ponto.


É instalado quando você ativa o aplicativo Funcionários. Outros módulos o estendem através da herança de modelos Odoo. hr_contract adiciona campos de contrato. hr_attendance adiciona check-in e check-out. hr_leave adiciona tempo livre. Cada módulo adiciona o que precisa sem duplicar a estrutura central.


O Odoo também fornece hr.employee.public, uma visão restrita dos mesmos dados para usuários que precisam de visibilidade limitada dos funcionários. Este é um exemplo de como o Odoo utiliza padrões de modelos abstratos e herança de modelos para controlar o acesso.

Campos Chave no Modelo


Aqui estão os campos mais importantes do Odoo no modelo hr.employee. Compreender estes ajudará você a trabalhar de forma eficaz com os registros dos funcionários.


1. nome

Tipo: Char. Este campo armazena o nome do funcionário. Geralmente é exibido em muitas visualizações do Odoo e é o identificador principal para o registro do funcionário.


2. create_date

Tipo: Datetime. Armazena a data e hora em que o registro foi criado. Gerenciado automaticamente pelo Odoo. Útil para relatórios e auditorias.


3. write_date

Tipo: Datetime. Armazena a data e hora da última modificação. Também gerenciado automaticamente. Ajuda a rastrear quando os dados foram atualizados pela última vez.


4. ativo

Tipo: Booleano. Flag de exclusão suave. Quando Falso, o registro é arquivado e oculto das visualizações padrão. Use isso quando um funcionário sai. Os registros não são fisicamente excluídos.


5. company_id

Tipo: Many2one (res.company). Em configurações de múltiplas empresas, isso indica a qual empresa Odoo o funcionário pertence. Necessário para a maioria dos registros de funcionários.


6. user_id

Tipo: Many2one (res.users). Liga o funcionário a um usuário Odoo. Quando definido, o funcionário pode fazer login e usar o Odoo. Usado para acesso ao portal, folhas de ponto e aprovações.


7. work_email

Tipo: Char. O endereço de e-mail de trabalho. Usado para comunicações internas e notificações.


8. work_phone

Tipo: Char. O número de telefone de trabalho. Exibido em formulários de funcionários e usado para fluxos de contato.


9. mobile_phone

Tipo: Char. Número de telefone móvel de trabalho. Frequentemente usado para SMS ou notificações urgentes.


10. department_id

Tipo: Many2one (hr.department). O departamento ao qual o funcionário pertence. Usado para organogramas, relatórios e fluxos de aprovação.


11. job_id

Tipo: Many2one (hr.job). A posição de trabalho. Liga-se ao modelo hr.job que define títulos de trabalho e posições abertas.


12. job_title

Tipo: Char. Título de trabalho em texto livre. Pode ser usado quando job_id não está definido ou para títulos personalizados.


13. parent_id

Tipo: Many2one (hr.employee). O gerente. Permite a hierarquia de funcionários. Usado para cadeias de aprovação e estrutura organizacional.


14. coach_id

Tipo: Many2one (hr.employee). O treinador deste funcionário. Usado para desempenho e desenvolvimento. O treinador não tem direitos específicos por padrão.


15. resource_id

Tipo: Many2one (resource.resource). Liga-se ao modelo de recurso. Usado para agendamento, planejamento de capacidade e integração de calendário.


16. work_contact_id

Tipo: Many2one (res.partner). O contacto de trabalho. Liga ao registo do parceiro utilizado para comunicações e documentos relacionados com o trabalho.


17. address_id

Tipo: Many2one (res.partner). Endereço de trabalho. Liga a um registo res.partner para o escritório ou local de trabalho.


18. address_home_id

Tipo: Many2one (res.partner). Endereço privado. O endereço de casa do empregado, não o escritório. Usado para folha de pagamento e contactos de emergência.


19. resource_calendar_id

Tipo: Many2one (resource.calendar). Horário de trabalho. Define as horas e dias de trabalho. Usado para assiduidade, licença e planeamento.


20. employee_type

Tipo: Seleção. Tipo de empregado: Empregado, Freelancer ou Estagiário. Obrigatório. Afeta o histórico de contratos: apenas o tipo Empregado deve estar sob contrato.


21. barcode

Tipo: Char. ID do crachá. Usado para identificação do empregado no quiosque de assiduidade e outros sistemas de leitura de código de barras.


22. pin

Tipo: Char. PIN usado para fazer check-in e check-out no modo Kiosk do aplicativo de Presença. Também usado para trocar o caixa no Ponto de Venda.


23. aniversário

Tipo: Data. Data de nascimento. Usado para registros de RH e lembretes opcionais de aniversário.


24. identificação_id

Tipo: Char. Número de identificação nacional. Usado para conformidade de RH e folha de pagamento.


25. passaporte_id

Tipo: Char. Número do passaporte. Usado para rastreamento de viagens e permissões de trabalho.


26. conta_bancária_id

Tipo: Many2one (res.partner.bank). Conta bancária do funcionário para pagamentos de salário.


27. email_privado

Tipo: Char. O email pessoal do funcionário. Usado quando o email de trabalho não está disponível.


28. telefone

Tipo: Char. Número de telefone privado. Diferente dos detalhes de contacto de trabalho.


29. contract_id

Tipo: Many2one (hr.contract). Contrato atual. Referência ao contrato ativo.


30. contract_ids

Tipo: One2many (hr.contract). Todos os contratos ligados a este funcionário. Histórico de contratos.


31. image_1920

Tipo: Binário. Foto ou avatar do funcionário. Odoo armazena múltiplos tamanhos. Usado em formulários, relatórios e no diretório.


32. related_partner_id

Tipo: Many2one (res.partner). O contacto ligado a este funcionário. Conecta os dados do funcionário ao modelo de parceiro para CRM e outros módulos.


33. leave_manager_id

Tipo: Many2one (res.users). Utilizador responsável pela aprovação de folgas. Se vazio, a aprovação vai para um Administrador ou Aprovador.


34. expense_manager_id

Tipo: Many2one (res.users). Utilizador responsável pela aprovação de despesas. Se vazio, a aprovação vai para um Administrador ou Aprovador.


35. timesheet_manager_id

Tipo: Many2one (res.users). Utilizador responsável pela aprovação de folhas de ponto. Se vazio, a aprovação vai para um Administrador de Folhas de Ponto ou Utilizador.

Como Este Modelo É Usado em Fluxos de Trabalho Empresariais


1. Diretório de Funcionários e Integração

Quando o RH cria um novo funcionário, preenche o registo hr.employee. Nome, departamento, cargo, gerente e detalhes de contacto. O link user_id é definido quando o funcionário obtém acesso ao Odoo.


2. Presença e Registo de Tempo

Os funcionários fazem check-in e check-out através da aplicação de Presença. Os horários de check-in e check-out são armazenados em hr.attendance, ligados a hr.employee. Os campos de código de barras e pin permitem o modo quiosque.


3. Férias e Licenças

Os pedidos de licença referenciam o funcionário. O leave_manager_id e resource_calendar_id determinam quem aprova e quantos dias são alocados.


4. Folha de Pagamento e Contratos

A folha de pagamento utiliza hr.employee para estrutura salarial, conta bancária e dados do contrato. O contract_id liga ao contrato atual. Os contract_ids mantêm o histórico completo.


5. Folhas de Ponto e Alocação de Projetos

Quando os funcionários registam tempo em projetos, a folha de horas está ligada a hr.employee. O timesheet_manager_id controla a aprovação. O resource_id está ligado às ferramentas de planeamento e agendamento.

Como os Desenvolvedores Estendem Este Modelo


Os desenvolvedores estendem hr.employee utilizando vários padrões. A herança de modelo do Odoo é o principal mecanismo.


Herança de Modelo

Use _inherit = 'hr.employee' para estender o modelo. Adicione novos campos, sobreponha métodos ou adicione restrições. O modelo herdado no Odoo mantém as suas alterações em um módulo separado para atualizações fáceis.


Adicionando Campos

Defina novos campos Odoo no seu modelo herdado. Use o tipo de campo correto: Char, Many2one, Boolean, Integer, Text, Selection. Considere campos dependentes da empresa para multi-empresa.


Extensões Python

Sobreponha create, write ou unlink para adicionar lógica. Use super() para chamar o original. Tenha cuidado com campos computados e suas dependências.


Odoo Studio

O Odoo Studio permite que você adicione campos sem código. Bom para personalizações rápidas. Para lógica complexa ou atualizações, módulos personalizados são mais fáceis de manter.

Melhores Práticas


  • Defina user_id apenas quando o funcionário precisar de acesso ao Odoo. Nem todos os funcionários precisam de uma conta de usuário.
  • Use a hierarquia parent_id corretamente. Construa a estrutura organizacional de cima para baixo.
  • Defina resource_calendar_id para cálculos consistentes de horas de trabalho e licenças.
  • Ao construir integrações de API, use a API XML-RPC ou JSON-RPC. O modelo hr.employee no Odoo está totalmente exposto como um modelo de API. Mapeie IDs externos com cuidado.
  • Para campos personalizados, use o prefixo x_ ou um prefixo de módulo para evitar conflitos com versões futuras do Odoo.
  • Campos restritos ao hr.group_hr_user não devem ser pré-carregados para usuários sem acesso a RH. Use grupos nas definições de campo.

Erros Comuns


  • Criando registros de funcionários duplicados em vez de procurar os existentes. Use work_email ou identification_id para deduplicação.
  • Confundindo user_id e related_partner_id. user_id é para login no Odoo. related_partner_id é o registro de contato.
  • Esquecendo de definir employee_type. É obrigatório e afeta o comportamento do contrato.
  • Substituindo métodos principais sem chamar super(). Isso pode quebrar outros módulos ou futuras atualizações.
  • Adicionando campos personalizados obrigatórios sem valores padrão. Registros existentes falharão na validação na atualização.
  • Expondo campos sensíveis de RH a usuários sem hr.group_hr_user. Use grupos em campos que contêm dados privados.

Conclusão


O modelo hr.employee é central para o Odoo RH. Ele armazena dados de funcionários, vincula a contratos, presença e licenças. Compreender seus campos e como os módulos o estendem ajudará você a configurar, personalizar e integrar o Odoo de forma eficaz.


Seja você um consultor funcional mapeando processos de RH ou um desenvolvedor construindo módulos personalizados, um sólido entendimento do hr.employee economizará tempo e evitará erros.

Precisa de Ajuda com a Sua Implementação do Odoo?


A Dasolo ajuda empresas a implementar, personalizar e otimizar o Odoo. Especializamo-nos em integrações de API e desenvolvimento Odoo. A nossa equipa tem uma vasta experiência com a arquitetura de dados do Odoo e modelos como hr.employee.


Se precisar de ajuda com a sua implementação do Odoo, módulos de RH personalizados ou integrações, estamos aqui para ajudar. Agende uma demonstração para discutir o seu projeto.

O Modelo hr.employee: Compreendendo a Arquitetura de Funcionários do Odoo
Dasolo 11 de março de 2026
Compartilhar esta publicação
Iniciar sessão para deixar um comentário