Skip to content
WooRescueHQ

WooCommerce / Orders

WooCommerce Orders Missing or Incorrect

Short answer

Most “missing” orders exist in a status you are not looking at, were never completed by the customer, or failed after payment. Search by the customer's email across all statuses and the trash, then check the payment provider. Incorrect totals usually come from tax and rounding settings, fees, coupons, currency plugins or an order recalculated in the admin. Inconsistent data across screens often points to order storage synchronisation (HPOS) or to Analytics data that has not been imported.

Symptoms

  • A customer has a confirmation or a charge, but the order is not in the admin.
  • Orders appear in emails or the payment provider but not in the orders list, or the reverse.
  • Order totals do not match what the customer paid, or differ by small rounding amounts.
  • Orders stay in Pending payment, On hold or Processing when they should have moved on.
  • The orders list, exports, Analytics and integrations show different numbers.

Most common causes

Orders that seem to be missing

  1. Status filters and the trash. The default list hides trashed orders, and saved filters hide others.
  2. The customer never completed the order. They left the payment page, so the order stayed pending and was cancelled after the hold-stock time — or, with the Checkout block, it never left the draft state.
  3. Payment succeeded but the order failed — see payment failed but customer was charged.
  4. The order was placed somewhere else: a staging copy connected to live payment keys, another store, or a different email address.
  5. Order storage: after enabling HPOS without synchronisation, code or tools that still read the old tables cannot see new orders.
  6. Automations that delete, merge or move orders: cleanup plugins, ERP syncs, custom code.

Orders with incorrect data

  1. Tax and rounding settings: prices entered with or without tax, rounding per line or at subtotal level, the number of decimals.
  2. Fees and coupons applied in an unexpected order, or custom fee code.
  3. Currency and pricing plugins changing prices at different moments of the checkout.
  4. Admin recalculation with today's tax rates.
  5. Custom code writing order meta directly, especially through update_post_meta() on stores that use HPOS.

Diagnosis

1. Search properly before assuming loss

Search by order number, the customer's email and their name, across All statuses, then the trash. If your store uses the Checkout block, remember that draft orders are not listed as normal orders.

2. Check the payment provider

For a customer who claims to have paid, find the transaction. No transaction means no completed payment. A successful transaction without a paid order is a payment handoff failure.

3. Read the order notes

Order notes record every status change with a timestamp: payment confirmations, gateway messages, automatic cancellations, and many plugin actions. The last note before the order went wrong usually names the cause.

4. Check order storage

Under WooCommerce → Settings → Advanced → Features, see whether HPOS or the legacy posts storage is authoritative, and whether compatibility mode is keeping them in sync. If orders exist in one storage and not the other, look for pending synchronisation and for code that reads the wrong storage.

5. Compare totals line by line

For an incorrect total, recompute the order from its items: line subtotals, line taxes, discounts, fees, shipping and shipping tax. Compare with the tax settings (WooCommerce → Settings → Tax) as they were when the order was placed.

Logs and technical checks

  • Order notes and the customer's email history.
  • Payment provider transactions for the period.
  • WooCommerce → Status → Logs: fatal-errors and the gateway log around the order time.
  • Tools → Scheduled Actions: failed actions related to orders, emails or syncs.
  • Order storage settings and synchronisation status.
  • Read-only database checks on a copy when the admin and the data disagree.

Solutions

  • Fix the cause first: the payment handoff, the failing hook, the cleanup automation or the storage synchronisation.
  • Recover orders from evidence: payment provider records, emails and order notes. Recreate them through WooCommerce, not with SQL.
  • Correct tax and rounding settings for future orders; for past orders, decide case by case with your accountant whether to adjust or document.
  • Rewrite custom code that writes orders through post meta to use the order CRUD API.
  • Re-run the Analytics import for the affected period if only reports are wrong.

What not to do

  • Do not create duplicate orders by hand before you know whether the original exists.
  • Do not run UPDATE or DELETE queries on order tables to "fix" data, especially with HPOS and synchronisation enabled.
  • Do not click Recalculate on historical orders without checking which tax rates will be used.
  • Do not install a second order-cleanup or sync plugin to fix the first one.

When to contact an expert

Contact an engineer when orders disappear without a trace in notes or logs, when the orders list and the database disagree, when HPOS synchronisation is involved, or when many orders need to be reconciled against payments.

Frequently asked questions

Why don't I see an order the customer says they placed?

Check all statuses including Pending payment and Failed, the trash, and search by the customer's email. If there is no order, check the payment provider: the customer may have abandoned payment, or paid while the order failed.

What are checkout-draft orders?

The Checkout block creates a draft order while the customer is on the checkout page. It becomes a real order when the customer places it; abandoned drafts are not real orders and are cleaned up automatically.

Why do WooCommerce Analytics totals differ from the orders list?

Analytics reads its own lookup tables and excludes some statuses by default. If historical data was never imported, or the import stopped, reports will be incomplete. Check Analytics → Settings for excluded statuses and the historical data import.

Why did the order total change after I edited the order?

Clicking Recalculate in the order editor recalculates taxes and totals with the current tax rates and settings, which may differ from those at the time of purchase.

$ describe the problem

Have a WooCommerce problem?Request a diagnosis.

Tell us what is failing, what changed recently and the business impact. We review every request and recommend the appropriate next step.

Request a diagnosis See services and prices

Never send passwords, API keys or card data through the form.

Diagnosis from€299

Request a diagnosis