Hoppa till innehåll

Förstå Odoos Anställdemodell: En Guide till HR-arkitekturen

En komplett guide till Odoos anställdemodell för HR, utvecklare och funktionella konsulter
11 mars 2026 av
Förstå Odoos Anställdemodell: En Guide till HR-arkitekturen
Dasolo
| Inga kommentarer ännu

Introduktion


I Odoo definierar modeller hur data struktureras och lagras i databasen. Varje bit affärsdata du arbetar med, från försäljningsorder till fakturor till anställda, finns i en modell.


Att förstå Odoo-modeller är avgörande för både utvecklare och funktionella konsulter. Modeller är grunden för Odoo:s dataarkitektur. De definierar fält, relationer och affärslogik.


Denna artikel fokuserar på en av kärnmodellerna i HR-modulen: hr.employee. Oavsett om du bygger anpassade HR-arbetsflöden, integrerar lönehanteringssystem eller konfigurerar närvaro och ledighet, kommer du att arbeta med denna modell.

Vad är hr.employee-modellen


Modellen hr.employee representerar anställda i Odoo. Det är den centrala platsen där all personalinformation lagras.


Denna Odoo-modell är en del av HR (Human Resources) appen. Den används inom närvaro, ledighet, kontrakt, löner och tidrapporter.


Den installeras när du aktiverar appen Anställda. Andra moduler utökar den genom Odoo-modellärv. hr_contract lägger till fält för kontrakt. hr_attendance lägger till in- och utcheckning. hr_leave lägger till ledighet. Varje modul lägger till vad den behöver utan att duplicera den grundläggande strukturen.


Odoo tillhandahåller också hr.employee.public, en begränsad vy av samma data för användare som behöver begränsad synlighet av anställda. Detta är ett exempel på hur Odoo använder abstrakta modellmönster och modellärv för att kontrollera åtkomst.

Nyckelfält i modellen


Här är de viktigaste Odoo-fälten i modellen hr.employee. Att förstå dessa kommer att hjälpa dig att arbeta effektivt med anställdas register.


1. namn

Typ: Char. Detta fält lagrar anställdas namn. Det visas vanligtvis i många Odoo-vyer och är den primära identifieraren för anställdas register.


2. create_date

Typ: Datetime. Lagrar datum och tid när posten skapades. Hanteras automatiskt av Odoo. Användbart för rapportering och revision.


3. write_date

Typ: Datetime. Lagrar datum och tid för den senaste ändringen. Hanteras också automatiskt. Hjälper till att spåra när data senast uppdaterades.


4. aktiv

Typ: Boolean. Mjuk raderingsflagga. När den är False arkiveras posten och döljs från standardvyer. Använd detta när en anställd slutar. Poster raderas inte fysiskt.


5. company_id

Typ: Many2one (res.company). I flerföretagsinställningar anger detta vilken Odoo-företag den anställde tillhör. Krävs för de flesta anställdas poster.


6. user_id

Typ: Many2one (res.users). Kopplar den anställde till en Odoo-användare. När den är inställd kan den anställde logga in och använda Odoo. Används för portalåtkomst, tidrapporter och godkännanden.


7. work_email

Typ: Char. Arbets-e-postadress. Används för intern kommunikation och meddelanden.


8. work_phone

Typ: Char. Arbets telefonnummer. Visas i anställdas formulär och används för kontaktarbetsflöden.


9. mobile_phone

Typ: Char. Arbets mobilnummer. Används ofta för SMS eller brådskande meddelanden.


10. department_id

Typ: Many2one (hr.department). Den avdelning som medarbetaren tillhör. Används för organisationsdiagram, rapportering och godkännande arbetsflöden.


11. job_id

Typ: Many2one (hr.job). Jobbpositionen. Länkar till hr.job-modellen som definierar jobbtitlar och öppna positioner.


12. job_title

Typ: Char. Fritekst jobbtitel. Kan användas när job_id inte är inställt eller för anpassade titlar.


13. parent_id

Typ: Many2one (hr.employee). Chefen. Möjliggör hierarkin av medarbetare. Används för godkännandekedjor och organisationsstruktur.


14. coach_id

Typ: Many2one (hr.employee). Coach för denna medarbetare. Används för prestation och utveckling. Coachen har inga specifika rättigheter som standard.


15. resource_id

Typ: Many2one (resource.resource). Länkar till resursmodellen. Används för schemaläggning, kapacitetsplanering och kalenderintegration.


16. work_contact_id

Typ: Many2one (res.partner). Arbetskontakt. Länkar till partnerposten som används för arbetsrelaterad kommunikation och dokument.


17. address_id

Typ: Many2one (res.partner). Arbetsadress. Länkar till en res.partner-post för kontoret eller arbetsplatsen.


18. address_home_id

Typ: Many2one (res.partner). Privat adress. Medarbetarens hemadress, inte kontoret. Används för löneutbetalningar och nödkontakter.


19. resource_calendar_id

Typ: Many2one (resource.calendar). Arbetsschema. Definierar arbetstider och dagar. Används för närvaro, ledighet och planering.


20. employee_type

Typ: Val. Anställningstyp: Anställd, Frilansare eller Praktikant. Obligatorisk. Påverkar kontrakthistorik: endast Anställd-typ ska vara under kontrakt.


21. barcode

Typ: Char. ID-kort. Används för medarbetaridentifiering i närvarokiosken och annan streckkodsskanning.


22. pin

Typ: Char. PIN som används för in- och utcheckning i Kiosk-läget av närvaroanvändningen. Används också för att byta kassör i försäljningsstället.


23. födelsedag

Typ: Datum. Födelsedatum. Används för HR-register och valfria födelsedagspåminnelser.


24. identifikations_id

Typ: Char. Nationellt identifikationsnummer. Används för HR- och löneöverensstämmelse.


25. pass_id

Typ: Char. Passnummer. Används för rese- och arbetstillståndsspårning.


26. bankkontonummer_id

Typ: Many2one (res.partner.bank). Anställdas bankkonto för löneutbetalningar.


27. privat_e-post

Typ: Char. Den anställdes personliga e-post. Används när arbets-e-post inte är tillgänglig.


28. telefon

Typ: Char. Privat telefonnummer. Annan än arbetskontaktuppgifter.


29. contract_id

Typ: Many2one (hr.contract). Nuvarande kontrakt. Referens till det aktiva kontraktet.


30. contract_ids

Typ: One2many (hr.contract). Alla kontrakt kopplade till denna anställd. Kontrakthistorik.


31. image_1920

Typ: Binär. Anställdas foto eller avatar. Odoo lagrar flera storlekar. Används i formulär, rapporter och katalogen.


32. related_partner_id

Typ: Many2one (res.partner). Kontakten kopplad till denna anställd. Kopplar anställdas data till partnermodellen för CRM och andra moduler.


33. leave_manager_id

Typ: Many2one (res.users). Användare ansvarig för att godkänna ledighet. Om tom, går godkännandet till en administratör eller godkännare.


34. expense_manager_id

Typ: Many2one (res.users). Användare som ansvarar för att godkänna utgifter. Om tom, går godkännandet till en administratör eller godkännare.


35. timesheet_manager_id

Typ: Many2one (res.users). Användare som ansvarar för att godkänna tidrapporter. Om tom, går godkännandet till en tidrapportsadministratör eller användare.

Hur denna modell används i affärsarbetsflöden


1. Anställderegister och introduktion

När HR skapar en ny anställd fyller de i hr.employee-posten. Namn, avdelning, jobb, chef och kontaktuppgifter. user_id-länken sätts när den anställde får Odoo-åtkomst.


2. Närvaro och tidsregistrering

Anställda checkar in och ut via Närvaro-appen. In- och utcheckningstiderna lagras i hr.attendance, kopplade till hr.employee. Streckkod- och pin-fälten möjliggör kiosk-läge.


3. Ledighet och semester

Ledighetsansökningar refererar till den anställde. leave_manager_id och resource_calendar_id styr vem som godkänner och hur många dagar som tilldelas.


4. Lön och kontrakt

Lön använder hr.employee för lönestruktur, bankkonto och kontraktsdata. contract_id länkar till det aktuella kontraktet. contract_ids håller hela historiken.


5. Tidrapporter och projektallokering

När anställda loggar tid på projekt, länkar tidrapporten till hr.employee. Tidrapportens manager_id kontrollerar godkännande. resource_id länkar till planerings- och schemaläggningsverktygen.

Hur utvecklare utökar denna modell


Utvecklare utökar hr.employee med flera mönster. Odoo-modellarv är den huvudsakliga mekanismen.


Modellarv

Använd _inherit = 'hr.employee' för att utöka modellen. Lägg till nya fält, åsidosätt metoder eller lägg till begränsningar. Den ärvda modellen i Odoo håller dina ändringar i en separat modul för enkla uppgraderingar.


Lägga till fält

Definiera nya Odoo-fält i din ärvda modell. Använd rätt fälttyp: Char, Many2one, Boolean, Integer, Text, Selection. Tänk på företagsberoende fält för flera företag.


Python-tillägg

Åsidosätt create, write eller unlink för att lägga till logik. Använd super() för att anropa den ursprungliga. Var försiktig med beräknade fält och deras beroenden.


Odoo Studio

Odoo Studio låter dig lägga till fält utan kod. Bra för snabba anpassningar. För komplex logik eller uppgraderingar är anpassade moduler mer underhållbara.

Bästa praxis


  • Ställ in user_id endast när den anställde behöver Odoo-åtkomst. Inte alla anställda behöver ett användarkonto.
  • Använd parent_id-hierarkin korrekt. Bygg organisationsstrukturen uppifrån och ner.
  • Ställ in resource_calendar_id för konsekventa arbetstider och beräkningar av ledighet.
  • När du bygger API-integrationer, använd XML-RPC eller JSON-RPC API. Modellen hr.employee i Odoo är helt exponerad som en API-modell. Kartlägg externa ID noggrant.
  • För anpassade fält, använd x_ prefix eller ett modulprefix för att undvika konflikter med framtida Odoo-versioner.
  • Fält som är begränsade till hr.group_hr_user bör inte förhämtas för användare utan HR-åtkomst. Använd grupper på fältdefinitioner.

Vanliga misstag


  • Skapa dubblettanställningsposter istället för att söka efter befintliga. Använd work_email eller identification_id för deduplicering.
  • Blanda ihop user_id och related_partner_id. user_id är för Odoo-inloggning. related_partner_id är kontaktposten.
  • Glömma att ställa in employee_type. Det är obligatoriskt och påverkar kontraktsbeteende.
  • Överskrida kärnmetoder utan att kalla super(). Detta kan bryta andra moduler eller framtida uppgraderingar.
  • Lägga till obligatoriska anpassade fält utan standardvärden. Befintliga poster kommer att misslyckas med validering vid uppgradering.
  • Exponera känsliga HR-fält för användare utan hr.group_hr_user. Använd grupper på fält som innehåller privat data.

Slutsats


Modellen hr.employee är central för Odoo HR. Den lagrar anställdas data, länkar till kontrakt, närvaro och ledighet. Att förstå dess fält och hur moduler utökar den kommer att hjälpa dig att konfigurera, anpassa och integrera Odoo effektivt.


Oavsett om du är en funktionell konsult som kartlägger HR-processer eller en utvecklare som bygger anpassade moduler, kommer en solid förståelse av hr.employee att spara tid och förhindra fel.

Behöver du hjälp med din Odoo-implementering?


Dasolo hjälper företag att implementera, anpassa och optimera Odoo. Vi specialiserar oss på API-integrationer och Odoo-utveckling. Vårt team har djup erfarenhet av Odoo:s dataarkitektur och modeller som hr.employee.


Om du behöver hjälp med din Odoo-implementering, anpassade HR-moduler eller integrationer, är vi här för att hjälpa till. Boka en demo för att diskutera ditt projekt.

Förstå Odoos Anställdemodell: En Guide till HR-arkitekturen
Dasolo 11 mars 2026
Dela detta inlägg
Logga in att lämna en kommentar