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

Orders Stock Fulfilment

How to Repair WooCommerce Order Data Without Rewriting Payment History

Repair damaged WooCommerce order data with backups, gateway reconciliation and supported APIs while preserving payment, refund and audit history.

An order may have a damaged address, missing line metadata, wrong status or incomplete local refund record while its gateway history remains valid. Repairing the display by editing transaction IDs, totals or historical status transitions can destroy the audit trail needed for accounting and disputes.

Treat the gateway record as separate evidence. Back up the database and document the intended correction before changing WooCommerce.

Define the damaged field

Write down what is wrong, how it was discovered and which source proves the correct value. Distinguish customer-entered data, calculated totals, payment facts, stock events and fulfilment metadata.

Evidence hierarchy may include:
gateway transaction/refund object
original order emails or exports
tax and shipping calculations
warehouse record
protected application logs
customer-confirmed address correction

Do not accept unverified email instructions to change sensitive account or delivery data.

Preserve the original state

Take a database backup and export a privacy-controlled representation of the order. Record order ID, storage mode, status, totals and provider references.

Restrict access to the backup and define retention. It contains personal and commercial data.

Avoid editing during active payment callbacks or fulfilment sync. Pause only the relevant integration if necessary and note the maintenance window.

Reconcile payment independently

In the provider dashboard, confirm capture, refund, dispute and payout state. Record stable transaction IDs and amounts without card data.

WooCommerce status is not proof of provider state, and changing it cannot move money. Never trigger a second refund or capture merely to align the interface.

If provider and store totals disagree, classify the difference before touching line items.

Use the active WooCommerce datastore

Check whether High-Performance Order Storage is authoritative. Load and update orders through WooCommerce APIs so the correct tables and caches are handled.

$order = wc_get_order( $order_id );
if ( ! $order ) {
    throw new RuntimeException( 'Order cannot be loaded safely' );
}

Do not write directly to wp_posts, post meta or HPOS tables. Raw SQL can leave addresses, lookup data and caches inconsistent.

Separate corrections from historical events

Correct a misspelled address field as a current administrative change with a private note. Record an externally completed refund as a local manual refund linked to the provider ID. Adjust inventory through an auditable stock operation.

Do not delete old order notes, reuse a transaction ID for a new charge or move statuses back and forth to force side effects.

For tax or invoice changes, follow the business’s accounting process rather than silently rewriting a completed sale.

Test the repair on a copy

Use a staging copy with outgoing email, indexing, live payment and fulfilment disabled. Apply the exact supported change and confirm the order loads in administration, reports and integrations.

Check totals, rounding, line items and permissions. A repair script should target explicit order IDs, validate preconditions and support a dry run.

Never run an unbounded “fix all” query against production.

Apply and verify one order

Take a fresh backup, perform the smallest correction and add a private note describing evidence, operator and time. Clear only relevant object/product caches.

Reload through WooCommerce, verify payment references remain unchanged and confirm no duplicate email, stock or fulfilment action occurred.

Process a bounded batch only after the first repaired order passes review.

Prevent recurrence

Trace the source: failed database write, incompatible extension, import mapping, manual workflow or HPOS migration. Add validation and logging at that boundary.

Recurring care should reconcile provider totals, order integrity, stock and failed scheduled actions. A trustworthy repair makes operational data usable again while leaving the financial history legible to customers, accountants and dispute reviewers.

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