El stock de WooCommerce queda en negativo cuando un pedido descuenta más unidades de las que tiene el producto. Si el producto admite reservas (pedidos pendientes de existencias), es lo previsto: -3 quiere decir que debes tres unidades. Si las reservas están desactivadas, algo vendió lo que no había: casi siempre dos clientes que compran la última unidad a la vez, una sincronización con otro programa que pisa la cifra o un pedido que se quedó a medias.
Un aviso sobre las palabras: en la versión en español de WooCommerce, «reservas» son los backorders, es decir, vender sin existencias. No tiene nada que ver con el ajuste «Mantener inventario», que aparta unidades mientras el cliente paga. Se confunden mucho.
Por qué pasa
- Las reservas están permitidas. «¿Permitir reservas?» se elige en cada producto y, en los productos variables, en cada variación. Con «Permitir» o «Permitir, pero se avisará al cliente», WooCommerce sigue vendiendo a cero y la cantidad baja de ahí. Un cambio masivo en el producto padre no siempre llega a todas las variaciones.
- Dos clientes pagan la última unidad a la vez. WooCommerce comprueba que queda una unidad y la descuenta en dos pasos distintos. Desde la versión 4.3 aparta el stock durante el pago para cerrar ese hueco, pero en el foro de soporte siguen saliendo casos de stock en -1 con las reservas desactivadas (hilos de 2019, 2020 y 2023).
- «Mantener inventario» está vacío. Ese apartado de unidades depende del ajuste Mantener inventario (minutos), que trae 60 de serie. Si alguien lo vació para que no se cancelaran los pedidos sin pagar, también desactivó el apartado.
- Otro programa escribe la cantidad. Un ERP, el TPV de la tienda física, un conector de marketplace o un plugin de inventario manda su propia cifra. Si no descuenta los pedidos que WooCommerce ya cobró, o llega tarde, las dos cuentas se separan.
- Un pedido se quedó a medias. En un hilo de agosto de 2026 (WooCommerce 11.1), un pedido descontó el stock de sus artículos pero no llegó a marcarse como «stock reducido». Al cancelarlo, las unidades no volvieron. La causa más probable fue un proceso de PHP cortado a mitad (tiempo de espera, memoria o un reinicio del servidor).
- Correcciones a mano en mal momento. Cuentas la estantería y escribes la cifra con pedidos pagados aún sin enviar, o cancelas un pedido sobrevendido después de corregir la cantidad, y WooCommerce te suma esas unidades otra vez.
- Un conflicto con un plugin o con el tema. En un hilo de 2023, el voluntario apuntó a plantillas del tema sin actualizar. No se llegó a confirmar, pero probar con un tema por defecto en una copia de pruebas es la forma de descartarlo.
Hay un descuadre parecido: un producto que dice «Hay existencias» con 0 unidades y sin reservas. El cliente puede comprar algo que no tienes. Casi siempre viene de una herramienta que escribe la cantidad directamente en la base de datos sin recalcular el estado del inventario.
Cómo comprobarlo
- Busca los negativos. Entra en Análisis > Inventario y ordena por la columna Inventario. Las cantidades negativas quedan arriba, y el informe incluye las variaciones. En Productos > Todos los productos, la columna de inventario las muestra como «Hay existencias (-2)» o similar.
- Revisa los ajustes del producto. Abre cada uno, ve a Datos del producto > Inventario y mira «¿Gestionar inventario?» y «¿Permitir reservas?». En los productos variables abre cada variación: tiene sus propios ajustes.
- Lee las notas del pedido. Abre los últimos pedidos de ese producto. Cada uno tiene una nota del tipo «Niveles de inventario reducidos: Taza azul (TAZA-01) 1→0». Dos pedidos que parten de 1 con minutos de diferencia son dos compras simultáneas. Una nota que parte de una cifra que nunca tuviste apunta a una sincronización o a un cambio a mano.
- Busca pedidos a medias. Si un pedido está en «Procesando» y no tiene nota de stock reducido, mira WooCommerce > Estado > Registros con el origen
fatal-errors, y pide a tu alojamiento los registros de PHP-FPM de esa hora. - Revisa «Mantener inventario». Entra en WooCommerce > Ajustes > Productos > Inventario y comprueba que Mantener inventario (minutos) tiene un número.
- Busca «Hay existencias» a cero. En Análisis > Inventario, elige Mostrar: En inventario y ordena por cantidad. Todo producto con gestión de inventario y 0 unidades o menos está en un estado equivocado.
Cómo arreglarlo
- Para la sincronización con el ERP, el TPV o el marketplace mientras corriges las cifras, o te las volverá a pisar.
- Cuenta lo que tienes de verdad en el almacén, menos lo que ya está pagado y pendiente de envío.
- Resuelve primero los pedidos sobrevendidos. Decide con cada cliente: enviar más tarde, cambiar por otro artículo o reembolsar. Hazlo antes de corregir la cantidad, porque al cancelar un pedido que descontó stock, WooCommerce devuelve esas unidades. Si reembolsas y ya corregiste la cantidad a mano, desmarca Reponer artículos reembolsados.
- Pon la cantidad real. Abre el producto, ve a Inventario > Cantidad en inventario, escribe la cifra y pulsa Actualizar. Si son muchos, usa Productos > Todos los productos > Acciones en lote > Editar, o exporta a CSV, corrige la columna de inventario e importa con «Actualizar productos existentes».
- Desactiva las reservas donde no las quieras. Pon «¿Permitir reservas?» en «No permitir» en el producto y en cada variación.
- Arregla «Hay existencias» a cero. Abre el producto y pulsa Actualizar: con la gestión de inventario activa, WooCommerce recalcula el estado a partir de la cantidad al guardar. Si vuelve a «Hay existencias» tras la siguiente sincronización, la culpa es de la herramienta que sincroniza: configúrala para que mande también el estado, no solo la cantidad.
- Arregla un pedido a medias corrigiendo a mano el stock de sus artículos antes de cancelarlo o cambiarlo. Si no, las unidades se cuentan dos veces.
- Vuelve a poner un número en «Mantener inventario». Los 60 minutos de serie valen para la mayoría de las tiendas.
Cómo evitar que vuelva a pasar
El stock negativo casi nunca da la cara solo: te enteras cuando un cliente pregunta por su pedido. Nuestra herramienta Melopo Radar revisa tu catálogo cada vez que se sincroniza y te enseña dos listas: productos con cantidad por debajo de cero y productos publicados que dicen «Hay existencias» con gestión de inventario, 0 unidades y sin reservas. Detectarlos entra en el plan gratis (1 tienda), con un enlace para editar cada producto. Con Pro (19 USD al mes, prueba de 14 días sin tarjeta) puedes además poner a 0 las cantidades negativas con un clic, de una en una o en bloque, y deshacerlo. Lo que no hace: revisa productos, no cada variación por separado; también lista los productos con reservas permitidas, así que tú decides qué negativos son normales; y no te dice qué pedido causó el descuadre ni impide que dos clientes se lleven la última unidad. Para eso siguen sirviendo las notas del pedido del paso 3.
Preguntas frecuentes
¿Es normal tener stock negativo en WooCommerce? Sí, si el producto admite reservas. Entonces -3 quiere decir que has vendido tres unidades que todavía tienes que pedir al proveedor.
¿Por qué baja de cero si tengo las reservas desactivadas? Casi siempre por dos compras de la última unidad a la vez, por otro programa que pisa la cifra o por un pedido que se quedó a medias. Las notas del pedido te dicen cuál.
¿Cuándo descuenta WooCommerce el stock? Cuando el pedido se paga o queda en espera («Procesando» o «En espera»), no cuando el cliente añade el producto al carrito. Durante el pago solo aparta las unidades los minutos de «Mantener inventario».
¿WooCommerce devuelve el stock si cancelo un pedido? Sí, cuando el pedido pasa a «Cancelado» o vuelve a «Pendiente de pago». Desde WooCommerce 11.0 también lo hace cuando un pedido que ya había descontado stock pasa a «Fallido».
¿Cómo hago que WooCommerce no venda a cero? Pon «¿Permitir reservas?» en «No permitir» en todos los productos y variaciones, deja activo «Mantener inventario» y que un solo programa mande sobre la cantidad.


