Inventario

Por qué pasa la sobreventa y cómo evitarla

Las causas reales del overselling y las defensas que el plugin tiene contra él.

Por qué pasa la sobreventa y cómo evitarla

La sobreventa (vender más unidades que el stock que tienes) es el problema #1 que el plugin existe para resolver. Pero no se elimina al 100% por una razón simple: ningún sistema de sincronización vive en tiempo real perfecto.

Las 3 causas reales de sobreventa

1. Lag del marketplace al aplicar cambios de stock

El plugin envía stock = 0 a Autoazur. Autoazur lo manda al marketplace. El marketplace tarda en aplicarlo internamente. Mientras tanto, sigue vendiendo.

  • MercadoLibre: lag típico < 30 segundos.
  • Amazon: < 1 minuto.
  • Liverpool: minutos hasta decenas de minutos en horas pico.

Por eso el plugin tiene la regla ≤1 = 0: si tienes 1 o menos, mandamos 0 con anticipación.

2. Sync gap (ventana entre sync y venta)

El sync corre cada 30 minutos. El stopper corre cada 5 min. Entre que se vende algo en MercadoLibre y que la orden cae en Odoo pueden pasar segundos a minutos.

Si el sync de las 13:00 reporta stock = 2, pero a las 13:01 cae una venta que aún no llegó a Odoo cuando se calculó el stock, hay 2 unidades publicadas pero solo 1 disponible real → sobreventa.

3. Productos de muy alta rotación

Para un SKU que se vende >5 veces por día, el ciclo de 30 min del sync es demasiado lento. Aunque el stopper ayude, los marketplaces con lag (Liverpool) acumulan ventas en la ventana.

Las defensas del plugin

Defensa Frecuencia Cubre
Sync principal 30 min Stock disponible exacto
Stopper de stock 0 5 min Productos que llegaron a 0 entre syncs
Regla ≤1 = 0 Cada sync Anticipa la venta del último
Restar reservas Cada sync Pickings ya confirmados
Logger Liverpool (en desarrollo) Continuo Verifica que el stock=0 se aplicó

Si ya hubo sobreventa, ¿qué hacer?

  1. Identifica el pedido extra. Llega con x_studio_status = SHIPPING cuando ya no tienes stock.
  2. Cancélalo en el marketplace primero (no en Odoo solamente — el marketplace tiene su propia lógica).
  3. Notifica al cliente con disculpa y ofrece alternativa o reembolso.
  4. Documenta el caso. Si pasa con frecuencia en un SKU específico, ese producto necesita umbral más agresivo.

Cómo prevenir mejor (acciones recomendadas)

  • Para SKUs de alta rotación en Liverpool: pide a soporte ajustar el umbral a ≤3 = 0 para esos productos.
  • Reabastece más seguido: si el SKU está casi siempre cerca de 0, el plugin va a estar pausándolo todo el tiempo. Mejor mantener buffer.
  • Vigila el dashboard de tickets: si abres muchos tickets de "cancelar pedido extra", es señal de que necesitamos revisar tu setup.

Diagnóstico desde shell

# Producto que sospechas que sobrevendió
prod = env['product.product'].search([('default_code', '=', 'HB0307BK')], limit=1)

# Pedidos recientes con ese producto
orders = env['sale.order'].search([
    ('order_line.product_id', '=', prod.id),
    ('create_date', '>=', '2026-04-01'),
], order='create_date desc', limit=10)
for o in orders:
    print(f"{o.create_date} | {o.name} | {o.x_studio_status} | {o.x_studio_mktcode}")

Siguientes pasos

Más en esta sección