Integraciones API & Automatización 11/11/2026 Codit Digital

Stock unificado: cómo vender en tienda, marketplace y local sin sobreventa

El síntoma que todos conocen

Vendés dos unidades de un producto en la tienda online a las 11:40 y otra en el local a las 11:42. El sistema no estaba sincronizado. A la tarde tenés un pedido sin stock, un cliente enojado y un ajuste manual que nadie sabe explicar.

La sobreventa no es un problema de la plataforma. Es un problema de diseño de la integración. Vender en varios canales con un solo inventario exige tres cosas que casi nunca se especifican en el brief: una fuente de verdad, un protocolo de actualización y una regla de conflicto.

Fuente de verdad: quién manda

Antes de escribir una línea de código hay que decidir dónde vive el stock real. Las opciones son tres y cada una tiene consecuencias.

1. El ERP manda

Es el escenario típico de empresas con Tango, Odoo o SAP. La ventaja es que la contabilidad y el inventario físico ya están ahí. La desventaja es que el ERP no está diseñado para responder decenas de consultas por minuto desde el sitio.

La solución es una capa intermedia: el ERP publica movimientos, la capa los proyecta en una tabla de disponibilidad rápida y el sitio consulta esa tabla. Nunca el frontend contra el ERP.

2. El e-commerce manda

Funciona cuando la mayor parte del volumen es online y el local es un punto de retiro. El local opera con la misma aplicación y las ventas de mostrador descuentan directo.

3. Un servicio de inventario propio

Es la opción más limpia cuando hay más de dos canales. Un servicio dedicado recibe movimientos de todos lados, aplica reglas y expone disponibilidad. Cuesta más al principio y ahorra muchísimo después.

El protocolo: webhooks, colas y polling

La tentación es sincronizar con un cron cada cinco minutos. Con volumen bajo funciona; con volumen alto, la ventana de desincronización es exactamente donde ocurre la sobreventa.

Webhooks con cola

Los marketplaces y plataformas avisan por webhook cuando cambia una orden. Ese aviso no se procesa en el momento: se encola. La cola permite reintentos, orden y visibilidad de fallos. Si el receptor está caído, el evento no se pierde.

Polling como red de seguridad

Los webhooks se pierden. Siempre. Por eso hace falta un proceso periódico que consulte órdenes modificadas desde la última marca de agua y reconcilie. Es la diferencia entre una integración que falla en silencio y una que se corrige sola.

Idempotencia obligatoria

Cada evento necesita un identificador y una restricción única en base de datos. Un reintento del mismo webhook no puede descontar dos veces. Este punto se resuelve con una tabla de eventos procesados y una transacción, no con un if en el controlador.

Reglas de conflicto: qué pasa cuando dos canales venden a la vez

Aunque todo esté bien integrado, existe la ventana de milisegundos. Hay que decidir el comportamiento por escrito:

  • Reserva optimista: se permite vender y, si no hay stock físico, se resuelve con reposición o reemplazo. Sirve en catálogos con producción propia.
  • Reserva estricta: se bloquea la unidad al iniciar el checkout, con vencimiento. Es la opción correcta en retail.
  • Sobreventa controlada: se acepta un porcentaje y se compensa con cupón. Es una decisión comercial, no técnica.

Lo que nunca funciona es no decidir. Sin regla, el sistema resuelve por accidente y el equipo de atención resuelve por teléfono.

Modelado mínimo de datos

Una integración sana necesita cuatro entidades:

  1. Producto y variante: el SKU es la unidad de inventario real, no el producto padre.
  2. Movimiento: entrada, salida, ajuste, reserva y liberación, con origen y usuario.
  3. Reserva: SKU, cantidad, canal, vencimiento y estado.
  4. Evento externo: identificador del proveedor, tipo, payload y resultado del procesamiento.

Con esas cuatro, cualquier reporte posterior se responde con una consulta. Sin ellas, cada pregunta es un pedido de desarrollo.

Lo que hay que exigirle al proveedor

  • Documentación de webhooks con firma, reintentos y ventana de garantía.
  • Endpoint de órdenes modificadas por rango de fecha.
  • Límites de tasa explícitos y comportamiento esperado al superarlos.
  • Identificadores estables de producto y variante entre canales.
  • Tiempo de propagación de stock declarado.

Si el marketplace no expone identificadores estables, el mapeo SKU a SKU se vuelve un trabajo permanente. Conviene saberlo antes de firmar, no después. En operaciones B2B el problema se multiplica, porque además hay listas de precios y cuenta corriente: lo cubrimos en e-commerce B2B con listas de precios y cuenta corriente.

Operación: el tablero que evita incendios

Un tablero útil no muestra ventas. Muestra salud de la integración:

  • Eventos encolados y su antigüedad.
  • Reintentos fallidos por proveedor.
  • Diferencias de stock entre canales, por SKU.
  • Reservas vencidas sin liberar.
  • Órdenes sin movimiento en más de X minutos.

Con esas cinco métricas se detecta un problema antes de que lo detecte el cliente.

Cuándo conviene un middleware propio

Si tenés dos canales y un ERP moderno con buena API, la integración punto a punto puede alcanzar. Si tenés tienda, local, marketplace, distribuidores y un ERP viejo, la integración punto a punto se convierte en una red de seis conexiones que nadie entiende.

En ese escenario conviene una capa de orquestación: un servicio que recibe eventos de todos los canales, aplica reglas de negocio y publica el estado consolidado. Es el mismo principio que aplicamos en integrar IA al backoffice con una capa de orquestación, pero sin IA: solo orden.

Plan de implementación realista

  • Semana 1: definir fuente de verdad y reglas de conflicto con el área comercial.
  • Semanas 2 y 3: modelo de datos de movimientos y reservas, más la tabla de eventos.
  • Semanas 4 a 6: conectores a cada canal con cola e idempotencia.
  • Semana 7: conciliación periódica y tablero de salud.
  • Semana 8: operación asistida y ajuste de vencimientos de reserva.

Cierre

El stock unificado no se compra: se diseña. En Codit Digital construimos integraciones entre tienda, marketplaces, ERP y local con colas, idempotencia y conciliación automática. Podés ver el enfoque en integraciones por API, sistemas y apps móviles o escribirnos por contacto para revisar tu mapa de canales actual.