Order storage

WooCommerce HPOS: orders missing from the dashboard

WooCommerce HPOS orders missing from the dashboard need careful investigation before a restore or storage switch. First establish whether an order is hidden, stored elsewhere or absent from the available data.

Time: 30-60 minutes for initial checks Level: Advanced
Neil McNaught, founder of BugShield and WordPress author
Written by
Written by
Updated
Updated

A missing row is not yet a diagnosis

High-Performance Order Storage, shortened to HPOS, stores orders in dedicated database tables. Older WooCommerce installations used WordPress posts and related metadata. A payment record, an order screen and a connected reporting tool can disagree, so keep the affected order reference and timeline together while checking each view.

WooCommerce Status screen showing Logs and the neighbouring Scheduled Actions tab
WooCommerce’s official log browser example helps locate incident evidence. It is not an HPOS settings screen or proof that a missing order was recovered. Image unchanged. Credit: WooCommerce contributors, GPL-2.0-or-later.

Identify one affected order before changing settings

Open WooCommerce > Orders and clear date, status and search filters. Confirm that you are signed in to the correct site with permission to view orders. Compare one known order number with the customer’s confirmation and the payment provider’s transaction. Keep those private records in your support workspace.

Record when the order last appeared and what changed afterwards: a storage setting, plugin update, migration or restore. A payment at the provider does not by itself prove WooCommerce saved an order. If the checkout never finished, start with the payment gateway guide.

Record the active storage and synchronisation state

Inspect WooCommerce > Settings > Advanced > Features without changing it. Record the selected order storage, compatibility mode, pending synchronisation and any incompatible-extension notice. WooCommerce’s HPOS documentation explains the storage choices.

The selected authoritative storage is the source WooCommerce uses for orders. A second copy can be incomplete when synchronisation has not finished. Do not switch stores of data simply because the other setting looks familiar, and do not delete tables to force a fresh sync.

Separate a display problem from inconsistent data

If WooCommerce displays the order but an invoice, fulfilment or reporting extension does not, check that extension’s HPOS support and version. Ask its maintainer to investigate the affected order through supported WooCommerce interfaces. A direct database query designed for older order storage can miss the record.

When WooCommerce itself cannot find the order, preserve the current database and available backups before investigation. A developer should compare the authoritative and backup stores, related order details and logs. Do not paste table-copying commands from another installation; order relationships and extension data must remain consistent.

Rehearse any synchronisation repair on a protected copy

Follow WooCommerce’s migration and verification guidance for the installed version. Have a developer identify which direction is correct before running synchronisation, then review the verification result and affected order details. Record WordPress, WooCommerce and extension versions so the result has a defined scope.

Test the protected copy with customer mail contained and payment integrations in test mode. Verify a fresh checkout, an existing affected order, refunds in the test environment and subscriptions if used. A matching total order count cannot establish that the same orders and amounts are present.

Get help with the next step

If the evidence is unclear, get help investigating missing orders. Share the symptom and checks already completed so the next step can be agreed.

Questions answered

HPOS order questions

Does enabling HPOS delete all old orders?

A missing order view does not establish deletion. Record the active storage, synchronisation state, filters and affected order reference before concluding that data is lost.

Should I switch back to WordPress posts storage?

Only after the developer verifies that the destination is complete and compatible. Switching to an incomplete copy can hide newer orders or create further inconsistencies.

Can a successful payment exist without a visible order?

Yes. Compare the provider record with checkout and order evidence. Do not treat the payment as proof of a complete WooCommerce order or charge the customer again.

Is matching the order count enough?

No. Compare affected order identities, items, totals, statuses and related records. Equal counts can still contain different data.

Can every missing order be recovered?

Recovery depends on available records and usable backups. If required details no longer exist, a complete reconstruction cannot be promised.

Need a hand with your WordPress site?

Tell us what happened and where you got stuck. A BugShield developer can help you work out the next step and confirm a price for the fix.

Explore help with this issue

Accessibility settings

Adjust how this site looks and moves. Your choices are saved in this browser.