Incidente de precio en cajas de autocobro — Informe ejecutivo
Cliente: Dino — Fechas del incidente: 19–20/09/2026 — Emitido: 23/09/2026
Estado: en pruebas de QAPuesta en producción estimada: 24/09/2026 (estimado, no comprometida)EN QA
Qué pasó
El 19/09 Dino reportó que una caja de autocobro mostró un precio provisorio para un producto pesable (un queso), en lugar de su precio normal.
Como medida paliativa, se reinició el servicio de precios (TsArticulos); el reinicio dio alivio temporal, pero no fue la solución definitiva.
El 18/09, entre las 11:03 y las 11:19, se publicó un precio provisorio de 1,05 y en ese lapso las cajas tradicionales registraron tres ventas con ese valor; a partir de la corrección (11:19) las cajas tradicionales mostraron siempre el precio correcto. Las cajas de autocobro, en cambio, siguieron mostrando 1,05 el 19 y el 20/09 por el defecto del servicio de precios.
El precio correcto quedó restablecido de forma definitiva la noche del 20/09, con la carga completa habitual.
No se detectó otro producto afectado en el servicio de precios.
Cómo llega un precio a la caja
Circuito normal de precios y el punto donde actuó el defecto.
Dónde actuó el defecto
• Cuando la caché del servicio de precios vence, éste consulta la base de datos directamente
• En esa consulta directa no siempre elegía la versión vigente del precio
• Ese fue el único punto con un defecto de software
Camino normal
• La carga completa nocturna renueva la base de datos cada noche
• Con la caché vigente, el servicio de precios entrega siempre el precio correcto
• Las cajas tradicionales consultan por otro camino: solo reflejaron el precio provisorio durante sus 16 minutos de vigencia
Por qué pasó
La secuencia completa, paso a paso:
El 18/09, desde el back office Calypso, se enviaron dos novedades de precio del mismo artículo en el mismo día: primero a 1,05 (11:03) y, 16 minutos después, la corrección a su valor normal (11:19).
En la base de precios importada, cada novedad queda como una versión del artículo. Las dos versiones conviven; la vigente es la de número de versión más alto (la más nueva).
Esa convivencia es normal y transitoria: la carga completa diaria de precios reemplaza todas las versiones y deja un solo registro por artículo y por sucursal.
El servicio de precios (TsArticulos), al consultar la base directamente cuando su caché vence, no ordenaba correctamente las versiones cuando un artículo aparecía repetido. Podía tomar la versión ya reemplazada (1,05) en lugar de la vigente. Ese fue el defecto.
Al ser fin de semana no hubo cargas completas de precios ni nuevas novedades, y en Dino la caché del servicio se renovaba una sola vez por día (a las 07:00) y vencía a las 4 horas. Las dos versiones siguieron conviviendo, la caché venció alrededor de las 11:00 y desde entonces todas las consultas del autocobro pasaron por el camino directo, que devolvía el precio reemplazado.
La carga completa del domingo 20/09 a la noche dejó un solo registro por artículo y el precio volvió a ser el correcto en el autocobro.
En síntesis: el precio provisorio fue un dato corregido a tiempo por el cliente; el defecto estuvo en cómo nuestro servicio elegía entre versiones repetidas, y se hizo visible porque el fin de semana no hubo carga completa que las depurara.
Antes y después del ajuste
Cómo el servicio de precios resuelve la versión vigente.
Antes
• La caché vencía y la consulta directa podía traer una versión ya reemplazada
• Así se mostró un precio provisorio ya corregido, recuperado un día después
Después
• Toda consulta elige siempre la versión vigente del precio
• La caché se renueva automáticamente cada 30 minutos
• Ante cualquier duda se conserva el último precio válido
Qué hicimos
Análisis completo con registros del servicio de precios, archivos de novedades y código del proceso de carga.
Corrección para que todas las consultas elijan siempre la versión vigente del precio.
Protección adicional para que una recarga nocturna en curso no deje precios incompletos.
Renovación automática de la caché cada 30 minutos.
Batería de pruebas automatizadas sobre una base de datos real (más de 260 pruebas) y revisión cruzada independiente.
Cambios ya integrados y en pruebas de QA.
Línea de tiempo
Fecha y hora
Qué pasó
18/09 · 11:03
Se publica un precio provisorio de 1,05 para el producto.
18/09 · 11:19
Corregido. El precio vuelve a su valor normal 16 minutos después; en ese lapso las cajas tradicionales registraron tres ventas a 1,05.
19/09 · mañana
Reclamo. La caja de autocobro muestra el precio de 1,05.
19/09
Reinicio del servicio de precios como medida paliativa (alivio temporal).
20/09 · noche
Carga completa. El precio queda definitivamente correcto.
21–22/09
Análisis, corrección y pruebas.
23/09
Integración de los cambios y comienzo de las pruebas de QA.
24/09
Estimado. Puesta en producción (fecha estimada, no comprometida).
Qué cambia para el cliente
Nada operativo: el ajuste queda del lado del servicio.
Recomendación
• Mantener las cargas completas nocturnas habituales
• No se requiere ninguna acción adicional del cliente
Informe ejecutivo • Dino • TsArticulos • Presioná T para cambiar el tema y E para exportar el primer diagrama