Saltar al contenido

Automoción y posventa · CRM/ERP a medida

CRM y ERP a medida para un taller de llantas

The Wheel Lab repara llantas en Valencia y recoge y entrega las ruedas a sus clientes. Para ellos construimos el sistema que lleva todo el negocio, desde la primera consulta hasta el cobro y el cierre fiscal del trimestre.

Sector
Automoción y posventa
Solución
CRM/ERP a medida
Periodo
Desde enero de 2026
Estado
En producción Publicado en crm.thewheellab.es
Datos de demostración Tablero del CRM con las órdenes repartidas por estación del taller (preparación, diamantado, pintura, montaje, control de calidad y terminado), con operario y tiempo en curso.

Resumen ejecutivo

CRM y ERP a medida para un taller de reparación de llantas: de la consulta al cobro, con QR por llanta, recogidas con conductor y facturación por sucursal.

The Wheel Lab necesitaba un único sistema para un negocio con tres frentes: clientes particulares, empresas que envían ruedas (talleres, aseguradoras y concesionarios) y conductores propios que recogen y entregan. El CRM/ERP reúne leads, presupuestos, órdenes de trabajo, producción por estaciones con QR por llanta, rutas de conductores, portal B2B, facturación, cobros, conciliación bancaria y borradores de los modelos 303 y 347. Está en producción en crm.thewheellab.es y, desde octubre de 2026, admite varias sucursales (hoy Valencia y Barcelona), cada una con sus datos y su serie de facturas, y con métricas comparadas entre ellas.

El reto

  1. Cada coche llega con cuatro llantas que siguen rutas distintas según el servicio: desmontado, preparación, diamantado en torno CNC, pintura, montaje y control de calidad.

  2. Sin identificar cada llanta por separado no hay forma fiable de saber en qué estación está, quién la ha trabajado ni cuánto ha tardado.

  3. Además de particulares, el taller trabaja para talleres, aseguradoras y concesionarios que quieren seguir sus pedidos y recibir una factura por cada coche, y las ruedas viajan con conductores propios entre el cliente y el taller.

  4. En la parte administrativa, el cierre de un trimestre obligó a recuperar a mano las facturas de compra desde el correo y Drive para pasarlas a la gestoría.

  5. Con la apertura de Barcelona, cada sucursal pasó a ser una sociedad con su propia serie de facturas, sin dejar de ver el negocio en conjunto.

La solución

Un sistema web con backend en FastAPI y PostgreSQL y una interfaz en Next.js que cubre todo el ciclo: el lead entra por web, correo o WhatsApp, el presupuesto aceptado genera la orden, cada llanta recibe un QR que se escanea en cada estación y la entrega dispara factura, certificado y encuesta. Los conductores y los partners trabajan desde apps Flutter que usan la misma API.

Funcionalidades

Qué hace, pantalla a pantalla

Datos de demostración Tablero de leads activos por estado (nuevo, contactado, presupuesto enviado) con prioridad, vehículo y canal de entrada.

01

Leads y presupuestos

Los leads llegan por web, correo, teléfono o WhatsApp y se mueven en un tablero Kanban hasta ganado o perdido, con motivo de pérdida. Al aceptar un presupuesto, el sistema crea la orden de trabajo con todas sus llantas.

Datos de demostración Tablet de la estación de pintura tras escanear el QR de una llanta, con el cronómetro del trabajo en marcha.

02

Trazabilidad por llanta con QR

Cada llanta lleva una etiqueta QR propia. El operario la escanea en la tablet de su estación al empezar y al terminar; el sistema comprueba que la ruta del servicio se respeta y registra operario, hora y duración.

Datos de demostración Historial de facturas con número de serie, cliente, orden, fecha, total y estado de cobro.

03

Facturación y cierre del trimestre

Facturas completas, simplificadas y rectificativas con numeración por sucursal, facturas de compra con IVA soportado, borradores de los modelos 303 y 347 y un cierre trimestral guiado que genera el paquete para la gestoría.

Datos de demostración Página pública de seguimiento en el móvil con el avance de la orden por pasos del taller y el estado de cada llanta.

04

Seguimiento con vídeo para el cliente

Cada orden tiene una página pública de seguimiento con el estado de las ruedas. Las cámaras del taller suben clips que se asignan a la orden y se montan en un vídeo de la reparación que el cliente puede ver y compartir.

Datos de demostración Panel principal del CRM con indicadores del día y notas y recordatorios del equipo.

05

Panel de operación y alertas

Un módulo de análisis por reglas resume el día, detecta tiempos anómalos por estación, estima qué órdenes llegan tarde, propone el orden de trabajo y crea seguimientos de presupuestos sin respuesta. Se activa por funciones desde ajustes.

  • Datos del torno y certificado verde

    Para cerrar el diamantado hay que escanear el QR que genera el torno CNC. Con la profundidad de corte se calcula el material retirado y el CO2 evitado, que alimentan el certificado verde verificable desde un enlace público.

  • Recogidas y entregas

    Los conductores ven sus recogidas y entregas del día, escanean cada rueda al recogerla, firman la entrega y comparten su posición. La ruta se calcula con la Routes API de Google optimizando el orden de las paradas.

  • Portal para partners B2B

    Talleres, aseguradoras y concesionarios crean pedidos rueda a rueda, con número de siniestro o póliza, siguen cada llanta por estación, descargan albaranes y facturas y gestionan los usuarios de su equipo.

  • Cobros y conciliación bancaria

    Las facturas vencidas, también las B2B, se reclaman por correo en tres avisos (a los 3, 15 y 30 días) con el PDF adjunto. Los movimientos del banco se importan en CSV y se casan con pagos y facturas por importe y fecha.

Arquitectura

Cómo está construido

Plano · crm-the-wheel-lab 6 capas · 30 piezas
  1. Clientes

    • CRM web del taller y la administración
    • Tablet de estación (PWA)
    • Portal web B2B
    • Apps Flutter Driver y Partner
    • Páginas públicas de seguimiento, pasaporte QR y certificado
    • De Clientes a Interfaz web: navegador y PWA
  2. Interfaz web

    • Next.js 14 (App Router) y React 18
    • TanStack Query
    • Radix UI, shadcn/ui y Tailwind
    • Recharts, Leaflet y FullCalendar
    • Service worker y notificaciones web push
    • De Interfaz web a API: JSON con JWT
  3. API

    • FastAPI 0.115 con 99 routers
    • JWT para usuarios internos, partners y conductores
    • Middleware de sucursal y de rol comercial
    • Límite de peticiones y eventos en tiempo real por SSE
    • De API a Servicios de negocio: reglas por sucursal
  4. Servicios de negocio

    • Máquina de estados de órdenes y rutas de estaciones
    • Facturación, numeración y cierre fiscal
    • Cobros, conciliación y rentabilidad por orden
    • Módulo de análisis por reglas con LLM opcional
    • Generación de PDF (etiquetas QR, facturas, pasaportes)
    • De Tareas programadas a Servicios de negocio: trabajos diarios, semanales y mensuales
  5. Tareas programadas

    • APScheduler con bloqueos en Redis
    • Seguimiento de presupuestos a las 48 h
    • Reclamación de vencidas, NPS y resúmenes semanales
    • Informe ESG mensual y sincronización de Search Console
  6. Datos e integraciones

    • PostgreSQL 16 con SQLModel y 90 migraciones Alembic
    • Redis 7
    • SendGrid, Twilio y WhatsApp Cloud API
    • Firebase Cloud Messaging
    • Google Routes API y Search Console
    • OpenAI (gpt-4o-mini) con Anthropic como alternativa
    • Sentry

Otros flujos

  • Clientes → API : apps Flutter por HTTPS
  • Servicios de negocio → Datos e integraciones : ORM, colas y API externas
  • API → Clientes : SSE y notificaciones push

Tecnologías

Stack verificado en el código

Interfaz

  • Next.js
  • React
  • TypeScript
  • TanStack Query
  • Radix UI
  • shadcn/ui
  • Tailwind CSS
  • Recharts
  • Leaflet
  • FullCalendar
  • PWA

Backend

  • Python
  • FastAPI
  • SQLModel
  • Pydantic
  • Alembic
  • APScheduler
  • JWT
  • ReportLab (PDF)

Datos

  • PostgreSQL
  • Redis

Móvil

  • Flutter
  • Firebase

IA y voz

  • OpenAI API
  • Claude (Anthropic)

Automatización y vídeo

  • Playwright

Infraestructura

  • Docker
  • GitHub Actions
  • Hetzner
  • Sentry

Integraciones

  • WhatsApp
  • Twilio
  • SendGrid
  • Google Maps Platform
  • Google Search Console

Calidad

  • pytest

Ingeniería

Cómo se planteó y se construyó

  1. MVP de trazabilidad (enero y febrero de 2026)

    Se parte de un flujo básico de lead, presupuesto y orden de trabajo sobre SQLite. La primera pieza propia es el identificador público por llanta, con su etiqueta QR, el registro de eventos por estación y un pasaporte en PDF. En febrero llegan las estaciones con Kanban y el progreso por llanta.

  2. Primera versión en uso (marzo de 2026)

    Se añaden autenticación interna, inventario, facturas y pagos, el portal B2B, la app del conductor con seguimiento GPS, la integración con WhatsApp y la lectura del QR del torno. El sistema se empaqueta en Docker y se publica en el subdominio crm.thewheellab.es.

  3. Endurecimiento técnico (mayo y junio de 2026)

    Migración a un VPS en Hetzner, cadena de migraciones Alembic reproducible desde cero, CI con PostgreSQL además de SQLite y numeración de facturas correlativa. En junio el despliegue pasa a imágenes en GHCR y se incorporan Redis, límite de peticiones, logs estructurados, Sentry y copias de seguridad diarias.

  4. Gestión fiscal y financiera (julio a septiembre de 2026)

    A partir de una auditoría de mejoras se incorporan facturas de compra, cierre trimestral guiado, borradores de los modelos 303 y 347, caja del mes, rentabilidad por orden, conciliación bancaria y reclamación escalonada de vencidas. En septiembre se cierra una ronda de auditoría de seguridad y datos.

  5. Varias sucursales y nuevos módulos (octubre y noviembre de 2026)

    Llegan los clips de vídeo del taller para el cliente, la gestión multisucursal con Valencia y Barcelona, la sección de empleados, la Routes API de Google, el informe mensual de Search Console, los contratos de API de las apps móviles y un módulo comercial para la captación de empresas.

Retos técnicos resueltos

Numeración de facturas inalterable con varios usuarios emitiendo a la vez y una serie distinta por cada sociedad.
El número se reserva con SELECT FOR UPDATE sobre la tabla de secuencias y se contrasta con el máximo real emitido; siempre es el siguiente y nunca rellena huecos de facturas anuladas. Cada sucursal tiene prefijo y serie propios, solo se borran borradores y cada acción queda en un registro de auditoría inmutable.
Seguir cada llanta por su ruta de estaciones sin que un escaneo repetido o fuera de orden deje datos incoherentes.
Cada llanta tiene un identificador público en su QR y cada servicio define su secuencia de estaciones. El escaneo valida la secuencia (409), bloquea llantas marcadas (423), es idempotente si se repite en la misma estación y solo un administrador puede forzar un movimiento, que queda registrado.
Convertir el trabajo del torno CNC en un dato ambiental defendible para el cliente.
Al cerrar el diamantado se decodifica el QR del torno (profundidad de corte, tiempo, número de serie) y se acumula el material retirado por llanta. El CO2 evitado sale de una única calculadora con fuentes citadas y un factor conservador de vida útil del 25 %.
Separar los datos de dos sucursales sin duplicar código ni depender de que cada consulta recuerde filtrar.
Un middleware fija la sucursal activa por petición y un evento del ORM añade el filtro por sucursal a toda consulta sobre los modelos afectados, incluidas las tablas hijas. Antes de guardar, otro evento completa la sucursal en las altas y rechaza mezclar registros de dos sucursales.
Ejecutar en producción varios procesos de la API sin duplicar trabajos ni perder eventos en tiempo real.
Los trabajos programados toman un bloqueo en Redis antes de ejecutarse, de modo que un informe o un aviso no sale dos veces. Los eventos SSE se reparten entre procesos con Redis pub/sub y el límite de peticiones comparte almacenamiento en Redis.

Galería

Más pantallas

Resultados

Lo que se ha medido

Cada cifra lleva su fuente y su fecha. Lo que no se ha medido va aparte, como potencial.

  • 2.012

    pruebas automatizadas de backend en verde

    Registro de calidad del repositorio del CRM (make test) · 2026-09

    Dato de calidad técnica, no de negocio.

Potencial · sin medición propia

  • Por llanta

    estación, operario y duración de cada trabajo, registrados al escanear el QR

  • 3 avisos

    de reclamación automática de facturas vencidas, también B2B, sin intervención manual

  • 1 cierre

    trimestral guiado con ventas, compras y borrador del 303 en un mismo sitio

Cronología

Cómo ha evolucionado

  1. Arranque del proyecto y primera versión del QR por llanta con pasaporte en PDF.

  2. Portal B2B, app del conductor con GPS e integración con WhatsApp; publicación en crm.thewheellab.es.

  3. Paso a VPS propio, numeración de facturas correlativa y CI con PostgreSQL.

  4. Facturas de compra, cierre trimestral, modelos 303 y 347 y conciliación bancaria.

  5. Operación en dos sucursales, Valencia y Barcelona, y vídeo de la reparación para el cliente.

  6. Módulo comercial para la captación de empresas B2B.

Evolución prevista

Lo siguiente

Trabajo planificado, todavía no disponible.

  1. Previsto · 01

    Centro de acciones con vista previa y reversión

    Catálogo de acciones de gestión repetitivas (reasignar órdenes estancadas, generar seguimientos, facturas pendientes por lote) que se previsualizan, se aplican con un botón y se pueden revertir, con registro de cada ejecución.

  2. Previsto · 02

    API única de órdenes

    Unificar en un único endpoint la creación y los cambios de estado de órdenes particulares y B2B, hoy repartidos en varios routers, y retirar los antiguos cuando las apps móviles usen la versión nueva.

  3. Previsto · 03

    Automatizaciones pendientes del backlog

    Borrador de pedido al proveedor cuando un material baja del stock mínimo, aviso de garantías próximas a vencer y contador de escaneos del pasaporte QR para usarlo en comunicación.

Proyectos relacionados

Más trabajo en esta línea

Ver todos los proyectos
  • Sunkiss MVP

    CRM omnicanal Sunkiss

    Cosmética y comercio electrónico · CRM/ERP a medida

    CRM y gestión de stock para una marca argentina que vende en Tiendanube y Mercado Libre: lotes con FEFO, ventas unificadas, cobros conciliados y anuncios.

    • Python
    • FastAPI
    • Pydantic
    • JWT
  • Datos de demostración Vista general de HERMES OS con la barra lateral de secciones, los controles para iniciar, pausar o detener el equipo y los contadores de agentes activos, trabajos abiertos, terminados y pendientes de decisión.

    Producto propio En producción

    Hermes, asistente multiagente

    Productividad personal · Asistente con IA y equipo de agentes

    Asistente personal por WhatsApp y Telegram con 57 herramientas propias, en el que cada acción con efecto espera la confirmación del usuario.

    • Python
    • FastAPI
    • Pydantic
    • APScheduler
  • Fotograma de un reel vertical del proceso: «Paso 02/04 · Pintura», una llanta pintada de rojo por el robot con el rótulo animado encima.

    The Wheel Lab MVP

    Producción de vídeo automatizada

    Posventa de automoción · Automatización de procesos

    Un pulsador en cada estación del taller graba el trabajo y el sistema monta solo el vídeo de la reparación para el cliente y los reels para redes.

    • Python
    • FFmpeg
    • Raspberry Pi
    • Linux

Hablemos

¿Necesitas desarrollar una solución similar?

Cuéntanos el problema. Te respondemos con un planteamiento claro: qué haríamos, en cuánto tiempo y con qué entregables.