Dicas e Soluções

Produto com estoque aparece esgotado no Magento 2? Faça 9 testes

Profissional analisando infraestrutura responsável pelo estoque de uma loja Magento 2

Produto com estoque aparece esgotado no Magento 2? Faça 9 testes

Quando um produto com estoque aparece esgotado no Magento 2, aumentar a quantidade manualmente pode não resolver. O saldo exibido no painel é apenas uma parte da disponibilidade: fontes, estoque associado ao canal de vendas, reservas, configuração do produto, indexadores e cache também influenciam a decisão de compra.

Antes de modificar o banco de dados ou desativar módulos, registre o SKU, a loja afetada, a quantidade física, a quantidade vendável e o horário do teste. As nove verificações abaixo ajudam a localizar a divergência sem criar vendas acima do saldo ou esconder a causa real.

Por que um produto com estoque aparece esgotado no Magento 2?

Em instalações que utilizam o gerenciamento de inventário com múltiplas fontes, a quantidade cadastrada em uma fonte não representa necessariamente o que pode ser vendido. O Magento calcula uma quantidade vendável considerando o estoque vinculado ao website, as fontes ativas, as reservas registradas e o limite configurado para falta de estoque.

Além disso, o próprio produto precisa estar habilitado, associado ao website correto e configurado para ficar disponível. Produtos configuráveis, agrupados e kits também dependem das condições dos itens vinculados. Por isso, o diagnóstico deve começar no SKU afetado e avançar pelas demais camadas.

1. Compare quantidade física e quantidade vendável

Abra o produto no painel e verifique tanto a quantidade atribuída às fontes quanto a quantidade vendável apresentada na grade de produtos. Se houver saldo físico, mas a quantidade vendável estiver zerada ou negativa, o problema provavelmente está no cálculo de inventário, nas reservas ou na associação entre estoque e canal de vendas.

Faça a comparação no mesmo website em que o erro ocorre. Uma operação com várias lojas pode apresentar disponibilidade diferente para o mesmo SKU, pois cada website pode estar associado a um estoque distinto.

2. Confirme a fonte, o estoque e o canal de vendas

No gerenciamento de inventário, as fontes representam os locais que mantêm produtos, enquanto o estoque reúne uma ou mais fontes e é associado a um canal de vendas. Um SKU pode ter quantidade positiva em uma fonte que não participa do estoque usado pelo website.

  • Confirme se a fonte está habilitada.
  • Verifique se o SKU está atribuído à fonte correta.
  • Confira se a fonte integra o estoque esperado.
  • Valide se esse estoque está associado ao website da loja.

Evite trocar associações diretamente em produção sem avaliar outros websites. A mesma estrutura pode atender diferentes marcas, centros de distribuição ou operações regionais.

3. Revise o status de estoque e as configurações do produto

Um produto pode ter quantidade positiva e continuar indisponível se estiver marcado como fora de estoque. Verifique também se ele está habilitado, associado ao website correto e dentro do período de disponibilidade, quando existirem regras personalizadas para isso.

Revise as opções de gerenciamento de estoque, quantidade mínima permitida no carrinho, limite para item esgotado e permissão de venda sem saldo. Quando o produto herda a configuração global, consulte também as definições no escopo do website correspondente.

4. Verifique as reservas de inventário

Reservas registram movimentações relacionadas ao processo de venda. Elas podem reduzir a quantidade vendável antes da baixa física definitiva. Cancelamentos, falhas durante a criação do pedido, consumidores de fila parados ou integrações incompletas podem deixar diferenças que precisam ser investigadas.

Em uma cópia controlada ou durante uma janela de diagnóstico, a equipe pode listar inconsistências com:

bin/magento inventory:reservation:list-inconsistencies

Não aplique compensações automaticamente sem conferir os pedidos indicados, o estado financeiro e a movimentação no ERP ou WMS. Se o pagamento foi processado, mas o pedido não foi concluído corretamente, siga também o diagnóstico de pagamento aprovado sem pedido no Magento 2. Uma compensação indevida pode liberar unidades que já foram vendidas.

5. Teste os produtos filhos do configurável

Em um produto configurável, o saldo do item pai não determina sozinho a disponibilidade. Pelo menos uma combinação vendável precisa estar habilitada, atribuída ao website e corretamente vinculada aos atributos usados na configuração.

Teste cada SKU filho separadamente. Confirme quantidade vendável, fonte, status e associação ao website. Se apenas uma cor ou tamanho estiver indisponível, concentre o diagnóstico naquele item, em vez de alterar o configurável inteiro.

6. Consulte o estado dos indexadores

Alterações de catálogo e estoque podem depender de indexação para aparecer corretamente na vitrine. Consulte o estado atual:

bin/magento indexer:status

Procure indexadores em estados como “Reindex required” ou “Processing” por tempo incompatível com o volume normal da loja. Antes de executar uma reindexação completa, verifique logs, processos ativos, espaço em disco e possíveis falhas no banco.

Quando houver uma janela segura e nenhuma reindexação concorrente, execute somente o indexador relacionado ao inventário identificado no ambiente:

bin/magento indexer:reindex nome_do_indexador

Usar o nome explícito reduz o impacto em catálogos grandes e facilita medir se a correção realmente alterou a disponibilidade.

7. Confirme a execução do cron e dos consumidores

Tarefas agendadas e filas podem participar da atualização de dados de inventário, processamento de pedidos e integrações. Confira se o cron do usuário correto está configurado e procure falhas nos registros da aplicação e do sistema operacional.

bin/magento cron:run
bin/magento queue:consumers:list

O segundo comando lista os consumidores disponíveis, mas não confirma sozinho que eles estejam ativos. Compare a configuração da loja com o gerenciador de processos adotado pela infraestrutura. Não inicie todos os consumidores indiscriminadamente: algumas operações utilizam processos específicos e limites próprios de execução.

8. Diferencie cache desatualizado de estoque incorreto

Teste a página do produto em sessão anônima e faça uma requisição sem passar pelo cache de página, quando a infraestrutura permitir. Compare a vitrine, a API usada pelo frontend e o painel administrativo. Se o backend mostrar disponibilidade correta e apenas a página pública permanecer desatualizada, investigue cache de página, CDN, Varnish e blocos personalizados.

Limpar todos os caches deve ser uma ação controlada, não o primeiro teste. Em lojas movimentadas, isso pode elevar a carga e não corrigirá reservas, associações ou indexadores. Se a indisponibilidade surge apenas durante a compra, veja também os testes para quando o checkout Magento 2 fica carregando.

9. Procure interferências de módulos e integrações

ERP, WMS, hubs de marketplace e módulos de estoque podem atualizar quantidades, fontes ou status em intervalos regulares. Uma correção manual pode durar poucos minutos se a integração reenviar o valor incorreto.

Consulte os logs pelo SKU e pelo horário registrado no início do diagnóstico. Verifique chamadas de API, importações, filas e rotinas personalizadas. Em ambiente de homologação, compare o comportamento com módulos não essenciais desabilitados de forma planejada. Não faça esse teste diretamente em produção se a extensão participar de pedidos, pagamentos ou sincronização de saldo.

O que não fazer para forçar a disponibilidade

  • Não altere tabelas de estoque ou reservas diretamente no banco.
  • Não aumente o saldo sem conferir ERP, WMS e pedidos pendentes.
  • Não habilite venda sem estoque apenas para esconder a divergência.
  • Não remova reservas sem conciliar os pedidos relacionados.
  • Não limpe todos os caches e índices repetidamente sem registrar o resultado.

Esses atalhos podem criar saldo fictício, pedidos sem capacidade de atendimento e divergências entre o Magento e os sistemas externos.

Conclusão

Quando um produto com estoque aparece esgotado no Magento 2, compare primeiro quantidade física e vendável. Depois, avance por fontes, estoque do website, reservas, produtos filhos, indexadores, cron, cache e integrações. Essa sequência separa um problema de configuração de uma divergência operacional e reduz o risco de liberar unidades inexistentes.

Se a origem continuar indefinida ou afetar muitos SKUs, um diagnóstico técnico pode correlacionar inventário, pedidos, filas e integrações antes de qualquer correção em produção. A equipe do SuporteMagento.com.br pode auxiliar na análise e na recuperação segura da disponibilidade.

Perguntas frequentes

Por que o Magento mostra quantidade positiva e produto esgotado?

Porque a quantidade física não é o único critério. O Magento também considera quantidade vendável, reservas, limite de falta de estoque, status do produto e associação entre fontes, estoque e website.

Posso apagar reservas de estoque diretamente no banco?

Não é recomendado. As reservas devem ser conciliadas com pedidos, pagamentos, cancelamentos e sistemas externos. A remoção direta pode liberar para venda itens já comprometidos.

Reindexar sempre corrige produto fora de estoque?

Não. A reindexação ajuda quando os dados corretos ainda não foram refletidos na vitrine, mas não corrige associações erradas, reservas inconsistentes, saldo incorreto ou falhas de integração.

Por que apenas uma variação do produto configurável está esgotada?

Cada produto filho possui status, estoque, fontes e quantidade vendável próprios. Uma cor ou tamanho pode estar desabilitado, sem saldo vendável ou fora do website, mesmo que outras variações continuem disponíveis.