Evaluación inicial sin contraseñas Presupuesto antes de intervenir Especialista responsable de principio a fin

Errors & Diagnosis

El stock de WooCommerce se descuenta dos veces: hooks duplicados y reintentos seguros

Doble reducción stock generalmente significa la misma transición de orden o sincronización personalizada corrió más de una vez sin un protector de idempotencia.

Qué conviene comprobar primero: WooCommerce registra si el stock ya se ha reducido, pero el código personalizado, las importaciones, los webhooks duplicados o los cambios manuales de estado pueden saltarse o reiniciar esa protección.

Qué significa realmente que el stock se descuente dos veces

Una doble reducción no siempre es un problema de WooCommerce core. Lo importante es reconstruir quién escribió cada cambio de inventario y con qué evento estaba relacionado.

Reconstruye cada ajuste de inventario

  • Captura los ID de los pedidos afectados, las líneas de producto y el historial de stock.
  • Revisa _order_stock_reduced y todas las transiciones de estado del pedido.
  • Comprueba reintentos de webhooks, importaciones y hooks personalizados de inventario.
  • Compara los movimientos de WooCommerce con los registros del ERP o del almacén.

De dónde suele salir la segunda reducción

  • Callback duplicado: el mismo evento de pago ejecuta más de una vez el código que reduce el stock.
  • Hook personalizado: un plugin reduce el stock además de la lógica propia de WooCommerce.
  • Cambios de estado repetidos: el pedido entra y sale varias veces de estados que pueden afectar al inventario.
  • Bucle de sincronización externo: WooCommerce y el ERP replican cada uno el ajuste realizado por el otro.

Haz idempotentes las escrituras de inventario

  1. Identifica una única ruta autorizada para modificar el inventario.
  2. Añade idempotencia por evento y pedido a los procesos personalizados o externos.
  3. Corrige cantidades históricas solo después de conciliar cada transacción afectada.
  4. Prueba pago, cancelación, reembolso y repetición del webhook.

¿Evento duplicado o segundo gestor de stock?

Un callback duplicado deja rastro de eventos repetidos; un hook de un plugin puede volver a reducir el stock aunque el pago aparezca una sola vez. Compara notas del pedido, _order_stock_reduced, identificadores de webhook y el registro del ERP o almacén antes de tocar nada. La reparación pasa por hacer idempotente la entrada del evento o eliminar el segundo proceso que escribe inventario.

Si el segundo movimiento de inventario empieza con eventos comerciales duplicados, compara el rastro con pedidos duplicados en WooCommerce y con pagos duplicados por reintentos. Si ninguno se reproduce, céntrate en hooks de stock o en la sincronización con el ERP, no en el checkout.

Por qué reiniciar flags de stock puede empeorarlo

No reinicies _order_stock_reduced a ciegas. Ese indicador evita reducciones repetidas de WooCommerce y modificarlo puede provocar otro ajuste justo mientras intentas corregir el anterior.

Reproduce todo el ciclo de vida del pedido

  • Cada pedido afecta al stock exactamente una vez según la política definida.
  • La repetición de un webhook o un cambio de estado no duplica movimientos de inventario.
  • El registro de stock de WooCommerce cuadra con el ERP o el sistema de almacén.

Cierra la incidencia solo cuando un pago normal, la repetición de un webhook, un cambio de estado y un reembolso dejen cada uno un único ajuste de inventario auditable y WooCommerce siga conciliando con el ERP o el registro de almacén.

ANTES DE ENVIAR LA SOLICITUD

Preguntas frecuentes.

¿Pedís contraseñas en el formulario?+

No. El formulario público nunca solicita accesos. Los datos seguros se piden únicamente después de aprobar el alcance y el presupuesto.

¿Quién revisa la incidencia?+

La solicitud llega a Jordi Ensenyat, fundador de Code Barcelona y especialista WordPress con más de 15 años de experiencia.

¿Se cambia algo antes del presupuesto?+

No. Primero se revisan los síntomas visibles y se define el alcance. La intervención empieza tras la aprobación y con una vía de vuelta preparada.

¿Trabajáis con webs en inglés y fuera de España?+

Sí. WP Repair atiende incidencias WordPress y WooCommerce en inglés y español, con servicio remoto.

Evaluar mi incidencia↗