Siirry sisältöön

Odoo Tracking Field – Näin Seuraa Tietueiden Muutoksia Luotettavasti

Tutustu, mitä seuranta-attribuutti Odoossa tekee, milloin kannattaa ottaa se käyttöön ja miten määrittelet sen tietomallissasi.
6. maaliskuuta 2026 kirjoittanut
Odoo Tracking Field – Näin Seuraa Tietueiden Muutoksia Luotettavasti
Dasolo
| Ei vielä kommentteja

Jos olet joskus miettinyt, kuka ja milloin muokkasi tietoa Odoossa, kenttien seuranta antaa tähän selkeän vastauksen.


Odoo tallentaa valittujen kenttien muutokset suoraan tietueen keskusteluketjuun (chatteriin). Näin tiimit näkevät reaaliaikaisesti, miten liiketoiminnan tiedot ovat muuttuneet, ilman erillistä auditointijärjestelmää.

Olitpa tekemässä muutoksia Odoo Studiolla tai kehittämässä omaa moduulia Pythonilla, kenttien seurannan ymmärtäminen on keskeistä Odoon tietomallin kanssa työskentelyssä. Tämä opas kokoaa käytännön tiedot yhdestä paikasta.

Mikä on Odoon seurantaominaisuus kentillä


Seuranta ei ole erillinen kenttätyyppi vaan kenttäominaisuus: voit laittaa seurannan päälle olemassa oleville kenttätyypeille, kuten Char-, Many2one-, Selection-, Integer- tai Date-kentille. Kun kentälle on aktivoitu seuranta, Odoo kirjaa arvon muutokset chatteriin näyttäen vanhan ja uuden arvon, muutoksen ajan ja käyttäjän.

Käyttäjälle tämä näkyy keskustelussa automaattisena lokimerkintänä. Esimerkiksi CRM-innostuksessa saatat nähdä merkittynä: "Vaihe muuttui: Uusi → Kvalifioitu", heti kun myyjä siirtää liidin eteenpäin.

Seurantaominaisuus on saatavilla useimmissa Odoon kenttätyypeissä ja sen voi kytkeä päälle joko Odoo Studiolla tai suoraan Python-koodissa osana räätälöityä kehitystyötä.

Mitä tietoja tallennetaan

Jokainen seurattu muutos tallentuu mail.message-tietueena, joka linkittyy muokattuun dokumenttiin. Viesti sisältää seuraavat tiedot:

  • Muutetun kentän otsikon tai nimen
  • Arvon ennen muutosta
  • Arvon muutoksen jälkeen
  • Muutosajankohdan
  • Sen käyttäjän, joka muutoksen teki

Tämä historiatieto on katsottavissa kaikille, joilla on lukuoikeus tietueeseen. Se ei vaadi muuta konfiguraatiota kuin itse seurannan aktivoimisen kentälle.

Miten seuranta toimii käytännössä


Seurannan toimimiseksi malli on oltava perinyt mail.thread-mixinin. Tämä mixin tarjoaa chatterin ja viestien kirjaustoiminnon. Monet Odoon vakiorakenteet, kuten sale.order, crm.lead, account.move ja stock.picking, perivät jo tämän mixinin.

Kun käyttäjä tallentaa tietueen, jossa seurattuja kenttiä on muutettu, Odoo vertaa vanhoja ja uusia arvoja ja kirjoittaa automaattisesti lokiviestin chatteriin — käyttäjältä ei vaadita mitään ylimääräistä.

Tekninen toimintalogiikka Odoon ORM:ssä

Teknisesti Odoon ORM sieppaa write()-operaatiot mallitasolla. Kun write() muuttaa seurattua kenttää, framework tallentaa aiemman arvon, suorittaa muutoksen ja luo kuvaavan mail.message-merkinnän.

Pythonissa seuranta kytketään lisäämällä kenttädefinitioon tracking=True osana fields-määrittelyä.

Esimerkkikoodissa se voi näyttää tältä: state = fields.Selection(
    [('draft', 'Draft'), ('confirmed', 'Confirmed')],
    tracking=True
)

Voit myös käyttää prioriteettinumeroa (1–10) vaikuttamaan siihen, miten useamman kentän muutokset ryhmitellään ja järjestetään lokiviestissä; pienempi numero näkyy ensin.

Esimerkki priorisoinnista: partner_id = fields.Many2one('res.partner', tracking=1)
priority = fields.Selection(tracking=10)

Vuorovaikutus muiden tietueiden kanssa

Seuratut muutokset tallentuvat suoraan siihen tietueeseen, jossa kenttä sijaitsee — niitä ei levitetä automaattisesti liittyville malleille. Jos tarvitset seurantaa myös muissa malleissa, ota seuranta päälle erikseen kussakin mallissa.

Tämä on suunniteltua: auditointiloki pidetään lähellä sitä objektia, jota muutos koskee, jolloin historian läpikäynti on helppoa ilman monimutkaista navigointia eri liittyvien tietueiden välillä.

Liiketoiminnan käyttötapaukset


Seuraavat viisi käytännön esimerkkiä näyttävät, missä kenttien seurannasta on arkea parantavaa hyötyä.


1. CRM ja myyntiputken seuranta

Myyntipäälliköt haluavat selkeästi nähdä, milloin liidi on siirtynyt vaiheesta toiseen ja kuka siirron teki. Seuraamalla stage_id-kenttää CRM:ssä saat täydellisen aikajanan vaihemuutoksista.

Näin tunnistat, missä kaupat jumiutuvat, teet pipeline-arviointeja datasidonnaisesti ja annat konkreettista valmennusta myyjille faktojen pohjalta.


2. Ostot ja laskujen hyväksyntäprosessit

Kirjanpidossa ja hankinnoissa vaatimuksena on usein tietää, kuka hyväksyi tilauksen tai laskun ja milloin. Seuraamalla state-kenttää ostoissa ja myyjälaskuissa saat hyväksyntähistorian suoraan chatteriin ilman erillistä auditointijärjestelmää.

Tämä on erityisen tärkeää yrityksissä, joilla on tiukat taloushallinnon vaatimukset tai sisäinen tarkastus.


3. Varaston- ja logistiikan hallinta

Kun määrät tai säilytyspaikat muuttuvat odottamattomasti, seuranta varsiirtomerkinnöissä tai tuotetiedoissa auttaa varastopäällikköä nopeasti jäljittämään muutoksen lähteen.

Sen sijaan, että ryhdyttäisiin selvittämään lokitiedostoja tai kysymään ihmisiltä, vastaus löytyy usein suoraan kyseisen tietueen keskustelusta.


4. Asiakastietojen laadun valvonta

Jos tiimisi päivittää asiakastietoja usein, seuraa keskeisiä kenttiä kuten email, phone tai pricelist_id kumppanimallissa. Näin kontaktitiedot pysyvät dokumentoituna CRM:ssä ja asiakaspalvelu löytää muutokset helposti.


5. HR ja työntekijätiedot

Seuraamalla esimerkiksi tehtävänimikettä, osastoa tai palkkaluokkaa työntekijätiedoissa varmistat muutosten läpinäkyvyyden. Tämä helpottaa HR:n vaatimustenmukaisuuden todentamista ja sisäisiä tarkastuksia.


Kentän luominen tai muokkaaminen


Kentän seurannan aktivointiin on kaksi yleistä tapaa: tehdä se nopeasti Odoo Studiolla ilman koodia tai lisätä attribuutti Python-koodissa osaksi moduulia.

Odoo Studion käyttö

Odoo Studiolla voit kätevästi ottaa seurannan päälle olemassa oleville kentille ilman ohjelmointia. Avaa Studio halutulla mallilla, napsauta kenttää ja laita päälle Track Changes -kytkin kenttäasetuksissa.

Kun seuranta on aktivoitu, kaikki tulevat muutokset näkyvät chatterissa. Tämä sopii admin-käyttäjille ja liiketoiminnan omistajille, jotka haluavat tehdä muutoksia ilman kehittäjän apua.

Myös uusien kenttien luonnin yhteydessä Studio tarjoaa saman mahdollisuuden: voit valita seurannan jo kenttää luodessa.

Pythonin käyttö räätälöidyssä moduulissa

Kehittäjät lisäävät tracking-attribuutin suoraan kenttämäärittelyyn malliluokassa. Tämä on tavallinen tapa osana Odoo-kehitystä.

Mallin tulee lisäksi periä mail.thread, jotta seurannalla on vaikutusta. Alla minimalistinen esimerkki:

from odoo import models, fields

class ProjectTask(models.Model):
    _name = 'project.task'
    _inherit = ['project.task', 'mail.thread']

    x_client_priority = fields.Selection(
        [('low', 'Low'), ('medium', 'Medium'), ('high', 'High')],
        string='Client Priority',
        tracking=True
    )

Tämä malli on tyypillinen tapa laajentaa olemassa olevaa mallia kehitysprojektissa. Kenttä toimii normaalina Odoo-tietokenttänä, mutta sen jokainen muutos tallentuu automaattisesti.

Tärkeä huomio uusista malleista

Kun luot täysin uusia malleja, muista sisällyttää _inherit = ['mail.thread', 'mail.activity.mixin'] mallin määrittelyyn. Ilman tätä mixiniä tracking-ominaisuus ei ota vaikutusta ja muutoksia ei kirjata chatteriin.

Tämä unohtuu usein aloittelevilta kehittäjiltä — mixin ei ole valinnainen, jos haluat seurannan toimivan.

Parhaat käytännöt


Seurannan helppous tekee siitä käyttökelpoisen, mutta samalla myös helpon käyttää väärin. Seuraavat suositukset auttavat hyödyntämään ominaisuutta oikein.

Seuraa vain olennaisia kenttiä

Älä aktivoi seurantaa kaikissa kentissä. Liiallinen seuranta täyttää chatterin turhalla tiedolla ja vaikeuttaa tärkeiden muutosten löytämistä. Keskity tila- ja vastuukenttiin, avaintietoihin sekä rahamääräisiin arvoihin.

Käytä prioriteetteja selkeyttämään lokimerkintöjä

Kun samalta mallilta muutetaan useita seurattuja kenttiä samassa tallennuksessa, prioriteetit 1–10 auttavat ryhmittelyssä ja parantavat luettavuutta chatterissa.

Yhdistä käyttöoikeuksiin

Seuranta toimii parhaiten, kun samaan aikaan on mietitty roolit ja pääsyoikeudet. Auditointiloki on arvoton, jos kuka tahansa voi vapaasti muokata tietueita ja siten peittää jälkiään. Suojaa mallit ennen kuin luotat chatteriin auditina.

Dokumentoi seurattavat kentät

Pidä kirjaa siitä, mitä kenttiä seurataan — erityisesti monikehittäjäympäristöissä. Tämä vähentää epäselvyyksiä koodikatselmuksissa ja estää päällekkäisiä muutoksia moduulipäivitysten yhteydessä.

Testaa ennen tuotantoon vientiä

Tarkista seurannan toiminta testiympäristössä ennen tuotantoon siirtoa. Jotkin kenttätyypit, etenkin laskettavat tai related-kentät, voivat käyttäytyä eri tavalla kuin tavalliset tallennetut kentät.

Yleisimmät sudenkuopat


Seuraavat sudenkuopat toistuvat usein, kun käyttäjät ottavat kenttien seurannan käyttöön Odoossa.

Unohtaminen periä mail.thread

Yleisin virhe on jättää mail.thread pois mallin perimisestä. Tällöin tracking jää huomaamatta: ei virheilmoitusta, ei lokimerkintöjä. Tarkista aina perintäketju, jos seuranta ei toimi.

Seuranta laskettaville, mutta ei tallennetuille kentille

Laskettavat kentät voidaan seurata vain, jos ne on määritelty tallennettaviksi (store=True). Tallentamattomalla laskettavalla kentällä ei ole kantaa tietokannassa, joten muutoksen vertaamista ei voida tehdä ja seuranta ei kirjaa mitään.

Liian monen kentän seuraaminen

Seurannan maksimointi voi tuntua hyvältä ideaalia ajatellen, mutta käytännössä se tekee chatterista epäselvän. Ole valikoiva ja seuraa kenttiä, joilla on todellista toimintaarvoa.

Odotus seurannasta suoran SQL-päivityksen yhteydessä

Seuranta aktivoituu Odoon ORM:n kautta write()-kutsujen myötä. Suorat SQL-päivitykset, ORM:n ohittavat massatuonnit tai jotkin matalan tason API-kutsut eivät laukaise seurantalokeja. Varmista, että integraatiot käyttävät ORM-kerrosta, jos haluat kirjauksen syntyvän.

Konfliktit Studion ja Pythonin välillä

Jos kenttä on luotu Studiolla ja myös muokattu Python-koodissa, ristiriitaiset määrittelyt voivat aiheuttaa yllätyksiä päivitysten yhteydessä. Huolehdi, että Studio- ja koodimuutokset pysyvät synkronissa.

Usein kysytyt kysymykset


Voinko seurata mitä tahansa kenttää Odoossa?

Seuranta toimii vain malleissa, jotka perivät mail.thread-mixinin. Useimmat vakio-Odoo-mallit sisältävät tämän, mutta täysin uudet räätälöidyt mallit täytyy määritellä siihen nimenomaisesti.

Vaikuttaako seuranta suorituskykyyn?

Yleensä vaikutus on vähäinen: jokainen seurattu muutos luo yhden mail.message-tietueen, mikä lisää pienen overheadin write()-operaatioon. Korkeassa transaktiovolyymissä kannattaa harkita, kuinka monta kenttää todella tarvitsee seurata.

Voinko poistaa seurannan yllä olevan historian menettämättä?

Kyllä. Seurannan poistaminen estää uusien muutosten kirjaamisen, mutta olemassa oleva chatter-historia säilyy eikä katoa.

Toimiiko seuranta Many2many-kentissä?

Kyllä, Many2many-seuranta on tuettu. Chatter näyttää, mitkä tietueet lisättiin tai poistettiin suhteesta; esitystapa eroaa yksinkertaisempien arvojen ennen/jälkeen-näytöstä.

Voinko käyttää seurantaa ilman Odoo Studiota?

Ehdottomasti. tracking-parametri on tavallinen Python-attribuutti Odoon kentissä, ja sen voi ottaa käyttöön missä tahansa räätälöidyssä moduulissa. Studio tarjoaa vain visuaalisen tavan tehdä sama ilman koodia.

Yhteenveto


Seuranta on pieni mutta arvokas lisä Odooon: oikein käytettynä se tuo luotettavan auditointiketjun, vähentää kiistoja siitä, kuka muokkasi mitä, ja auttaa hallitsemaan tiedon laatua organisaatiossa.

Olipa valintasi Studio tai räätälöity Python-moduuli, lopputulos on sama: näkyvyys siihen, miten liiketoimintatiedot muuttuvat ajan myötä.

Tärkeintä on tietää, mihin seurannan laittaa. Keskity kenttiin, jotka ohjaavat päätöksiä, hyväksyntöjä ja vastuurakennetta — näin saat eniten hyötyä pienellä vaivalla.

Me Dasololla autamme yrityksiä ottamaan Odoon ominaisuudet käyttöön, mukauttamaan tietomalleja ja optimoimaan työnkulkuja. Tarjoamme tukea kenttien seurannan suunnitteluun ja räätälöityjen moduulien rakentamiseen tarpeenne mukaan.

Ota yhteyttä, niin käydään läpi Odoo-projektinne tarpeet. Ota yhteyttä ja räätälöidään yhdessä paras ratkaisu projektillenne.

Odoo Tracking Field – Näin Seuraa Tietueiden Muutoksia Luotettavasti
Dasolo 6. maaliskuuta 2026
Jaa tämä kirjoitus
Kirjaudu sisään jättääksesi kommentin