ADR-003: la capa es dueña del stock vendible y de las reservas
Aceptado el 10/11/2026 por Andrés.
Contexto
Nadie es dueño del stock vendible. El WMS descuenta al alistar, no al vender. Resultado: sobreventa.
Opciones
| Opción | Problema |
|---|---|
| Reservar en el WMS | Mete al legado on-prem en la ruta síncrona de crear orden; exige cambiar el WMS |
| Reservar en el OMS | Mismo acoplamiento; el supuesto es que solo registra y enruta |
| No reservar y conciliar después | Es el AS-IS |
| Reservar en la capa | La capa pasa a tener un dato de negocio |
Decisión
inventory-service es dueño de las reservas y calcula el vendible: físico (WMS) menos reservado menos colchón. Reserva atómica en PostgreSQL, con vencimiento. Detalle en docs/to-be/03-stock-vendible-y-reservas.md.
Qué se sacrifica
- Única excepción al principio de que la capa no posee datos de negocio.
- La garantía es total entre canales que pasan por la capa, y parcial frente a ventas que no pasan por ella (tiendas físicas, canales sin migrar). Se cubre con colchones y conciliación.
Cuándo se revisaría
Si el WMS se reemplaza por uno con reservas en tiempo real y API de alta disponibilidad.