Saltar al contenido

Uso de métodos para gestión de stock en múltiples ubicaciones

🐍 ODOO 18 · STOCK · DESARROLLO

Métodos para gestión de stock en múltiples ubicaciones

Cuando consultas cantidades por almacén o ubicación, Odoo expone varios campos: qty_available, free_qty, virtual_available, incoming_qty, outgoing_qty — cada uno con un significado distinto. Esta es la guía rápida para developers.

1Estructura jerárquica de ubicaciones

Odoo permite organizar inventario en tres niveles jerárquicos:

🏢 Almacenes (Warehouses)
Nivel superior. Ej: “Almacén Central”, “Sucursal Norte”.
📍 Ubicaciones (Locations)
Subdivisiones del almacén. Ej: “Estantería A1”, “Cuarentena”.
📦 Ubicaciones hijas
Mayor granularidad. Ej: “Estantería A1 → Bandeja Superior”.

2Ventajas operativas

🎯 Mayor precisión
Saber exactamente dónde está cada producto evita pérdidas y mejora picking.
📐 Optimización de espacio
Productos de alta demanda en ubicaciones de fácil acceso.
🔍 Trazabilidad
Auditorías sencillas al rastrear movimientos por ubicación.
🏪 Multi-almacén
Empresas con varias sucursales, stock independiente.
🔄 Mejor reabastecimiento
Evita roturas de stock localizadas.

3Casos de uso comunes

🛍️ Retail / e-commerce
Stock separado por tiendas vs. almacén web; ubicaciones para promociones o devoluciones.
🏭 Manufactura
Materias primas vs. productos terminados; zonas de control de calidad.
🚚 Logística avanzada
Cross-docking (mercancía en tránsito); stock entre almacenes.

4Métodos para consultar stock en Python

Odoo expone varios campos computados sobre product.product. Cada uno responde a una pregunta diferente:

Campo Qué devuelve
stock.quant Registros físicos de existencia (modelo).
qty_available Cantidad en almacén respetando contexto de ubicación.
free_qty Cantidad disponible (en almacén menos lo apartado).
virtual_available Stock físico + movimientos futuros confirmados.
incoming_qty Cantidad confirmada que va a entrar al almacén.
outgoing_qty Cantidad confirmada que va a salir del almacén.

5Ejemplo: campos computados por almacén en una venta

Para mostrar las diferencias, creamos campos computados que obtienen las cantidades según el almacén seleccionado en la venta:

Código Python con campos computados por almacén
📊 EJEMPLO DE PRODUCTO
El producto tiene 27 unidades totales en Odoo, pero distribuidas entre almacenes: GRAL: 17, BDG: 10.
Existencias del producto desglosadas por ubicación

Al seleccionar el producto en una venta con almacén General (GRAL), los campos calculados muestran las cantidades de ese almacén:

Venta con cantidades calculadas por almacén

6Diferencias entre cantidades calculadas

📦 En almacén
17
Cantidad total física.
✅ Disponible
15
Total menos lo apartado.
📤 Saliente
2
Confirmada para salir.
📥 Entrante
5
Confirmada para ingresar.
🔢 Quant
17
Total basado en stock.quant.
Comparativa visual de cantidades calculadas

📌 En resumen

El manejo de múltiples ubicaciones en Odoo 18 permite gestión más eficiente, precisa y escalable: reduce errores en picking/packing, optimiza espacio y mejora trazabilidad. Con los campos correctos (qty_available, free_qty, virtual_available), tus reportes y módulos personalizados consultan stock con precisión por ubicación. En Exdoo desarrollamos integraciones a medida que aprovechan estos métodos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¿Te gustaría implementar Odoo en tu empresa?

12 años de experiencia · +60 implementaciones exitosas · Partner Gold de Odoo en México

Hablemos por WhatsApp