Zum Inhalt springen

Das hr.employee Modell: Odoo's Mitarbeiterarchitektur Verstehen

Ein vollständiger Leitfaden zum Mitarbeiter-Modell von Odoo für HR, Entwickler und funktionale Berater
11. März 2026 durch
Das hr.employee Modell: Odoo's Mitarbeiterarchitektur Verstehen
Dasolo
| Noch keine Kommentare

Einführung


In Odoo definieren Modelle, wie Daten strukturiert und in der Datenbank gespeichert werden. Jedes Stück Geschäftsdaten, mit dem Sie arbeiten, von Verkaufsaufträgen über Rechnungen bis hin zu Mitarbeitern, lebt in einem Modell.


Das Verständnis von Odoo-Modellen ist sowohl für Entwickler als auch für funktionale Berater unerlässlich. Modelle sind das Fundament der Odoo-Datenarchitektur. Sie definieren Felder, Beziehungen und Geschäftslogik.


Dieser Artikel konzentriert sich auf eines der Kernmodelle im HR-Modul: hr.employee. Egal, ob Sie benutzerdefinierte HR-Workflows erstellen, Lohnsysteme integrieren oder Anwesenheit und Urlaub konfigurieren, Sie werden mit diesem Modell arbeiten.

Was ist das hr.employee Modell


Das hr.employee-Modell repräsentiert Mitarbeiter in Odoo. Es ist der zentrale Ort, an dem alle Personalinformationen gespeichert sind.


Dieses Odoo-Modell ist Teil der HR (Human Resources)-App. Es wird in den Bereichen Anwesenheit, Urlaub, Verträge, Gehaltsabrechnung und Stundenzettel verwendet.


Es wird installiert, wenn Sie die Mitarbeiter-App aktivieren. Andere Module erweitern es durch Odoo-Modellerbschaft. hr_contract fügt Vertragsfelder hinzu. hr_attendance fügt Check-in und Check-out hinzu. hr_leave fügt Freizeit hinzu. Jedes Modul fügt hinzu, was es benötigt, ohne die Kernstruktur zu duplizieren.


Odoo bietet auch hr.employee.public, eine eingeschränkte Ansicht derselben Daten für Benutzer, die eine begrenzte Sicht auf Mitarbeiter benötigen. Dies ist ein Beispiel dafür, wie Odoo abstrakte Modellmuster und Modellvererbung verwendet, um den Zugriff zu steuern.

Schlüsselfelder im Modell


Hier sind die wichtigsten Odoo-Felder im hr.employee-Modell. Das Verständnis dieser Felder wird Ihnen helfen, effektiv mit Mitarbeiterdaten zu arbeiten.


1. name

Typ: Char. Dieses Feld speichert den Namen des Mitarbeiters. Es wird typischerweise in vielen Odoo-Ansichten angezeigt und ist der primäre Identifikator für den Mitarbeiterdatensatz.


2. create_date

Typ: Datetime. Speichert das Datum und die Uhrzeit, zu der der Datensatz erstellt wurde. Wird automatisch von Odoo verwaltet. Nützlich für Berichterstattung und Audits.


3. write_date

Typ: Datetime. Speichert das Datum und die Uhrzeit der letzten Änderung. Wird ebenfalls automatisch verwaltet. Hilft dabei, nachzuvollziehen, wann die Daten zuletzt aktualisiert wurden.


4. active

Typ: Boolean. Soft-Delete-Flag. Wenn False, wird der Datensatz archiviert und aus den Standardansichten ausgeblendet. Verwenden Sie dies, wenn ein Mitarbeiter ausscheidet. Datensätze werden nicht physisch gelöscht.


5. company_id

Typ: Many2one (res.company). In Multi-Company-Setups zeigt dies an, zu welchem Odoo-Unternehmen der Mitarbeiter gehört. Erforderlich für die meisten Mitarbeiterdatensätze.


6. user_id

Typ: Many2one (res.users). Verknüpft den Mitarbeiter mit einem Odoo-Benutzer. Wenn gesetzt, kann der Mitarbeiter sich anmelden und Odoo nutzen. Wird für den Portalzugang, Stundenzettel und Genehmigungen verwendet.


7. work_email

Typ: Char. Die Arbeits-E-Mail-Adresse. Wird für interne Kommunikation und Benachrichtigungen verwendet.


8. work_phone

Typ: Char. Die Arbeits-Telefonnummer. Wird in Mitarbeiterformularen angezeigt und für Kontakt-Workflows verwendet.


9. mobile_phone

Typ: Char. Arbeits-Handynummer. Wird häufig für SMS oder dringende Benachrichtigungen verwendet.


10. department_id

Typ: Many2one (hr.department). Die Abteilung, zu der der Mitarbeiter gehört. Wird für Organigramme, Berichterstattung und Genehmigungsworkflows verwendet.


11. job_id

Typ: Many2one (hr.job). Die Stellenbezeichnung. Verknüpft mit dem hr.job-Modell, das Stellenbezeichnungen und offene Positionen definiert.


12. job_title

Typ: Char. Freitext-Stellenbezeichnung. Kann verwendet werden, wenn job_id nicht gesetzt ist oder für benutzerdefinierte Titel.


13. parent_id

Typ: Many2one (hr.employee). Der Vorgesetzte. Ermöglicht die Hierarchie der Mitarbeiter. Wird für Genehmigungsketten und die Organisationsstruktur verwendet.


14. coach_id

Typ: Many2one (hr.employee). Der Coach dieses Mitarbeiters. Wird für Leistung und Entwicklung verwendet. Der Coach hat standardmäßig keine spezifischen Rechte.


15. resource_id

Typ: Many2one (resource.resource). Verknüpft mit dem Ressourcenmodell. Wird für Planung, Kapazitätsplanung und Kalenderintegration verwendet.


16. work_contact_id

Typ: Many2one (res.partner). Der Arbeitskontakt. Verknüpft mit dem Partnerdatensatz, der für arbeitsbezogene Kommunikation und Dokumente verwendet wird.


17. address_id

Typ: Many2one (res.partner). Arbeitsadresse. Verknüpft mit einem res.partner-Datensatz für das Büro oder den Arbeitsort.


18. address_home_id

Typ: Many2one (res.partner). Private Adresse. Die Wohnadresse des Mitarbeiters, nicht das Büro. Wird für die Gehaltsabrechnung und Notfallkontakte verwendet.


19. resource_calendar_id

Typ: Many2one (resource.calendar). Arbeitszeitplan. Definiert Arbeitsstunden und -tage. Wird für Anwesenheit, Urlaub und Planung verwendet.


20. employee_type

Typ: Auswahl. Mitarbeitertyp: Mitarbeiter, Freiberufler oder Praktikant. Erforderlich. Beeinflusst die Vertragsgeschichte: Nur der Mitarbeitertyp soll unter Vertrag stehen.


21. barcode

Typ: Char. Badge-ID. Wird zur Identifizierung von Mitarbeitern im Anwesenheitskiosk und bei anderen Barcode-Scans verwendet.


22. pin

Typ: Char. PIN, der im Kiosk-Modus der Anwesenheits-App zum Ein- und Auschecken verwendet wird. Auch verwendet, um den Kassierer im Point of Sale zu wechseln.


23. Geburtstag

Typ: Datum. Geburtsdatum. Wird für HR-Aufzeichnungen und optionale Geburtstags-Erinnerungen verwendet.


24. identifikations_id

Typ: Char. Nationale Identifikationsnummer. Wird für HR- und Lohnabrechnungskonformität verwendet.


25. reisepass_id

Typ: Char. Reisepassnummer. Wird zur Verfolgung von Reisen und Arbeitsgenehmigungen verwendet.


26. bank_konto_id

Typ: Many2one (res.partner.bank). Bankkonto des Mitarbeiters für Gehaltszahlungen.


27. private_email

Typ: Char. Die persönliche E-Mail des Mitarbeiters. Wird verwendet, wenn die Arbeits-E-Mail nicht verfügbar ist.


28. telefon

Typ: Char. Private Telefonnummer. Unterschiedlich von den Kontaktdaten der Arbeit.


29. vertrags_id

Typ: Many2one (hr.contract). Aktueller Vertrag. Referenz auf den aktiven Vertrag.


30. vertrags_ids

Typ: One2many (hr.contract). Alle Verträge, die mit diesem Mitarbeiter verknüpft sind. Vertragsgeschichte.


31. bild_1920

Typ: Binary. Mitarbeiterfoto oder Avatar. Odoo speichert mehrere Größen. Wird in Formularen, Berichten und im Verzeichnis verwendet.


32. verwandte_partner_id

Typ: Many2one (res.partner). Der Kontakt, der mit diesem Mitarbeiter verknüpft ist. Verbindet Mitarbeiterdaten mit dem Partnermodell für CRM und andere Module.


33. urlaubs_manager_id

Typ: Many2one (res.users). Benutzer, der für die Genehmigung von Freizeit verantwortlich ist. Wenn leer, geht die Genehmigung an einen Administrator oder Genehmiger.


34. ausgaben_manager_id

Typ: Many2one (res.users). Benutzer, der für die Genehmigung von Ausgaben verantwortlich ist. Wenn leer, geht die Genehmigung an einen Administrator oder Genehmiger.


35. timesheet_manager_id

Typ: Many2one (res.users). Benutzer, der für die Genehmigung von Arbeitszeittabellen verantwortlich ist. Wenn leer, geht die Genehmigung an einen Administrator für Arbeitszeittabellen oder Benutzer.

Wie dieses Modell in Geschäftsabläufen verwendet wird


1. Mitarbeiterverzeichnis und Einarbeitung

Wenn die Personalabteilung einen neuen Mitarbeiter erstellt, füllt sie den hr.employee-Datensatz aus. Name, Abteilung, Job, Vorgesetzter und Kontaktdaten. Der user_id-Link wird gesetzt, wenn der Mitarbeiter Zugriff auf Odoo erhält.


2. Anwesenheit und Zeiterfassung

Mitarbeiter melden sich über die Anwesenheits-App an und ab. Die An- und Abmeldezeiten werden in hr.attendance gespeichert und sind mit hr.employee verknüpft. Die Barcode- und PIN-Felder ermöglichen den Kioskmodus.


3. Urlaub und Abwesenheit

Urlaubsanträge beziehen sich auf den Mitarbeiter. Die leave_manager_id und resource_calendar_id bestimmen, wer genehmigt und wie viele Tage zugewiesen werden.


4. Gehalt und Verträge

Die Gehaltsabrechnung verwendet hr.employee für die Gehaltsstruktur, Bankverbindung und Vertragsdaten. Die contract_id verknüpft mit dem aktuellen Vertrag. Die contract_ids halten die vollständige Historie.


5. Arbeitszeittabellen und Projektzuweisung

Wenn Mitarbeiter Zeit für Projekte erfassen, verlinkt das Stundenerfassungsblatt zu hr.employee. Die timesheet_manager_id steuert die Genehmigung. Die resource_id verlinkt zu den Planungs- und Terminierungstools.

Wie Entwickler dieses Modell erweitern


Entwickler erweitern hr.employee mit mehreren Mustern. Die Odoo-Modellvererbung ist der Hauptmechanismus.


Modellvererbung

Verwenden Sie _inherit = 'hr.employee', um das Modell zu erweitern. Fügen Sie neue Felder hinzu, überschreiben Sie Methoden oder fügen Sie Einschränkungen hinzu. Das vererbte Modell in Odoo hält Ihre Änderungen in einem separaten Modul für einfache Upgrades.


Felder hinzufügen

Definieren Sie neue Odoo-Felder in Ihrem vererbten Modell. Verwenden Sie den richtigen Feldtyp: Char, Many2one, Boolean, Integer, Text, Selection. Berücksichtigen Sie unternehmensabhängige Felder für mehrere Unternehmen.


Python-Erweiterungen

Überschreiben Sie create, write oder unlink, um Logik hinzuzufügen. Verwenden Sie super(), um das Original aufzurufen. Seien Sie vorsichtig mit berechneten Feldern und deren Abhängigkeiten.


Odoo Studio

Odoo Studio ermöglicht es Ihnen, Felder ohne Code hinzuzufügen. Gut für schnelle Anpassungen. Für komplexe Logik oder Upgrades sind benutzerdefinierte Module wartungsfreundlicher.

Best Practices


  • Setzen Sie user_id nur, wenn der Mitarbeiter Odoo-Zugriff benötigt. Nicht alle Mitarbeiter benötigen ein Benutzerkonto.
  • Verwenden Sie die parent_id-Hierarchie korrekt. Bauen Sie die Organisationsstruktur von oben nach unten auf.
  • Setzen Sie resource_calendar_id für konsistente Arbeitszeiten und Urlaubsberechnungen.
  • Beim Erstellen von API-Integrationen verwenden Sie die XML-RPC- oder JSON-RPC-API. Das hr.employee-Modell in Odoo ist vollständig als API-Modell verfügbar. Externe IDs sorgfältig zuordnen.
  • Für benutzerdefinierte Felder verwenden Sie das x_-Präfix oder ein Modulpräfix, um Konflikte mit zukünftigen Odoo-Versionen zu vermeiden.
  • Felder, die auf hr.group_hr_user beschränkt sind, sollten nicht für Benutzer ohne HR-Zugriff vorab geladen werden. Verwenden Sie Gruppen in den Felddefinitionen.

Häufige Fehler


  • Erstellen von doppelten Mitarbeiterdatensätzen anstatt nach vorhandenen zu suchen. Verwenden Sie work_email oder identification_id zur Duplikatsvermeidung.
  • Verwechslung von user_id und related_partner_id. user_id ist für die Odoo-Anmeldung. related_partner_id ist der Kontaktdatensatz.
  • Vergessen, employee_type festzulegen. Es ist erforderlich und beeinflusst das Verhalten des Vertrags.
  • Überschreiben von Kernmethoden, ohne super() aufzurufen. Dies kann andere Module oder zukünftige Updates beeinträchtigen.
  • Hinzufügen erforderlicher benutzerdefinierter Felder ohne Standardwerte. Bestehende Datensätze werden bei einem Upgrade die Validierung nicht bestehen.
  • Sensiblen HR-Felder Benutzern ohne hr.group_hr_user zugänglich machen. Verwenden Sie Gruppen für Felder, die private Daten enthalten.

Fazit


Das hr.employee-Modell ist zentral für Odoo HR. Es speichert Mitarbeiterdaten, verknüpft Verträge, Anwesenheit und Urlaub. Das Verständnis seiner Felder und wie Module es erweitern, wird Ihnen helfen, Odoo effektiv zu konfigurieren, anzupassen und zu integrieren.


Egal, ob Sie ein funktionaler Berater sind, der HR-Prozesse abbildet, oder ein Entwickler, der benutzerdefinierte Module erstellt, ein solides Verständnis von hr.employee wird Zeit sparen und Fehler verhindern.

Brauchen Sie Hilfe bei Ihrer Odoo-Implementierung?


Dasolo hilft Unternehmen bei der Implementierung, Anpassung und Optimierung von Odoo. Wir sind auf API-Integrationen und Odoo-Entwicklung spezialisiert. Unser Team verfügt über umfassende Erfahrung mit der Odoo-Datenarchitektur und Modellen wie hr.employee.


Wenn Sie Hilfe bei Ihrer Odoo-Implementierung, benutzerdefinierten HR-Modulen oder Integrationen benötigen, sind wir hier, um zu helfen. Buchen Sie eine Demo um Ihr Projekt zu besprechen.

Das hr.employee Modell: Odoo's Mitarbeiterarchitektur Verstehen
Dasolo 11. März 2026
Diesen Beitrag teilen
Anmelden , um einen Kommentar zu hinterlassen