Retomo el tema de la IA que lo tengo bastante abandonado desde hace demasiado, para meterme con una función que a mí me ahorra mucho tiempo. Y que, por eso, creo que a ti te puede interesar.
En este artículo te voy a explicar cómo comparar las facturas de logística de un ecommerce con tus estimaciones previas, de forma que puedas primero observar las diferencias y luego tomar medidas, como hablar con la agencia o corregir si el error es propio.
Cosas a tener en cuenta:
- Vamos a coger una factura en PDF y compararla con un CSV / Excel. Si fuera comparar dos ficheros de Excel la cosa no tendría casi chicha (a no ser que tuviera celdas combinadas, en cuyo caso, este sistema nos ayudaría también).
- Estoy dando por hecho que guardas en base de datos una estimación del coste de cada envío. Si no lo estás haciendo, deja de leer este artículo y ponte a ver cómo hacerlo. Tendrás mucho más controlados los márgenes y evitarás sorpresas desagradables.
- Yo llevo a cabo este proceso de análisis de PDFs con facturas, pero el sistema te puede servir a ti para utilizar los PDF como te convenga. En este sentido, en próximos artículos te explicaré cómo coger un PDF de proveedor con múltiples referencias y crear distintas fichas de producto.
- Yo voy a utilizar ChatGPT 4 y 4o para ello. No he probado con otros asistentes.
Índice de Contenidos del Artículo
- Los problemas de las facturas de logística en ecommerce
- El proceso de comparar facturas con IA
- Caso en el que no tengamos el ID de pedido en la factura
- Conclusiones
- Preguntas frecuentes
- ¿Para qué sirve analizar facturas de logística con IA?
- ¿Qué archivos necesitas para comparar facturas logísticas con ChatGPT?
- ¿Por qué es importante guardar una estimación del coste de cada envío?
- ¿Qué datos se extraen de la factura logística en PDF?
- ¿Qué datos se extraen del CSV o Excel propio?
- ¿Cómo se comparan los datos del PDF y del Excel?
- ¿Qué columnas debe tener el Excel final de discrepancias?
- ¿Qué pasa si la factura no incluye el ID de pedido del ecommerce?
- ¿Por qué este sistema puede ahorrar tiempo?
- ¿Qué tipo de errores puede ayudar a detectar?
Los problemas de las facturas de logística en ecommerce
No descubro el fuego cuando digo que, en un ecommerce de producto multimarca, la logística será la segunda o tercera partida de gastos más importante, solo detrás de la compra de mercancía y, si acaso, de los salarios.
Entonces está claro que es un aspecto que merece atención. Hay mucha pasta en juego y es dinero que se refleja directamente en margen de beneficios.
El problema es que, aunque sepas de su importancia, revisar las facturas de las empresas logísticas requiere tiempo.
Por lo menos si realizas varias decenas de envíos al día. No digamos ya cuando son cientos o miles.
Y sí, hay algunas agencias que, además de la factura en PDF tienen el detalle de pasarnos un CSV con el desglose de cada envío.
Estupendo, pero este CSV nunca o casi nunca podremos usarlo tal cual, ya que habrá ciertas celdas combinadas, vacías… De todas formas, a poco mañoso que seas con Excel, te apañas una macro un día y listo. A partir de ese momento comparar ese fichero con el tuyo con las estimaciones sacadas del CMS.
También me dirás que es posible desarrollar una funcionalidad en tu web que lea un PDF y la transforme en un CSV descargable.
Lo sé.
Lo hemos probado. Un desarrollador tardó tres días en tener la funcionalidad montada.
Pero, tristemente, las facturas de los proveedores cambian de formato, así que 9 meses después, nos dejó de funcionar.
Además, era para una sola agencia. Imagina tener que desarrollar un sistema similar para 8 o 9 diferentes. Multiplica los días de desarrollo.
También me podrás decir que con coger X pedidos al azar (en función del volumen global) y comparar, estadísticamente puede ser suficiente.
Y sí, puede serlo, no contradeciré yo a la estadística. Pero, teniendo una fórmula sencilla para obtener TODOS los valores, ¿te vas a conformar con un porcentaje menor? Sobre todo, teniendo en cuenta que, probablemente tardes más en comprobar manualmente ese volumen de pedidos que utilizar el sistema que te propongo aquí.
Por estos motivos llevaba mucho tiempo dándole vueltas a cómo podríamos acelerar el trabajo.
Y apareció ChatGPT.
El proceso de comparar facturas con IA
Voy a explicarte el paso a paso que sigo.
Te recuerdo que para seguirlo necesitarás sólo tres cosas:
- Una factura de agencia de transporte en PDF que incluya el coste de cada envío.
- Un CSV / Excel sacado de la base de datos de nuestro CMS / SGA / ERP con nuestra estimación de los costes de cada envío.
- ChatGPT.
Nos ponemos manos a la obra.
#1. Doy instrucciones de contexto a ChatGPT
Abro ChatGPT (recuerda, versión 4 o 4o) y pego este prompt, que no es mío, sino que descubrí bicheando por internet. No recuerdo dónde fue, así que no puedo darle el crédito que corresponde:
MISSION
Act as Professor Synapse, a conductor of expert agents. Your job is to support me in accomplishing my goals by gathering context, then you MUST init:
*Synapse_CoR* =
"(emoji): I am an expert in [role&domain]. I know [context]. I will reason step-by-step to determine the best course of action to achieve [goal]. I can use [tools] and [relevant frameworks] to help in this process. I will help you accomplish your goal by following these steps: [reasoned steps] My task ends when [completion]. [first step, question]"
INSTRUCTIONS
1. 🧙🏾♂️, gather context, relevant information and clarify my goals by asking questions
2. Once confirmed you are MANDATED to init Synapse_CoR
3. 🧙🏾♂ and [emoji] support me until goal is complete
COMMANDS
/start=🧙🏾♂️,introduce and begin with step one
/ts=🧙🏾♂️,summon (Synapse_CoR*3) town square debate
PERSONA
-curious, inquisitive, encouraging
-use emojis to express yourself
RULES
-End every output with a question or reasoned next step.
-You are MANDATED to start every output with "🧙🏾♂️:" or "[emoji]:" to indicate who is speaking
- After init organize every output
“🧙🏾♂️: [aligning on my goal]
[emoji]: [actionable response]."
-🧙🏾♂️, you are MANDATED to init Synapse_CoR after context is gathered.
- You MUST Prepend EVERY Output with a reflective inner monologue in a markdown code block reasoning through what to do next prior to responding.
- Always answer in SPANISH
Esto nos sirve para, entre oras cosas, acabar cada interacción con una pregunta de ChatGPT. Vemos aquí que nos pide algún dato más, con un estilo un tanto Yoda:

#2. Subimos la factura en PDF y le damos instrucciones
Antes de ver mi respuesta, te quiero mostrar el PDF que voy a subir, para que entiendas el prompt en cuestión.
Éste es el formato de la factura en PDF:

En la imagen puedes ver dos envíos. Te señalo en rojo los dos campos que me interesan de cada envío:
- La referencia del pedido, que es una cadena de texto que incluye el ID de pedido de nuestro CMS. Ojo que es nuestro ID, no es el de la agencia de transporte (luego veremos otro ejemplo de esto).
- El coste total del envío, que es lo que compararemos con nuestra estimación.
Con esta explicación podrás entender el prompt que le pego, que tiene en cuenta el formato particular de la factura:
Te voy a enviar una factura en PDF. Haz un listado de todas las referencias del PDF junto con el precio total. En el número de referencia solo son válidas las cifras que hay antes del #, por ejemplo: de esta referencia: 80052#1-1, la referencia válida es: 80052.
Adjunto la factura en PDF al prompt y le envío todo a ChatGPT.
Ésta es su respuesta:

#3. Subimos nuestras estimaciones
Antes de seguir con ChatGPT, necesito que veas el CSV que le voy a pasar a continuación, que contiene los dos mismos campos que cogíamos de la factura. Recuerda:
- ID de nuestros pedidos.
- Coste estimado de envío.

Bueno, pues ahora sí estás en disposición de entender el siguiente prompt:
Voy a enviarte un archivo Excel con el resumen de pedidos. Haz un listado de todos los “número de pedido” junto con su “coste de envío estimado”.
A esto le adjuntamos el Excel con nuestras estimaciones y se lo enviamos.
Te pego tu respuesta:

#4. Comparamos valores
Atento que aquí viene la magia.
Metemos este prompt:
Una vez que lo tengas todo, coteja los datos del pdf, “referencias” y “precio total” con los datos de los “número de pedido” y “coste de envío estimado” y comprueba si existen discrepancias. La finalidad es comprobar si para una misma referencia o número de pedido coinciden los costes. Si no hay ninguna discrepancia di: Todo está ok, no existe ninguna discrepancia. Si existen discrepancias crea un excel con el resultado numérico de las discrepancias
Estructura el Excel de la siguiente manera:
Columna A: Referencia
Columna B: Precio total PDF
Columna C: Coste total Excel
Columna D: Discrepancias
Mira qué maravilla (y eso que añade una columna que no le he pedido):

Ahí tienes todas las diferencias. Y estamos hablando de un PDF con 9 páginas de envíos.
Disclaimer: este proceso lo ha desarrollado Juan Carlos Carpio, un crack en IA y contenidos que tenemos la suerte de disfrutar en Yo pongo el hielo.
Caso en el que no tengamos el ID de pedido en la factura
Es posible que la factura de proveedor no incluya el ID de tu pedido.
El caso es similar al caso anterior, pero necesitarás, dentro de la integración vía API entre tu sistema y el de la agencia logística, recopilar el identificador de pedido de la agencia, para añadirlo a nuestro CSV.
La idea es machear el PDF y el CSV por el ID de envío de la agencia en este caso, en vez del ID de nuestro CMS.
Entonces, con una factura como ésta, que, como ves, no tiene el ID de pedido de nuestro CMS sino el sólo el ID de envío propio de la agencia:

Y un CSV nuestro como éste, en el que recuperamos vía API el ID de envío de la agencia y lo volcamos:

Repetimos el proceso adecuando el nombre de los campos (el de los encabezados) en los prompts, según los nuevos ficheros (importante para que ChatGPT no se líe) y obtenemos esto:

Que es justo lo que andábamos buscando.
Conclusiones
Como ves, a partir de ahora analizar las facturas de los envíos de tu ecommerce será coser y cantar.
Cuestión, literalmente, de minutos. Con cualquier agencia y su correspondiente factura.
Descubrirás cosas como:
- Que te están facturando el peso volumétrico (con o sin razón).
- Que hay conceptos en la factura que no te habían mencionado.
- Que te han subido la tarifa sin avisar.
- Que no te han aplicado la oferta mencionada.
- Que has enviado un pallet de 2 toneladas (cosa que no será cierta si no vendes baterías para coches).
Esto por mencionar algunos casos habituales.
El siguiente paso será arreglar lo que toque o bien reclamar a la empresa lo que corresponda, pero, como en esto no te puede ayudar ChatGPT (que llegará), de momento te deseo suerte.
Si te ha gustado el post, aquí tienes más artículos sobre IA aplicada a negocio digital.
Y, si lo que quieres es recibir que cada jueves mi nuevo artículo en tu email, puedes suscribirte –y, de paso, recibir un regalito- en esta otra página.
Preguntas frecuentes
¿Para qué sirve analizar facturas de logística con IA?
Sirve para comparar los costes facturados por la agencia de transporte con las estimaciones guardadas en tu ecommerce y detectar discrepancias.
¿Qué archivos necesitas para comparar facturas logísticas con ChatGPT?
Necesitas una factura de transporte en PDF, un CSV o Excel con las estimaciones de coste de envío y ChatGPT.
¿Por qué es importante guardar una estimación del coste de cada envío?
Porque permite controlar mejor los márgenes y detectar desviaciones entre lo que esperabas pagar y lo que finalmente te factura la agencia.
¿Qué datos se extraen de la factura logística en PDF?
Principalmente la referencia del pedido y el coste total del envío.
¿Qué datos se extraen del CSV o Excel propio?
El número de pedido y el coste estimado de envío guardado en el sistema interno.
¿Cómo se comparan los datos del PDF y del Excel?
Se pide a ChatGPT que coteje la referencia y el precio total del PDF con el número de pedido y el coste estimado del Excel, creando una tabla con las discrepancias.
¿Qué columnas debe tener el Excel final de discrepancias?
Referencia, precio total PDF, coste total Excel y discrepancias.
¿Qué pasa si la factura no incluye el ID de pedido del ecommerce?
Se puede comparar usando el ID de envío de la agencia, siempre que ese identificador se haya guardado previamente en el CSV propio.
¿Por qué este sistema puede ahorrar tiempo?
Porque permite revisar todos los envíos de una factura en vez de comprobar manualmente solo una muestra.
¿Qué tipo de errores puede ayudar a detectar?
Puede descubrir diferencias por peso volumétrico, conceptos no avisados, subidas de tarifa, ofertas no aplicadas o importes anómalos.

Deja una respuesta