What's the difference between quants, lots and products?

I want to know the difference between quants, lots and products. Is there a relationship between them ?


Quant indicates a specific stock quantity of the same product that entered your warehouse at a specific moment in time in one specific operation; in a single lot (batch) if lot tracking is enabled. 

Let's give an example. You purchased 10 pieces a week ago, you received 6 pieces yesterday and today the remaining 4 pieces arrive. In this case, two quants will be created: 1 with 6 pieces, another one with 4 pieces. Should the batch with 4 pieces be linked to individual Lot (serial) numbers, the result will be 4 separate quants.

The Quants table stores the current state of stock (per location). It is updated each time a stock move is set to done and has 3 main impacts:

  • A quant optimizes the computation (e.g. quantity available), because a quant only contains information about the current stock (not the past or the future). The volume is smaller and doesn’t grow in time;
  • A quant  will be used in FIFO, LIFO and FEFO costing, as we need to match the incoming and outgoing moves for a correct stock valuation;
  • A quant can also be used for upstream/downstream traceability and lot management; a quant contains the information about lots. Quant history displays a list of stock moves indicating the current stock level.

In case a quant has been reserved,  you can see the related stock move in the Reserved for Move field. Quants can be split in order to reserve only the quantities needed.

To display quants, make sure to activate Technical Features for your user.

lot number (also called serial number in Odoo) can be considered as a serial number for a single product, or a batch containing quantities of a certain product. Lots are typically used to identify a serial number (for a computer, printer, ...), or as production lots to indicate for instance quality grades or delivery lots. You can make it mandatory to enter a lot number according to the incoming/outgoing/full traceability options ticked in the Product Variant form. 

Product form contains information about articles you buy, sell, produce, store and deliver. The product form has several tab pages, allowing you to enter in one place required information for various apps of your Odoo, such as accounting, sales, purchases and stock management. Thanks to this integration of the various apps, your product information is stored in one place and can easily be updated. A product is composed of a product template, which data always apply, and one or more product variants, each of which can have specific settings for a number of data.

One of the main characteristics of a product, is the product type, i.e. stockable productconsumable or service.

The following table summarizes the differences between the products types:

For consumables, this means:

  • Follow push and pull rules;
  • No putaway/removal strategies;
  • No inventory valuation possible.

Let's give a concrete example on how quants are used with Lot Management combined with a 2 step goods receipt. Tick the option Track lots or serial numbers and Manage advanced routes from Settings > Configuration > Warehouse.

Open the Warehouse form from the menu Warehouse > Configuration > Warehouses. On the tab page Warehouse Configuration, next to Incoming Shipments, tick Unload in input location then go to stock (2 steps).

We decided to receive our goods in two steps (first to Input, then to Stock) and to assign lot numbering. Now let's see the impact of lot numbers on quants

I receive products from my supplier for the given lot numbers:

Stock Move ID 1

  • 5 pieces from Supplier location → Input location, lot #1

Stock Move ID 2

  • 3 pieces, from Supplier location → Input location, lot #2

In the Quants table, we have:

  • 5 pieces in Input, lot #1 (quant history: ID1)
  • 3 pieces in Input, lot #2 (history: ID2)


Now we proceed with our internal transfer from Input to Stock and we confirm the Internal Transfer through the menu Warehouse > Operations > All Operations:  

  • Stock Move ID3: 6 pieces, from Input location → Stock location

We get the following Quants, since the 6 pieces will be assigned according to the quants available:

  • 5 pieces in Stock, lot #1 (history: ID1, ID3)
  • 1 piece in Stock, lot #2 (history: ID2, ID3)
  • 2 pieces in Input, lot #2 (history: ID2)

The related Quant history shows the related stock moves:

Need more info?

This documentation page has been extracted from the Q&A section where you can discuss it and get feedback.
Related question