Imagina un sábado por la mañana: en la tienda física se vende la última unidad de un artículo. Diez minutos antes, alguien la había comprado en la web. Y esa misma noche, como Amazon la seguía ofreciendo, otro cliente la compra allí. Tres canales, una sola unidad y dos clientes que van a recibir un correo de disculpa.
El mecanismo es real y le puede pasar a cualquier comercio que empieza a vender por más de una puerta: cada canal lleva su propia cuenta del inventario y las cuentas se desajustan. La solución no es un conector más listo. Es decidir, antes de conectar nada, de dónde sale el número.
¿Qué significa «un solo stock» en Odoo?
Significa que existe una sola cifra por producto y almacén, la de Odoo, y que la tienda online, el TPV y el marketplace la consultan o la reciben; ninguno guarda la suya. Suena obvio. Pero basta con que alguien mantenga una segunda cifra «por si acaso» para que ya no haya un solo stock.
- Un producto, una ficha. La misma referencia en web, en caja y en el marketplace. El nombre puede variar de un canal a otro; el código, no. En Amazon, por ejemplo, Odoo busca tu producto por su referencia interna (o por la oferta que lo empareja con el SKU) y, si no lo encuentra, apunta la venta a un producto genérico del conector, no al tuyo.
- Un almacén decidido a propósito. Si la web sirve desde el almacén central y la tienda vende de su propio local, son dos existencias distintas y hay que decirlo. Odoo permite fijar qué almacén alimenta cada web.
- Disponible no es lo mismo que en mano. Para la tienda online, Odoo calcula la cantidad como lo que hay físicamente menos lo ya reservado para envíos pendientes. Si no permites vender sin existencias, lo que ya está prometido no se vuelve a vender en la web.
- Cada canal es una ventana. La web, el TPV y Amazon muestran o consumen la cifra; no la mantienen. La excepción es FBA, que vemos más abajo. Si en algún punto alguien teclea existencias a mano en un canal, se acabó el stock único.
¿Qué ve exactamente cada canal?
En la web el comportamiento se configura en Sitio web ▸ Configuración ▸ Ajustes, dentro del apartado de comercio electrónico. Ahí se decide cuál es el almacén por defecto de la web y, para los productos que crees a partir de entonces, si se puede seguir vendiendo con el producto agotado y si se muestra la cantidad disponible cuando baja de un umbral. En los productos que ya tienes, esas dos opciones se cambian en la ficha de cada uno. La documentación oficial de Odoo 19 lo describe así, y añade que el cliente puede pedir un aviso cuando el producto vuelva a estar disponible.
En el TPV, cada venta en caja consume existencias del almacén al que esté asociado ese punto de venta. ¿Cuándo? Depende de un ajuste del TPV que solo se ve con el modo desarrollador activado. En una base nueva de Odoo 19, cada venta cobrada descuenta el stock en ese momento. La otra opción lo deja para el cierre de la sesión, y hasta entonces ni la web ni el marketplace se enteran de lo vendido en caja. Hasta Odoo 17 esa era la opción por defecto: si tu Odoo viene de una versión anterior, compruébalo. Dos avisos más: sin conexión, las ventas esperan en el navegador hasta que vuelve la red, y el TPV no te impide vender una unidad que ya está reservada para un pedido web.
En Amazon la diferencia importante es quién guarda el género. El conector oficial de Odoo, que solo está en la edición Enterprise, cubre, entre otros, el marketplace de España, y trata distinto los dos modelos:
FBM · LO ENVÍAS TÚ El género está en tu almacén. Según la documentación, el conector sincroniza desde Odoo hacia Amazon las cantidades disponibles de tus productos. Tu inventario manda y Amazon recibe la cifra. | FBA · LO ENVÍA AMAZON El género está en los almacenes de Amazon, que gestiona ese inventario. Odoo puede seguirlo en una ubicación virtual: las ventas de FBA las registra solo el conector, pero cada envío de género a Amazon lo tienes que registrar tú con un traslado, y la documentación aconseja un ajuste de inventario después de reponer. La cifra que manda es la de Amazon: aquí no hay un solo stock, sino dos, y el de Odoo es una copia que te toca cuadrar. |
La documentación no detalla cada cuánto se envía la cifra a Amazon, así que conviene medirlo en una prueba antes de vender, en lugar de darlo por hecho.
En Herbolario Ágave nos encontramos en 2025 algo muy parecido: tienda física, tienda online y gestión duplicada entre sistemas, con dificultades para controlar el stock y la trazabilidad entre canales. Lo resolvimos con Odoo como sistema central, el TPV conectado al inventario y un conector propio con WooCommerce que sincroniza pedidos, stock y productos. No era Amazon, y lo decimos para que nadie lea de más: el marketplace es otro trabajo. Pero el principio, una sola cifra que manda y canales que la reciben, es el mismo. Y el proyecto entero, que abarcó también contabilidad, compras e informes, se repartió en más de 70 días de trabajo: esto no se resuelve marcando una casilla.
¿Qué hay que probar antes de abrir todos los canales?
El error típico es conectar, ver que las cifras coinciden un martes tranquilo y darlo por bueno. El problema aparece el día de la campaña. Estas son las pruebas que conviene hacer antes:
- La última unidad. Dejar un producto con una sola unidad y venderla a la vez por dos canales. Ver quién gana y qué le pasa al otro pedido.
- El pedido pendiente. Crear un pedido web sin enviar y comprobar que la web y el TPV ya descuentan esa unidad de lo disponible (en el TPV se ve al abrir la información del producto). Ojo: el TPV lo muestra, pero no impide venderla.
- La devolución. Devolver en tienda algo comprado online y confirmar que vuelve al almacén correcto, no a otro.
- El retraso. Medir en minutos cuánto tarda una venta en reflejarse en el resto de canales. Ese número, y no la expresión «tiempo real», es el que define cuánto margen de seguridad necesitas.
- El marketplace aparte. Si vendes con FBA, registrar en Odoo cada envío de género a Amazon y repasar cada semana la ubicación virtual contra lo que dice Amazon. Es la única cifra que no controlas.
Nuestra opinión, y aquí no todo el mundo coincide: en un marketplace merece la pena publicar un poco menos de lo que tienes. Dos o tres unidades de colchón en los productos que más rotan cuestan menos que un pedido que luego no puedes servir. Otros prefieren publicar todo y asumir alguna cancelación. Nosotros no lo recomendaríamos sin haber medido antes el retraso real de la sincronización. Y ojo: la documentación del conector no habla de ningún margen; solo dice que envía las cantidades disponibles.
Si tu negocio ya vende en tienda y en web y estás pensando en dar el salto a un marketplace, el orden importa: primero el inventario único, luego los canales. Es lo que incluye nuestro paquete Odoo Tienda 360. Y si tu tienda online vive hoy fuera de Odoo, el paso previo lo contamos en la guía de qué se migra y qué no al llevar una tienda online a Odoo. Para la parte logística de después, la de albaranes y transportistas, tienes Odoo Logística paso a paso.
Cuéntanos por qué canales vendes y te decimos cómo lo conectaríamos a un único inventario.
HablemosFuentes: Odoo 19.0: Amazon Connector features · Odoo 19.0: eCommerce, productos e inventario · Odoo 19.0: Amazon order management · Odoo 19.0: Point of Sale, modo sin conexión · Código de Odoo 19.0: ajuste de stock del TPV · Odoo: comparación de ediciones. Los ejemplos de esta guía son propios de epoint, no de la documentación.