Digitalización de procesos de reparto y gestión de almacenes

Digitalización de procesos de reparto y gestión de almacenes

Introducción

En este artículo mostraré en detalle las motivaciones en la resolución de un caso de negocio complejo relacionado con la integración de sistemas para la gestión de procesos logísticos.

Recientemente he finalizado un proyecto para Monva S.L, una compañía que distribuye en distintos canales el Aceite de Oliva Virgen Extra que ella misma produce y envasa. El objetivo ha sido facilitar el proceso de reparto a sus clientes de los pedidos que registra en su sistema ERP, integrando la actividad comercial con la programación de envíos, el reparto, las entregas, y la gestión de sus almacenes.

Qué mejor manera que poner en valor y promocionar las capacidades propias que describiendo e ilustrando los resultados alcanzados en la ejecución de los distintos proyectos que vamos finalizando.

NOTA IMPORTANTE: Si bien la descripción de los productos que puedan aparecer en las distintas pantallas que se utilizan para mostrar las distintas funcionalidades que ofrece la solución son reales, la información sobre clientes, o los precios asociados a los productos no tienen ninguna relación con la realidad de Monva S.L. correspondiéndose con datos arbitrarios cargados en los servidores de pruebas con el único fin de verificar el correcto funcionamiento de los sistemas.

El desafío

Además de la oportunidad de conocer AOVEs verdaderamente exquisitos, he de decir que profesionalmente, la experiencia de trabajo en el sector primario ha sido una de las más satisfactorias que haya podido tener hasta la fecha, sin que esto reste ni un ápice de complejidad al desafío que supone mantener unos estándares de calidad para el servicio que Monva presta a sus clientes tan altos como los de los productos que comercializa. Estos requisitos se describen a continuación:

  • La normativa de seguridad alimentaria exige y/o recomienda (según el punto del proceso) la trazabilidad de extremo a extremo para los productos de consumo humano, lo que en un proceso de envasado por lotes implica conocer los lotes que se entregan en cada envío según los requisitos del área de calidad.
  • La digitalización del proceso de reparto debe suponer una mejora en la calidad de la información, así como de los procesos internos de gestión, y del proceso físico de reparto.
  • Como un requisito de calidad del servicio y de inteligencia de clientes, se establece también la necesidad de poder atender pedidos de clientes de última hora cuyos envíos no hayan sido programados en el momento en el que el personal de reparto comienza su actividad. Para ello, las unidades de reparto mantienen un pequeño stock de productos en los vehículos que permite satisfacer esta demanda.
  • Mejorar la calidad de la información de los stocks en los almacenes ofreciendo una visión lo más actualizada posible de su estado, sin disponer de una persona que dedique su tiempo a controlar las entradas y las salidas de mercancías de forma exhaustiva.
  • La naturaleza de un servicio de reparto es itinerante, lo que añade la dificultad de que las personas que se ocupan físicamente del reparto puedan trabajar con conexión a Internet o sin ella.

La solución

Técnicamente

La solución técnica se ha basado en la construcción de una serie de componentes sobre el framework de desarrollo del ERP Dolibarr que hemos implantado durante 2020, más el desarrollo de una app para teléfonos móviles que permite desplegar las funcionalidades necesarias para el proceso de reparto, incorporando la explotación del hardware del dispositivo que las facilita.

La integración con el ERP se ha realizado utilizando íntegramente las funciones de la API que proporciona, dentro de un módulo integrado con el sistema de forma nativa, lo que debería asegurar la capacidad de la solución para adaptarse a la futura evolución del ERP. Estos desarrollos se han producido en PHP según las recomendaciones de desarrollo del ERP.

El módulo desplegado en el ERP se acompaña de otras funcionalidades que no se incluían de forma nativa, que se corresponden con otras necesidades del negocio tales como: el registro de orígenes y destinos para muestras comerciales, el registro de pedidos integrado con el sistema de e-commerce, o la gestión de las entregas de otros proveedores logísticos. Aspectos sobre los que desarrollaré futuros artículos en la misma línea que el que aquí se presenta.

En cuanto a la app ha sido desarrollada ad-hoc únicamente para sistemas operativos Android, habiéndose compilado y probado con éxito en dispositivos Xiaomi con las versiones 10 y 11 de Android. Esta aplicación ha sido desarrollada utilizando el framework Xamarin Forms de Microsoft en C# para la parte común del proyecto, y en Java para las funciones que acceden al hardware específico del dispositivo. Adicionalmente, se integra con una impresora de tickets portátil a la que se accede por Bluetooth para imprimir los albaranes de entrega correspondientes.

Finalmente, las necesidades de explotación nativa del hardware del dispositivo móvil resultaron ser las siguientes:

  • Acceso a Internet para sincronizar la información,
  • Uso de la cámara para escanear los códigos de los productos que se entregan,
  • Uso del altavoz para indicar las lecturas correctas o incorrectas,
  • Lectura de la escritura sobre la pantalla para capturar las firmas
  • Integración con la impresora para imprimir los albaranes de entrega.

Las funciones de impresión se han desarrollado sobre el API de una impresora Bixolon SSP-310 con tickets de 8cm de ancho de papel térmico. La elección de este modelo tiene en cuenta el criterio del precio, que incorpora los mecanismos de conectividad necesarios, unas dimensiones y pesos adecuados, y el conjunto de accesorios que permiten preservar su integridad en el desarrollo de la actividad de los repartidores. Una vez probada se observa un rendimiento más que aceptable.

Funcionalmente

Se trataba de integrar la actividad del departamento comercial que recibe los pedidos desde cualquier canal (telefónico, e-commerce, o email), con la asignación del reparto de esos pedidos a las personas que se ocupan de esta tarea, ofreciendo a estos últimos las herramientas necesarias para ayudar a completar los procesos e informar del estado de las entregas que van realizando.

La solución automatiza actividades que anteriormente tenían que completarse manualmente requiriendo la transcripción manual de volúmenes de información relativamente grandes y sensibles entre distintas personas, lo que suma a los beneficios de adopción de este modelo los menores costes de atención de errores que típicamente suelen ser mucho mayores que los asociados a la realización de las tareas.

El proceso y la productividad

Se describe el proceso completo que es posible gestionar desde la nueva solución, indicando el tiempo que se reemplaza como medida de la productividad de su adopción. Las medidas sobre estos tiempos se corresponden con estimaciones desde la experiencia personal que cualquiera puede adaptar a sus necesidades.

El resto de cifras que aparecen en relación a volúmenes de actividad, precios, o duración de jornadas laborales han sido calculadas con el objetivo de mostrar un escenario de conveniencia de adopción de la solución en el que se produce la recuperación de la inversión en un periodo de aproximadamente un año.

El proceso puede resumirse de la siguiente manera:

  1. El departamento comercial recibe los pedidos y programa los envíos, asignando los pedidos a los repartidores correspondientes en las fechas acordadas con sus clientes.
  2. La persona responsable del reparto recibe los envíos programados, organiza la ruta, y asegura la carga en el almacén para el itinerario que tiene que realizar cada día.
  3. La persona responsable del reparto realiza la ruta entregando los envíos programados y generando albaranes manualmente donde debe reflejar los lotes de los productos que entrega asociados con cada envío.
  4. La persona responsable del reparto recibe solicitudes para entregar pedidos urgentes que debe intercalar con la programación del día.
  5. La persona responsable del reparto acude a la oficina comercial a entregar los albaranes que acreditan las entregas realizadas.
  6. El departamento comercial cierra los envíos y actualiza los pedidos en función del estado de cada albarán de entrega recibido.

La siguientes tablas describen un escenario posible para calcular los beneficios de adopción del nuevo modelo de reparto:

No hay texto alternativo para esta imagen
No hay texto alternativo para esta imagen

Donde se considera la capacidad de un único repartidor y unos costes laborales iguales para la función de reparto y las funciones administrativas de la gestión de pedidos. Las posibles discrepancias con los valores aportados pueden variar en función de la naturaleza del reparto o de los costes, que bien pueden compensarse con otras bondades no reflejadas relacionadas con la mayor facilidad de la gestión de stocks y el control de almacenes, y la atención de contingencias relacionadas con la gestión de errores humanos sobre el proceso original.

En este escenario, los costes y beneficios de la aplicación de esta solución quedarían de la siguiente manera.

No hay texto alternativo para esta imagen

Donde se incluye una estimación realista de los aprovisionamientos necesarios para garantizar la continuidad del servicio además de los costes del software: teléfonos (2), impresoras portátiles (2), accesorios de seguridad para las impresoras, y consumibles.

Cada cual podría hacer sus cuentas conociendo sus costes y los niveles de calidad de sus servicios. Se presenta un escenario típico de amortización del software en 5 años, mostrando que la recuperación de la inversión podría producirse en menos de un año en función de los parámetros reales que se soporten en cada caso. Obviamente, incrementando el número de envíos, o el número de repartidores el beneficio se multiplica.

La utilidad que se le quiera dar a esta mejora puede tener numerosas variantes, pero personalmente me quedo con la posibilidad de hacer crecer la capacidad de la actividad de reparto, y poder dedicar tiempo de los departamentos comerciales a realizar nuevas funciones que impulsen este crecimiento (por ejemplo, el marketing digital para potenciar las ventas en canales online, customer care...).

El resultado

Básicamente, la distribución de las tareas realizadas por el departamento comercial se realiza en la oficina desde la extensión de los servicios del ERP Dolibarr mediante:

  1. la definición del modelo de datos para incluir la nueva información que se genera en las entregas,
  2. el desarrollo en el ERP de las pantallas que facilitan el registro de empresas de reparto y repartidores,
  3. otras pantallas para realizar de forma ágil la tarea de asignación de envíos al personal de reparto,
  4. los servicios web que permiten el intercambio de información de forma segura entre ambos sistemas.

Mientras que las tareas realizadas por el servicio de reparto se completarían íntegramente desde la app instalada en un teléfono.

Funciones desplegadas sobre el ERP

1.- Generación de códigos QR para identificación de lotes en la línea de envasado.

El ERP Dolibarr no incorpora de forma nativa la posibilidad de generar códigos QR que sinteticen la información de un producto, su lote su fecha de caducidad. En este caso, a esta información se la ha añadido un número de serie de manera que en la lectura posterior de los productos se evite la posibilidad de leer códigos repetidos.

Ahora, el usuario que gestiona la producción puede asociar el resultado de sus partes de trabajo (productos terminados a la venta) con un código QR único para cada embalaje que se añade en la etiqueta en su cadena de producción.

Generación de códigos QR

2.- Gestión de embalajes y desembalajes

Conocer las entradas y salidas de los productos que se entregan hace necesario identificar el contenido de cada embalaje, por lo que también ha sido necesario desarrollar un módulo de embalajes que permita controlar sus contenidos por lotes de forma precisa.

Incorporar estas capacidades no valoradas en el modelo de coste/beneficio anterior implica dotar a la organización de mayores posibilidades comerciales, puesto que ahora serán capaces de configurar catálogos de productos a la venta que combinan productos de distinta naturaleza, más complejos que el esquema simple de embalaje primario, secundario y terciario basado en un único tipo de envase. En cualquier caso, el ERP Dolibarr no prevé de forma nativa la gestión en este sentido.

Si bien el modelo lógico que incorpora el ERP Dolibarr permitiría gestionar los embalajes desde el módulo de producción, la acción de desembalar se volvería extremadamente costosa y estaría sometida a numerosos errores muy difíciles de corregir. Ahora es posible identificar con un código QR el contenido de cada embalaje secundario y gestionar stocks por cualquier combinación posible de productos a la venta.

Desembalaje

3.- Configuración de empresas de reparto

En este apartado se ha extendido la información de los proveedores de tal manera que se asocian con empresas y los empleados designados para la función de reparto, así como los almacenes con los que puede operar cada una de ellas.

Se ha añadido a título informativo el registro de información adicional sobre horarios de semanales de reparto y cobertura geográfica del servicio de reparto para atender futuras demandas que puedan darse teniendo en cuenta estos parámetros.

En este caso se integran en la ficha de proveedores del ERP como puede verse en la ilustración.

Configuración de empresas de reparto

4.- Funciones comerciales

Las funciones comerciales se integran con el módulo comercial integradas creando una nueva opción en la ficha de los pedidos denominada "reparto", que tiene en cuenta las cantidades ya repartidas para cada pedido y permite configurar envíos asignado: una empresa de reparto y un repartidor de los configurados, una fecha y hora de entrega de la mercancía al cliente, y la posibilidad de imprimir el albarán valorado a título informativo según los términos comerciales definidos en el pedido.

Una vez asignado el repartidor, es posible determinar las cantidades de productos que saldrán de cada almacén para completar la entrega. En este momento, se crea un envío que pasa a la lista de tareas pendientes del repartidor asignado.

Programación del reparto

Es posible configurar los envíos para que sean entregados tanto por personal de reparto de los proveedores asociados al servicio como por empleados de la propia organización.

Una vez configurado el envío y asignado a un repartidor, cambia el estado del pedido quedando pendiente su cierre formalizando la entrega.

Envío generado

Una vez configurado el envío, es posible consultar la carga de trabajo por productos en la siguiente pantalla.

Carga de repartidores

Funciones desplegadas sobre la app móvil

El diseño de la app móvil sobre todo tiene en en cuenta la facilidad de uso sin que impacte negativamente en el resto de actividades que tiene que realizar el personal de reparto. El proceso principal que representa reproduce el flujo habitual necesario para la la entrega de un envío en las siguientes etapas:

  1. Identificación del envío: datos del cliente, destinatario, contactos, mercancía...
  2. Desplazamiento hasta el destino: integrando desde la identificación del destino el servicio de mapas instalado en el dispositivo (verificado con google maps)
  3. Lectura de productos hasta completar la entrega
  4. Captura de información de la recepción de la mercancía
  5. Impresión del albarán de entrega

1.- Configuración de la aplicación

La configuración de la aplicación únicamente requiere especificar el la ubicación donde se encuentran los servicios que van a responder a sus demandas.

Acceso a la app

2.- Envíos pendientes de entrega

El acceso nos lleva directamente al listado de envíos pendientes de entrega, desde donde el personal de reparto puede progresar en su resolución de forma ordenada. La persona de reparto dispone de toda la información agrupada por días a la que accede seleccionando en el calendario el día para el que quiere visualizar la información.

Filtro de envíos programados por fecha


Listado de envíos pendientes de entrega

Desde esta misma pantalla el personal de reparto puede conocer la carga que necesita embarcar en la furgoneta cada día y sincronizar los datos del dispositivo con el servidor.

Carga de trabajo del repartidor

3.- Detalle del envío.

Pulsando sobre un envío desde el listado de envíos pendientes el personal de reparto comienza el proceso de la entrega seleccionando el siguiente envío que se va a entregar y accediendo a sus detalles.

Además de toda la información del envío, el usuario dispone de accesos directos al servicio de mapas que tenga configurado el dispositivo (en este caso google maps) como ayuda a la conducción para alcanzar el destino, como directamente a las funciones del llamada del teléfono si necesita contactar con el comercial que configuró el envío o la persona del cliente que lo está esperando. Estas funciones se representan por las zonas activas de la pantalla en la sección de contacto correspondiente.

Detalle del envío

4.- Lectura de productos

Una vez alcanzado el destino, la persona de reparto retira de la furgoneta los productos que efectivamente van a ser entregados y los asocia con el envío. El escaner avisa con un pitido de las lecturas correctas e incorrectas (si no se identifica el artículo, o se corresponde con una lectura de un artículo que ya ha sido escaneado), y mantiene visualmente el avance del proceso.

En el ejemplo se escanean los códigos generados desde la pantalla del backoffice.

Lectura de códigos QR

Es posible completar las entregas con menos productos de los configurados en los envíos, puesto que la actividad de reparto está sometida a contingencias que pueden hacer que la entrega no llegue a ser completada (roturas, errores...). En este punto la app avisa al repartidor y le pide confirmación.

Posibilidad de entregar menos productos de los programados


Adicionalmente, es posible eliminar de la entrega artículos que han sido escaneados a conveniencia del repartidor.

Mantenimiento de la lectura de los productos


5.- Completar la entrega

Una vez en el destino, la app permite la captura de información adicional relacionada con la identificación de la persona a la que se realiza la entrega, y aquella que tiene que ver con los importes satisfechos a la entrega si así estuviera pactado en las condiciones comerciales.

Recepción del envío

6.- Impresión del justificante de entrega

La impresión del justificante requiere de la impresora, y esta debe de estar previamente configurada en el dispositivo.

Impresora Bixolon SSP-310

Impresora térmica Bixolon SSP-310

Algunos aspectos del funcionamiento de la impresora deben ser configurados localmente desde las utilidades que proporciona el fabricante. Una vez configurada, se debe emparejar con el dispositivo desde donde será accesible para la app.

Buscar impresora

La conexión de la app con la impresora se encuentra sometida a múltiples factores contingentes que pueden lograr que no se establezca la conexión (adaptador Bluetooth apagado, impresora apagada, sin papel...), por lo que la app debe disponer de la utilidad que permita reconectar en el caso de ser necesario.

Selección de la impresora

8.- Imprimir justificante de entrega

Una vez que la impresora se encuentra accesible desde la app, es posible imprimir el justificante de entrega.

Impresión del albarán de entrega

Con el siguiente resultado (mis disculpas por el pulso de la fotografía)

Ticket de albarán de entrega


Pulsando sobre el botón "SIGUIENTE ENTREGA" se vuelve al listado de envíos pendientes, donde la entrega que se ha completado habrá desaparecido.

Es en este momento cuando se intenta enviar la información al servidor, y en el caso de no haber conectividad el repartidor puede seguir completando entregas sobre la lista original.

Los elementos con información discrecional que aparece en la impresión del ticket (el logotipo, y el texto del encabezado, y el texto del pie son configurables en función de las necesidades del cliente.

9- Sincronización de información de envíos

Como se ha explicado, la aplicación puede trabajar "online" y "offline", lo que requiere un mecanismo de comunicación con el ERP silencioso para la persona de reparto a la hora de recuperar la información sobre sus tareas pendientes, y enviar información sobre las entregas realizadas.

Sólo existe un servicio publicado en el ERP que recibe la información capturada en los dispositivos, la procesa, y devuelve como resultado la lista de tareas pendientes para el repartidor que se está conectando. Para el acceso se utiliza el servicio de "tokens" nativos del ERP, quedando delegado en este componente la seguridad de los accesos.

9.1 Eventos de sincronización

La información capturada en los dispositivos se almacena localmente, de tal manera que cuando se producen determinados sucesos en la aplicación se recupera y se envía al servidor, y esta no es eliminada del dispositivo hasta que se haga llegar al servidor.

El mecanismo de sincronización de información se dispara en tres sucesos de la aplicación:

  1. Cada vez que un usuario inicia una sesión en la aplicación: es el único requerimiento de conectividad justificado en la necesidad del servidor de identificar el repartidor que le solicita la información. No parece una exigencia muy fuerte toda vez que la conectividad está asegurada en los lugares donde se prepara la carga de la furgoneta.
  2. Cada vez que finaliza una entrega antes de mostrar el listado de tareas pendientes
  3. A discreción de los usuarios desde la pantalla de listado de tareas pendientes seleccionando la opción del menú correspondiente.

Actualización manual

9.1.- Estado de los pedidos con envíos procesados

Una de las ventajas de utilizar las funciones nativas que proporciona el ERP es hacer valer el conocimiento que contienen sus procesos en cuanto a la transición de los estados en el ciclo de vida de un pedido desde que una mercancía es solicitada por un cliente, hasta que se completa la entrega y se emite la factura según las condiciones comerciales pactadas.

De esta manera, la fuerza comercial debe conocer en todo momento si se han completado o no las entregas de un pedido, porque esta circunstancia puede tener implicaciones importantes a la hora de emitir la factura/s correspondientes. Así, el proceso de sincronización tiene en cuenta de la misma manera si con cada entrega se completan o no las necesidades del cliente para tomar las decisiones correspondientes (configurar nuevos envíos hasta completarse).

Este proceder ofrece la flexibilidad necesaria para responder a situaciones de ausencia de stock de un determinado producto, donde un mismo pedido puede ser completado con varios envíos en función de las necesidades del cliente en cada momento concreto del tiempo.

9.2.- Tratamiento de errores

También derivado de la posibilidad de trabajo "online" y "offline" existe el caso indeseable de que existan asimetrías entre el estado de la información sobre pedidos y envíos entre el servidor y la aplicación (por ejemplo, un repartidor notifica la entrega de un envío habiendo sido borrado el pedido o el envío con los que se corresponde).

En este caso se tiene en cuenta que la información que transmiten los repartidores no puede perderse, puesto que implica la entrega física de productos a un cliente. El mecanismo de sincronización utiliza el módulo nativo de tickets que proporciona los servicios de "help desk", creando una incidencia que se asocia con la persona responsable en la empresa de la gestión del pedido, y el cliente del envío cuya entrega produce la incidencia, enviando un email que da fe de su existencia de forma activa.

El módulo de Tickets de Dolibarr permite al usuario acceder en todo momento a los casos que le han sido asignados y disponer de la información de seguimiento necesaria.

Incidencias en el reparto


La estrategia para documentar y permitir la gestión de estos casos sería la siguiente.

  1. Si no existe un pedido asociado a la entrega: se asocia el ticket con la persona que internamente gestionará el incidente y con el cliente, puesto que se ha entregado una mercancía que la empresa no puede justificar como parte de la acción comercial.
  2. Existe un pedido asociado a la entrega pero no existe un envío con la misma referencia: en este caso, además de con la persona responsable y el cliente al que se le ha realizado la entrega, el ticket se asociará con el pedido y será accesible directamente desde la ficha del pedido correspondiente.
  3. Existe un pedido y un envío programado, pero la mercancía entregada no coincide con la esperada. Este es el caso en el que se modifica un envío y se reprograma. Se crea un ticket asociado al pedido y al autor del envío original, indicando la relación de mercancías entregadas.

Integración de las incidencias con los pedidos

Consideraciones a la solución

La solución se ha desarrollado sobre el ERP/CRM Dolibarr con dependencias con los siguientes módulos nativos:

  1. Usuarios
  2. Clientes y proveedores (terceros)
  3. Pedidos
  4. Expediciones
  5. Producción (BOM)

La integración con otro sistema de gestión requeriría el estudio del modelo que representa y el desarrollo de los componentes necesarios que se describen a lo largo de este artículo, y depende del modelo de datos que incorpore el ERP en cuestión y sus capacidades integración.

  1. Generación de códigos QR
  2. Embalajes y desembalajes
  3. Extensión de la información de entregas envíos asociada con los pedidos de clientes
  4. Publicación de servicios web para el intercambio de información
  5. Desarrollo de servicios web

Inicia sesión para ver o añadir un comentario.

Otros usuarios han visto

Ver temas