En la gestión de inventarios, controlar el stock en diferentes ubicaciones (almacenes, estanterías, sucursales, etc.) es esencial para optimizar operaciones logísticas, reducir errores y mejorar la trazabilidad. Odoo 18 ofrece un sistema robusto para administrar múltiples ubicaciones de stock, permitiendo a las empresas tener un control preciso de sus existencias.

¿Cómo Funciona las Múltiples Ubicaciones en Odoo 18?
En Odoo, el módulo Stock permite estructurar las ubicaciones de inventario de manera jerárquica:
- Almacenes (Warehouses): Nivel superior (ej.: “Almacén Central”, “Sucursal Norte”).
- Ubicaciones (Locations): Subdivisiones dentro de un almacén (ej.: “Estantería A1”, “Zona de Cuarentena”).
- Ubicaciones hijas (Child Locations): Permiten mayor granularidad (ej: “Estantería A1 → Bandeja Superior”).
Ventajas de usar múltiples ubicaciones
Mayor precisión en la gestión de stock
- Saber exactamente dónde está cada producto evita pérdidas y mejora la eficiencia en picking.
Optimización de espacio
- Permite organizar stock por categorías, prioridad o rotación (ej.: productos de alta demanda en ubicaciones de fácil acceso).
Trazabilidad mejorada
- Auditorías más sencillas al poder rastrear movimientos por ubicación.
Soporte para múltiples almacenes
- Empresas con varias sucursales pueden gestionar stock independiente por ubicación.
Mejor planificación de reabastecimiento
- Al conocer el stock en cada ubicación, se pueden evitar roturas de stock localizadas.
Casos de uso comunes
Retail/e-commerce
- Stock separado por tiendas físicas vs. almacén de e-commerce.
- Ubicaciones para productos en promoción o devoluciones.
Manufactura
- Ubicaciones para materias primas vs. productos terminados.
- Zonas de control de calidad.
Logística avanzada
- Cross-docking (ubicaciones temporales para mercancía en tránsito).
- Gestión de stock en tránsito entre almacenes.
¿Cómo consultar stock por ubicación en código Python?
Odoo permite acceder a datos de stock mediante:
- stock.quant (registros físicos de existencia).
- qty_available (campo computado que considera el contexto de ubicación, mostrando la cantidad en almacén).
- free_qty (campo computado que considera el contexto de ubicación, mostrando la cantidad disponible en almacén).
- virtual_available (campo computado que considera el contexto de ubicación, mostrando la cantidad de producto y teniendo en cuenta no solo el stock físico, sino también los movimientos futuros confirmados).
- incoming_qty (campo computado que considera el contexto de ubicación, mostrando la cantidad confirmada de movimientos que entrarán al almacén).
- outgoing_qty (campo computado que considera el contexto de ubicación, mostrando la cantidad confirmada de movimientos que saldrán del almacén).
Para mostrar las diferencias entre los campos, crearemos campos computados obteniendo las cantidades en stock según el almacén seleccionado en la venta.

El producto seleccionado tiene cantidad en stock de 27 general en Odoo, pero por ubicaciones tiene GRAL: 17, BDG: 10.

Al seleccionar el producto en una venta con el almacén General (GRAL), se muestran las cantidades basadas en ese almacén para su ubicación de existencias.

Aquí se puede mostrar la diferencia entre cada cantidad de stock calculada.
· En almacén: 17 (Cantidad total)
· Disponible: 15 (Cantidad total – lo apartado)
· Saliente: 2 (Cantidad confirmada para salir de la ubicación)
· Entrante: 5 (Cantidad confirmada para ingresar de la ubicación)
· Quant: 17 (Cantidad total basada en el modelo Quant)

Así obtener una cantidad más específica sobre algún producto registrado dentro de Odoo.
El manejo de múltiples ubicaciones en Odoo 18 permite una gestión de inventario más eficiente, precisa y escalable. Al aprovechar esta funcionalidad, las empresas pueden:
·Reducir errores en el picking y packing.
·Optimizar espacio en almacenes.
·Mejorar la trazabilidad de productos.
📌 En resumen
Al utilizar las herramientas que nos ofrece Odoo, se pueden entregar reportes más precisos sobre productos en ubicaciones específicas.