Agrupar tiendas de Shopify para mejorar la gestión
En esta ocasión venimos a explicar un caso de éxito con un cliente de venta online que después de varios años creciendo como negocio, empieza a ver insostenible la manera de gestionar algunos aspectos del día a día, además de un consumo de tiempo excesivo debido a tareas repetitivas, en resumen, ya necesitaba un cambio.
Nos encontró a través de un conocido al que le habíamos desarrollado una aplicación para Android meses atrás, era un proyecto que había fracasado a manos de otras empresas de desarrollo y como en nuestro caso fue un éxito nos recomendó para dar solución al problema que nos presentaba éste nuevo cliente.
El problema
Concertamos una reunion para hablar de los problemas que estaba teniendo y ver si nosotros podíamos ofrecerle alguna solución. Después de explicarnos que tipo de negocio tenia y como estaba construido a través de Shopify, nos explicó el problema
"Tengo varias tiendas online construidas con Shopify y te preguntaras porque no tengo una única tienda, la razón es que vendo productos de diferente índole y eso me requiere tener tiendas online con diferentes estilos y contenido. A esto debemos añadir que mi tipo de negocio es “Dropshipping” y a contrarrembolso, de manera que dispongo de almacenes logísticos gestionados por las compañías de transporte que luego entregaran el pedido. Esta situación y modelo de negocio me provoca 2 problemas principales:
1. No puedo emitir una factura ni contabilizar la venta hasta que la empresa de transportes no me confirma que el pedido ha sido entregado y pagado.
2. Tengo la facturación dividida entre múltiples tiendas, lo que hace imposible seguir una numeración adecuada de facturas y contabilizar bien los beneficios"
El análisis
Una vez explicado el problema y aclarando ciertos aspectos técnicos que comentaremos más abajo, nos pusimos a pensar cual era la mejor solución para poder dar solución a estos problemas principales, a otros y además añadir ciertas funcionalidades para facilitar la gestión.
Nos enfrentábamos a dos problemas principales, por un lado, debíamos mantener una facturación sana y actualizada y por otro lado debíamos buscar una manera de que los pedidos se consideraran entregados y pagados de manera automática.
Lo primero fue preguntar cuáles eran las compañías de transporte que utilizaba para la gestión logística y el transporte de pedidos. Paso siguiente, hablar con todas ellas para ver si tenían algún servicio de consulta de pedidos, ya fuera una API REST o un WebService SOAP.
Por suerte todas ellas disponían de un servicio, en mejores o peores condiciones, pero lo tenían, solo nos quedaba desde Belmanz compatibilizar los datos de cada una de ellas.
Después, la parte más facil, fue desarrollar una App en Shopify para concederle los permisos necesarios y asi poder consumir los datos que necesitábamos de Shopify. Entre otros necesitábamos saber cuáles eran los productos, sus precios, sus pedidos, etcétera
Todo estaba claro y según el análisis realizado de todo el ecosistema que estábamos planteando, era posible llevarlo a cabo, solamente nos quedaba formar una propuesta y presentársela a cliente.
La propuesta
Al final lo que nos propusimos hacer y le planteamos a cliente fue:
Desarrollar un Dashboard o panel de control que disponga de conexión a la API de Shopify y a las empresas de transporte. Éste dispondría además de una serie de servicios en segundo plano se encargarían de sincronizar todos los datos necesarios para poder gestionar desde alli mismo los productos, los pedidos, los envíos y las facturas.
El panel dispondría de una zona de configuración donde el propio cliente podría dar de alta nuevas tiendas y enlazarlas con la API de Shopify sin requerir de conocimientos técnicos, así la información de todas las tiendas estaría centralizada en un solo lugar
Disponiendo de toda esta información, podríamos determinar si un pedido ha sido entregado y cobrado prácticamente a tiempo real. En cuanto eso ocurriera podríamos generar de manera automática una nueva factura en PDF para poder enviarla al cliente en caso de solicitarla o almacenarla como dato contable y ahora si con la numeración adecuada y disponible para su consulta.
Centralizando los datos de esta manera podíamos dar solución a los 2 principales problemas y se nos abría un abanico de posibilidades para la explotación de datos.
El desarrollo
Después de que el cliente estudiara y aceptara el proyecto nos pusimos manos a la obra, tenemos que decir que ha sido un proyecto muy agradecido desde el principio con pocos contratiempos y con las dificultades ya esperadas.
Con pocos contratiempos, no quiere decir ninguno… Durante el desarrollo de una de las integraciones con las empresas de transporte y logística, nos avisaron desde el departamento de desarrollo de una de ellas que estaban apunto de eliminar el servicio REST que tenían hasta ahora por que estaban desarrollando un nuevo portal de gestión interna y con él, los servicios web. Por lo que nos pidieron si temporalmente, hasta que estuviera activo el nuevo servicio podíamos hacer una maniobra para poder continuar desarrollando y entregar mientras ellos terminaban.
Como siempre cuando ocurren estos imprevistos, debíamos consultar con nuestro cliente si la solución que le presentábamos le parecía bien temporalmente.
La solución no era mas que hacer lo que teníamos planificado, pero al revés, me explico.
Se suponía que nosotros debíamos recuperar datos de la empresa de transporte a través de su api o sea que lo que hicimos fue desarrollar un pequeño endpoint de API REST para que fueran ellos los que cada X tiempo nos enviaran la información que nos hacía falta.
El resultado
Pocas semanas después estábamos listos para la entrega y la puesta en marcha, pero antes, ocurrió algo, como decíamos tanto nosotros como el cliente vimos todo lo que desde este panel podíamos hacer y entre otras, nos solicitó que hiciéramos una migración de los datos de su antiguo programa de contabilidad a la plataforma para poder conservar y traer toda la facturación de años atrás
Ejemplo de tabla con los envíos y su estado