Hoppa till innehåll

Odoo Stock.Picking: Så Fungerar Transfer- och Warehouse-flödet

En komplett genomgång av Odoos centrala flöde för lager- och varuhantering — allt du behöver veta för att få kontroll på varuflödet
10 mars 2026 av
Odoo Stock.Picking: Så Fungerar Transfer- och Warehouse-flödet
Dasolo
| Inga kommentarer ännu

Introduktion


I Odoo bestämmer modellerna hur affärsdata organiseras i databasen. Allt från order till lagerflyttar sparas i modeller — de är ritningen för var och hur informationen lagras.


Att förstå Odoo-modeller är viktigt både för utvecklare och funktionella konsulter. Modellerna avgör fälten, relationerna mellan poster och den logik som körs när data skapas eller ändras.


Den här guiden fokuserar på en av de mest centrala modellerna i lagerappen: stock.picking. Oavsett om du sätter upp plock- och packflöden, kopplar ihop externa system eller skräddarsyr processer kommer du att behöva hantera den här modellen.

Vad är modellen stock.picking?


I korthet representerar stock.picking en lagerflytt i Odoo. Varje post motsvarar en överföring av varor från en plats till en annan och är navet där status, ansvarig och de rörliga artiklarna samlas.


Stock.picking används i hela lagerområdet: inleveranser, utleveranser och interna förflyttningar skapar alla pickings. När du bekräftar en försäljningsleverans, tar emot varor från en leverantör eller flyttar mellan lager skapas eller uppdateras en picking.


Modellen ligger i stock-modulen och andra moduler kompletterar den via arv. Försäljning lägger till leveransfält, inköp hanterar inleveranser och produktion kopplar sina materialrörelser — utan att upprepa kärnmodellen.


Stock.picking är dessutom trådad mot Odoos kommunikationslager (mail.thread och mail.activity.mixin), vilket gör att du kan följa historik, skriva i chatter och planera aktiviteter direkt på en överföring.

Viktiga fält i modellen


Nedan följer de viktigaste fälten i stock.picking som du oftast kommer att behöva för att konfigurera, felsöka eller bygga funktionalitet runt lagerflyttar.


1. name

Typ: Char. Referensen för överföringen — ofta ett sekvensgenererat nummer (t.ex. WH/OUT/00001). Visas tydligt i formulärets header och används som huvudidentifierare för pickingen.


2. origin

Typ: Char. Referens till källordern eller dokumentet — till exempel försäljningsorder eller inköpsorder. Används för spårbarhet och rapportering.


3. state

Typ: Selection. Pickings status (t.ex. draft, waiting, ready, done, cancelled). Statusen styr vilka åtgärder som är möjliga och härleds från tillhörande lagerrörelser.


4. picking_type_id

Typ: Many2one (stock.picking.type). Anger om det är inleverans, utleverans eller intern flytt. Bestämmer också standardkäll- och destinationsplatser och påverkar beteende.


5. move_ids

Typ: One2many (stock.move). Själva raderna med vilka produkter och kvantiteter som ska flyttas. Bokningslogik och tillgänglighetskontroller jobbar primärt mot dessa poster.


6. move_line_ids

Typ: One2many (stock.move.line). Detaljerade operationsrader som används vid lots/serienummerhantering och för fysisk plockning/packning och validering.


7. location_id

Typ: Many2one (stock.location). Källa — var produkterna tas ifrån. Obligatoriskt och avser ofta lagerets interna plats för utleveranser.


8. location_dest_id

Typ: Many2one (stock.location). Destination — var produkterna flyttas till. Obligatoriskt och är ofta kundplats vid leverans eller lagrets plats vid mottag.


9. partner_id

Typ: Many2one (res.partner). Kontakt kopplad till överföringen — kund vid leverans, leverantör vid mottag. Används även för adresser och fraktintegration.


10. scheduled_date

Typ: Datetime. Planerat datum för hantering. Viktigt för planering och prioritering eftersom det påverkar reservationer och köbildning.


11. date_deadline

Typ: Datetime. Deadline för leverans eller mottag — ofta är detta värde ärvt från försäljnings- eller inköpsorder och används för att flagga försenade leveranser.


12. date_done

Typ: Datetime. Tidsstämpel när överföringen validerades eller annullerades. Sätts automatiskt och är vanligtvis skrivskyddad.


13. priority

Typ: Selection. Prioritetsnivå som påverkar i vilken ordning lager reserveras och plockas (höga prioriteringar behandlas först).


14. move_type

Typ: Selection. Leveranspolicy — till exempel "så snart som möjligt" (delplock tillåtet) eller "vänta på allt" (allt-eller-inget). Påverkar när plockningen får processas.


15. user_id

Typ: Many2one (res.users). Ansvarig användare för pickingen. Används för assignments och för att följa arbetsbelastning. Fylls ofta med aktuell användare vid skapande.


16. company_id

Typ: Many2one (res.company). Företagstillhörighet — särskilt viktigt i multi-företagsinstallationer då det styr vilka regler och lager som gäller.


17. group_id

Typ: Many2one (procurement.group). Kopplar samman relaterade försörjnings- eller leveransgrupper, användbart när flera pickings hör till samma orderflöde.


18. backorder_id

Typ: Many2one (stock.picking). Vid partiell validering skapas ett backorder för kvarvarande kvantiteter — detta fält länkar tillbaka till ursprungspickingen.


19. backorder_ids

Typ: One2many (stock.picking). Lista över backorders som skapats från den här pickingen när delar validerats senare.


20. return_id

Typ: Many2one (stock.picking). Om pickingen är en retur länkar detta fält till originalleveransen — viktigt för returhanteringsflöden.


21. note

Typ: Html. Internt notfält där plockare eller lagerpersonal kan lägga instruktioner, hanteringsanvisningar eller andra kommentarer.


22. signature

Typ: Image. Captured signatur vid leveransvalidering — används som bevis för leverans och lagras som bilaga.


23. is_signed

Typ: Boolean. Beräknat fält som indikerar om en signatur finns — snabbt sätt att visa om leveransen signerat.


24. owner_id

Typ: Many2one (res.partner). Ägare av varorna vid validering — används för konsignationsvaror eller när varor tillhör tredje part.


25. package_level_ids

Typ: One2many (stock.package_level). Paketnivåer vid packhantering — grupperar move lines i paket inför frakt.


26. create_date

Typ: Datetime. När posten skapades — automatiskt hanterat av Odoo och användbart för spårbarhet.


27. write_date

Typ: Datetime. När posten senast ändrades — också automatiskt och bra för revision.


28. active

Typ: Boolean. Mjuk borttagning — sätts False för att arkivera poster utan att fysiskt radera dem.

Hur modellen används i affärsflöden


1. Försäljning och utleverans

När en försäljningsorder bekräftas skapas en utleverans (stock.picking). Pickingen kopplas tillbaka via origin, plock- och packsteg utförs av lagret och statusen går från utkast till klar till genomförd.


2. Inköp och mottag

När ett inköp bekräftas genereras en inleverans. Varor flyttas från leverantörsplats till lagret, partnerfältet refererar leverantören och validering uppdaterar lagersaldon.


3. Interna flyttar

Flyttar mellan lager eller lokationer skapar interna pickings där picking_type har kod 'internal' och både källa och destination är interna lagerplatser.


4. Returer och backorders

Returer skapar separata returnpickings som länkas till originalet via return_id. Vid partiell leverans skapas backorders för det som återstår att plocka.


5. Produktion och tillverkning

Produktionsordrar skapar pickings för konsumtion av råmaterial och för färdiga produkter. Mrp-modulen bygger vidare på stock.picking för dessa flöden.

Hur utvecklare bygger vidare på modellen


Utvecklare bygger på stock.picking genom flera mönster — främst via Odoos modell-arv och genom att lägga logik i modellerna.


Modellarv

Använd _inherit = 'stock.picking' i ditt modulmanifest för att lägga till fält, ändra metoder eller valideringar. Det håller dina ändringar separata och gör uppgraderingar enklare.


Lägga till fält

Definiera nya Odoo-fält i din ärvda modell med rätt typ: Char, Many2one, Boolean, Integer, Text eller Selection. Tänk också på företagsspecifika fält i multi-company-miljöer.


Pythonförlängningar

Överlagra metoder som button_validate, action_assign eller _create_backorder för att införa egen logik. Anropa super() när du behöver behålla grundbeteendet och var noga med tillståndslogiken.


Odoo Studio

Odoo Studio är smidigt för snabba tillägg utan kod — bra för extra etiketter eller notfält. Men för komplexa regler eller integrationskrav är egna moduler mer robusta.

Rekommenderade arbetssätt


  • Sätt alltid picking_type_id när du skapar pickings manuellt — det styr standardplatser och mycket av beteendet i lagret.
  • Använd origin-fältet för spårbarhet. Det gör felsökning och rapportering av leveranser mycket enklare.
  • Vid API-integrationer exponeras stock.picking fullt via Odoos API. Skapa moves genom move_ids-relationen — undvik att skapa pickings utan moves.
  • Planera med scheduled_date — det påverkar reservationer och prioriteringslogik i systemet.
  • För egna fält använd x_ prefix eller modulprefix så risken för namnkonflikter med framtida Odoo-versioner minskar.

Vanliga misstag


  • Att skapa pickings utan picking_type_id, vilket kan leda till felaktiga standardlokationer och oväntat beteende.
  • Att manipulera move_ids efter bekräftelse utan att förstå tillståndsmaskinen — det kan orsaka inkonsistenser i status och reserveringar.
  • Att glömma partner_id för leveranser — fraktlösningar och utskrifter behöver kontaktuppgifter för att fungera korrekt.
  • Att override:a button_validate utan att anropa super() — det kan förstöra backorder-logik och bryta andra moduler.
  • Att anta att move_ids och move_line_ids alltid är synkade — move lines skapas vid reservation eller detaljerad hantering och kan skilja sig temporärt.

Sammanfattning


Stock.picking är navet i Odoos lagerhantering: det lagrar överföringar, leveranser och mottag. Kännedom om fälten och hur andra moduler bygger vidare är avgörande för korrekt konfiguration, anpassning och integration.


Oavsett om du kartlägger lagerprocesser som konsult eller bygger moduler som utvecklare, sparar en gedigen förståelse av stock.picking tid och minskar risken för fel.

Redo att optimera ditt Odoo-lager?


Dasolo hjälper företag att implementera, anpassa och optimera Odoo. Vi är specialiserade på API-integrationer och skräddarsydd utveckling, med djup kunskap om Odoos datamodeller som stock.picking.


Behöver du stöd med Odoo-implementering, lageranpassningar eller integrationer? Vi kan hjälpa till. Boka en demo för att diskutera ditt projekt.

Odoo Stock.Picking: Så Fungerar Transfer- och Warehouse-flödet
Dasolo 10 mars 2026
Dela detta inlägg
Logga in att lämna en kommentar