Skip to Content

Odoo Stock Moves and Stock Picking: Understanding Warehouse Operations

October 22, 2026 by
Odoo Stock Moves and Stock Picking: Understanding Warehouse Operations
Sales

Odoo Stock Moves and Stock Picking: Understanding Warehouse Operations

Efficient inventory management depends on more than simply knowing how much stock is available. Businesses also need to understand how products move through the warehouse, where they come from, where they are going, and what happens at each stage of the process.

Odoo Inventory provides a powerful framework for managing these warehouse operations through concepts such as Stock Pickings, Stock Moves, and Stock Move Lines.

For new Odoo users, these terms can initially be confusing. A picking, a move, and a move line are related, but they represent different levels of a warehouse operation.

In this article, we will explain Odoo Stock Picking and Stock Moves, how they work together, and how businesses can use them to manage receipts, deliveries, internal transfers, and other warehouse operations efficiently.

What Is a Stock Picking in Odoo?

A Stock Picking represents a warehouse operation involving the movement of products from one location to another.

For example, a customer places an order for:

  • 5 Laptops

  • 10 Monitors

  • 20 Keyboards

Odoo can create a delivery operation for the order. That delivery is represented by a stock picking.

A picking acts as a container or document for the overall warehouse operation.

It can include multiple stock moves.

Example

Customer Order
      ↓
Delivery Picking
      ↓
 ┌───────────────┐
 │ Stock Move 1  │ → 5 Laptops
 │ Stock Move 2  │ → 10 Monitors
 │ Stock Move 3  │ → 20 Keyboards
 └───────────────┘
      ↓
Customer

The picking therefore provides an overview of the operation, while the individual stock moves describe the products being moved.

What Is a Stock Move?

A Stock Move represents the movement of a specific product or quantity between two inventory locations.

For example:

Product: Laptop

Quantity: 5

Source: WH/Stock

Destination: Customer Location

This can be represented as:

WH/Stock
   │
   │ 5 Laptops
   ↓
Customer

The stock move contains the important information needed to describe that movement.

Depending on the operation, a stock move may include information such as:

  • Product

  • Quantity

  • Source location

  • Destination location

  • Unit of measure

  • Operation type

  • State

  • Related picking

  • Procurement or sales references

Stock Picking vs. Stock Move

One of the easiest ways to understand the difference is:

A picking represents the warehouse operation, while a stock move represents an individual product movement within that operation.

For example, suppose a delivery contains three products.

Stock Picking

Delivery Order: WH/OUT/00045

Contains:

  • 5 Laptops

  • 10 Monitors

  • 20 Keyboards

Stock Moves

The picking may contain:

Move 1: 5 Laptops

Move 2: 10 Monitors

Move 3: 20 Keyboards

So the relationship can be represented as:

Stock Picking
     │
     ├── Stock Move → Laptop
     ├── Stock Move → Monitor
     └── Stock Move → Keyboard

What Is a Stock Move Line?

There is another important concept in Odoo: the Stock Move Line.

A stock move describes what needs to move, while move lines provide more detailed execution information about how the movement actually takes place.

This becomes particularly important when using:

  • Lots

  • Serial numbers

  • Packages

  • Detailed quantities

  • Multiple source locations

  • Multiple destination locations

For example, a stock move might say:

Move: 10 Laptops

During warehouse processing, those 10 laptops might be tracked as:

Move
└── 10 Laptops
      │
      ├── Serial Number LAP001
      ├── Serial Number LAP002
      ├── Serial Number LAP003
      └── ...

Move lines provide the detailed operational information needed to execute and track the movement.

How Stock Pickings and Stock Moves Work Together

Let's take a simple sales example.

A customer purchases:

  • 2 Televisions

  • 3 Laptops

  • 5 Keyboards

The sales order creates a delivery operation.

Step 1: Sales Order

Customer
   ↓
Sales Order

Step 2: Delivery Picking

Odoo creates a warehouse delivery operation.

Sales Order
   ↓
Delivery Picking

Step 3: Stock Moves

The picking contains individual product movements:

Delivery Picking
│
├── 2 Televisions
├── 3 Laptops
└── 5 Keyboards

Step 4: Warehouse Execution

Warehouse employees pick the products from their storage locations.

WH/Stock
   ↓
Picking
   ↓
Customer

Step 5: Validation

Once the warehouse operation is completed and validated, Odoo updates the inventory quantities.

This creates a traceable record of the warehouse movement.

Types of Stock Pickings in Odoo

Stock pickings are used for several different warehouse operations.

1. Receipts

Receipts represent products coming into the warehouse.

Example:

Vendor
   ↓
WH/Input
   ↓
WH/Stock

A purchase order can generate an incoming picking for receiving products.

2. Delivery Orders

Delivery orders represent products leaving the warehouse for a customer.

Example:

WH/Stock
   ↓
WH/Output
   ↓
Customer

A sales order can generate a delivery picking.

3. Internal Transfers

Internal transfers move products between locations within the organization.

For example:

WH/Stock
   ↓
WH/Stock/Accessories

or:

Warehouse A
   ↓
Warehouse B

Internal transfers are useful for:

  • Replenishment

  • Warehouse transfers

  • Stock redistribution

  • Production supply

  • Moving products between storage areas

Example: Internal Transfer

Suppose a company has two warehouses:

Warehouse A: 100 laptops

Warehouse B: 20 laptops

Warehouse B needs additional stock.

An internal transfer can move:

30 Laptops

from:

WH/A/Stock

to:

WH/B/Stock

The operation can be represented as:

Warehouse A
WH/A/Stock
     │
     │ 30 Laptops
     ↓
Warehouse B
WH/B/Stock

Odoo records this movement through the appropriate stock picking and stock move records.

Stock Picking Workflow

A typical warehouse workflow can look like this:

Document Created
      ↓
Stock Picking
      ↓
Stock Moves
      ↓
Reservation
      ↓
Picking / Processing
      ↓
Move Lines
      ↓
Validation
      ↓
Inventory Updated

The exact workflow depends on the warehouse configuration and the operation being performed.

What Is Stock Reservation?

Before products are picked, Odoo can reserve available inventory for a warehouse operation.

For example:

A customer orders:

10 Laptops

The warehouse currently has:

50 Laptops

Odoo can reserve 10 units for the delivery.

The remaining quantity is:

40 available units

This helps prevent the same inventory from being allocated incorrectly to multiple operations.

Reservation and Stock Moves

Reservation is closely connected to stock moves.

A stock move may require:

10 Laptops

Odoo checks whether sufficient inventory is available and can reserve the required quantity.

If inventory is available:

Required: 10
Available: 50
Reserved: 10

If only 6 units are available:

Required: 10
Available: 6
Reserved: 6

The remaining quantity may need to wait for replenishment or another inventory operation, depending on the configuration.

Stock Move States

Stock moves can pass through different states during their lifecycle.

Common states include:

  • Draft

  • Waiting

  • Confirmed

  • Assigned

  • Done

  • Cancelled

The exact behavior depends on the operation and Odoo configuration.

Example

Draft
  ↓
Confirmed
  ↓
Assigned
  ↓
Done

Understanding these states is particularly useful for developers and functional consultants troubleshooting warehouse workflows.

Stock Move Example With Lots

Consider a company selling food products.

A warehouse receives:

100 bottles of Product A

with:

Lot Number: LOT-2026-001

A customer later purchases:

20 bottles

The delivery can identify the relevant lot through detailed warehouse operations.

This provides traceability from:

Vendor
  ↓
Receipt
  ↓
Lot
  ↓
Warehouse Stock
  ↓
Customer Delivery

Lot tracking is especially valuable for businesses that need product traceability.

Stock Move Example With Serial Numbers

Serial numbers provide even more detailed tracking.

Suppose a company receives:

5 laptops

Each laptop has a unique serial number:

SN001
SN002
SN003
SN004
SN005

When one laptop is delivered to a customer, Odoo can record the specific serial number associated with that delivery.

This creates a detailed traceability chain.

Serial number tracking is commonly used for:

  • Electronics

  • Machinery

  • Medical equipment

  • High-value products

  • Warranty-controlled products

Stock Moves and Multi-Step Routes

Odoo can also support more complex warehouse workflows.

For example:

Vendor
  ↓
Input
  ↓
Quality Control
  ↓
Stock
  ↓
Output
  ↓
Customer

A product may therefore pass through multiple warehouse locations before reaching its final destination.

Each movement can be represented through stock operations and stock moves.

This allows businesses to maintain visibility into where inventory is located at every stage.

Stock Moves in Manufacturing

Stock moves are not limited to sales and purchases.

They also play an important role in manufacturing.

For example, a manufacturing order requires:

  • 10 kg of raw material

  • 5 units of Component A

  • 2 units of Component B

The required materials may move from inventory to the production location.

WH/Stock
    ↓
Production
    ↓
Finished Products
    ↓
WH/Stock

These inventory movements form an important part of the manufacturing workflow.

Stock Moves and Inventory Valuation

Stock movements can also have an impact on inventory valuation, depending on the company's inventory configuration and valuation method.

For example, businesses may use:

  • FIFO

  • AVCO

  • Standard Cost

When products move into or out of inventory, the related inventory and accounting impact depends on the configured valuation approach.

This is why accurate stock movement records are important not only for warehouse teams but also for accounting and financial reporting.

Why Accurate Stock Pickings Matter

Accurate stock pickings provide several benefits.

Better Inventory Accuracy

The system knows what has been received, transferred, and delivered.

Better Traceability

Businesses can trace products through their warehouse operations.

Improved Order Fulfillment

Warehouse employees have clear instructions for picking and delivering products.

Better Reporting

Managers can analyze warehouse activity and inventory movements.

Reduced Manual Errors

Structured warehouse operations reduce reliance on manual stock adjustments.

Common Mistakes With Stock Pickings and Stock Moves

Mistake 1: Confusing Picking With Move

A picking represents the overall operation, while moves represent the individual product movements within it.

Understanding this distinction is important when configuring or troubleshooting Odoo.

Mistake 2: Ignoring Move Lines

Move lines become particularly important when using lots, serial numbers, packages, or detailed quantities.

Mistake 3: Validating Operations Without Checking Quantities

Warehouse employees should verify quantities and tracking information before validating operations.

Mistake 4: Making Frequent Manual Inventory Adjustments

If inventory is constantly corrected manually, the underlying warehouse workflow should be investigated.

Mistake 5: Poor Location Configuration

Incorrect source and destination locations can create inventory discrepancies and make warehouse reporting unreliable.

Best Practices for Managing Stock Operations in Odoo

1. Create a Clear Warehouse Structure

Define locations according to the physical warehouse.

2. Use Appropriate Routes

Configure routes according to how products actually move through the business.

3. Use Barcode Operations

Barcode scanning can reduce manual data entry and improve warehouse accuracy.

4. Use Lot and Serial Tracking Where Required

Tracking provides better product traceability and accountability.

5. Train Warehouse Employees

Users should understand receipts, deliveries, internal transfers, reservations, and validation.

6. Monitor Inventory Exceptions

Regularly investigate negative stock, unreserved quantities, failed transfers, and unusual inventory adjustments.

Odoo Stock Picking and Stock Move: Quick Comparison

FeatureStock PickingStock MoveStock Move Line
PurposeRepresents an operationRepresents product movementRepresents detailed execution
ExampleDelivery Order10 LaptopsSerial-numbered laptops
Source LocationYesYesYes
Destination LocationYesYesYes
ProductMultiple possibleSpecific productSpecific product/detail
Lots/SerialsOperation-level contextProduct movementDetailed tracking
QuantityOverall operation contextPlanned/demand quantityDetailed done quantity

Conclusion

Understanding Stock Pickings, Stock Moves, and Stock Move Lines is essential for anyone working with Odoo Inventory.

A stock picking represents the overall warehouse operation, while stock moves describe the individual product movements within that operation. Stock move lines provide the detailed execution information required for quantities, lots, serial numbers, packages, and other tracking requirements.

Together, these concepts allow Odoo to provide a structured and traceable approach to warehouse management.

Whether your business is handling customer deliveries, vendor receipts, internal transfers, manufacturing operations, or complex multi-step warehouse routes, understanding how stock movements work can help you build a more accurate and efficient Odoo inventory system.

Need Help With Odoo Inventory?

ERP Harbor Consulting Services helps businesses implement, configure, customize, and optimize Odoo Inventory and warehouse operations.

Our services can include:

  • Odoo Inventory implementation

  • Warehouse configuration

  • Stock picking and routing

  • Putaway and removal strategies

  • Barcode implementation

  • Lot and serial number tracking

  • Multi-warehouse configuration

  • Inventory valuation

  • Manufacturing inventory workflows

  • Odoo customization and integrations

  • User training and support

A properly configured Odoo warehouse can give your business better inventory accuracy, traceability, visibility, and operational efficiency.

Odoo Putaway Rules: How to Optimize Warehouse Storage Locations