Siirry sisältöön

stock.picking-malli: Odoo-siirtojen ja varastotoimintojen ymmärtäminen

Täydellinen opas Odoon keskitettyyn siirtomalliin varaston ja logistiikan hallintaan
10. maaliskuuta 2026 kirjoittanut
stock.picking-malli: Odoo-siirtojen ja varastotoimintojen ymmärtäminen
Dasolo
| Ei vielä kommentteja

Johdanto


Odoossa mallit määrittelevät, miten liiketoimintatiedot tallennetaan tietokantaan. Kaikki varaston ja toimitusten tiedot — tilauksista siirtoihin ja käsittelyyn — elävät malleissa, jotka määräävät tietorakenteet ja suhteet.


Mallien ymmärtäminen on tärkeää sekä kehittäjille että toiminnallisille konsultteille. Ne muodostavat Odoon tietomallin perustan: kentät, suhteet ja liiketoimintasäännöt syntyvät malleista.


Tässä artikkelissa keskitytään Inventory-sovelluksen keskeiseen malliin: stock.picking. Olitpa rakentamassa varastomoduuleja, integroimassa järjestelmiä tai määrittämässä prosesseja, tulet työskentelemään tämän mallin kanssa.

Mikä on stock.picking-malli


stock.picking edustaa Odoossa tavaransiirtoja. Se on varastotoimintojen keskitetty seuranta‑piste: jokainen picking-rivi kuvaa yhtä tavaransiirtoa sijainnista toiseen.


Mallia käytetään koko Inventory-moduulissa: vastaanotot, lähetykset ja sisäiset siirrot luovat stock.picking‑merkintöjä. Kun vahvistat myyntitilauksen toimituksen, vastaanotat ostotilauksen tuotteet tai siirrät varastoa, käsittelet tai muokkaat stock.picking‑tietuetta.


Mallin määrittely löytyy stock-moduulista, ja muut moduulit laajentavat sitä perintämallilla. Myynti lisää toimitukseen liittyviä kenttiä, osto vastaanottoihin liittyvät työnkulut ja valmistus liittää omat siirtonsa — kukin moduuli täydentää ydintä ilman rakenteen kopiointia.


stock.picking perii myös mail.thread- ja mail.activity.mixin -ominaisuudet. Tämä mahdollistaa muutosten seurannan, keskusteluketjut (chatter) ja aktiviteettien ajastamisen suoraan siirroille.

Mallin tärkeimmät kentät


Seuraavassa on listattu tärkeimmät kentät, joita kannattaa tuntea työskennellessäsi siirtojen ja varastotoimintojen kanssa. Niiden merkityksen ymmärtäminen helpottaa konfigurointia ja integraatioita.


1. name

Tyyppi: Char. Tallentaa siirron tunnisteen, usein automaattisesti sekvenssistä (esim. WH/OUT/00001). Näkyy siirron otsikossa ja toimii ensisijaisena tunnisteena.


2. origin

Tyyppi: Char. Lähdedokumentin viite. Toimituksessa se voi olla myyntitilauksen tunnus, vastaanotossa ostotilauksen tunnus. Auttaa jäljittämään siirron alkuperän.


3. state

Tyyppi: Selection. Siirron tila. Arvot kuten Draft, Waiting Another Operation, Waiting, Ready, Done, Cancelled. Tila määrittää käytettävissä olevat toiminnot ja perustuu liittyviin stock.move‑riveihin.


4. picking_type_id

Tyyppi: Many2one (stock.picking.type). Määrittää toimintatyypin: vastaanotto, lähetys tai sisäinen siirto. Pakollinen. Jokaisella tyypillä on oletuslähde- ja kohdesijainnit.


5. move_ids

Tyyppi: One2many (stock.move). Varastosiirrot eli rivit, joissa kerrotaan siirrettävä tuote ja määrä. Näillä rivillä toimii varauksen ja saatavuuden logiikka.


6. move_line_ids

Tyyppi: One2many (stock.move.line). Tarkennetut toiminnot. Erä- tai sarjanumeroseurannassa nämä rivit pitävät kirjaa yksittäisistä eristä ja sijainneista — tärkeitä pakkaamisessa ja validoinnissa.


7. location_id

Tyyppi: Many2one (stock.location). Lähtösijainti — mistä tuotteet otetaan. Pakollinen. Toimituksissa yleensä varastopaikka, vastaanotoissa tavarantoimittajan sijainti.


8. location_dest_id

Tyyppi: Many2one (stock.location). Kohdesijainti — mihin tuotteet siirretään. Pakollinen. Toimituksissa asiakas, vastaanotoissa varasto.


9. partner_id

Tyyppi: Many2one (res.partner). Yhteyshenkilö: asiakas toimituksissa tai toimittaja vastaanotoissa. Käytetään osoitetiedoissa ja kuljetusintegraatioissa.


10. scheduled_date

Tyyppi: Datetime. Ajankohta, jolloin siirto on ajastettu käsiteltäväksi. Vaikuttaa suunnitteluun ja priorisointiin; asettamalla sen määritellään odotettu käsittelyaika kaikille siirroille.


11. date_deadline

Tyyppi: Datetime. Määräaika. Usein peräisin myynti- tai ostotilauksesta. Auttaa havaitsemaan myöhästyneet toimitukset ja lupauspäivien seurannassa.


12. date_done

Tyyppi: Datetime. Milloin siirto validoitiin tai peruutettiin. Kenttä on vain luku - Odoo asettaa sen automaattisesti, kun picking on valmis.


13. priority

Tyyppi: Selection. Prioriteettitaso. Ennen kaikkea korkeamman prioriteetin siirroille varataan tuotteita ensin — käytännössä tärkeä kiireellisissä tilauksissa.


14. move_type

Tyyppi: Selection. Toimituskäytäntö: heti (osittaiset toimitukset sallittu) tai kun kaikki valmiina (kaikki tai ei mitään). Vaikuttaa milloin siirto voidaan käsitellä.


15. user_id

Tyyppi: Many2one (res.users). Vastuu‑käyttäjä. Käytetään työnjakoon ja kuormituksen seurantaan; oletusarvo on luontihetken käyttäjä.


16. company_id

Tyyppi: Many2one (res.company). Yritys. Periytyy picking‑tyypistä ja määrittää, minkä yrityksen alle siirto kuuluu moniyritysympäristössä.


17. group_id

Tyyppi: Many2one (procurement.group). Procurement‑ryhmä. Kytkee yhteen saman tilauksen tuottamat siirrot ja helpottaa ryhmittelyä.


18. backorder_id

Tyyppi: Many2one (stock.picking). Kun siirto validoidaan osittain, jäljelle jäävälle työlle luodaan backorder; tämä kenttä linkittää siihen alkuperäiseen pickingiin.


19. backorder_ids

Tyyppi: One2many (stock.picking). Tämän siirron avulla luodut backorderit. Hyödyllinen, kun osa toimituksesta jää käsittelemättä ja jatkotoimet ajastetaan myöhemmäksi.


20. return_id

Tyyppi: Many2one (stock.picking). Jos kyseessä on palautus, tämä kenttä viittaa alkuperäiseen siirtoon ja helpottaa palautusprosessin hallintaa.


21. note

Tyyppi: Html. Sisäiset muistiinpanot. Varastokäyttäjät näkevät ohjeet tai erityisvaatimukset käsittelyä varten.


22. signature

Tyyppi: Image. Toimituksen vahvistukseen tallennettu allekirjoitus. Todiste toimituksesta, tallennetaan liitteenä.


23. is_signed

Tyyppi: Boolean. Johdettu kenttä signature‑arvosta; kertoo, onko toimitus allekirjoitettu.


24. owner_id

Tyyppi: Many2one (res.partner). Omistaja, joka voidaan asettaa validoinnissa. Käytetään konsignaatioissa tai kun tuotteet kuuluvat kolmannelle osapuolelle.


25. package_level_ids

Tyyppi: One2many (stock.package_level). Pakkaustasot Put In Pack -toiminnossa. Ryhmittelee move‑rivit paketeiksi lähetystä varten.


26. create_date

Tyyppi: Datetime. Kuvaa, milloin tietue luotiin. Odoon hallinnoima metadata, peritty perusmallista.


27. write_date

Tyyppi: Datetime. Viimeisin muokkausaika. Automaattisesti ylläpidetty.


28. active

Tyyppi: Boolean. Pehmeän poiston lippu. Kun arvo on False, tietue arkistoidaan eikä näy normaalissa listauksessa.

Miten tätä mallia käytetään liiketoimintaprosesseissa


1. Myynti ja toimitukset

Kun myyntitilaus vahvistetaan, Odoo luo toimitustilauksen (stock.picking). Picking linkittyy myyntitilaukseen origin‑kentällä. Varastohenkilöstö kerää ja pakkaa tuotteet, ja tilausten tila etenee draftista readyksi ja lopulta done‑tilaan.


2. Ostot ja vastaanotot

Ostotilauksen vahvistus luo saapuvan vastaanoton. Picking vastaanottaa tuotteet toimittajan sijainnista varastoon, partner_id on toimittaja, ja validointi päivittää varastosaldot.


3. Sisäiset siirrot

Varastojen tai sijaintien välinen siirto luo sisäisiä pickingejä, joiden picking_type_id on yleensä 'internal'. Lähde- ja kohdesijainnit ovat molemmat sisäisiä varastopaikkoja.


4. Palautukset ja backorderit

Palautustilanteessa luodaan palautus‑picking, joka linkittyy alkuperäiseen pickingiin return_id‑kentällä. Kun toimitus validoidaan osittain, backorder_ids pitää kirjaa jäljelle jäävästä työstä.


5. Valmistus ja tuotanto

Valmistusorderit luovat pickingejä raaka‑aineiden kulutukseen ja valmiiden tuotteiden vastaanottoon. mrp‑moduuli laajentaa stock.picking‑mallia näihin tuotantovirtoihin.

Miten kehittäjät laajentavat tätä mallia


Kehittäjät laajentavat stock.picking‑mallia useilla tavoilla; Odoon malli‑perintä on yleisin tapa muokata olemassa olevaa toiminnallisuutta ilman ydinmuutoksia.


Malliperintä

Käytä _inherit = 'stock.picking' laajentaaksesi mallia. Voit lisätä kenttiä, ylikirjoittaa metodeja tai lisätä rajoitteita. Perintä pitää muutokset omassa moduulissasi, mikä helpottaa päivityksiä.


Kenttien lisääminen

Määrittele uudet kentät perityssä mallissa ja valitse oikea kenttätyyppi: Char, Many2one, Boolean, Integer, Text, Selection. Moniyritysympäristössä harkitse yritysriippuvaisia kenttiä.


Python‑laajennukset

Ylikirjoita funktioita kuten button_validate, action_assign tai _create_backorder lisälogiikan liittämiseksi. Kutsu super()‑metodia, jotta alkuperäinen toiminnallisuus säilyy. Ole tarkka tilasiirtojen ja move‑luonnin kanssa.


Odoo Studio

Odoo Studio mahdollistaa kenttien lisäämisen ilman koodia — hyvä nopeisiin muutoksiin kuten lisämärkinnät tai kenttätekstit. Monimutkaisemmissa logiikoissa ja integraatioissa kannattaa kuitenkin rakentaa oma moduuli.

Parhaat käytännöt


  • Aina määritä picking_type_id, kun luot pickingejä käsin. Se ohjaa oletussijainteja ja käyttökäyttäytymistä.
  • Käytä origin‑kenttää jäljitettävyyteen. Se helpottaa raportointia ja vikojen etsimistä.
  • API‑integraatioissa stock.picking on täysin käytettävissä Odoon API:n kautta. Luo move‑rivejä move_ids‑suhteen kautta; vältä pickingin luomista ilman moveja.
  • Hyödynnä scheduled_date‑kenttää suunnittelussa. Se vaikuttaa reservointiin ja priorisointiin.
  • Ota käyttöön x_‑ tai moduulikohtainen etuliite uusille kentille yhteensopivuuden varmistamiseksi tulevien Odoo‑versioiden kanssa.

Yleisimmät virheet


  • Luominen pickingeistä ilman picking_type_id:tä. Tämä voi johtaa virheellisiin oletussijainteihin ja väärään käyttäytymiseen.
  • move_ids‑kenttien muokkaaminen vahvistuksen jälkeen ilman ymmärrystä tilakoneesta. Tilasiirrot voivat olla monimutkaisia ja johtaa epätoivottuihin tiloihin.
  • partner_id:n unohtaminen toimituksissa. Kuljetusintegraatiot ja asiakirjat tarvitsevat vastaanottajan tiedot.
  • button_validate‑funktion ylikirjoittaminen ilman super()‑kutsua. Tämä voi rikkoa backorder‑luonnin ja muiden moduulien odotukset.
  • Olettaminen, että move_ids ja move_line_ids ovat aina synkassa. Move line‑rivit syntyvät varauksen tai yksityiskohtaisten toimintojen yhteydessä, eivät aina automaattisesti.

Yhteenveto


stock.picking on Odoon varaston ydin: siinä tallennetaan siirrot, lähetykset ja vastaanotot. Kun tunnet mallin kentät ja laajennustavat, voit konfiguroida, räätälöidä ja integroida Odoon luotettavasti.


Olitpa toiminnallinen konsultti, joka kartoittaa varastoprosesseja, tai kehittäjä rakentamassa mukautuksia, vankka ymmärrys stock.pickingistä säästää aikaa ja vähentää virheitä.

Valmis tehostamaan Odoo-varastoasi?


Dasolo auttaa yrityksiä Odoo‑implementaatioissa, räätälöinneissä ja optimoinnissa. Erikoisosaamistamme ovat API‑integraatiot ja Odoo‑kehitys — tiimillämme on syvällinen kokemus Odoon tietomalleista kuten stock.picking.


Jos tarvitset apua Odoo‑implementaatiossa, varastomoduulien räätälöinnissä tai integraatioissa, autamme mielellämme. Varaa demo keskustellaksemme projektistasi.

stock.picking-malli: Odoo-siirtojen ja varastotoimintojen ymmärtäminen
Dasolo 10. maaliskuuta 2026
Jaa tämä kirjoitus
Kirjaudu sisään jättääksesi kommentin