Cancel·lar no vol dir sempre que WooCommerce hagi de sumar unitats. Si l’estoc no es va reduir, reposar-lo inflaria l’inventari. Si la mercaderia va sortir, un pagament cancel·lat tampoc demostra que hagi tornat al magatzem.
La reparació ha de seguir el moviment físic i l’historial de reducció, no només l’etiqueta de la comanda.
Confirma què va passar amb els articles
Pregunta si la comanda es va pagar, preparar, enviar, retornar o només abandonar. Comprova l’estat a la passarel·la i al sistema logístic.
Registra ID, producte o variació, quantitat, cronologia i estoc físic actual. No canviïs l’estat mentre reculls proves. En un chargeback o una entrega fallida, la política comercial determina quan la unitat torna a ser vendible.
Llegeix les notes d’estoc
Les notes de WooCommerce solen indicar quan es van reduir o restaurar existències. Esbrina si hi va haver reducció i si després es va intentar reposar.
estoc mai reduït -> no sumar unitats
estoc reduït i mercaderia no enviada -> normalment reposar
mercaderia enviada o dubtosa -> reconciliar primer el magatzem
Aquesta decisió evita crear estoc fantasma amb una correcció automàtica.
Comprova producte i variació
L’inventari pot estar gestionat a la variació exacta i no al producte pare. Consulta l’ID de la línia i la configuració manage stock.
Si després de la compra la gestió es va moure del pare a les variacions, el codi antic pot actuar sobre un altre registre. Els backorders oculten l’efecte, així que compara la xifra i no només la disponibilitat pública.
En paquets, confirma si una unitat desada representa una peça o un lot vendible. Reposar la quantitat de la línia sense conversió pot multiplicar l’error.
Diferencia cancel·lació i reemborsament
Canviar l’estat a Cancelled i crear un reemborsament són processos diferents. La pantalla de reemborsament pot oferir reposar articles; un abonament fet només a la passarel·la no informa WooCommerce de què ha tornat físicament.
Documenta el procediment de l’equip. No retornis els diners una segona vegada per provocar l’ajust. En devolucions parcials, suma només les unitats rebudes i acceptades com a vendibles.
Revisa estats i codi propi
Els estats personalitzats, ERP i connectors logístics poden alterar el recorregut normal. Busca funcions de restauració als logs i al codi mantingut.
$order = wc_get_order( $order_id );
if ( $order ) {
// Revisar estat i historial abans d'una reposició compatible.
}
No cridis wc_increase_stock_levels() sense comprovar. Un callback repetit podria reposar les mateixes unitats dues vegades.
Inspecciona tasques externes
Una integració pot posar la cancel·lació en cua i actualitzar la botiga quan el magatzem confirmi. Revisa Accions programades i els treballs externs.
Si una tasca falla, decideix quin sistema és propietari de l’inventari i reprodueix una única operació verificada. Desa un ID de correlació perquè un reintent no sembli una cancel·lació nova. Evita dos escriptors simultanis sense una regla definida.
Reconcilia el període afectat
Revisa cancel·lacions, devolucions, enviaments i ajustos manuals del producte. Compta físicament o utilitza el registre autoritzat del magatzem.
Aplica una correcció compatible per la diferència demostrada i documenta’n el motiu. No editis quantitats històriques ni estats de pagament per forçar efectes secundaris. Si es van vendre unitats inexistents, resol aquestes comandes abans de reobrir les vendes.
Prova cada recorregut
Crea una comanda controlada, confirma la reducció, cancel·la abans de preparar i verifica una sola reposició. Prova per separat el reemborsament parcial i la devolució després de l’enviament.
El control recurrent ha de marcar comandes cancel·lades amb estoc reduït però no restaurat, excloent les que esperen un retorn físic. Una alerta fiable necessita el context del negoci, no una regla basada únicament en l’estat.