OdooWiki OCA HUB

OCA inventory and logistics modules for Odoo

Warehouses, locations, reservations, replenishment, lots and serial numbers, barcodes, shipping and carriers. The area with the most OCA modules, because every warehouse works differently. The catalogue has 840 modules in this area, 2 of them confirmed in Odoo 20.0 (reviewed on 2026-11-03).

Confirmed modules per version

12.0
185 modules
13.0
273 modules
14.0
376 modules
15.0
206 modules
16.0
405 modules
17.0
201 modules
18.0
451 modules
19.0
122 modules
20.0
2 modules

OCA repositories in this area

Other areas

Modules in this area

  • partner_default_delivery_carrier

    Lets you choose a default delivery method per company in the Sales settings, so every new partner automatically gets that delivery method filled in.

  • partner_delivery_info

    Lets you store standard delivery instructions and assign one to each customer, so the carrier knows how to handle the delivery. Manage the list of instructions from the Delivery menu in Inventory.

  • Partner Delivery ScheduleOdoo 12, 13, 15, 16, 17, 18, 19
    partner_delivery_schedule

    Create delivery time windows (days and hours) and assign them to partners, so their delivery schedules appear on the partner form and on outgoing delivery documents.

  • Partner Delivery ZoneOdoo 12, 13, 14, 15, 16, 17, 18, 19
    partner_delivery_zone

    Lets you assign a delivery zone to customers and see it on quotations, sales orders and delivery orders. You can also filter and group records by delivery zone.

  • partner_delivery_zone_calendar

    Lets you attach a working calendar to a delivery zone, so each zone can be linked to its own availability schedule.

  • partner_delivery_zone_weighing

    Adds the customer's delivery zone to the weighing cards used by the weighing assistant, so warehouse staff can see which zone each weighing belongs to.

  • printing_auto_shipment_advice

    Automatically print documents when a shipment advice is marked as done, using printing configurations set per warehouse. Users can also print manually from the shipment advice form.

  • printing_auto_stock_picking

    Automatically print documents (such as delivery slips or carrier labels) when a transfer is validated, based on the printing rules configured on each operation type.

  • Procurement Auto Create GroupOdoo 12, 13, 14, 15, 16, 17, 18
    procurement_auto_create_group

    Lets you flag a stock rule so that each procurement run creates its own new procurement group, keeping the resulting stock moves separate from other transfers.

  • procurement_auto_create_group_by_product

    Lets you make Odoo create a separate transfer (picking) for each product when stock rules generate moves, by turning on a 'Procurement Group by Product' option on a stock rule.

  • procurement_auto_create_group_carrier

    Automatically copies the delivery carrier set on a partner's delivery address into the procurement group created by stock rules, so grouped transfers keep the right carrier.

  • product_barcode_constraint_per_company

    Allows the same product barcode to be used by different companies in a multi-company Odoo database, instead of being globally unique.

  • Product cost price avco syncOdoo 12, 13, 14, 15, 16, 17, 18
    product_cost_price_avco_sync

    Corrects the average cost of products and lots when a validated stock move is edited, by rewriting the original valuation layer and replaying the whole valuation chain. Adds a server action to force this recalculation from selected valuation layers.

  • product_cost_price_avco_sync_mrp

    Keeps the cost of manufactured products in sync with the cost of the materials consumed in their production orders, so the finished product's average cost reflects updated raw material prices.

  • product_cost_price_avco_sync_mrp_subcontracting

    Keeps product cost prices in sync when subcontracting production costs change. When a subcontract move's price is updated, the related production moves and their stock valuation layers are updated too.

  • product_customerinfo_picking

    Shows the customer-specific product code and name on stock transfers and their printed delivery/picking reports, based on the customer set on the transfer.

  • product_expiry_assign

    Lets you allow Odoo to reserve expired lots again, so you can still move them to another location. You turn this on with a company-level setting called "Ignore Expiration Date".

  • product_expiry_simple

    Add a single expiry date on lots/serials and use FEFO (First Expiry First Out) to pick the soonest-expiring stock first. Odoo warns you when a transfer contains expired lots.

  • product_gs1_barcode

    Adds GS1 barcode encoding to products and lots, so Odoo can generate GS1-128 and GS1-Datamatrix codes containing the product barcode, lot number and expiry date.

  • product_gtin

    Adds optional validation of product barcodes so that EAN8, ISBN10, UPC and EAN13 codes are checked for correct format before being saved. Administrators choose which barcode types to validate in the product settings.

  • Multiple barcodes on productsOdoo 13, 14, 15, 16, 17, 18, 19
    product_multi_barcode

    Lets users store several barcodes on each product instead of only one, and keeps the existing single barcode field in sync with the first barcode in the list.

  • product_multi_barcode_constraint_per_company

    This glue module makes product barcodes company-specific when using multiple barcodes per product. It ensures that duplicate barcode checks only consider barcodes from the same company or shared barcodes.

  • product_multi_barcode_stock_menu

    Adds a 'Product Barcodes' menu under Inventory configuration so users can see a list of all product barcodes in one place.

  • product_multi_barcode_supplierinfo

    Links supplier pricelist barcodes to the product's list of barcodes. When you enter a barcode on a supplier line, it is automatically added to the product's barcodes and shown in the product form.

  • product_multi_ean

    This module lets you store several EAN13 barcodes on a single product, with one marked as the main barcode. You can add, reorder and search products by any of their barcodes.

  • product_packaging_multi_barcode

    Lets you store several barcodes on a product packaging, not just one. The main barcode stays in sync with the first barcode in the list, and duplicate barcodes are blocked.

  • product_packaging_usability

    Adds a search screen for product packagings and a small button on the packaging list that jumps to all packagings of the same product.

  • product_quantity_update_force_inventory

    When you press the 'Update Quantity' button on a product, Odoo now opens a new Inventory Adjustment form for that product instead of editing stock quantities directly, giving you full traceability of inventory changes.

  • Product Route ProfileOdoo 14, 15, 16, 17, 18
    product_route_profile

    This module lets you group warehouse routes into reusable "route profiles" and assign them to products, so you can set a product's delivery/receiving flows in one click instead of picking routes one by one.

  • product_route_profile_internal_resupply

    Lets you assign dedicated internal resupply routes to individual products, separate from the shared route profile, so a product can be replenished from a specific warehouse without affecting other products.

  • product_supplierinfo_barcode

    Adds a barcode field to supplier pricelist items (supplier info), so each supplier's article number can be stored and used to find products by supplier barcode.

  • product_supplierinfo_for_customer_picking

    Shows the customer-specific product code and name on each stock move of a transfer, based on the customer set on the transfer.

  • product_supplierinfo_picking

    Shows the supplier's product name and supplier product code directly on stock moves, so warehouse users can see the vendor's own reference for the product while processing a transfer.

  • product_view_inventory_no_search_default_my_count

    Removes the automatic "My Counts" filter when opening the Inventory adjustment view, so users see all stock quantities instead of only the ones assigned to them.

  • product_weighable_default_weight

    Automatically fills in the weight of weighable products based on their unit of measure, so you don't have to type it manually. It also updates existing products when installed.

  • purchase_stock_picking_backorder_policy

    Lets you set a backorder policy on a vendor and on each purchase order, so the receipt created from the order automatically follows that policy.

  • Purchase Stock Picking Invoice LinkOdoo 13, 14, 15, 16, 17, 18, 19
    purchase_stock_picking_invoice_link

    Links purchase orders, stock deliveries/receipts and vendor bills so you can see which pickings an invoice was based on, and which invoices cover a given receipt or return.

  • purchase_stock_picking_restrict_cancel

    This module prevents users from cancelling a stock transfer when the related stock moves come from a purchase order, by flagging the purchase order as a blocking object.

  • purchase_stock_product_replenish_supplier

    When you use the Replenish wizard on a product, Odoo now pre-fills the supplier with the product's main vendor, even if no supplier was set on the orderpoint.

  • route_planning

    Plan and manage delivery routes: define geographic areas, build ordered lists of checkpoints (stops) for each route, and let Odoo optimise the visiting order and times automatically. Drivers mark stops as done or report incidents.

  • route_planning_delivery

    Adds a 'Route Planning' delivery method to Odoo so sales orders and deliveries can be linked to a route area, while preventing that carrier from creating real shipments.

  • route_planning_rma

    Adds a route area field to RMA forms, return wizards and RMA creation wizards so that returns and deliveries follow the correct route area. It automatically sets the destination location and updates related pickings.

  • route_planning_rma_delivery

    When a return (RMA) uses a Route Planning carrier, this module shows and requires a Route Area field on the RMA form and on the return/delivery wizards, and clears it automatically for other carrier types.

  • route_planning_rma_sale

    Adds a "Reception route area" field to the RMA creation wizard opened from a sales order, so returned goods can be assigned to a route area and its stock location.

  • route_planning_sale_stock

    This module links sales orders to route areas, so the delivery route and destination location are automatically set from the customer's route area. It also updates pending deliveries when the route area is changed on a sales order.

  • route_planning_stock

    Links delivery routes and checkpoints to stock transfers: each route area gets its own transit location and stock rules, and outgoing transfers are automatically added to a route and validated when the checkpoint is completed.

  • sale_automatic_workflow_reserve_sale_stock

    Lets you reserve stock automatically for draft quotations before they are confirmed, based on the settings of each automatic workflow. You choose how many days the reservation lasts and from/to which locations the stock is reserved.

  • sale_elaboration_weighing

    Adds elaboration information to the weighing assistant: a new quick-start button to weigh elaborated moves, an elaboration note badge on the weighing cards, and filters to show only elaborated or not elaborated moves.

  • sale_input_barcode

    Scan product barcodes directly on a sale order to add order lines quickly. A setting lets you choose whether each scan creates a new line or increases the quantity of an existing line.

  • sale_input_barcode_gs1

    Scan GS1 barcodes (with GTIN, lot and expiry date) to add sale order lines, automatically finding or creating the matching lot.

  • Sale Line Returned QtyOdoo 13, 14, 15, 16, 18, 19
    sale_line_returned_qty

    Shows, on each sales order line, how many units have been returned by the customer. The returned quantity is calculated automatically from validated return deliveries and appears once the order is confirmed or completed.

  • Sale Line Returned Qty MrpOdoo 13, 14, 15, 18
    sale_line_returned_qty_mrp

    Automatically corrects the returned quantity shown on sales order lines when the product is a kit (phantom bill of materials), including dropshipped kits.

  • sale_order_deliverable_rate

    Shows on each sale order and order line how much of the ordered quantity the current stock can actually deliver, as a percentage. Salespeople can see this rate on the order form, in the order list and filter orders by how deliverable they are.

  • Sale Order Global Stock RouteOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_order_global_stock_route

    Lets you pick one or more warehouse routes directly on a quotation or sales order, and automatically copies them to all its order lines so the same delivery path is used for the whole order.

  • sale_order_warehouse_from_delivery_carrier

    Lets you link a default warehouse to each delivery carrier, so draft sales orders using that carrier automatically get that warehouse.

  • sale_planned_consumed_date

    Adds a "Planned consumed date" field on sale order lines, taken from the order's commitment date, and passes it to stock when the sale order is confirmed.

  • sale_purchase_stock_line_note

    Carries the note written on a sales order line through to the delivery stock moves and, for buy-to-order products, onto the purchase order line. A hidden setting can also show these notes on the picking operations report.

  • Sale Stock Available Info PopupOdoo 12, 13, 15, 16, 17, 19
    sale_stock_available_info_popup

    Adds an 'Available to promise' quantity to the stock information popover shown on sale order lines, so salespeople see how much of a product can actually be promised for the line's scheduled date.

  • sale_stock_available_to_promise_release

    Links sales orders to the Available to Promise release process: each sales order line shows whether the product is available, partially available, on order, to restock or not available, and the sales order shows how many stock moves still need to be released.

  • sale_stock_available_to_promise_release_block

    Block the release of deliveries directly from sales orders and plan when existing blocked deliveries should be unblocked when a new order is confirmed.

Data imported from GitHub: “confirmed” means branch, module directory and installable manifest checked on the review date. A module that is not confirmed in a version may still exist: it may be in another repository or pending the next review. Active support and OCA certification are not assessed.