Rutas y reglas push y pull

Las rutas en Odoo controlan el movimiento de productos entre distintas ubicaciones, ya sean internas o externas, mediante reglas de empuje y de extracción. Una vez configuradas, estas reglas ayudan a automatizar la logística del movimiento de productos según condiciones específicas.

Nota

Las rutas se pueden aplicar a productos, categorías de productos, métodos de envío, embalajes y a la línea del pedido de venta.

Acerca de las rutas y la terminología

Un almacén genérico cuenta con muelles de recepción, un área de control de calidad, ubicaciones de almacenamiento, áreas de recolección y empaquetado y muelles de envío. Conforme el producto pasa por estas ubicaciones, cada una activa la ruta y reglas específicas del producto.

screenshot: daily-operations-use-routes-stock-example
menu
(diagram)
shows
A schematic drawing of a warehouse with an input area, a quality control area, a stock area and an output area.
module
stock
notes
Simple schematic drawing, no Odoo UI.

En este ejemplo, los camiones de los proveedores descargan los palés de productos ordenados en los muelles de recepción. A continuación, los operadores escanean los productos en el área de recepción. Dependiendo de sus rutas y reglas de almacenamiento, algunos productos se envían al área de control de calidad (por ejemplo, productos que se utilizan como componentes en el proceso de fabricación), mientras que otros se almacenan directamente en sus respectivas ubicaciones.

screenshot: daily-operations-use-routes-push-to-rule-example
menu
(diagram)
shows
A schematic drawing of a push rule: goods arriving at the input location are automatically moved on to quality control.
module
stock
notes
Simple schematic drawing, no Odoo UI.

Este es un ejemplo de una ruta logística. Por la mañana se seleccionan los artículos para todas las órdenes que deben prepararse durante el día. Estos artículos se toman de ubicaciones de almacenamiento y se trasladan al área de recolección, cerca de donde se empaquetan las órdenes. Después, las órdenes se empaquetan en sus respectivas cajas, y las cintas transportadoras las llevan a los muelles de envío cuando están listas para su entrega a los clientes.

screenshot: daily-operations-use-routes-pull-from-rule-example
menu
(diagram)
shows
A schematic drawing of a pull rule: a customer demand at the output location triggers a move out of stock.
module
stock
notes
Simple schematic drawing, no Odoo UI.

Reglas push

Las reglas de empuje se utilizan para suministrar productos a una ubicación de almacenamiento en cuanto llegan a una ubicación de recepción específica.

Nota

Las reglas push solo se pueden activar si ninguna regla pull generó los traslados de productos.

En una ruta de recepción en un paso, que utiliza una regla de empuje, cuando un producto llega al almacén, una regla de empuje puede transferirlo automáticamente a la ubicación de almacenamiento. Se pueden aplicar distintas reglas de empuje a distintos productos, lo que permite personalizar las ubicaciones de almacenamiento.

screenshot: daily-operations-use-routes-push-rule
menu
Inventory ‣ Configuration ‣ Routes
shows
A rule form of the "Receive in one step" route, with Action set to "Push To" and the source and destination locations filled in.
highlight
The "Action" field (red frame).
module
stock
notes
English UI, light theme, 1440px width.

Para obtener más información sobre cómo configurar reglas, vaya directamente a la sección Configurar reglas.

Reglas pull

Las reglas de extracción activan movimientos de productos a petición, como un pedido de venta o una necesidad de reabastecimiento.

Las reglas de extracción funcionan hacia atrás desde la ubicación de la demanda. Por ejemplo, en una ruta de entrega en dos pasos, donde los artículos se mueven de Existencias a Salida antes de entregarse a la ubicación del cliente, la regla de extracción primero crea una transferencia de Salida al cliente. Si el producto no está en Salida, otra regla de extracción crea una transferencia de Existencias a Salida. Los trabajadores del almacén procesan después estas transferencias en orden inverso: primero la recogida y después el envío.

screenshot: daily-operations-use-routes-pull-rule
menu
Inventory ‣ Configuration ‣ Routes
shows
A rule form of the "Deliver in two steps" route, with Action set to "Pull From" and the operation type shown.
highlight
The "Action" field (red frame).
module
stock
notes
English UI, light theme, 1440px width.

Para obtener más información sobre cómo configurar reglas, vaya directamente a la sección Configurar reglas.

Configuración

Dado que las rutas son un conjunto de reglas push y pull, Odoo le ayuda a gestionar la configuración avanzada de rutas como:

  • Gestionar cadenas de fabricación de productos.

  • Gestionar ubicaciones predeterminadas por producto.

  • Definir rutas dentro de sus almacenes de existencias según las necesidades empresariales, como el control de calidad, servicios posventa o devoluciones a proveedores.

  • Generar movimientos de devolución automatizados, por ejemplo para embalajes reutilizables o equipos prestados.

Para configurar una ruta en un producto primero debe acceder a la aplicación Inventario e ir a Configuración ‣ Ajustes. Después, en la sección almacén habilite la función rutas multietapa y haga clic en guardar.

screenshot: daily-operations-use-routes-multi-steps-feature
menu
Inventory ‣ Configuration ‣ Settings
shows
The Inventory settings page scrolled to "Warehouse", with the "Multi-Step Routes" checkbox enabled.
highlight
The "Multi-Step Routes" checkbox (red frame).
module
stock
notes
English UI, light theme, 1440px width.

Nota

La función ubicaciones de almacenamiento se activa de forma automática al habilitar la función rutas multietapa.

Una vez que complete este paso, el usuario puede utilizar las rutas preconfiguradas de Odoo o crear sus propias rutas personalizadas.

Rutas preconfiguradas

Para acceder a las rutas preconfiguradas de Odoo, vaya a Inventario ‣ Configuración ‣ Almacenes y abra el formulario de un almacén. En la pestaña configuración de almacén puede ver las rutas preconfiguradas del almacén para los envíos entrantes y salientes.

screenshot: daily-operations-use-routes-example-preconfigured-warehouse
menu
Inventory ‣ Configuration ‣ Warehouses
shows
A warehouse form showing the Incoming and Outgoing Shipments step options.
highlight
The shipment step options (red frame).
module
stock
notes
English UI, light theme, 1440px width.

También están disponibles rutas más avanzadas, como recolectar-empaquetar-enviar. El usuario puede seleccionar la ruta que mejor se adapte a sus necesidades empresariales. Una vez que establezca las rutas de envíos entrantes y salientes, vaya a Inventario ‣ Configuración ‣ Rutas para ver las rutas específicas que Odoo generó.

screenshot: daily-operations-use-routes-preconfigured
menu
Inventory ‣ Configuration ‣ Routes
shows
The routes list showing the pre-configured routes: Receive in one/two/three steps, Deliver in one/two/three steps, Buy and Replenish on Order (MTO).
module
stock
notes
English UI, light theme, 1440px width.

En la página rutas, haga clic en una ruta para abrir su formulario. Ahí, la sección aplicable en le muestra al usuario en dónde se puede aplicar la ruta. También puede configurar la ruta para que solo aplique en una empresa específica. Esto es útil en los entornos multiempresa: por ejemplo, un usuario puede tener una empresa y almacén en el país A y una segunda empresa y almacén en el país B.

Ver también

Aplicable a embalajes

screenshot: daily-operations-use-routes-example
menu
Inventory ‣ Configuration ‣ Routes
shows
A route form with the "Applicable On" checkboxes, showing the route applied to product categories and to a warehouse.
highlight
The "Applicable On" block (red frame).
module
stock
notes
English UI, light theme, 1440px width.

Al final del formulario de la ruta, el usuario puede ver las reglas de cada ruta. Cada regla tiene una acción, una ubicación de origen y una ubicación de destino.

screenshot: daily-operations-use-routes-rules-example
menu
Inventory ‣ Configuration ‣ Routes
shows
The Rules tab of a route, listing rules with both "Push To" and "Pull From" actions and their locations.
module
stock
notes
English UI, light theme, 1440px width.

Rutas personalizadas

Para crear una ruta personalizada, vaya a Inventario ‣ Configuración ‣ Rutas y haga clic en crear. A continuación, elija dónde se puede seleccionar esta ruta. Una ruta se puede aplicar en una combinación de lugares.

screenshot: daily-operations-use-routes-advanced-custom-route
menu
Inventory ‣ Configuration ‣ Routes
shows
A custom route form named "Pick - Pack - Ship" with its three rules in the Rules tab.
module
stock
notes
English UI, light theme, 1440px width.

Cada lugar tiene un comportamiento distinto, por lo que es importante seleccionar solo los que son útiles y adaptar cada ruta como corresponde. Después, configure las reglas de la ruta.

Si la ruta se puede aplicar a una categoría de producto, esta se debe establecer de forma manual en el formulario de la categoría de producto en Inventario ‣ Configuración ‣ Categorías de productos. Después, seleccione la categoría de producto y abra su formulario, haga clic en editar y establezca las rutas en la sección logística.

Al aplicar la ruta a una categoría de producto, todas las reglas configuradas en la ruta se aplican a todos los productos en esa categoría. Esto es útil si la empresa utiliza el proceso de triangulación para todos los productos de la misma categoría.

screenshot: daily-operations-use-routes-logistic-section
menu
Inventory ‣ Configuration ‣ Routes
shows
A route form with "Product Categories" ticked under "Applicable On", and the "All" category selected below.
highlight
The "Product Categories" checkbox and the selected category (red frame).
module
stock
notes
English UI, light theme, 1440px width.

El mismo comportamiento se aplica a los almacenes. Si la ruta se puede aplicar a los almacenes, todos los traslados que ocurren dentro del almacén seleccionado que cumplen las condiciones de las reglas de la ruta seguirán esa ruta.

screenshot: daily-operations-use-routes-applicable-on-warehouse
menu
Inventory ‣ Configuration ‣ Routes
shows
A route form with "Warehouses" ticked under "Applicable On" and the warehouse drop-down open.
highlight
The warehouse drop-down (red frame).
module
stock
notes
English UI, light theme, 1440px width.

Si la ruta se puede aplicar en las líneas de la orden de venta, es más o menos lo contrario. Debe elegir la ruta de forma manual al crear una cotización. Esto es útil si algunos productos utilizan rutas distintas.

Recuerde activar la visibilidad de la columna ruta en la cotización u orden de venta. Después, puede elegir la ruta en cada línea de la cotización u orden de venta.

screenshot: daily-operations-use-routes-add-to-sales-lines
menu
Inventory ‣ Configuration ‣ Routes
shows
A route form with "Sales Order Lines" ticked under "Applicable On".
highlight
The "Sales Order Lines" checkbox (red frame).
module
stock
notes
English UI, light theme, 1440px width.

Por último, hay rutas que se pueden aplicar a productos. Estas funcionan de forma similar a las categorías de productos: una vez seleccionada, la ruta se debe establecer de forma manual en el formulario del producto.

Para establecer una ruta en un producto, vaya a Inventario ‣ Productos ‣ Productos y seleccione el producto deseado. Luego, vaya a la pestaña Inventario y en la sección operaciones seleccione las rutas.

screenshot: daily-operations-use-routes-on-product-route
menu
Inventory ‣ Products ‣ Products
shows
A product form with the Inventory tab open, showing the Routes checkboxes in the Operations section with a custom route ticked.
highlight
The selected route (red frame).
module
stock
notes
English UI, light theme, 1440px width.

Importante

Debe establecer reglas en la ruta para que funcione.

Reglas

Las reglas se definen en el formulario de la ruta. Primero, vaya a Inventario ‣ Configuración ‣ Rutas y abra el formulario de la ruta a editar. A continuación, haga clic en editar y en la sección reglas, haga clic en agregar una línea.

screenshot: daily-operations-use-routes-add-new-rules
menu
Inventory ‣ Configuration ‣ Routes
shows
The Rules tab of a route with the "Add a line" link, used to add a new rule.
module
stock
notes
English UI, light theme, 1440px width.

Las reglas disponibles activan varias acciones. Si Odoo ofrece reglas push y pull, entonces también hay otras disponibles. Cada regla tiene una acción:

  • Tomar de (pull): esta regla se activa por la necesidad de un producto en una ubicación específica. La necesidad puede venir de una orden de venta validada o de una orden de fabricación que necesita un componente específico. Cuando la necesidad aparece en la ubicación de destino, Odoo genera una recolección para suplirla.

  • Enviar a (push): esta regla se activa por la llegada de algunos productos en la ubicación de origen definida. En caso de que el usuario mueva productos de la ubicación de origen, Odoo genera una recolección para mover esos productos a la ubicación de destino.

  • Pull y push: esta regla permite generar recolecciones en las dos situaciones que se explicaron con anterioridad. Es decir, cuando se necesitan productos en una ubicación específica, se crea un traslado desde una ubicación anterior para satisfacer esa necesidad. Esto crea una necesidad en la ubicación anterior y se activa una regla para satisfacerla. Una vez que se satisfaga la segunda necesidad, los productos se envían a la primera ubicación y se satisfacen todas las necesidades.

  • Comprar: cuando se necesitan productos en la ubicación de destino, se crea una solicitud de cotización para satisfacer la necesidad.

  • Fabricar: cuando se necesitan productos en la ubicación de origen, se crea una orden de fabricación para satisfacer la necesidad.

screenshot: daily-operations-use-routes-pull-from-rule-stock-to-packing
menu
Inventory ‣ Configuration ‣ Routes
shows
A "Pull From" rule form moving goods from WH/Stock to WH/Packing Zone, with the operation type set to Internal Transfer.
data
Rule of the "Pick - Pack - Ship" route.
module
stock
notes
English UI, light theme, 1440px width.

También se debe definir el tipo de operación en la regla, esto define qué tipo de recolección se crea a partir de ella.

Si la acción de la regla se configura como tomar de (pull) o pull y push, se debe establecer un método de suministro. El método de suministro define qué sucede en la ubicación de origen:

  • Tomar de las existencias: los productos se toman de las existencias disponibles en la ubicación de origen.

  • Activar otra regla: el sistema trata de encontrar una regla de existencias para traer los productos a la ubicación de origen. Se ignoran las existencias disponibles.

  • Tomar de las existencias, si no hay disponibles, activar otra regla: los productos se toman de las existencias disponibles en la ubicación de origen. Si no hay, el sistema trata de encontrar una regla para traer los productos a la ubicación de origen.

Flujo de ejemplo

En este ejemplo utilizaremos una ruta personalizada de recolectar - empaquetar - enviar para probar un flujo completo con una ruta personalizada avanzada.

Observemos las reglas de la ruta y sus métodos de suministro. Tenemos tres reglas, todas son reglas pull. Los métodos de suministro para cada regla son los siguientes:

  • Tomar de las existencias: cuando se necesitan productos en WH/Zona de empaquetado, se crean recolecciones (traslados internos de WH/Existencias a WH/Zona de empaquetado) en WH/Existencias para satisfacer la necesidad.

  • Activar otra regla: cuando se necesitan productos en WH/Salida, se crean paquetes (traslados internos de WH/Zona de empaquetado a WH/Salida) en WH/Zona de empaquetado para satisfacer la necesidad.

  • Activar otra regla: cuando se necesitan productos en ubicaciones de contactos o clientes, se crean órdenes de entrega de WH/Salida para satisfacer la necesidad.

screenshot: daily-operations-use-routes-transfers-overview
menu
Inventory ‣ Operations ‣ Transfers
shows
The transfers list showing the three transfers created by a pick-pack-ship route for one sales order.
data
Pick, Pack and Delivery Order of the same sales order.
module
stock
notes
English UI, light theme, 1440px width.

Esto significa que, cuando un cliente ordena productos con una ruta recolectar - empaquetar - enviar establecida, se crea una orden de entrega para satisfacer la orden.

screenshot: daily-operations-use-routes-on-transfers
menu
Inventory ‣ Operations ‣ Transfers
shows
The Operations tab of the pick transfer created by the pull rule, showing the source and destination locations.
module
stock
notes
English UI, light theme, 1440px width.

Nota

Aunque el documento de origen de varios traslados sea la misma orden de venta, el estado no es el mismo. El estado será en espera de otra operación si aún no se realiza el estado anterior en la lista.

screenshot: daily-operations-use-routes-waiting-status
menu
Inventory ‣ Operations ‣ Transfers
shows
The three chained transfers at the start of the flow: the first is Ready, the other two are "Waiting Another Operation".
highlight
The status column (red frame).
module
stock
notes
English UI, light theme, 1440px width.

Para preparar la orden de entrega es necesario que los productos empaquetados estén en el área de salida, por lo que se solicita un traslado interno de la zona de empaquetado.

screenshot: daily-operations-use-routes-detailed-2
menu
Inventory ‣ Operations ‣ Transfers
shows
The detailed operations of the transfer between the packing zone and the output location.
data
Transfer WH/PACK/00001.
module
stock
notes
English UI, light theme, 1440px width.

La zona de empaquetado necesita productos listos para empaquetarse. Por lo tanto, se solicita un traslado interno para las existencias y los empleados pueden recolectar los productos necesarios del almacén.

screenshot: daily-operations-use-routes-detailed-transfer
menu
Inventory ‣ Operations ‣ Transfers
shows
The detailed operations of the transfer between stock and the packing zone.
data
Transfer WH/PICK/00001.
module
stock
notes
English UI, light theme, 1440px width.

Como se explicó en la introducción de este documento, el último paso del proceso (en el caso de esta ruta, la orden de entrega) es el primero que se debe activar, y este activa otras reglas hasta llegar al primer paso en el proceso (en este caso, el traslado interno de las existencias al área de empaquetado). Ahora todo está listo para procesarse y el cliente pueda recibir los productos que ordenó.

En este ejemplo, el producto se entrega a los clientes cuando se han activado todas las reglas y se han realizado todos los traslados.

screenshot: daily-operations-use-routes-transfers-status
menu
Inventory ‣ Operations ‣ Transfers
shows
The same three transfers once the route is completed, all in "Done" status.
highlight
The status column (red frame).
module
stock
notes
English UI, light theme, 1440px width.