Optimización del Proceso de Salida: Implementación Estándar del módulo de Gestión de Almacenes (WMS) en un Almacén Complejo


Recientemente en un proyecto en lo cual yo era el responsable por la implementación de varios módulos distintos del SCM Dynamics 365 entre ellos el módulo de Gestión de Almacenes me encontré con los siguientes requerimientos por parte del cliente (algunos de ellos no todos están ahí):

🏗️ El escenario inicial


Oleadas:
  • Las oleadas de preparación del almacén deberían ser creadas por transportistas de envío.

§  Ejemplo: transportista A, B, C y etc.


Trabajos:
  • Los trabajos de picking deberían ser creados y separados en base a los siguientes criterios:

§  Trabajos divididos por transportista de envío dividiendo los mismos teniendo en cuenta los siguientes criterios:

·         Pallet completo:

o   El sistema debería generar un trabajo de un pallet completo cuando el cliente compraba una cantidad de un artículo que representase un pallet completo.

o   Los trabajos de picking deberían ser creados para las posiciones que están en el nivel 2 del almacén es decir que están en el alto y necesitan de una caretilla (montacargas)

·         Cajas completas para diferentes clientes:

o   El sistema debería crear un trabajo agrupado (cajas) de diferentes pedidos de ventas de los clientes.

o   Los trabajos de picking en este caso, deberían ser generados solamente para el nivel 1 es decir a nivel de suelo sin la necesidad de una caretilla.

·         Caja variada para el mismo cliente:

o   El sistema debería generar un solo trabajo para el pedido de ventas del cliente cuando las cantidades compradas eran menores que una caja completa, donde se tiene una caja variada (diferentes artículos) dentro de la misma caja en este caso, sin mezclar pedidos de ventas de otros clientes.

·         Pallet individual cliente:

o   En este caso, cuando en la ficha del cliente estuviese marcado que se requería paletización individual el trabajo generado no podría mezclarse con pedidos de ventas de otros clientes independiente de las cantidades compradas (pallets, cajas, bolsas, etc.).        


Reabastecimiento: por tratarse de un almacén caótico las posiciones de nivel 1 (suelo) eran limitadas y los picking de ventas de cajas completas y variadas deberían ser generados este nivel por limitaciones de espacio, caretillas y tiempo de preparación.

Ordenación de salida por transportista: cada posición de salida (muelle) eran asignadas manualmente según el transportista

Ventas: las ventas siempre eran por unidades, es decir toda la agrupación debería ser automática, el sistema tendría que tener en cuenta que si, por ejemplo, 3.600 unidades de un producto vendido representa la agrupación de un pallet completo, el trabajo de picking a ser creado debería ser para 1 pallet completo y no 3.600 unidades sueltas.

 

🔍 El enfoque: segmentar y automatizar los procesos en Dynamics SCM 365

Analizando los requerimientos del cliente, mis conocimientos de las reglas de negocio del mundo logístico y conociendo a fondo las funcionalidades que dispone el módulo de Gestión de Almacenes Dynamics 365, he propuesto la solución totalmente estándar (el cliente venía de una solución desarrollada a medida desde bastante tiempo).

A continuación, os comparto las principales configuraciones que he hecho en Dynamics para construir la solución, tened en cuenta que algunos maestros (clientes, articulos, ubicaciones y tablas auxiliares no están puestas en este post).


Configuración🚧

Oleadas por transportista:

¿Qué es una oleada?: una "oleada" (wave) es una funcionalidad de la gestión de almacenes (Warehouse Management - WMS) que permite agrupar múltiples órdenes de picking en un lote para optimizar el proceso de selección, embalaje y envío de productos. Las oleadas se utilizan para agrupar pedidos de manera que puedan ser procesados en un flujo de trabajo secuencial, facilitando la gestión de los recursos del almacén y reduciendo los errores.

Ruta de acceso en Dynamics SCM 365: Warehouse Management / Setup / Waves / Wave templates

Adentro del formulario “Edit Query” añadiremos la tabla “Shipments” la tabla derivada “Shipments” , campo “Shipping Carrier” en este caso Air Cargo (ejemplo).


Trabajos de Picking:

Para agrupación de los trabajos he creado diferentes plantillas de trabajo (Work Templates) una para cada casuística detallada anteriormente (Pallet completo, cajas completas, variadas, Pallet individual por cliente).

¿Qué es una plantilla de trabajo?: una plantilla de trabajo es una herramienta que define las instrucciones que se presentan a un trabajador del almacén en un dispositivo móvil para mover artículos de un lugar a otro, ejemplo de una ubicación de picking hacia estación de embalaje.

Ruta de acceso en Dynamics SCM 365: Warehouse Management / Setup / Work / Work templates

 Work order type = Pedido de ventas


Plantilla de trabajo Pallet completo para el mismo cliente: representa un pallet completo del mismo artículo para el mismo cliente.

Al acceder el formulario debemos marcar la opción “edit query”

Adentro del formulario “Edit Query” añadiremos la tabla “Temporary work transactions” la tabla derivada “Temporary work transactions” , campo “Directive unit” y el criterio “PL” en este caso pallet.




 Plantilla de trabajo Cajas completas: representa cajas completas de diferentes artículos e clientes (pedidos de ventas distintos) en lo cual el pickeador va por el almacén haciendo la recogida sin la necesidad de abrir cajas.

Al acceder el formulario debemos marcar la opción “edit query”


Adentro del formulario “Edit Query” añadiremos la tabla “Temporary work transactions” la tabla derivada “Temporary work transactions” , campo “Directive unit” y el criterio “BOX” en este caso box.


  

Plantilla de trabajo Cajas variadas: representa venta de bolsas y unidades sueltas de productos que van adentro de la misma caja y cliente.

Al acceder el formulario debemos marcar la opción “edit query”


Adentro del formulario “Edit Query” añadiremos la tabla “Temporary work transactions” la tabla derivada “Temporary work transactions”, campo “Directive unit” y el criterio “BAG, UN” en este caso bolsa y unidad.

         

 

Plantilla de trabajo Pallet Individual cliente: representa venta varios artículos distintos, sea caja, bolsa o unidad en lo cual por requisito del cliente tiene que ir todo en un mismo pallet no se puede mezclar con otros clientes (hablando de la agrupación por transportista).

Al acceder el formulario debemos marcar la opción “edit query”


Adentro del formulario “Edit Query” añadiremos la tabla “Temporary work transactions” la tabla derivada “Temporary work transactions”, campo “Directive unit” y el criterio “BAG, UN” en este caso bolsa y unidad.



En la segunda pestaña “sorting” debemos añadir la tabla “Temporary work transactions”, tabla derivada “Temporary work transactions” y en el campo “Order number”.

Luego regresando al menú principal de work templates debemos seleccionar la opción “Work header breaks”.


Adentro del formulario debemos marcar el check “Group by This field”.



Directivas de ubicación:

¿Qué es una directiva de ubicación?: una directiva de ubicación es un conjunto de reglas que ayuda a determinar la ubicación de picking y colocación para el movimiento de inventario. Estas directivas actúan como guías para el sistema, especificando dónde deben recogerse los artículos y dónde deben ubicarse después.

En este caso o tuve que configurar 4 diferentes directivas de pick (seleccionar) y una de put (colocar) en una secuencia de lo mas específico para lo más genérico para que las estrategias fuesen aplicadas correctamente según la agrupación correspondiente.

Ruta de acceso en Dynamics SCM 365: Warehouse Management / Setup / Location Directives

 

Pallet Completo


Lines:



Como punto clave de este proceso está que en las lines (líneas) de la directiva de ubicación he puesto una restricción por unit “PL” pallet,  en el campo “locate quantity” he marcado de modo con que no se puede dividir la cantidad (ya que tiene que ser un pallet completo) y en el campo “Allow split” no he marcado ya que no queremos que la cantidad se divida en diferentes ubicaciones.

 

Location Directive Actions


En este menú tuve que editar la query de la siguiente forma:

En la zona ID he puesto el nivel 2 (alto) en lo cual también había indicado en la ubicación si la misma era una ubicación de suelo o de alto en este caso de alto.

 

 

Cajas completas


Lines:


He añadido 2 líneas distintas y os explico el porqué:

    En la primera línea el sistema verifica si existe caja disponible en las ubicaciones de nivel 1 es decir a nivel de suelo en lo cual no necesita de un toro para la recogida optimizando el trabajo de picking.

    Ya en la segunda línea he añadido un “inmediate replenishment” como el cliente tiene un almacén caótico el reabastecimiento para las ubicaciones de nivel 1 solo se da cuando hay una venta vinculada, en este caso Dynamics genera un trabajo de reabastecimiento previo al trabajo de picking de ventas que va a estar “bloqueado” hasta que sea completado el trabajo de reabastecimiento.


Location Directive Actions secuencia 1.


En este menú tuve que editar la query de la siguiente forma:

En la zona ID he puesto el nivel 1(suelo) en lo cual también había configurado en la ubicación si la misma era una ubicación de suelo (picking) o de alto (nivel 2).



Location Directive Actions secuencia 2.

La consulta de la secuencia 2 es la misma de la sequencia 1 anterior, con la diferencia de que, si no hay disponible en zona de picking nivel 1 suelo, se reabastece la ubicación de forma online (Nivel 2 -> para nivel 1) antes que sea ejecutado el trabajo de picking.

Plantilla de reabastecimiento: eso ya os explicaré en otro post en detalles como configurarla y para que sirve.



 

Caja variada (BAG)


Lines:



He añadido 2 líneas distintas y os explico el porqué:

En la primera línea el sistema verifica si existe caja disponible en las ubicaciones de nivel 1 es decir a nivel de suelo en lo cual no necesita de un toro para la recogida optimizando el trabajo de picking.

Ya en la segunda línea he añadido un “inmediate replenishment” como el cliente tiene un almacén caótico el reabastecimiento para las ubicaciones de nivel 1 solo se da cuando hay una venta vinculada, en este caso Dynamics genera un trabajo de reabastecimiento previo al trabajo de picking de ventas que va a estar “bloqueado” hasta que sea completado el trabajo de reabastecimiento. 

Location Directive Actions secuencia 1.



En este menú tuve que editar la query de la siguiente forma:

En la zona ID he puesto el nivel 1(suelo) en lo cual también había configurado en la ubicación si la misma era una ubicación de suelo (picking) o de alto (nivel 2).



Location Directive Actions secuencia 2.

La consulta de la secuencia 2 es la misma de la sequencia 1 anterior, con la diferencia de que, si no hay disponible en zona de picking nivel 1 suelo, se reabastece la ubicación de forma online (Nivel 2 -> para nivel 1) antes que sea ejecutado el trabajo de picking.

Plantilla de reabastecimiento: eso ya os explicaré en otro post como he dicho antes.



 

Caja variada (UN)


Lines:


He añadido 2 líneas distintas y os explico el porqué:

En la primera línea el sistema verifica si existe caja disponible en las ubicaciones de nivel 1 es decir a nivel de suelo en lo cual no necesita de un toro para la recogida optimizando el trabajo de picking.

Ya en la segunda línea he añadido un “inmediate replenishment” como el cliente tiene un almacén caótico el reabastecimiento para las ubicaciones de nivel 1 solo se da cuando hay una venta vinculada, en este caso Dynamics genera un trabajo de reabastecimiento previo al trabajo de picking de ventas que va a estar “bloqueado” hasta que sea completado el trabajo de reabastecimiento.

 

Location Directive Actions secuencia 1.



En este menú tuve que editar la query de la siguiente forma:

En la zona ID he puesto el nivel 1(suelo) en lo cual también había configurado en la ubicación si la misma era una ubicación de suelo (picking) o de alto (nivel 2).


Location Directive Actions secuencia 2.

La consulta de la secuencia 2 es la misma de la sequencia 1 anterior, con la diferencia de que, si no hay disponible en zona de picking nivel 1 suelo, se reabastece la ubicación de forma online (Nivel 2 -> para nivel 1) antes que sea ejecutado el trabajo de picking.

Plantilla de reabastecimiento: eso ya os explicaré en otro post.




Packing

Ahí el único que tuve que hacer fue editar la consulta indicando que los productos tienen que ir a la estación de embalaje cuando se termina la recogida de estos.


Adentro del formulario de consulta.



 

Estación de embalaje:

Ya aprovechando que he mencionado el tema embalaje en el capítulo anterior ahí va la explicación de que es y como he configurado.

¿Qué es el proceso de embalaje en Dynamics? Es una interfaz de usuario diseñada para operarios en el almacén, utilizada para:

  • Embalaje y consolidación de productos recogidos.
  • Verificación de cantidades y artículos antes del envío.
  • Asignación de contenedores (cajas, pallets, etc.).
  • Pesado de paquetes y cálculo de dimensiones (si se integra con básculas).
  • Impresión de etiquetas y documentación de envío.
  • Registro del envío y generación del trabajo de salida.
  • Se encuentra integrada dentro de un flujo de salida de pedidos de ventas o transferencias, justo después de la recolección (picking) y antes de la expedición. 

Para configurarlo correctamente la estación de embalaje debemos tener en cuenta las siguientes configuraciones (en el orden indicado) a continuación:

Ruta de acceso en Dynamics SCM 365: Warehouse Management / Setup / Containers / Container packing polices

 La directiva de embalaje en contenedores es una configuración que determina las reglas y criterios automáticos que usa el sistema para saber si el conteiner tiene que ser liberado automáticamente o manualmente, cual es la directiva de liberación del contenedor que se aplicará, en mi caso como he utilizado el proceso de sorting (ordenación de salida) he seleccionado esta opción que las explicaré en la secuencia de este blog, también se puede definir a cual almacén se aplica la directiva, la forma de manifesto, impresión de etiquetas y etc., el manifesto de envío y la impresión de etiquetas del transportista. He marcado el rojo las dos principales configuraciones que hay que tener en cuenta.


 

La segunda configuración que debemos tener en cuenta es el perfil de embalaje, debemos crear uno y asignar la directiva de embalaje en contenedores que ha sido creada en el paso anterior, si deseáis que la numeración de los contenedores sean automáticas (en base a una secuencia numérica) o manual así como el tipo de contenedor (caja, pallet y etc.) que deben ser creados previamente a esta configuración.

Ruta de acceso en Dynamics SCM 365: Warehouse Management / Setup / Packing / Packing profiles



Por fin llegamos a la tercera configuración que basicamente asignar al trabajador la directiva de embalaje en contenedores y el Id. de perfil de empaquetado (embalaje) que hemos creado previamente.

Ruta de acceso en Dynamics SCM 365: Warehouse Management / Setup / Worker

 



Ordenación de salida (sorting):

¿Qué es la ordenación de salida? La ordenación de salida define cómo se agrupan, clasifican y ordenan los artículos dentro de una ola (wave) en función de criterios específicos en mi caso por transportista. El objetivo es optimizar el proceso de carga de los transportistas, asegurando que los artículos se agrupen en la misma posición de salida y pallet, con eso reduciendo el tiempo de montaje de carga por transportista, errores en la selección y obviamente el gano operativo.

Acá os comparto las configuraciones básicas para que funcione, pero haré otro post explicando en detalles la operativa de este proceso que para mí es bastante interesante.


    Directiva de ubicación

Ruta de acceso en Dynamics SCM 365: Warehouse Management / Setup / Location directives

Se tiene que crear una directiva de ubicación del tipo “Picking de inventario ordenado” y el tipo de trabajo “colocar” indicando en la consulta de las acciones de la directiva de la ubicación para donde se tiene que mover el producto (zona de carga, muelle de salida u otro).


    Plantilla de trabajo

Se tiene que crear una plantilla de trabajo para indicar los pasos necesarios para cuando se cierre la posición de ordenacion y el trabajo sea creado automáticamente con base en esta plantilla.

Ruta de acceso en Dynamics SCM 365: Warehouse Management / Setup / Work / Work templates


 

    Plantilla de ordenación de salida

 La principal configuración es la creación de la plantilla de ordenación de salida he puesto en rojo las principales configuraciones y os explico lo que es cada una de ellas:

Outbound sorting template type(Tipo de plantilla de ordenación de salida): como el objetivo era ordenar los contenedores tras el proceso de empaquetado he seleccionado “container” la otra opción es demanda de oleada que no se aplica a mi caso.

Sort verification (comprobación de orden):  hay tres opciones disponibles: ninguno, escaneo de posición o escaneo de matricula de entidad de almacén que es la que he seleccionado yo, ya que la idea es ir comprobando que cada contenedor sea asignado al pallet correcto de ordenación.

Position assigment (asignación de posiciones) manual o automático, he seleccionado automático ya que el requerimiento por parte del cliente es de que el sistema con base a la consulta de “Oubound sorting breaks” sea por transportista de forma automática y no el usuario tenga que determinar la posición en lo cual se debe asignar.

Create work on position close (crear trabajo ao cerrar la posición): es un check e yo he puesto que sí ya que la necesidad es que sea generado un trabajo de picking para cuando se cierre la posición y haya la necesidad de cargar el camión.

Ruta de acceso en Dynamics SCM 365: Warehouse Management / Setup / Packing / Outbound sorting template

Outbound sorting template breaks (Interrupciones de plantillas de ordenación de salida): lo primero que tenemos que hacer es editar la query (consulta) y añadir el criterio deseado en mi caso ha sido el transportista.

Simplemente he añadido dos tablas, pero ninguno criterio de filtro.
Ahora si con la query creada nos habilita el botón de Outbound sorting template breaks el requerimiento era que casa posición de salida fuese dividida por transportista por eso he marcado para que se interrumpiese por este criterio.


Estas fueron las configuraciones que tuve que hacer para que el proceso del cliente fuese reflejado de forma estándar en Dynamics 365, añadiendo mejoras operacionales ya que algunas situaciones reportadas anteriormente el sistema anterior no contemplaba, por ejemplo, de hacer el reabastecimiento de un pedido de ventas en particular y bloquear solamente la línea del picking en lo cual se necesita reabastecer, el sistema anterior obligaba a reabastecer toda la oleada para que fuera posible empezar el picking.

A continuación, os dejaré un flujo del proceso diseñado en Dynamics 365, así como un pantallazo del paso a paso en el sistema.


Proceso 💻


            

Equipo comercial: crean los pedidos de ventas en Dynamics


Detalle de un pedido de ventas (ejemplo).



Responsable por el almacén

Libera los pedidos al almacén.

Nota: he configurado para el cliente la opción automática también, acá os dejo el formulario de la liberación manual que también funciona.



Pickeadores (trabajadores del almacén).

He configurado elementos de menús (distintos por transportista los cuales cada trabajador puede elegir cual transportista deben preparar primero con base en la hora de la recogida.



En la consulta he añadido la tabla “Waves”, tabla derivada “Waves” y en el campo “wave template name”, eso porque los trabajos ya fueron generados por transportista (plantilla de la oleada) de esta forma he asegurado que cada menú que he creado por transportista fuese asignado correctamente.


Ejemplo del trabajo de picking creado en Dynamics


Para ejecutar el trabajo se hace desde un dispositivo móvil.

 

Estación de embalaje:

Ahí son ejecutados dos procesos:

El primero es de hacer de packing de los diferentes productos que fueron recogidos en el picking,

El trabajador de la estación de embalaje va leyendo la matrícula de las cajas que fueron recogidas en el proceso de picking y asigna un contenedor.


El mismo trabajador de la estación de empaque va leyendo los contenedores que fueron creados en el paso anterior y automáticamente el sistema ya le asigna a una posición de ordenación de salida con base al criterio que hemos definido en las configuraciones que en este caso es por transportista.


En Dynamics se puede ver las posiciones abiertas que todavía esperan mas pickings de ventas terminados por asignar.

Para cerrar la posición se pulsa el botón “Close position” en el mismo formulario anterior.

Automáticamente se creará un trabajo de picking para cargar al camión cuando el mismo esté en la zona de carga.



Zona de carga:

Cuando el transportista viene a recoger los productos, el trabajador de almacén responsable por la zona de carga procede a leer los diferentes pallets que se irán cargar al camión según la posición de ordenación que se ha cerrado previamente en el paso anterior.

Este proceso se ejecuta desde el dispositivo móvil


Tras la carga del transportista los trabajos vinculados se cerrarán en Dynamics 365 automáticamente.




✅ Resultado: eficiencia y control sin desarrollos en medio

  • Gracias a una configuración estratégica, logramos:

o   Un proceso totalmente estándar.          

o   Reabastecimiento inmediato solo donde es necesario.

o   Mayor trazabilidad y menos errores operativos.

o   Mejor control de carga por transportista.

Siempre haga una buena toma de requerimientos (AS IS) tenga claro de lo que necesita el cliente y las distintas variables que hay que tener en consideración al proponer una solución.

Es muy importante mantenerse actualizado acerca de las mejores practicas adoptadas en la actualidad,  y no solo de Dynamics 365 a nivel de negócio. Capacítese, estudie, esté siempre atento a las nuevas tendencias para que puedas proponer soluciones que mejoren la eficiencia de los procesos de los clientes/proyectos en los cuales participa. Yo soy miembro APICS (Association for Supply Chain Management) que es una fuente muy buena para mantenerse siempre actualizado de las novedades del mundo de la cadena de suministro en general.

👉 En el próximo post te mostraré cómo configurar las plantillas de trabajo (Work Templates) y qué debes tener en cuenta para que funcionen bien en Dynamics 365.

 

📬 ¿Tienes un almacén caótico o desordenado?

No estás solo. Escríbeme y te cuento cómo puedes estructurarlo con Dynamics 365 sin cambiar todo tu sistema.

Comentarios

Publicar un comentario

Entradas populares de este blog

¿Por qué automatizar tu almacén en 2025 ya no es opcional?

Optimización de las consultas de directivas de ubicación en Dynamics SCM