Overslaan naar inhoud

Het hr.employee Model: Inzicht in Odoo's Werknemersarchitectuur

Een complete gids voor het werknemersmodel van Odoo voor HR, ontwikkelaars en functionele consultants
11 maart 2026 in
Het hr.employee Model: Inzicht in Odoo's Werknemersarchitectuur
Dasolo
| Nog geen reacties

Inleiding


In Odoo definiëren modellen hoe gegevens zijn gestructureerd en opgeslagen in de database. Elk stuk bedrijfsgegevens waarmee u werkt, van verkooporders tot facturen tot werknemers, bevindt zich in een model.


Het begrijpen van Odoo-modellen is essentieel voor zowel ontwikkelaars als functionele consultants. Modellen zijn de basis van de Odoo-gegevensarchitectuur. Ze definiëren velden, relaties en bedrijfslogica.


Dit artikel richt zich op een van de kernmodellen in de HR-module: hr.employee. Of u nu aangepaste HR-workflows bouwt, payrollsystemen integreert of aanwezigheid en verlof configureert, u zult met dit model werken.

Wat is het hr.employee Model


Het hr.employee-model vertegenwoordigt werknemers in Odoo. Het is de centrale plek waar alle personeelsinformatie wordt opgeslagen.


Dit Odoo-model maakt deel uit van de HR (Human Resources) app. Het wordt gebruikt voor aanwezigheid, verlof, contracten, loonadministratie en tijdregistraties.


Het wordt geïnstalleerd wanneer je de Employees-app inschakelt. Andere modules breiden het uit via Odoo-modelovererving. hr_contract voegt contractvelden toe. hr_attendance voegt in- en uitchecken toe. hr_leave voegt verlof toe. Elke module voegt toe wat het nodig heeft zonder de kernstructuur te dupliceren.


Odoo biedt ook hr.employee.public, een beperkte weergave van dezelfde gegevens voor gebruikers die beperkte zichtbaarheid van werknemers nodig hebben. Dit is een voorbeeld van hoe Odoo abstracte modelpatronen en modelovererving gebruikt om toegang te controleren.

Belangrijke Velden in het Model


Hier zijn de belangrijkste Odoo-velden in het hr.employee-model. Het begrijpen hiervan zal je helpen om effectief met werknemersrecords te werken.


1. naam

Type: Char. Dit veld slaat de naam van de werknemer op. Het wordt doorgaans in veel Odoo-weergaven weergegeven en is de primaire identificator voor het werknemersrecord.


2. create_date

Type: Datetime. Slaat de datum en tijd op waarop het record is aangemaakt. Automatisch beheerd door Odoo. Nuttig voor rapportage en auditing.


3. write_date

Type: Datetime. Slaat de datum en tijd van de laatste wijziging op. Ook automatisch beheerd. Helpt bij het bijhouden wanneer gegevens voor het laatst zijn bijgewerkt.


4. actief

Type: Boolean. Soft delete vlag. Wanneer False, wordt het record gearchiveerd en verborgen voor standaardweergaven. Gebruik dit wanneer een werknemer vertrekt. Records worden niet fysiek verwijderd.


5. company_id

Type: Many2one (res.company). In multi-company setups geeft dit aan bij welk Odoo bedrijf de werknemer hoort. Vereist voor de meeste werknemersrecords.


6. user_id

Type: Many2one (res.users). Verbindt de werknemer met een Odoo gebruiker. Wanneer ingesteld, kan de werknemer inloggen en Odoo gebruiken. Gebruikt voor portaltoegang, tijdregistraties en goedkeuringen.


7. work_email

Type: Char. Het werk e-mailadres. Gebruikt voor interne communicatie en meldingen.


8. work_phone

Type: Char. Het werktelefoonnummer. Weergegeven in werknemersformulieren en gebruikt voor contactworkflows.


9. mobile_phone

Type: Char. Werk mobiel nummer. Vaak gebruikt voor SMS of dringende meldingen.


10. department_id

Type: Many2one (hr.department). De afdeling waartoe de werknemer behoort. Gebruikt voor organigrammen, rapportage en goedkeuringsworkflows.


11. job_id

Type: Many2one (hr.job). De functie. Verbindt met het hr.job-model dat functietitels en openstaande posities definieert.


12. job_title

Type: Char. Vrije tekst functietitel. Kan worden gebruikt wanneer job_id niet is ingesteld of voor aangepaste titels.


13. parent_id

Type: Many2one (hr.employee). De manager. Maakt de hiërarchie van werknemers mogelijk. Gebruikt voor goedkeuringsketens en organisatiestructuur.


14. coach_id

Type: Many2one (hr.employee). De coach van deze werknemer. Gebruikt voor prestaties en ontwikkeling. De coach heeft standaard geen specifieke rechten.


15. resource_id

Type: Many2one (resource.resource). Verbindt met het resource-model. Gebruikt voor planning, capaciteitsplanning en kalenderintegratie.


16. work_contact_id

Type: Many2one (res.partner). De werkcontact. Verbindt met het partnerrecord dat wordt gebruikt voor werkgerelateerde communicatie en documenten.


17. address_id

Type: Many2one (res.partner). Werkadres. Verbindt met een res.partner-record voor het kantoor of de werkplek.


18. address_home_id

Type: Many2one (res.partner). Privéadres. Het thuisadres van de werknemer, niet het kantoor. Gebruikt voor loonadministratie en noodcontacten.


19. resource_calendar_id

Type: Many2one (resource.calendar). Werkrooster. Definieert werkuren en -dagen. Gebruikt voor aanwezigheid, verlof en planning.


20. employee_type

Type: Selectie. Werknemerstype: Werknemer, Freelancer of Stagiair. Vereist. Beïnvloedt de contractgeschiedenis: alleen het type Werknemer zou onder contract moeten staan.


21. barcode

Type: Char. Badge-ID. Gebruikt voor werknemersidentificatie in het aanwezigheidskiosk en andere barcode-scanning.


22. pin

Type: Char. PIN gebruikt om in en uit te checken in de Kiosk-modus van de Aanwezigheidsapp. Ook gebruikt om de kassier te veranderen in het Point of Sale.


23. verjaardag

Type: Datum. Geboortedatum. Gebruikt voor HR-registraties en optionele verjaardagsherinneringen.


24. identificatie_id

Type: Char. Nationaal identificatienummer. Gebruikt voor HR- en looncompliance.


25. paspoort_id

Type: Char. Paspoortnummer. Gebruikt voor reis- en werkvergunningtracking.


26. bank_account_id

Type: Many2one (res.partner.bank). Bankrekening van de werknemer voor salarisbetalingen.


27. privé_email

Type: Char. Het persoonlijke e-mailadres van de werknemer. Gebruikt wanneer het werk-e-mailadres niet beschikbaar is.


28. telefoon

Type: Char. Privé telefoonnummer. Verschilt van werkcontactgegevens.


29. contract_id

Type: Many2one (hr.contract). Huidig contract. Verwijzing naar het actieve contract.


30. contract_ids

Type: One2many (hr.contract). Alle contracten gekoppeld aan deze werknemer. Contractgeschiedenis.


31. image_1920

Type: Binary. Werknemersfoto of avatar. Odoo slaat meerdere formaten op. Gebruikt in formulieren, rapporten en de directory.


32. related_partner_id

Type: Many2one (res.partner). Het contact gekoppeld aan deze werknemer. Verbindt werknemersgegevens met het partnermodel voor CRM en andere modules.


33. leave_manager_id

Type: Many2one (res.users). Gebruiker verantwoordelijk voor het goedkeuren van verlof. Als leeg, gaat de goedkeuring naar een Administrator of Approver.


34. expense_manager_id

Type: Many2one (res.users). Gebruiker verantwoordelijk voor het goedkeuren van uitgaven. Als leeg, gaat de goedkeuring naar een Administrator of Approver.


35. timesheet_manager_id

Type: Many2one (res.users). Gebruiker verantwoordelijk voor het goedkeuren van tijdregistraties. Als leeg, gaat de goedkeuring naar een Timesheets Administrator of Gebruiker.

Hoe Dit Model Wordt Gebruikt in Bedrijfsworkflows


1. Medewerkersdirectory en Onboarding

Wanneer HR een nieuwe medewerker aanmaakt, vullen ze het hr.employee record in. Naam, afdeling, functie, manager en contactgegevens. De user_id link wordt ingesteld wanneer de medewerker toegang tot Odoo krijgt.


2. Aanwezigheid en Tijdregistratie

Medewerkers registreren zich in en uit via de Aanwezigheid-app. De in- en uitchecktijden worden opgeslagen in hr.attendance, gekoppeld aan hr.employee. De barcode- en pincodevelden maken kioskmodus mogelijk.


3. Verlof en Afwezigheid

Verlofaanvragen verwijzen naar de medewerker. De leave_manager_id en resource_calendar_id bepalen wie goedkeurt en hoeveel dagen worden toegewezen.


4. Loonlijst en Contracten

Loonlijst gebruikt hr.employee voor salarisstructuur, bankrekening en contractgegevens. De contract_id linkt naar het huidige contract. De contract_ids bevatten de volledige geschiedenis.


5. Tijdregistraties en Projecttoewijzing

Wanneer werknemers tijd registreren op projecten, linkt de urenstaat naar hr.employee. De timesheet_manager_id controleert de goedkeuring. De resource_id linkt naar de plannings- en planningshulpmiddelen.

Hoe Ontwikkelaars Dit Model Uitbreiden


Ontwikkelaars breiden hr.employee uit met verschillende patronen. Odoo modelovererving is het belangrijkste mechanisme.


Modelovererving

Gebruik _inherit = 'hr.employee' om het model uit te breiden. Voeg nieuwe velden toe, overschrijf methoden of voeg beperkingen toe. Het geërfde model in Odoo houdt je wijzigingen in een apart module voor gemakkelijke upgrades.


Velden toevoegen

Definieer nieuwe Odoo-velden in je geërfde model. Gebruik het juiste veldtype: Char, Many2one, Boolean, Integer, Text, Selection. Overweeg bedrijfafhankelijke velden voor meerdere bedrijven.


Python-uitbreidingen

Overschrijf create, write of unlink om logica toe te voegen. Gebruik super() om de originele aanroep te doen. Wees voorzichtig met berekende velden en hun afhankelijkheden.


Odoo Studio

Odoo Studio stelt je in staat om velden toe te voegen zonder code. Goed voor snelle aanpassingen. Voor complexe logica of upgrades zijn aangepaste modules beter onderhoudbaar.

Beste Praktijken


  • Stel user_id alleen in wanneer de werknemer Odoo-toegang nodig heeft. Niet alle werknemers hebben een gebruikersaccount nodig.
  • Gebruik de parent_id hiërarchie correct. Bouw de organisatiestructuur van boven naar beneden.
  • Stel resource_calendar_id in voor consistente werkuren en verlofberekeningen.
  • Bij het bouwen van API-integraties, gebruik de XML-RPC of JSON-RPC API. Het hr.employee model in Odoo is volledig blootgesteld als een API-model. Map externe ID's zorgvuldig.
  • Voor aangepaste velden, gebruik de x_ prefix of een moduleprefix om conflicten met toekomstige Odoo-versies te vermijden.
  • Velden die beperkt zijn tot hr.group_hr_user mogen niet vooraf worden opgehaald voor gebruikers zonder HR-toegang. Gebruik groepen in velddefinities.

Veelvoorkomende Fouten


  • Maak geen dubbele werknemersrecords aan in plaats van te zoeken naar bestaande. Gebruik work_email of identification_id voor deduplicatie.
  • Verwarring tussen user_id en related_partner_id. user_id is voor Odoo-login. related_partner_id is het contactrecord.
  • Vergeet niet om employee_type in te stellen. Dit is vereist en beïnvloedt het gedrag van contracten.
  • Kernmethoden overschrijven zonder super() aan te roepen. Dit kan andere modules of toekomstige upgrades breken.
  • Vereiste aangepaste velden toevoegen zonder standaardwaarden. Bestaande records zullen falen bij validatie tijdens de upgrade.
  • Gevoelige HR-velden blootstellen aan gebruikers zonder hr.group_hr_user. Gebruik groepen op velden die privégegevens bevatten.

Conclusie


Het hr.employee model is centraal in Odoo HR. Het slaat werknemersgegevens op, koppelt aan contracten, aanwezigheid en verlof. Begrijpen van zijn velden en hoe modules het uitbreiden zal je helpen Odoo effectief te configureren, aanpassen en integreren.


Of je nu een functionele consultant bent die HR-processen in kaart brengt of een ontwikkelaar die aangepaste modules bouwt, een goed begrip van hr.employee zal tijd besparen en fouten voorkomen.

Hulp Nodig Bij Uw Odoo Implementatie?


Dasolo helpt bedrijven bij het implementeren, aanpassen en optimaliseren van Odoo. We zijn gespecialiseerd in API-integraties en Odoo-ontwikkeling. Ons team heeft diepgaande ervaring met de Odoo-gegevensarchitectuur en modellen zoals hr.employee.


Als je hulp nodig hebt bij je Odoo-implementatie, aangepaste HR-modules of integraties, zijn we hier om te helpen. Boek een demo om je project te bespreken.

Het hr.employee Model: Inzicht in Odoo's Werknemersarchitectuur
Dasolo 11 maart 2026
Deel deze post
Aanmelden om een reactie achter te laten