Producto verificable · Demo en vivo · Código abierto

Laboratorio Odoo 20 que garantiza que el almacén siempre cuadra con el libro y le dice cada mañana qué necesita decidir

Un ERP completo que se verifica solo: almacén trazado al 100 %, panel de decisiones diario, asistente IA que no inventa y 85 pruebas automáticas. Todo abierto para que lo compruebes.

MontarOdoo 20 completo desde cero (modelo, vistas, datos de ejemplo, tienda)
Automatizarcon asistente IA que busca en docs reales (no inventa)
Verificarcon 85 pruebas pytest + verificador de 14 recuentos
Resetearcon un clic (panel del día) o cada 30 min (servidor)
Míralo en 55 segundos

Recorrido por la demo real: el panel del día, un Odoo completo con ventas, compras y almacén, el catálogo y la tienda online. Con subtítulos.

Problema

Los dolores que tuvo que resolver en fábrica y logística

Almacén que nunca cuadra

Inventario en papel o Excel que no coincide con el sistema, provocando paradas de producción y pedidos fallidos.

Decisiones a ciegas

Falta de datos confiables para decidir qué producir, qué comprar o qué enviar hoy — se basa en intuición, no en hechos.

IA que invita a creer

Asistentes que inventan respuestas cuando no saben, llevando a decisiones basadas en alucinaciones, no en datos reales.

Todo supuesto, nada probado

Afirmaciones del estilo "mejora la eficiencia" sin evidencia verificable, tests ni documentación técnica abierta.

Captura real del panel del día del laboratorio: resumen del catálogo y del almacén leído por SQL el 10/10/2026
El panel del día, en vivo el 19/10/2026: el resumen con las cifras reales del laboratorio (80 muebles publicados, 2.190 unidades) leídas vía JSON-RPC. Ábrelo aquí.
Solución

Cómo lo resuelve este laboratorio ERP

Flujo de datos verificado

Oficina (Odoo 20)                Tienda pública
  │ ventas, compras, CRM            │ pedidos del escaparate
  ▼                                 ▼
PostgreSQL 16  ──  furniture_db (contabilidad, almacén con movimiento trazado)
  │
  ├──►  Panel del día (servicio propio, solo lee)  ──►  «qué toca hoy» y salud del dato
  │
  └──►  Asistente técnico (este chat)  ──►  responde con los documentos del repositorio
                                              │
                                              ▼
                                    ¿cuadra? ¿está probado? ¿puedo montarlo?

Pilares técnicos verificables

TRACE

Trazabilidad 100%

Cada unidad en almacén respaldada por un movimiento trazado. Descudero = 0, verificado por consulta SQL directa.

VERIFICADO
DECISION

Panel de decisiones diario

Servicio propio que lee por SQL (sin ORM) y muestra qué necesita atención hoy: pedidos, actividades, salud del dato.

VERIFICADO
IA-HONESTA

Asistente IA que no inventa

Busca solo en documentos reales del proyecto. Si no hay datos o clave de modelo, dice "no lo sé" en vez de redactar.

VERIFICADO
RESET

Reset automático cada 30 min

El servidor vuelve al estado inicial cada media hora, así que puedes trastear sin miedo a dejar la demo rota.

VERIFICADO

El ERP funcionando, con sesión de demostración

Capturas del 21/10/2026 dentro de Odoo 20 con el usuario de demostración visita — el mismo acceso que abre el botón de la demo en vivo. Nada de maquetas: ventas, inventario y CRM con los datos del laboratorio.

Captura real de Odoo 20: lista de presupuestos y pedidos de venta del laboratorio con clientes, totales en euros y estados
Ventas: los 56 pedidos del laboratorio con cliente, fecha, vendedor y total en euros (S00074: 7.819,02 €, Mobiliari Alacant Distribució S.L.…).
Captura real del pipeline CRM de Odoo 20 del laboratorio: oportunidades en fases New, Qualified, Proposition y Won con importes
CRM: el pipeline con oportunidades en fases (New, Qualified, Proposition, Won) — p. ej. «Interiorismo de vivienda — Laura Ferrer, 24.000,00 €».
Captura real del Inventory Overview de Odoo 20: recepciones y entregas pendientes de procesar del laboratorio
Inventario: recepciones (3 pendientes) y órdenes de entrega (4 pendientes) sobre el almacén de 2.190 unidades.
Captura real del panel del día: lo que pide atención hoy y la salud del dato
El panel del día baja al detalle: lo que pide atención hoy y la salud del dato, con su origen en la base.
Demo en vivo

Prueba el laboratorio ahora mismo

El laboratorio está publicado y se puede tocar. Se sirve únicamente la base furniture_db, aislada por configuración.

Acceso verificado

El enlace abre la sesión del usuario de prueba visita, con ventas, compras y almacén y sin acceso a configuración, sin pedir clave. La contraseña de admin no se publica por seguridad.

Puedes trastear sin miedo: esto se limpia solo

El laboratorio se restaura a su estado inicial cada 30 minutos, así que lo que cambies no afecta al siguiente usuario.

Entrar a Odoo con un clic Abrir el panel del día Ver la tienda
Capacidades verificables

Qué demuestra este laboratorio (y cómo lo puedes comprobar)

ALMACEN

Almacén que siempre cuadra

2.190 unidades en existencia, cada una trazada a un movimiento real. Diferencia con el libro: 0.
Verificado por: consulta SQL directa en laboratorio en marcha.

VERIFICADO
PANEL

Panel del día operativo

Muestra catálogo (80 muebles), valor del almacén (521.878,68 €), pedidos (37 confirmados, 19 presupuestos) y actividades (5 vencidas, 7 de hoy).
Verificado por: captura real del panel publicado.

VERIFICADO
IA

Asistente técnico honesto

Responde solo con lo que hay en el repositorio. Si no encuentra nada, lo dice. Si no hay clave de modelo, enseña fragmentos exactos.
Verificado por: pruebas del asistente contra documentos reales.

VERIFICADO
TESTS

Suite de pruebas automática

66 pruebas pytest (62 sin Odoo/PostgreSQL, 4 contra laboratorio en marcha) + verificador de 14 recuentos contra estado inicial.
Verificado por: ejecuciones en GitHub Actions y verificador local.

VERIFICADO
TIENDA

Escaparate publicable

Tienda online en español, con precios en euros y ficha de producto coherente con catálogo y almacén.
Verificado por: navegación real en tienda publicada.

VERIFICADO
RESET

Mecanismo de reset probado

No basta con el botón: se paró Odoo, se rehizo la base, se cargó la instantánea y se arrancó. El verificador salió en verde y el almacén siguió cuadrando.
Verificado por: procedimiento de restauración documentado y testeado.

VERIFICADO
CATALOGO

Catálogo coherente

80 productos con mismos datos en modelo propio, productos estándar y tienda. Ninguna pantalla cuenta una historia distinta.
Verificado por: consulta cruzada entre catálogos.

VERIFICADO
IDIOMA

Español y euros configurado

1.469 plantillas traducidas, IVA del 21 % aplicado, formato español de importes, empresa con NIF y dirección de laboratorio.
Verificado por: revisión de plantillas y transacciones reales.

VERIFICADO
Capturas reales

La aplicación funcionando, no maquetas

Pantallazos tomados del laboratorio publicado mientras se preparaba esta página:

Captura real del panel del día del laboratorio: cifras del catálogo y del almacén, lo que pide atención y salud del dato
El panel del día del laboratorio. Captura real, clicable a la demo viva.
Captura real de la tienda del laboratorio: muebles con precios en euros y secciones en español
La tienda, con precios en euros y secciones en español, servida desde Odoo.
Captura real de la ficha de un producto de la tienda: Armario Joan BRN con descripción en español, garantía de 24 meses y precio en euros
Ficha de producto (Armario Joan BRN): descripción en español, garantía de 24 meses y precio — 462,20 € — coherente con catálogo y almacén.

Toda cifra citada en esta página (80 muebles, 2.190 unidades, 56 pedidos, 11 compras, IVA del 21 %, 1.469 plantillas traducidas) sale de consultas hechas sobre el laboratorio en marcha. Los pantallazos son del propio laboratorio publicado, sin retoques.

Stack técnico y decisiones

Con qué está hecho y por qué se eligió cada tecnología

Aplicación

Módulo propio de Odoo 20 en Python: modelo furniture.product, vistas de lista, formulario y búsqueda, permisos de acceso, controlador web para el panel y datos del catálogo en CSV.

Por qué: Odoo 20 provee contabilidad, almacén, compras y web probados por miles de empresas. El trabajo se concentra en el dato y la ambientación, no en reinventar lo básico.

Infraestructura

PostgreSQL 15 y Odoo en contenedores separados y aislados, nginx delante con HTTPS de Let's Encrypt, y todo el panel en un servicio systemd propio que solo lee.

Por qué: Aislamiento de contenedores evita conflictos. PostgreSQL 15 por rendimiento y confiabilidad. El panel como servicio separado garantiza que siga funcionando aunque Odoo se reinicie.

Calidad y verificabilidad

66 pruebas de pytest sobre catálogo, módulo, panel y asistente, ejecutadas en cada push con GitHub Actions; un verificador de 14 recuentos contra el estado inicial y una instantánea canónica para restaurarlo.

Por qué: Cada afirmación debe ser verificable. Los tests evitan regresiones. El verificador garantiza que el estado inicial sea conocible y reproducible.

Resultados reales

Métricas verificables del laboratorio en marcha

2.190unidades trazadas en almacén
80productos en catálogo coherente
66tests automáticos pasando
85verificaciones totales (tests + verificador)
521.878,68 €valor total del almacén
30 minciclo de reset automático
0diferencia almacén-libro
100%documentación técnica abierta
Roadmap honesto

Qué está hecho y qué falta (transparencia total)

✔ Implementado y verificable

  • Módulo Odoo 20 completo con trazabilidad de almacén
  • Tienda online publicada y coherente con catálogo
  • Panel del día que lee por SQL (sin ORM)
  • Asistente técnico IA que busca en docs reales
  • 66 tests automáticos + verificador de 14 recuentos
  • Mecanismo de reset automático cada 30 minutos
  • Documentación técnica y decisiones en DECISIONS.md

🚧 En progreso (próximos 30-60 días)

  • Integración con escáner de códigos de barra para recepción
  • Alertas automáticas de stock bajo por email/Slack
  • Exportación de reportes de consumo por centro
  • Optimización de consultas del panel para grandes volúmenes
  • Versión multi-tenant para atender varias empresas simuladas
Preguntas técnicas frecuentes

Lo que un CTO suele preguntar antes de evaluar

¿Cómo se despliega este laboratorio en otro entorno?

El repositorio incluye docker-compose.yml y scripts de provisionamiento. Requisitos: Docker, PostgreSQL 15, nginx. El README explica el proceso paso a paso.

¿Es escalable para cargas de producción reales?

Esta es una demostración técnica, no una instancia de producción. Para escalar, se necesitaría ajustar conexiones de DB, añadir cache Redis y probar con carga real. El patrón de arquitectura es escalable.

¿Cómo se asegura la seguridad de los datos en la demostración?

El laboratorio está aislado: solo sirve la base furniture_db. Las credenciales de demo tienen permisos limitados. No hay datos reales detrás. El admin no se publica por diseño.

¿Qué pasa si quiero adaptar este laboratorio a otro dominio?

El laboratorio es agnóstico por diseño. Para cambiar de dominio: actualizar el CSV del catálogo, adaptar las plantillas de documentos y revisar las reglas de negocio. La arquitectura (almacén trazable, panel de decisiones, IA honesta) permanece igual.