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.
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.
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 → ERP | Auto-disabled by WooCommerce after failures re-enable available | |
| Order #4183 | Pending payment for 26 hours gateway: card | |
| Gateway · Checkout settings | Sensitive field changed value not captured — by design | |
| Action Scheduler | Queue current 0 past-due · 0 failed |
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.
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
Agency
$199/yr
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.