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:
- Tem o estoque do produto incrementado de volta.
- Perde a marca
_reduced_stock. - Aparece numa nota do pedido (algo como "Stock levels increased: Camisa Azul 3→5").
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:
- O pedido foi previamente reduzido (se não, não há o que restaurar).
- O WooCommerce tem gestão de estoque ativada globalmente.
- O filtro
woocommerce_can_restore_order_stockpermite 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.