Skip to Content

stock.picking-modellen: Forstå Odoos vareflyt og lageroperasjoner

Alt du trenger å vite om Odoos sentrale overføringsmodell for lagerstyring
10. mars 2026 etter
stock.picking-modellen: Forstå Odoos vareflyt og lageroperasjoner
Dasolo
| No comments yet

Innledning


I Odoo bestemmer modeller hvordan informasjon organiseres i databasen. Alt fra salgsordrer til varebevegelse og lageroperasjoner ligger i egne modeller som definerer struktur, regler og relasjoner.


Å kjenne Odoos modeller er nyttig både for utviklere og konsulenter. Modellene utgjør kjernen i datastrukturen: hvilke felt som finnes, hvordan poster henger sammen, og hvor forretningslogikken kjører.


Denne teksten tar for seg en nøkkelmodell i Lager-appen: stock.picking. Enten du bygger spesialtilpassede lagermoduler, kobler til eksterne systemer eller setter opp arbeidsflyter, vil du ofte møte denne modellen.

Hva er stock.picking‑modellen


Stock.picking representerer overføringer i Odoo — selve registreringen av at varer flyttes fra ett sted til et annet. Hver post beskriver én enkelt bevegelse av varer mellom lokasjoner.


Modellen brukes gjennom hele lagerappen: mottak, leveranser og interne flyttinger opprettes som stock.picking-poster. Når en salgsordre bekreftes, varer mottas fra leverandør eller lager flyttes internt, oppdateres eller opprettes picking‑poster.


Modellen er implementert i stock‑modulen, og andre moduler bygger videre på den via arv. Salg legger inn felt for leveranse, innkjøp legger mottaksflyt, og produksjon legger materialbevegelser — uten å kopiere kjernefunksjonaliteten.


Stock.picking arver også fra kommunikasjonsmixiner som lar deg spore endringer, skrive meldinger i chatter og planlegge aktiviteter direkte på overføringene.

Viktige felt i modellen


Nedenfor er en oversikt over de viktigste feltene du møter i stock.picking. Å kjenne disse gjør det enklere å arbeide med plukking, pakking og validering i lageret.


1. name

Type: Char. Unik referanse for overføringen, ofte generert fra en sekvens (f.eks. WH/OUT/00001). Vises i toppteksten på plukk og er hovedidentifikatoren for posten.


2. origin

Type: Char. Referanse til kildedokumentet — for eksempel salgsordre eller innkjøpsordre. Nyttig ved sporing og feilsøking.


3. state

Type: Selection. Tilstandsindikator for overføringen. Typiske verdier: draft, waiting, ready, done, cancelled. Tilstanden avgjør hvilke handlinger som er tilgjengelige og beregnes etter relaterte bevegelser.


4. picking_type_id

Type: Many2one (stock.picking.type). Bestemmer om posten er mottak, levering eller intern flytting. Påvirker standard kildesteder og destinasjoner og er påkrevd ved opprettelse.


5. move_ids

Type: One2many (stock.move). Hovedlinjene i overføringen — hvert element beskriver et produkt og mengde som skal flyttes. Reservasjons- og tilgjengelighetslogikk opererer på disse.


6. move_line_ids

Type: One2many (stock.move.line). Detaljerte operasjoner per parti, serienummer eller plassering. Brukes ved plukking, pakking og endelig validering.


7. location_id

Type: Many2one (stock.location). Avsenderlokasjon — hvor varene plukkes fra. Obligatorisk og avhenger av plukktype.


8. location_dest_id

Type: Many2one (stock.location). Mottakerlokasjon — hvor varene skal leveres. Obligatorisk og settes av plukktype.


9. partner_id

Type: Many2one (res.partner). Kontaktinformasjon — kunde ved levering, leverandør ved mottak. Viktig for adresse på dokumenter og fraktintegrasjoner.


10. scheduled_date

Type: Datetime. Planlagt tidspunkt for gjennomføring. Brukes i planlegging og prioritering av plukk.


11. date_deadline

Type: Datetime. Frist for overføringen, ofte hentet fra salg eller innkjøp. Nyttig for å markere forsinkelser og kundeløfter.


12. date_done

Type: Datetime. Tidspunkt for når overføringen ble fullført eller kansellert. Automatisk satt og skrivebeskyttet.


13. priority

Type: Selection. Prioritetsnivå som påvirker reservasjon og ordreutførelse — høyere prioritet prioriteres først.


14. move_type

Type: Selection. Leveringspolicy — f.eks. 'delvis tillatt' eller 'alle varer må være klare'. Påvirker når plukket kan behandles.


15. user_id

Type: Many2one (res.users). Ansvarlig bruker for posten. Brukes ved tildeling og arbeidsbelastningsoppfølging og settes ofte til oppretter.


16. company_id

Type: Many2one (res.company). Selskapspåminnelse i flerselskapsscenarier — bestemmer eierskap for overføringen.


17. group_id

Type: Many2one (procurement.group). Kobler sammen bevegelser som hører til samme innkjøp eller ordregruppe.


18. backorder_id

Type: Many2one (stock.picking). Ved delvis validering opprettes en backorder for resten — dette feltet peker tilbake til originalen.


19. backorder_ids

Type: One2many (stock.picking). Samling av backorder‑poster som ble generert fra denne plukkingen.


20. return_id

Type: Many2one (stock.picking). Ved returer kobles denne plukkingen til originalleveransen.


21. note

Type: Html. Interne notater og instrukser synlige for lagerpersonell.


22. signature

Type: Image. Signatur tatt ved levering som bevis på overlevering. Lagres som vedlegg.


23. is_signed

Type: Boolean. Beregnet fra signature-feltet — angir om levering er signert.


24. owner_id

Type: Many2one (res.partner). Eier som skal tildeles ved validering — nyttig for konsignasjon og tredjepartseide varer.


25. package_level_ids

Type: One2many (stock.package_level). Pakkegrupper når man bruker pakkefunksjoner — samler move lines per kolli.


26. create_date

Type: Datetime. Når posten ble opprettet. Håndteres automatisk av Odoo.


27. write_date

Type: Datetime. Sist endret tidspunkt. Automatisk oppdatert.


28. active

Type: Boolean. Arkiveringsflagg — false betyr at posten er arkivert (soft delete).

Hvordan modellen brukes i forretningsflyter


1. Salg og leveranse

Når en salgsordre godkjennes, oppretter Odoo en leveransepost (stock.picking) knyttet til ordren. Lagerpersonellet plukker, pakker og validerer, og posten går fra utkast til ferdig.


2. Innkjøp og mottak

Ved bekreftet innkjøp opprettes et mottak som flytter varer fra leverandørens lokasjon til eget lager. partner_id peker på leverandøren, og validering oppdaterer lagerbeholdningen.


3. Interne overføringer

Flytting mellom egne lokasjoner eller mellom lager bygger interne pickinger (plukktype med kode 'internal'). Kilde og destinasjon er interne lagerlokasjoner.


4. Returer og backorders

Returer genererer egne return‑plukk som kobles til originalleveransen via return_id. Ved delvis levering opprettes backorder‑poster for gjenstående artikler.


5. Produksjon og montasje

Produksjonsordrer lager pickinger for både råvareforbruk og ferdigvarebevegelser. mrp‑modulen utvider stock.picking for produksjonsflyter.

Hvordan utviklere utvider modellen


Utviklere bygger på stock.picking ved hjelp av Odoos arv- og utvidelsesmønstre. Det finnes flere praktiske måter å legge til felt og logikk på.


Modellarv

Bruk _inherit = 'stock.picking' for å utvide modellen i egne moduler. Legg til felt, overstyr metoder eller definér valideringer. Dette holder endringene adskilt og gjør oppgraderinger enklere.


Legge til felt

Definer nye felttyper i den arvede modellen med passende typer: Char, Many2one, Boolean, Integer, Text eller Selection. Vurder også selskapsavhengige felt i flerselskapsscenarier.


Python‑utvidelser

Overstyr metoder som button_validate, action_assign eller _create_backorder for å injisere forretningslogikk. Huske å kalle super() når det er nødvendig og være forsiktig med tilstandsoverganger.


Odoo Studio

Odoo Studio lar deg raskt legge til felt uten koding — fint for enkle tilpasninger. For kompliserte arbeidsflyter eller fraktintegrasjoner anbefales egen modul for vedlikeholdbarhet.

Beste praksis


  • Husk alltid å sette picking_type_id ved manuell opprettelse — det styrer standardlokasjoner og adferd.
  • Bruk origin‑feltet konsekvent for å kunne spore plukking tilbake til kildeordren ved rapportering og feilsøking.
  • Ved API‑integrasjoner er stock.picking fullt tilgjengelig. Opprett bevegelser via move_ids‑relasjonen og unngå å lage pickinger uten tilhørende bevegelser.
  • Bruk scheduled_date aktivt i planlegging — den påvirker reservasjoner og prioritering i systemet.
  • Gi egne felt prefikset x_ eller modulnavn for å unngå navnekonflikter ved oppgraderinger.

Vanlige feil


  • Opprette pickinger uten picking_type_id. Dette fører ofte til feil standardlokasjoner og uventet adferd.
  • Endre move_ids etter at plukk er bekreftet uten å forstå tilstandsmaskinen. Dette kan føre til inkonsistente tilstander.
  • Glemme å sette partner_id for leveranser. Fraktberegning og dokumenter trenger kontaktinformasjon.
  • Overstyre button_validate uten å kalle super(). Dette kan bryte backorder‑logikk og påvirke andre moduler negativt.
  • Tro at move_ids og move_line_ids alltid er synkronisert. Move lines opprettes ved reservasjon eller detaljert plukking, ikke nødvendigvis samtidig med moves.

Konklusjon


Stock.picking er hjørnesteinen i Odoos lagerhåndtering. Den dokumenterer mottak, leveranser og interne flyttinger. Å forstå feltene og hvordan moduler bygger på den gjør det enklere å konfigurere, tilpasse og integrere Odoo.


Enten du kartlegger lagerprosesser som konsulent eller utvikler skreddersydde moduler, vil god kjennskap til stock.picking spare tid og redusere feil.

Klar for å optimalisere lageret ditt i Odoo?


Dasolo bistår bedrifter med implementering, tilpasning og optimalisering av Odoo, særlig innen API‑integrasjoner og utvikling. Vi har lang erfaring med Odoos datamodeller som stock.picking.


Trenger du hjelp med Odoo‑implementasjon, lagermoduler eller integrasjoner, så kan vi bidra med rådgivning og utvikling. Bestill en demo for å diskutere prosjektet ditt.

stock.picking-modellen: Forstå Odoos vareflyt og lageroperasjoner
Dasolo 10. mars 2026
Share this post
Logg inn to leave a comment