Como corrigir o estoque do WooCommerce mostrando errado
O que é o estoque do WooCommerce mostrando errado?
O controle de estoque do WooCommerce guarda, para cada produto ou variação, a quantidade disponível e o status (em estoque, esgotado, sob encomenda). Ele baixa a quantidade quando um pedido é pago e a repõe se o pedido é cancelado. O ‘estoque errado’ é quando esse número diverge do real: o site mostra esgotado com produto em depósito, não atualiza após vendas, ou conta unidades fantasmas. A causa costuma ser cache, pedidos presos ou integração externa.
Como identificar
- Um produto com estoque físico aparece como ‘Esgotado’ ou ‘Fora de estoque’ na loja.
- A quantidade exibida não baixa depois que o pedido é pago e concluído.
- O estoque some sem venda correspondente, com pedidos presos em ‘Pagamento pendente’ segurando unidades.
- Mensagem no checkout ‘Desculpe, não temos [produto] em estoque suficiente’ para um item que deveria ter saldo.
Como prevenir
- Mantenha um único sistema como fonte da verdade do estoque e evite editar manualmente o que a integração sobrescreve
- Configure ‘Manter estoque (minutos)’ com um valor curto para não travar unidades em carrinhos abandonados
- Revise periodicamente pedidos presos em pagamento pendente, que seguram estoque sem concluir a venda
Causa
- Cache de página ou de objeto servindo a contagem de estoque antiga, anterior à última venda ou reposição.
- Pedidos presos em 'Pagamento pendente' ou 'Aguardando' reduzindo o estoque sem nunca serem concluídos nem liberados.
- A opção 'Manter estoque (minutos)' segurando unidades de pedidos não pagos por tempo longo demais.
- Sincronização com ERP, marketplace ou planilha sobrescrevendo a quantidade com um valor desatualizado.
- Gerenciamento de estoque ativado no produto mas não nas variações (ou o inverso), gerando contagem inconsistente.
Como resolver
- Confirme a configuração de estoque do produto: no editor do produto, aba Inventário, verifique se 'Gerenciar estoque' está ligado e a quantidade está correta. Em produto variável, cada variação tem seu próprio controle de estoque.
- Limpe o cache de página e de objeto: limpe o cache do plugin e o cache de objeto (Redis/Memcached, se houver). A loja pode estar mostrando uma contagem antiga mesmo com o banco já atualizado.
- Libere pedidos presos: em WooCommerce > Pedidos, filtre por 'Pagamento pendente' e 'Aguardando'. Cancele ou conclua os pedidos antigos que estão segurando estoque sem pagamento confirmado.
- Ajuste 'Manter estoque (minutos)': em WooCommerce > Configurações > Produtos > Inventário, defina um valor razoável (ex.: 60) para 'Manter estoque'. Valores altos seguram unidades de carrinhos abandonados por tempo demais.
- Verifique a sincronização externa: se um ERP, marketplace ou planilha alimenta o estoque, pause a sincronização e corrija a quantidade no produto. Depois confirme que a fonte externa está enviando o número certo antes de religar.
// functions.php do tema filho — registra no log toda alteracao de estoque
// com o motivo, para rastrear quem (pedido, sync, ajuste) mudou a contagem
add_action( 'woocommerce_product_set_stock', function ( $product ) {
error_log( sprintf(
'WooCommerce estoque: produto #%d agora com %s unidades',
$product->get_id(),
$product->get_stock_quantity()
) );
}, 10, 1 );














