Initial assessment without passwords Quote before intervention One accountable specialist from start to finish

Orders Stock Fulfilment

Cancelled Orders Do Not Return Products to Inventory

Diagnose cancelled WooCommerce orders that do not restore stock by checking reduction state, status hooks, refunds, reservations and external inventory.

Cancellation does not always imply that WooCommerce should add stock. If stock was never reduced, restoring it would inflate inventory. If goods shipped, a cancelled payment status does not mean the units returned to the warehouse.

The repair must follow the real stock movement and the order’s reduction history, not the label alone.

Confirm what happened to the goods

Ask whether the order was paid, picked, shipped, returned or merely abandoned. Check the gateway state and fulfilment system.

Record order ID, product or variation, ordered quantity, status timeline and current physical stock. Do not change status while gathering evidence.

If the order represents a chargeback or failed delivery, business policy determines when stock becomes sellable again.

Read stock-related order notes

WooCommerce notes usually state when stock was reduced or restored. Identify whether a reduction occurred and whether a later restoration attempted to run.

Decision:
stock never reduced -> do not add it
stock reduced, goods never left -> restoration usually expected
goods shipped/uncertain -> reconcile warehouse first

This prevents an automatic “fix” from creating phantom stock.

Check product and variation settings

Stock may be managed on the exact variation rather than the parent product. Inspect the line-item product/variation ID and the current manage stock configuration.

If stock management was enabled or moved between parent and variation after the order, old lifecycle code may not address the same record.

Backorders can hide the practical effect of an incorrect quantity, so compare the numeric value as well as storefront availability.

For products sold in packs, confirm whether the stored quantity represents individual units or saleable packs.

Distinguish cancellation from refund

Changing status to Cancelled and creating a refund are different workflows. The WooCommerce refund screen may offer a restock-items choice; gateway-only refunds do not automatically tell WooCommerce what physical stock returned.

Document which workflow staff should use. Do not refund the customer a second time to make inventory change.

For partial refunds, restore only quantities that genuinely returned and passed the store’s sellable-condition policy.

Review status hooks and custom code

Custom order statuses, ERP connections and fulfilment plugins can alter WooCommerce’s normal restoration path. Search logs and site-owned code for stock restoration functions.

$order = wc_get_order( $order_id );
if ( $order ) {
    // Inspect status and reduction history before any supported restoration.
}

Avoid calling wc_increase_stock_levels() blindly. Repeated callbacks can restore the same units more than once.

Inspect scheduled and external actions

An integration may queue cancellation for the warehouse and update stock after confirmation. Check WooCommerce Scheduled Actions and external job logs.

A failed task can leave WooCommerce and the warehouse disagreeing. Decide which system owns inventory, then replay one verified operation using its supported controls.

Record a correlation ID so a retry cannot be mistaken for a new cancellation.

Reconcile affected products

Review all cancellations, refunds, fulfilment events and manual adjustments for the product during the incident window. Count physical stock or use the authoritative warehouse record.

Apply one supported adjustment for the proven difference and document why. Do not edit order line quantities or historical payment records to force a side effect.

If customers could order unavailable units during the discrepancy, assess those orders before reopening sales.

Verify cancellation and refund paths

Create a controlled order, confirm stock reduction, cancel before fulfilment and verify one restoration. Test partial refund and a shipped-return workflow separately.

Recurring care should flag cancelled orders where stock was reduced but never restored, while excluding cases deliberately awaiting a physical return. Reliable inventory monitoring needs business context, not a status-only rule.

BEFORE YOU SEND THE REQUEST

Frequently asked questions.

Do you ask for passwords in the form?+

No. The public form never requests access. Secure credentials are requested only after the scope and quote are approved.

Who reviews the incident?+

The request goes to Jordi Ensenyat, founder of Code Barcelona and a WordPress specialist with more than 15 years of experience.

Is anything changed before the quote?+

No. Visible symptoms and scope are reviewed first. Intervention begins after approval and with a rollback path prepared.

Do you work internationally?+

Yes. WP Repair handles WordPress and WooCommerce incidents in English and Spanish through a remote service.

Assess my incident