Siirry sisältöön

Odoo hr.employee -malli: Yritysrekisterin rakenne ja toiminta

Täydellinen opas Odoon työntekijämalliin – suunnattu HR:lle, kehittäjille ja toiminnallisille konsultteille
11. maaliskuuta 2026 kirjoittanut
Odoo hr.employee -malli: Yritysrekisterin rakenne ja toiminta
Dasolo
| Ei vielä kommentteja

Johdanto


Odoossa ‘mallit’ (models) kertovat, miten liiketoiminnan tiedot tallennetaan ja organisoidaan tietokantaan. Kaikki, mitä yrityksessä hallinnoidaan — myyntitilaukset, laskut tai työntekijätiedot — elää mallin rakenteessa.


Mallien ymmärtäminen on tärkeää sekä kehittäjille että asiantuntijakonsulteille. Mallit muodostavat Odoon tietomallin ytimen: ne määrittelevät kentät, tietosuhteet ja siihen liitetyn liiketoimintalogiikan.


Tässä tekstissä keskitytään HR‑moduulin yhteen keskeiseen malliin: hr.employee. Olipa tavoitteesi räätälöidä perehdytysprosesseja, integroida palkanlaskenta tai konfiguroida poissaoloja, tulet työskentelemään tämän mallin kanssa.

Mikä on hr.employee-malli


hr.employee‑malli edustaa Odoossa työntekijöitä — se on paikka, johon henkilöstön tiedot keskitetään ja josta muut HR‑toiminnot ammentavat tietoa.


Mallin ylläpito kuuluu HR‑sovellukseen, ja sitä käytetään laajasti poissaoloissa, työaikaseurannassa, sopimuksissa ja palkkahallinnossa.


Mallin aktivoituminen tapahtuu kun Employees‑sovellus otetaan käyttöön; muut moduulit täydentävät sitä laajentamalla mallin ominaisuuksia. Esimerkiksi hr_contract lisää sopimuksiin liittyviä kenttiä, hr_attendance kirjaa leimaukset ja hr_leave liittää lomat — kukin lisäys täydentää ydintietoa ilman rakenteen kaksinkertaistamista.


Lisäksi Odoo tarjoaa hr.employee.public‑näkymän, joka on rajoitetumpi versio työntekijätiedoista. Tällaiset näkymät ovat esimerkkejä siitä, miten malli‑perintää ja abstraktioita käytetään näkyvyyden ja käyttöoikeuksien hallintaan.

Mallin keskeiset kentät


Seuraavaksi käydään läpi hr.employee‑mallin tärkeimpiä kenttiä. Niiden tuntemus auttaa ymmärtämään, mistä tiedot tulevat ja mihin niitä käytetään.


1. name

Tyyppi: Char. Tallentaa työntekijän nimen. Nimi toimii usein ensisijaisena tunnisteena näkymissä ja listauksissa.


2. create_date

Tyyppi: Datetime. Kirjaa tiedon luonnin ajankohdan automaattisesti. Hyvä käytettäväksi auditoinneissa ja raportoinnissa.


3. write_date

Tyyppi: Datetime. Viimeisimmän muokkauksen aikaleima. Automaattisesti ylläpidetty; hyödyllinen muutosten jäljittämisessä.


4. active

Tyyppi: Boolean. Pehmeä arkistointitunniste: kun False, työntekijä piilotetaan oletusnäkymistä ilman tietueen poistamista.


5. company_id

Tyyppi: Many2one (res.company). Ilmentää, mihin yhtiöön työntekijä kuuluu moniyritys‑ympäristössä — usein pakollinen tieto.


6. user_id

Tyyppi: Many2one (res.users). Yhdistää työntekijän Odoo‑käyttäjään. Kun asetettu, käyttäjä voi kirjautua sisään; kenttää käytetään mm. hyväksyntöihin ja tuntikirjauksiin.


7. work_email

Tyyppi: Char. Työosoite sähköpostiin — viestinnän ja ilmoitusten kohde.


8. work_phone

Tyyppi: Char. Työpuhelin, näkyy työntekijälomakkeilla ja yhteydenpidossa.


9. mobile_phone

Tyyppi: Char. Matkapuhelinnumero, usein käytössä kiireviesteihin tai tekstiviestiilmoituksiin.


10. department_id

Tyyppi: Many2one (hr.department). Mihin osastoon työntekijä kuuluu — vaikuttaa organisaatiokaavioihin ja hyväksyntäpolkuihin.


11. job_id

Tyyppi: Many2one (hr.job). Työtehtävän tai aseman viittaus hr.job‑malliin, joka pitää yllä rooleja ja avoimia paikkoja.


12. job_title

Tyyppi: Char. Vapaa tekstikenttä työnimikkeelle, hyödyllinen kun halutaan erikoisempi otsikko ilman job_id‑viittausta.


13. parent_id

Tyyppi: Many2one (hr.employee). Esimies tai raportointisuhde — mahdollistaa organisaation hierarkian rakentamisen.


14. coach_id

Tyyppi: Many2one (hr.employee). Kehityksestä vastaava henkilö; käytetään suoritusarvioinneissa eikä tarjoa erityisoikeuksia oletuksena.


15. resource_id

Tyyppi: Many2one (resource.resource). Liittää työntekijän resurssiin, jota käytetään suunnittelussa, kapasiteetissa ja kalenterinäkymissä.


16. work_contact_id

Tyyppi: Many2one (res.partner). Työasioihin liittyvä yhteystieto, yhdistää partner‑tietueeseen dokumentteja ja laskutusta varten.


17. address_id

Tyyppi: Many2one (res.partner). Työpaikan osoite — linkki res.partner‑kirjan tietueeseen.


18. address_home_id

Tyyppi: Many2one (res.partner). Henkilön kotiosoite; tärkeä mm. palkanlaskentaa ja hätäyhteystietoja varten.


19. resource_calendar_id

Tyyppi: Many2one (resource.calendar). Määrittelee työajat ja työvuorot; vaikuttaa poissaolo‑ ja työaikalaskelmiin.


20. employee_type

Tyyppi: Selection. Työntekijätyyppi kuten työntekijä, freelanceri tai harjoittelija. Vaikuttaa sopimuslogiikkaan ja historiankäsittelyyn.


21. barcode

Tyyppi: Char. Kortin tai tunnisteen koodi; käytetään leimausautomaatiolla ja skannauksissa.


22. pin

Tyyppi: Char. Kiosk‑tilassa käytettävä PIN‑koodi; voi toimia myös kassavaihdossa POS‑ympäristössä.


23. birthday

Tyyppi: Date. Syntymäaika — osa henkilötietoja ja mahdollinen muistutusjärjestelmä.


24. identification_id

Tyyppi: Char. Kansallinen tunnus tai henkilötunnus, tärkeä palkanlaskennan ja vaatimusten noudattamisen kannalta.


25. passport_id

Tyyppi: Char. Passinumero, hyödyllinen matkustusta ja työlupia seuraavissa prosesseissa.


26. bank_account_id

Tyyppi: Many2one (res.partner.bank). Palkan maksutili, johon työntekijän palkka maksetaan.


27. private_email

Tyyppi: Char. Henkilökohtainen sähköposti, käytetään jos työosoite puuttuu tai viestintä tarvitaan kotiosoitteeseen.


28. phone

Tyyppi: Char. Yksityinen puhelinnumero; erotetaan työpuhelimesta.


29. contract_id

Tyyppi: Many2one (hr.contract). Viittaus työntekijän aktiiviseen työ­sopimukseen.


30. contract_ids

Tyyppi: One2many (hr.contract). Koko sopimushistoria, johon voidaan palata tarvittaessa.


31. image_1920

Tyyppi: Binary. Työntekijän valokuva tai avatar; Odoo tallentaa kuvia eri kokoisina käyttöliittymiä varten.


32. related_partner_id

Tyyppi: Many2one (res.partner). Yhteydenottohenkilö partner‑mallissa, helpottaa CRM‑yhteyksiä ja laskutusta.


33. leave_manager_id

Tyyppi: Many2one (res.users). Henkilö, joka hyväksyy lomat; jos tyhjä, hyväksyntä ohjautuu järjestelmän määritelmän mukaiseen rooliin.


34. expense_manager_id

Tyyppi: Many2one (res.users). Kulujen hyväksyjä; oletus hyväksyntäkäytännöt astuvat voimaan, jos kenttä on tyhjä.


35. timesheet_manager_id

Tyyppi: Many2one (res.users). Tuntiseurannan hyväksyjä; hallinnoi tuntikirjauksia ja niiden tarkistusta.

Miten malli toimii yrityksen työnkuluissa


1. Työntekijärekisteri ja perehdytys

Uusi työntekijä luodaan täyttämällä hr.employee‑tietue: nimi, osasto, tehtävä, esimies ja yhteystiedot. user_id asetetaan vasta kun henkilölle annetaan Odoo‑pääsy, mikä erottaa kirjauskäyttäjät muusta henkilöstöstä.


2. Työaika ja leimaukset

Työntekijät kirjaavat saapumisen ja lähdön Attendance‑sovelluksella; tapahtumat tallennetaan hr.attendance‑tietueisiin ja linkittyvät hr.employeeen. barcode‑ ja pin‑kentät mahdollistavat kiosk‑käytön.


3. Poissaolot ja lomat

Lomapyyntöihin viitataan työntekijätietueesta; leave_manager_id ja resource_calendar_id vaikuttavat, kuka hyväksyy pyynnöt ja miten lomapäivät lasketaan.


4. Palkat ja sopimukset

Palkanlaskenta hyödyntää työntekijätietoja palkkarakenteen, pankkitilin ja sopimusten löytämiseen. contract_id osoittaa aktiivisen sopimuksen, kun taas contract_ids pitää koko historian tallessa.


5. Tuntiseuranta ja projektien resurssitus

Kun työntekijä kirjaa tunteja projekteille, tuntikirjaus liitetään hr.employee‑tietueeseen. timesheet_manager_id hoitaa hyväksynnät ja resource_id kytkee työntekijän suunnittelutyökaluihin.

Miten kehittäjät laajentavat mallia


Kehittäjät laajentavat hr.employee‑mallia useilla tavoilla; Odoon malli‑perintä on yleisin menetelmä muutosten lisäämiseen.


Malliperintä

Käytä _inherit = 'hr.employee' laajentaaksesi mallia: voit lisätä kenttiä, ylikirjoittaa metodeja tai lisätä rajoitteita. Muutokset kannattaa pitää erillisessä moduulissa, jotta päivitykset sujuvat helpommin.


Kenttien lisääminen

Lisää uusia kenttiä periytettyyn malliin käyttämällä oikeaa kenttätyyppiä kuten Char, Many2one, Boolean, Integer, Text tai Selection. Moniyritysympäristössä harkitse yrityskohtaisten kenttien merkintää.


Python‑laajennukset

Ylikirjoita tarvittaessa create, write tai unlink‑metodit lisälogiikalle, mutta kutsu aina super() alkuperäisen toiminnan säilyttämiseksi. Huomioi lasketut kentät ja niiden riippuvuudet.


Odoo Studio

Odoo Studio mahdollistaa kenttien lisäyksen ilman koodia — nopeasti tehtäviin muutoksiin se sopii hyvin, mutta monimutkaiset logiikat ja ylläpidettävät integraatiot kannattaa toteuttaa moduulina.

Parhaat käytännöt


  • Anna user_id vain niille, jotka todella tarvitsevat Odoon kirjautumisoikeuden. Kaikilla työntekijöillä ei tarvitse olla käyttöoikeutta.
  • Rakenna parent_id‑hierarkia huolellisesti ylhäältä alas, jotta organisaatiokaaviot ja hyväksyntäpolut pysyvät loogisina.
  • Aseta resource_calendar_id työntekijöille, joille haluat yhtenäiset työajat ja täsmälliset laskelmat poissaoloista.
  • Kun rakennat integraatioita, käytä XML‑RPC‑ tai JSON‑RPC‑rajapintaa. hr.employee on käytettävissä API:ssa — varmista että ulkoiset tunnisteet (external IDs) kartoitetaan tarkasti.
  • Mukautetuille kentille kannattaa käyttää x_‑etuliitettä tai moduulin omaa prefiksiä, jotta yhteensopivuus tulevien Odoo‑versioiden kanssa säilyy.
  • Suojaa HR‑kentät ryhmittelyillä: kentät, joiden pitäisi näkyä vain hr.group_hr_user‑käyttäjille, tulee merkitä oikeilla käyttöoikeuksilla estämään ennakoimaton esilataus.

Yleisimmät virheet


  • Yksi yleisimmistä virheistä on luoda kaksoiskappaleita sen sijaan, että haettaisiin olemassaolevia työntekijöitä. Käytä work_email‑ tai identification_id‑kenttiä duplikaattien välttämiseen.
  • Sekoitus user_id:n ja related_partner_id:n välillä aiheuttaa usein ongelmia: user_id on kirjautumista varten, related_partner_id on kontaktitietueita ja laskutukseen liittyviä yhteyksiä varten.
  • Älä unohda asettaa employee_type‑kenttää — sen arvo vaikuttaa sopimuskäsittelyyn ja on usein pakollinen.
  • Vältä ylikirjoittamasta ydintoimintoja ilman super()‑kutsua, sillä se voi rikkoa muiden moduulien toiminnan tai vaikeuttaa päivityksiä.
  • Lisättäessä vaadittavia mukautettuja kenttiä muista antaa oletusarvot, muuten olemassaolevat tietueet saattavat epäonnistua validoinnissa päivityksen yhteydessä.
  • Älä paljasta arkaluonteisia HR‑tietoja käyttäjille, joilla ei ole hr.group_hr_user‑oikeuksia. Käytä kenttäkohtaisia ryhmiä suojaukseen.

Yhteenveto


hr.employee on HR‑toimintojen selkäranka Odoossa: se kokoaa työntekijätiedot ja kytkee ne sopimuksiin, työaikoihin ja poissaoloihin. Mallin kenttien ja laajennusmekanismien ymmärtäminen tekee järjestelmän konfiguroinnista, räätälöinnistä ja integraatioista sujuvampaa.


Olitpa HR‑prosessien kartoituksessa toimiva konsultti tai moduuleja rakentava kehittäjä, perusteellinen käsitys hr.employee‑mallista säästää aikaa ja vähentää virhelähteitä.

Tarvitsetko apua Odoo‑projektissasi?


Dasolo auttaa yrityksiä käyttöönotossa, räätälöinnissä ja Odoo‑järjestelmän optimoinnissa. Erityisosaamistamme ovat API‑integraatiot ja Odoo‑kehitys — tiimillämme on vahva kokemus Odoo‑tietomallista kuten hr.employee.


Jos tarvitset apua Odoo‑käyttöönotossa, HR‑moduulien räätälöinnissä tai integraatioissa, autamme mielellämme. Varaa demo keskustellaksesi projektistasi.

Odoo hr.employee -malli: Yritysrekisterin rakenne ja toiminta
Dasolo 11. maaliskuuta 2026
Jaa tämä kirjoitus
Kirjaudu sisään jättääksesi kommentin