Analizador de Tickets con IA

Un bot de Telegram que convierte la foto de un ticket de supermercado en un desglose de gasto por categorías, de forma automática y con revisión humana antes de guardar.

n8n GPT-4o Vision Telegram Bot Google Sheets

Vídeo de demostración

Cómo funciona

Del ticket en papel a tus gastos clasificados, en cinco pasos

Flujo del analizador de tickets con IA Envías la foto por Telegram; n8n orquesta el flujo y la pasa a GPT-4o-mini Vision, que lee y clasifica los productos; revisas el resumen con editar y confirmar; al confirmar, el gasto se guarda por categoría en Google Sheets. Telegram Envías la foto del ticket n8n Orquesta todo el flujo GPT-4o-mini Vision Lee y clasifica el ticket Revisión en Telegram /editar o /confirmar Google Sheets Guarda por categoría /confirmar /editar Interfaz / datos n8n / lógica IA (Vision)
  1. Envías la foto. Mandas la imagen del ticket al bot de Telegram, sin instalar nada nuevo.
  2. n8n orquesta. Recibe la imagen y coordina cada paso del proceso de forma automática.
  3. La IA lee y clasifica. GPT-4o-mini Vision interpreta el ticket y reparte cada producto en 8 categorías de gasto.
  4. Tú revisas. Con /editar corriges lo que la IA no acierte; con /confirmar das el visto bueno.
  5. Se guarda. Al confirmar, el gasto por categoría queda registrado en Google Sheets, listo para analizar.

Decisión de arquitectura: separar IA y cálculo

Cuando el bot cuadraba el total pero repartía mal el gasto

Al principio le pedía al modelo dos cosas en el mismo paso: que clasificara cada producto y que sumara cada categoría. Casi siempre salía bien, así que no le di más vueltas. Hasta que un día sumé un ticket a mano para comprobarlo y los números no me cuadraban con los del bot.

Qué vi

En un ticket, una crema de cacahuete de 2,65 € no aparecía en su categoría. Lo raro era que el total seguía bien; lo que fallaba era el reparto entre categorías.

Por qué pasaba

Los modelos de lenguaje no se llevan bien con las cuentas. Como le había pedido que la suma de las categorías diera igual que el total del ticket, el modelo movía importes de una categoría a otra para que la cifra final encajara. Al compensarse unos errores con otros, el total daba bien y el fallo no se veía a simple vista.

Cómo lo arreglé

Separé el trabajo. Ahora el modelo solo decide la categoría de cada producto, y las sumas las hace un trozo de código aparte que siempre da el mismo resultado. Desde entonces el desglose por categorías es exacto y lo puedo comprobar cuando quiera.

La IA se encarga de leer el ticket y el código de hacer las cuentas. Un modelo de lenguaje interpreta bien, pero no es una calculadora.

Decisiones de diseño

Por qué está montado así y no de otra forma

Visión con IA, no OCR clásico

Un OCR devuelve texto en bruto; el modelo de visión entiende el ticket (nombres abreviados, formatos raros de cada súper) y además clasifica en un solo paso.

Revisión humana antes de guardar

La IA puede dudar al clasificar un producto. El paso /editar garantiza que en la hoja solo entran datos correctos: calidad de datos sobre automatización ciega.

Telegram como interfaz

Cero fricción: el usuario ya lo tiene instalado y sabe usarlo. No hay que aprender ninguna herramienta nueva.

El código fuente, los prompts y la configuración del flujo no se publican: son la parte que da valor al proyecto y me reservo su uso. Aquí muestro qué hace y por qué, no la receta para replicarlo.

Preparado para lo que salga mal

Cada acción pasa por una comprobación: si algo no encaja, el bot responde en vez de fallar

/confirmar sin ticket Te avisa: no hay nada pendiente
/cancelar dos veces No rompe: nada que cancelar
/editar sin ticket Te avisa: envía una foto primero
Comando mal escrito Te explica cómo usarlo
/gastos sin datos Avisa: sin gastos en ese periodo
No es una foto Te guía sobre qué enviar
Foto ilegible Aviso de descuadre para revisar

Para qué sirve, en la práctica

El resultado, más allá de la parte técnica

Uso este sistema para registrar mis compras de supermercado. En unos segundos, una foto del ticket se convierte en un desglose fiable de cuánto gasto en proteínas, fruta y verdura, procesados, etc. — la información que el extracto del banco nunca te da.

Con los datos acumulados en Google Sheets puedo ver tendencias por meses y ajustar mis hábitos de consumo con información real, no con estimaciones. El desglose por categorías es exacto, así que no hay que revisar las sumas a mano: la revisión humana queda solo para afinar alguna clasificación puntual.