Stock control, overselling and inventory sync

Stock problems usually come down to one of three causes.

Stock is not actually being managed

Stock management has to be enabled globally in WooCommerce and per product. A product with management switched off will sell for ever regardless of the number shown. Check a product that oversold before assuming something more complex.

Held stock and abandoned checkouts

WooCommerce reserves stock for unpaid orders for a set period so that two customers cannot buy the last item at once. Set too high, the last few items appear unavailable for an hour after somebody abandoned a checkout. Set too low, you oversell during a busy period. The default suits most shops; adjust it if you sell single-quantity items.

External synchronisation

If stock comes from an accounts package, a supplier feed or a till system, the sync runs as a background job – and background jobs on a shop mean Action Scheduler. If that queue is stalled, stock silently stops updating while everything else looks fine. This is a very common cause of overselling and it is invisible until you look at the queue.

Practical protections

  • Set low stock and out-of-stock thresholds and act on the notifications
  • For genuinely one-off items, sell them as single-quantity so the reservation logic protects you
  • Reconcile against your real stock periodically rather than trusting the sync indefinitely

When it does go wrong

Contact the customer quickly and honestly. Under UK consumer law you must refund promptly if you cannot supply, and doing that well often costs you less than the order was worth.

  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

WooCommerce on shared hosting: what to expect

WooCommerce runs perfectly well on shared hosting for the great majority of shops. It is,...

Caching WooCommerce correctly, and what must never be cached

Caching is the biggest performance win available to a shop, and the fastest way to break one. The...

Order emails are not arriving

Missing order emails are among the most damaging faults a shop can have, because neither you nor...

Action Scheduler: why background jobs stop running

WooCommerce queues work to run in the background – sending some emails, syncing stock,...

Orders stuck on pending payment

An order sitting at Pending Payment means WooCommerce created it and never heard that the payment...