Builds By Luke
All plugins

WordPress Plugin · WooCommerce · v1.0.0 · Coming soon

Order Flight Recorder

Your store took the order. Did everything that was supposed to happen actually happen — and if not, which plugin broke it?

  • WordPress 6.2+
  • PHP 7.4+
  • GPLv2+
  • WooCommerce
  • HPOS-safe

Free core coming to the WordPress.org plugin directory. This page is the plugin’s official home.

Order Flight Recorder for WooCommerce icon

The order came in. The webhook was disabled three weeks ago. Nobody told you.

A WooCommerce store is a pipeline of things that are supposed to happen after the “thank you” page: webhooks fire to your ERP, the gateway settles, emails go out, scheduled jobs run. Every one of those steps can fail silently. WooCommerce disables a failing webhook without a word. A plugin update flips a gateway setting. An order sits in pending forever. The confirmation email is never even generated — so no mail logger will ever log it. Order Flight Recorder watches the whole pipeline and tells you what changed, the moment it changes, with the responsible plugin named.

How it works

It watches the pipeline, not just the orders.

Job one · The silent failures

Notice what WooCommerce turned off without telling you

WooCommerce disables a webhook after enough delivery failures — with no notice, no email, nothing on the order screen. Your ERP, your fulfilment app, your accounting sync: all quietly cut off. Order Flight Recorder watches for exactly this class of event, alerts you the moment it happens, and offers the one-click re-enable once you have fixed the endpoint.

  • Webhook watchdog — failing and auto-disabled webhooks caught the moment WooCommerce acts, with a re-enable roundtrip.
  • Gateway drift — payment-gateway settings compared against a baseline, the change named, secrets never captured.
  • Email obligations — every order email WooCommerce was supposed to generate, reconciled against what actually went out.
3 events

The order pipeline has 3 open events

2 webhooks watched · 4 gateways baselined · queue healthy. Events persist until resolved — they do not scroll away.

Open events

Webhook · Order created → ERPAuto-disabled by WooCommerce after failures re-enable available
Order #4183Pending payment for 26 hours gateway: card
Gateway · Checkout settingsSensitive field changed value not captured — by design
Action SchedulerQueue current 0 past-due · 0 failed
The pipeline report — what broke, when, and who did it. Example data shown.

Job two · The pipeline

Stuck orders and a backed-up queue, surfaced with an owner

An order stuck in pending for a day is a customer who paid and got nothing. A backed-up Action Scheduler queue is a store where everything happens late — renewals, emails, stock syncs. The recorder flags stuck and failed orders by age, watches the queue for past-due and failed jobs, and attributes queued work to the plugin that scheduled it, so you know who to blame.

  • Stuck-order detection with sensible exclusions — offline on-hold orders are not false alarms.
  • Action Scheduler health: past-due and failed jobs, with the owning plugin named.
  • A deadman check: if the recorder itself stops running, that is an alert too.

Order email obligations · last 24h

#4181 · Processing order Generated · matched
#4182 · Processing order missing obligation created, email never generated
#4182 · New order (admin) Generated · matched

The failure no mail logger can see
A mail logger logs emails that exist. If the email is never generated, there is nothing to log — reconciliation against the obligation is the only way to notice.

Order emails reconciled: generated, or named as missing. Example data shown.

Read-mostly, deliberately

It watches, records and alerts. The only write action it offers is the one you explicitly click — re-enabling a webhook WooCommerce disabled. It never edits orders, never touches gateway settings, never reschedules anyone else’s jobs.

Secrets never captured

Gateway drift detection compares configuration shapes, not contents: it records that a sensitive field changed, never the value. API keys and tokens are structurally excluded from every snapshot and every alert.

HPOS-safe

Built against WooCommerce’s current order storage. Verified end-to-end against a real WooCommerce install — webhooks, gateways, Action Scheduler and order emails exercised for real, not mocked.

In the free build

Complete for watching one store.

Nothing below is limited, metered, or unlocked by payment.

  • Webhook watchdog

    Failing deliveries and auto-disabled webhooks caught immediately, with an instant alert and one-click re-enable.

  • Gateway drift baseline

    Payment-gateway settings snapshotted and diffed; every change named with its before/after — secrets excluded by design.

  • Stuck-order detection

    Pending and failed orders flagged by age, with the exclusions that keep offline payment methods from crying wolf.

  • Action Scheduler health

    Past-due and failed queue jobs surfaced, each attributed to the plugin that scheduled it.

  • Order-email reconciliation

    Every email obligation an order creates, matched against what was actually generated. The missing ones get named.

  • Instant alerts + daily digest

    An email the moment something breaks, and a daily summary of the pipeline’s health.

  • Site Health + dashboard

    Pipeline status surfaced in WordPress’s own Site Health screen and a wp-admin summary.

  • WP-CLI with JSON

    The full pipeline report from the command line — pipe it into your fleet tooling.

Free vs Pro

Pro is for when the stores belong to clients.

The free build already watches a store completely. Pro adds the channels and reach an agency needs: Slack, longer retention, a REST endpoint, and unlimited sites.

Capability Free Pro
Webhook watchdog with re-enable roundtrip
Gateway drift detection, secrets never captured
Stuck orders + Action Scheduler health with owner attribution
Order-email reconciliation
Instant alerts + daily digest by email
Site Health, dashboard summary, WP-CLI with JSON
Sites your licence covers One, complete 5 · unlimited on Agency
Slack & webhook alerts
Extended 90-day event retention
REST status endpoint for fleet dashboards
Subscription-aware enrichment when WooCommerce Subscriptions is present

Pro · founder pricing

Pro

$99/yr

5 sites · for the freelancer running client stores

Agency

$199/yr

Unlimited sites · for the agency running a fleet

14-day trial, no card required. Annual, in US dollars. Pro is sold and licensed through Freemius, the merchant of record.

Questions people ask.

Doesn’t WooCommerce already tell me when a webhook fails?

No. WooCommerce counts delivery failures silently and disables the webhook when the count runs out — there is no notice, no email, and nothing in the UI beyond a status flag nobody looks at. Whatever was listening on the other end simply stops receiving orders. That is the exact blind spot this plugin exists to close.

Will it change my store’s configuration?

No. It is read-mostly by design: it records and alerts. The single write action in the whole plugin is the webhook re-enable button — and that only runs when you click it.

Can it see my payment gateway API keys?

It deliberately cannot. Drift detection records that a sensitive field changed, never what it contains. Keys, secrets and tokens are structurally excluded from snapshots, events, alerts and the database.

Does it work with HPOS (High-Performance Order Storage)?

Yes. It was built and tested against WooCommerce’s current order storage, exercised end-to-end on a real WooCommerce install.

What does uninstalling remove?

Everything the plugin created: its events table, options and scheduled tasks. Deactivating keeps your event history.

How long would it take you to notice?

A disabled webhook looks like a quiet week. A missing order email looks like a customer who didn’t write back. Order Flight Recorder notices in minutes — and names what changed.