FernandoAcosta.Netdocs

Restauração de estoque

3 min de leituraAtualizado há 5 dias

A restauração devolve ao estoque os itens de pedidos que não vão mais ser entregues. É o complemento natural da redução automática: se o pedido cai, o estoque sobe.

Quando dispara automaticamente

A restauração roda sozinha em três momentos do ciclo de vida do pedido:

Status do pedido Hook do WooCommerce Quando acontece
Cancelado woocommerce_order_status_cancelled Cancelamento manual ou automático (gateway, dias, etc)
Reembolsado woocommerce_order_status_refunded Reembolso total do pedido
Falhou woocommerce_order_status_failed Pagamento recusado ou expirado pelo gateway

Em todos os três casos, o plugin checa se o pedido tem itens marcados com _reduced_stock. Cada item nessa condição:

  1. Tem o estoque do produto incrementado de volta.
  2. Perde a marca _reduced_stock.
  3. Aparece numa nota do pedido (algo como "Stock levels increased: Camisa Azul 3→5").
Restauração só age se houve redução

Se o estoque não foi reduzido por algum motivo (produto sem gestão de estoque, filtro bloqueando, etc), nada é restaurado — o plugin não inventa estoque que ele mesmo não tirou.

Reembolso parcial respeita sua escolha

Quando você faz um reembolso parcial pelo painel do WooCommerce (não o pedido inteiro), aparece a checkbox Restaurar estoque na tela de reembolso. Essa caixa controla se aquele reembolso parcial específico devolve estoque ou não.

A partir da v2.0.2 (jan/2026), o plugin respeita a sua decisão:

  • Caixa marcada → estoque é restaurado.
  • Caixa desmarcada → estoque permanece reduzido.

Isso evita o caso onde você reembolsou só o frete (sem devolver produto) e o plugin devolveria estoque indevidamente.

Restauração manual via metabox

Em qualquer pedido, no metabox lateral Restaurar estoque, há um link:

Restaurar estoque agora

Clicar nesse link força a restauração imediata, mesmo que o pedido continue em qualquer status. É útil em situações em que o pedido travou em algum status atípico (ex: troca de status manual sem disparar os hooks padrão) e você precisa devolver o estoque na mão.

O plugin valida três coisas antes de mexer no estoque:

  1. O pedido foi previamente reduzido (se não, não há o que restaurar).
  2. O WooCommerce tem gestão de estoque ativada globalmente.
  3. O filtro woocommerce_can_restore_order_stock permite a operação.

Se algum desses não bater, o plugin mostra uma mensagem dizendo o motivo de não ter feito nada.

Pedido pago de novo? Estoque cai outra vez

Quando a restauração é feita, a marca _reduced_stock some — o que significa que, se o cliente voltar e pagar (ou se você mudar o status de Cancelado pra Processando manualmente), o WooCommerce trata como um pedido novo e o estoque é reduzido de novo. Sem dobra.

Personalizando

A restauração pode ser bloqueada ou condicionada via filtros:

  • woocommerce_can_restore_order_stock — controle geral.
  • wc_stock_manager_restore_on_cancelled, wc_stock_manager_restore_on_refunded, wc_stock_manager_restore_on_failed — controle por status.

Veja exemplos em Personalizando o plugin.

Foi útil?