Inventory Management

Last updated: november 21, 2019

Inventory Management



In Odoo, a Warehouse is a place where you stock your products. One can setup multiple warehouses, alongside create transfers between warehouses.

To create a new warehouse, go to Inventory>Configuration> Settings > Warehouse and activate manage several warehouses option.

Next go to Inventory > Configuration > Warehouses.

Click CREATE button to add new warehouse

Warehouse: In the field, insert the full name of the warehouse.

Short Name field: insert a 5-characters code for your warehouse. Keep in mind that this code is the one that will appear in the lists, so make sure you choose a name that is easy to understand and easy to enter.

Address field: You can select an existing company or create one on-the-go. Therefore, the address of your warehouse will be the same as the one of the company you selected. You can also leave this field empty and edit it afterwards.

Save all the changes to create a new warehouse. Now in the Dashboard you can see new operation types automatically created by Odoo on account of creation of a new warehouse.


A location is nothing but a particular space within warehouse say a shelf or floor. It can be called as a sub location of your warehouse. For this reason, one cannot link a location to multiple warehouses.

In Odoo, one can configure multiple locations under a single warehouse. Mainly the location comes in 3 models.

  • Physical Locations: An internal location within a warehouses for which you are the owner.
  • Partner Locations: Spaces within a customer or vendor's warehouse for which you aren’t the owner.
  • Virtual Locations: Space that do not exist in real, but in which products can be placed when they are not physically in an inventory say when products that are on their way to the warehouse (Procurements).

In Odoo, locations are structured like a tree, dependent on a parent-child relationship.


Go to Inventory application > Configuration > Settings> Warehouse and activate Storage Locations.

Next, go to Inventory application> Configuration > Locations to create new location

Upon clicking create button, you will be navigated to new window like below:

Here, you can define Location Name, select the Parent Location from the list. Parent location can be a physical, partner or virtual location. Alongside, one can also add multiple sub-locations to a location.

In case you want to allow this location to keep the scrapped/damaged products, you can tick the Is a scrap location? Menu. and Is a Return Location? to allow using this location as a return location.

In case Barcode application is installed, you can specify the barcode that corresponds to this particular location.


Procurement is the action of obtaining the desired or required amount of product rather than going for bulk, and the procurement inventory control system begins with a customer order. One of the prime advantages the end user can acquire from the procurement rule is that he can evade the possibility of excess inventory. Here, the end user is freed from the management or storing of excess stock. The procurement rule reduces the inventory levels and thereby the cost of storing the goods in the inventory.

Push Rule however involves forecasting inventory needs to meet customer demand. Disadvantage of the push inventory control system is -too much product is left in inventory as the sales are unpredictable. This eventually rise the cost of company to store these goods. However, the advantage is company will be always self-sufficient to meet customer orders

To satisfy a procurement, the system will scan for rules belonging to routes characterized in particular sale order.


Go to the Inventory >Configuration>Settings> Warehouse->Multi-step Routes.

In order to create new rules or view the existing rules go to Inventory >Configuration >Rules.

One can see the different actions set under the menu. To create a new rule, click CREATE button.

You will be navigated to a creation form like below:

Here you can define:

  • Action
  • Operation Type:
  • Source Location
  • Destination Location
  • Routes for the product:

The default routes in Odoo ERP includes: Drop Shipping, Re supply subcontractor on order, Manufacture, Buy and Make To Order.

  • Drop Shipping: Under the Drop Shipping function, the vendor does not keep the products in stock, rather process the delivering of goods directly from the vendor to the customer. There will not be any stock housing during the transit.
  • Buy: Buy proposes a purchase or manufacturing the product.
  • Re-supply Subcontractor on Order: Using this route, one can subcontract the production of some finished products through subcontractors.
  • Manufacture: Under this route, one can set up production plans and workflows for your customizable products.
  • Replenish on Order/ Make To Order: The Make to Order function trigger a purchase order as soon as a sales order related to the product is generated. Here, the function doesn’t evaluate the current stock and draft a purchase order even if the product quantity is inadequate. i.e. it triggers the purchase order regardless of the product quantity in hand.

One can see the routes for each product under the inventory tab of the product.


Routes are the different ways by which the particular products are obtained or sold from the warehouse. Routes might be relevant or not appropriate relying upon the products, the sales order lines, the stockroom, and so on. Odoo can manage advanced push/pull routes configuration for instance creating a route for managing the products manufacturing chain or say manage default locations per product.


Deliver to customers straight from your supplier based on products, orders or customers.


Unload incoming material and directly transfer to outbound gates with little to no storage in between.

Put away & Removal strategies

Define your own storage and removal strategies; FIFO, nearest available zone, LIFO, etc.

Pick - Pack - Ship

Design your own order process flow. Deliver to customers in one step (delivery order) or several steps: picking, packing, shipping.

Push & Pull Routes

Design your own product routes to automate transfer orders between warehouses or locations.


Manage all your warehouses with the same system and define replenishment rules between warehouses.


Odoo embeds some pre-configured routes for your warehouses. To see them,

In the Inventory application, go to Configuration > Warehouses.

In the Warehouse Configuration tab, Set Warehouse routes options set some routes according to your choices.

Under the form you will find the fields such as:

Short Name: Short name to identify your warehouse.

Company: The Company is automatically set from your user preference.

Under Warehouse configuration

Incoming shipments: Default incoming routes to follow:

  • Receive goods directly (1 STEP).
  • Receive goods in input and then stock (2 STEPS).
  • Receive goods in input, then quantity and then stock (3 STEPS).

Outgoing Shipments: Default outgoing routes to follow:

  • Deliver goods directly (1 STEP)
  • Send goods in output and then deliver (2 STEPS)
  • Pack goods, send goods in output and then deliver( 3 STEPS)

Under Resupply

Resupply Subcontractors: Resupply contractors with components.

Manufacture to Resupply: When products are manufactured, they can be manufactured in this warehouse.

Manufacture: Produce: Move the raw materials to the production location directly and start the manufacturing process. Pick/Produce: Upload the raw materials from the Stock to Input Location first, and then transfer it to the production location.

Buy to Re-supply: When products are brought, they can be delivered to this warehouse.

Custom Routes


Go to Inventory> Configuration>Routes

Upon clicking routes, you will be navigated to a new window like below. You can see the existing list of routes, however can create new routes via clicking the CREATE button.

Upon clicking the CREATE button, you get navigated to a new window like below to create your custom route.

Here you can define the route name, sequence, company (leave this field empty if the route is shared between all countries), Option to select the place where this route can be selected- Product Categories, Products, Warehouses, Sales Order Lines) and Rules.

Routes applied on warehouses

If you tick Warehouses, you have to choose on which warehouse it will be applied. The route will be set for all transfer in that warehouse that would meet the conditions of the procurement and push rules.

You can see the rules defined here

Routes applied on products

If you tick Products, you have to manually set on which product it will be applied.

Open the product on which you want to apply the routes (Inventory ‣ Master data ‣ Products). In the Inventory Tab, select the route(s):

Routes applied on Product Category

If you tick Product Categories, you have to manually set on which categories it will be applied.

Open the product on which you want to apply the routes (Configuration ‣ Product Categories). Select the route(s) under the Logistics section:

Routes applied on Sales Order lines

If you tick Sales order lines, you have to manually set the route every time you make a sale order.

In order to make it work, you also have to activate the use of the routes on the sales order.

In the Sales application, go to Configuration ‣ Settings and tick Choose specific routes on sales order lines (advanced).

You can now choose the routes for each lines of your sales orders:

Make-to-Order Route

If you work with no stock, or with minimum stock rules, it is better to use the Make To Order route. Combine it with the route Buy or Manufacture and it will trigger automatically the purchase order or the Manufacturing Order when your products are out-of-stock.


Put away is the way toward taking items off the receiving shipment and placing them in a safe area. For instance, your warehouse will have volatile substances, in that case placing every product together can cause some kind of chemical reaction.


Go to Inventory>Configurations>Settings> Warehouse and Activate setting Storage Locations.

Put away strategies are defined at location level.

If you go to Inventory> Configuration> Locations

You can see the putaway rules on the top of the location screen.

Via clicking the Put away rules, you will be navigated to a new window like below:

Here you can enter the Product name, Category of the product, Location to which that product arrives in and also to which location the product should be stored to. Defining these, the put away rule will trigger the move of goods/items correspondingly.


Removal strategies are usually in picking operations to select the best products in order to optimize the distance for the worker, for quality control purpose or due to reason of product expiration.

When a product movement needs to be done, Odoo will find available products that can be assigned to shipping. The way Odoo assign these products depend on the removal strategy that is defined on the product category or on the location.


Go to Inventory> Configuration> Settings and enable option Set Put away Rules on Location, then click on Save.

Then, open Inventory> Configuration > Locations and open the location on which you want to apply a removal strategy.

Odoo enables with 3 types of Removal Strategies:

  • First In First Out (FIFO)
  • Last in First Out (LIFO)
  • First Expiry First Out (FEFO)
FIFO ( First In First Out )

A First In First Out strategy implies that the products that were stocked first will move out first. Companies should use FIFO method if they are selling perishable goods. Companies selling products with relatively short demand cycles, such as clothes, also may have to pick FIFO to ensure they are not stuck with outdated styles in inventory.


Go to Inventory ‣ Configuration ‣ Locations, open the stock location and set FIFO removal strategy.

LIFO (Last In First Out)

In this warehouse management, the products which are brought in the last, moves out the first. LIFO is used in case of products which do not have a shelf life.


Go to Inventory ‣ Configuration ‣ Locations, open the stock location and set LIFO removal strategy.

FEFO (First Expiry First Out )

In FEFO warehouse management, the products are dispatched from the warehouse according to their expiration date.

Go to Inventory ‣ Configuration ‣ Setting. Check the option Expiration date Then click on save changes.

This will allow you to set four expiration fields for each lot or serial number: best before date, end of life date, alert date and removal date. These dates can be set from Inventory Control ‣ Serial Numbers/Lots.

Product Life Time: When a new a Serial Number is issued, this is the number of days before the goods may become dangerous and must not be consumed.

Product Use Time: When a new a Serial Number is issued, this is the number of days before the goods start deteriorating, without being dangerous yet

Product Removal Time: When a new a Serial Number is issued, this is the number of days before the goods should be removed from the stock.

Product Alert Time: When a new a Serial Number is issued, this is the number of days before an alert should be notified.

When a new serial number is assigned to this product. These dates are automatically calculated and stored in the Lot/serial number.

If you are not giving these days in the product form, you can give the dates after the creation of the lot/serial number also.


Having a precise inventory valuation is critical on the grounds that, it is the reported measure of the stock or the inventory that influences the expense of goods sold, the net profit, and the overall gain on the income statement. Also, the accurate inventory valuation measures the current resources, working capital, investors' or proprietor's equity reported on the balance sheet.

Product Categorization


Go to Inventory->Configuration->Product Categorization

You can see a list of product categories in Odoo.

To create a new product category, click the button CREATE.

A creation form will appear like below:

The field includes:

  • Category Name: One can provide the new category name in the corresponding field
  • Parent category: One can create the hierarchy of the product category by choosing the parent category.
  • Tax Cloud Category: This refers to Taxability Information Codes that are used by Tax Cloud to compute specific tax rates for each product type. This value is used when no TIC is set on the product. If no value is set here, default value set in invoicing will be used.
  • Inventory Valuation:

Odoo offers two inventory valuation methods: Manual and Automated

  • Manual: The accounting entries to value the inventory are not posted automatically when a product enters or leaves the company.
  • Automated: An accounting entry is automatically created to value the inventory when a product enters or leaves the company.

Costing Method:

Odoo provides with 3 Costing Methods:

  • Standard Price: The products are valued at their standard cost defined on the product. Value = Total quantity*Standard Price. For example, product quantity is 15 and standard price of the product is Rs 80, then value= 15 * 80 = Rs 1200
  • First In First Out (FIFO): The products are valued supposing those that enter the company first and will also leave first. First I have purchased 10 products at Rs 80 , then 15 product at Rs 90 ,and sold 5 products Then, Value = 5 * 80 + 15 * 90 = Rs 1750
  • Average Cost (AVCO): The products are valued at weighted average cost. Value = Quantity * cost of the product. For example, if I have purchased 10 products at Rs 80 and 15 product at Rs 90 , and sold total 10 products. In this case, the cost of the product equals 86 and Quantity 15. The Value equals 15 * 86 = Rs 1290
    • Force removal strategy: Select a specific removal strategy that will be used regardless of the source location for the product category. There are 3 types of force removal strategy available in odoo,
      • First In First Out (FIFO): The product which has arrived first will get removed first from the stock.
      • Last In First Out (LIFO): The product which has arrived last will get removed first from the stock.
      • First Expiry First Out (FEFO): The product which gets firstly expired will be removed first from the stock.


Cybrosys Technologies Pvt. Ltd.
Neospace, Kinfra Techno Park
Kakkancherry, Calicut
Kerala, India - 673635



Cybrosys Technologies Pvt. Ltd.
1st Floor, Thapasya Building,
Infopark, Kakkanad,
Kochi, India - 682030.



Cybrosys Techno Solutions
The Estate, 8th Floor,
Dickenson Road,
Bangalore, India - 560042

Send Us A Message