Title: BuildsByLuke Order Flight Recorder for WooCommerce
Author: Luke W
Published: <strong>September 7, 2026</strong>
Last modified: September 7, 2026

---

Search plugins

![](https://ps.w.org/buildsbyluke-order-flight-recorder-for-woocommerce/assets/banner-
772x250.png?rev=3685606)

![](https://ps.w.org/buildsbyluke-order-flight-recorder-for-woocommerce/assets/icon.
svg?rev=3685606)

# BuildsByLuke Order Flight Recorder for WooCommerce

 By [Luke W](https://profiles.wordpress.org/lukeaxiomflow/)

[Download](https://downloads.wordpress.org/plugin/buildsbyluke-order-flight-recorder-for-woocommerce.1.0.3.zip)

 * [Details](https://wordpress.org/plugins/buildsbyluke-order-flight-recorder-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/buildsbyluke-order-flight-recorder-for-woocommerce/#reviews)
 * [Development](https://wordpress.org/plugins/buildsbyluke-order-flight-recorder-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/buildsbyluke-order-flight-recorder-for-woocommerce/)

## Description

Your store took the order. Did everything that was supposed to happen afterwards
actually happen?

WooCommerce fails quietly. A webhook feeding your CRM, fulfilment or Zapier gets**
auto-disabled after five failed deliveries — with no email, no dashboard notice,
and official recovery via the REST API**. A gateway update silently switches an 
express-checkout button on for your customers. An order sits in “pending” after 
the customer paid. The Action Scheduler queue that runs renewals and order emails
backs up. An order email is simply never generated — and a mail logger can’t log
an email that never existed.

Order Flight Recorder watches all five, records a timeline, and when something changes
it names the most plausible culprit: the plugin/theme/core update that immediately
preceded the change.

**The five detectors (all free):**

 * **Webhook sentinel** — instant email alert when WooCommerce disables or degrades
   a webhook, a Site Health check that turns critical while one is down, and one-
   click re-enable from the plugin’s own screen (no REST call needed). Optional 
   auto-recovery retries the re-enable for you a few minutes later, up to three 
   times a day, and then leaves it for a human.
 * **Payment-surface drift** — snapshots which gateways and express-checkout options
   your customers see; diffs after every update event and names the likely culprit.
   Credentials and secret keys are never captured.
 * **Stuck orders** — pending/on-hold orders beyond your thresholds (offline methods
   excluded), failed-order counts, and an optional “no orders at all for N hours”
   deadman switch.
 * **Queue health** — Action Scheduler past-due backlog and failures, grouped by
   the plugin that owns them.
 * **Order-email reconciliation** — records the emails your store _should_ have 
   generated for each status change (per your own email settings) and flags the 
   ones that never were.

Plus: email alerts and a daily digest (only when something needs review), Site Health
integration, and a WP-CLI command (`wp ofrw status --format=json`). Event log history
is your setting, defaulting to keep everything — housekeeping, not a tier: no build
removes the bound for you.

**Read-only by design.** The plugin never changes gateway settings, orders, or queue
entries. The only thing it ever writes is a webhook’s status — when you click “Re-
enable”, or when you switch on auto-recovery yourself (off by default).

**Quiet by design, too.** Nothing this plugin has to say appears outside its own
screen: no dashboard banners, no cross-admin notices, no nags. Findings reach you
by email, in Site Health, on the WP-CLI command, and on the plugin’s own page. The
one exception is a single notice on the Plugins screen if WooCommerce is not active,
which disappears the moment you activate it.

**Pro** adds Slack/webhook alert channels, a REST status endpoint for agency dashboards,
a white-label client report, and a WooCommerce Subscriptions renewals watch (renewal
due, no charge attempt). The free version is fully functional and stays that way.

#### Known limitations (honest ones)

 * Detection runs on a 15-minute/hourly cadence (plus instant signals where WooCommerce
   provides them). It is a recorder, not a firewall.
 * Email reconciliation starts at activation — historical orders are not judged —
   and relies on WooCommerce’s `woocommerce_email_sent` signal. It verifies emails
   were _generated and handed to your mailer_; it cannot see the receiving inbox.
 * Webhook monitoring covers WooCommerce webhooks, not the external service’s own
   health.
 * The no-orders deadman is off by default; enable it only if your store normally
   receives orders at least daily.

### External services

**The monitoring itself contacts nothing external.** Every check is a background
read of your own database, and alert emails go through your site’s own mailer (`
wp_mail`). No order or customer data ever leaves your site.

**Freemius (freemius.com), who sell and license the Pro version**

Freemius is contacted in four situations. Every one of them is something you click.
It is never contacted in the background.

 1. **If you opt in on the activation screen** (or start a trial / activate a licence).
    Sent to api.freemius.com: your site URL, your WordPress and PHP versions, and the
    email address of the account you activate with. Skipping the opt-in is a first-
    class choice and the plugin is fully functional without it.
 2. **If you open the “Upgrade” page** under the plugin’s menu. Your own server (not
    your browser) asks api.freemius.com for current plan prices, sending your site 
    URL. This happens whoever you are, including if you skipped the opt-in — but only
    when you open that page. The page itself loads no third-party scripts; everything
    it renders is served from this plugin’s own folder. The payment SDK’s bundled pricing
    script used to inject Google Analytics and a remote checkout script into wp-admin
    on that page; this build removes both, along with the SDK’s remaining remote references(
    all modifications are listed under “Source code” below).
 3. **If you open the “Contact Us” page**, which is Freemius’s hosted support form (
    wp.freemius.com). The link carries your site URL and your WordPress login URL so
    the form knows which site you are writing about.
 4. **If you click a plan to buy**, you go to Freemius’s hosted checkout (checkout.
    freemius.com). It receives your site URL, site name, WordPress and PHP versions,
    and your WordPress administrator email address (pre-filled, sent whether or not
    you complete the purchase). Freemius is the merchant of record. Their checkout 
    page loads its own third-party scripts (at the time of writing: Stripe, PayPal,
    Google Tag Manager, and Freemius’s own assets); we do not control that list. If
    you never click a plan, none of it loads.

Terms: https://freemius.com/terms/ — Privacy: https://freemius.com/privacy/

Installing, activating, skipping the opt-in, every scheduled check, using every 
screen, deactivating (the SDK’s deactivation-feedback dialog is switched off in 
this build, so deactivation is one click and sends nothing), and WordPress’s update
cycle all complete without contacting Freemius at all. Free updates come from WordPress.
org like any other plugin.

**Your own alert endpoints (Pro, optional)**
 If you enter a Slack or generic webhook
URL in settings, alert payloads (subject, body, site URL — never customer data) 
are POSTed to that URL you chose, only when an alert fires. Nothing is sent anywhere
you did not enter yourself.

### Source code

This plugin’s own PHP and JavaScript are unminified and readable in the plugin folder.
The one exception is the third-party payment SDK in `vendor/freemius/`, which ships
pre-minified; its source and build tooling are public:

 * Freemius WordPress SDK: https://github.com/Freemius/wordpress-sdk
 * The pricing screen at `vendor/freemius/assets/js/pricing/freemius-pricing.js`:
   https://github.com/Freemius/pricing-page

This plugin ships four deliberate modifications to that SDK (all in `assets/js/pricing/
freemius-pricing.js`, all removing remote references from wp-admin): the `appendScripts()`
method is emptied (it injected Google Analytics + checkout.js), the GA pageview 
tracker is stubbed out, the remote loader GIF is replaced with an inline data-URI,
and testimonial photos are forced to the bundled placeholder. Three carry an “Order
Flight Recorder:” comment at the patch site.

## Screenshots

[⌊The report: five status cards, disabled-webhook table with one-click re-enable,
and the event timeline.⌉⌊The report: five status cards, disabled-webhook table with
one-click re-enable, and the event timeline.⌉[

The report: five status cards, disabled-webhook table with one-click re-enable, 
and the event timeline.

[⌊A drift event: before/after of the payment surface with the culprit update named.⌉⌊
A drift event: before/after of the payment surface with the culprit update named
.⌉[

A drift event: before/after of the payment surface with the culprit update named.

[⌊Settings: thresholds, offline-gateway exclusions, deadman switch.⌉⌊Settings: thresholds,
offline-gateway exclusions, deadman switch.⌉[

Settings: thresholds, offline-gateway exclusions, deadman switch.

## FAQ

### Does it slow my store down?

No. Checks are scheduled background reads (status columns, counts) on a 15-minute/
hourly cadence; nothing runs on your customers’ page loads.

### Will it change my gateway or optimizer settings?

Never. The single write it can perform is re-enabling a WooCommerce webhook, and
only when you click the button or switch on auto-recovery yourself.

### Does it store customer data?

No message content is stored. Email log rows keep the WooCommerce email id, order
id, and a masked recipient (j***@example.com). Gateway snapshots exclude anything
that looks like a credential.

### I don’t use webhooks — is it still useful?

Yes: drift, stuck orders, queue health and email reconciliation are independent 
of webhooks.

### HPOS (High-Performance Order Storage)?

Fully compatible — orders are read exclusively through the WooCommerce CRUD APIs.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“BuildsByLuke Order Flight Recorder for WooCommerce” is open source software. The
following people have contributed to this plugin.

Contributors

 *   [ Luke W ](https://profiles.wordpress.org/lukeaxiomflow/)

[Translate “BuildsByLuke Order Flight Recorder for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/buildsbyluke-order-flight-recorder-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/buildsbyluke-order-flight-recorder-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/buildsbyluke-order-flight-recorder-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/buildsbyluke-order-flight-recorder-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/buildsbyluke-order-flight-recorder-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.3

 * Initial public release: webhook sentinel with one-click re-enable and optional
   auto-recovery, payment-surface drift recorder with culprit attribution, stuck-
   order detector + deadman switch, Action Scheduler health by owner, order-email
   reconciliation, alerts + daily digest, Site Health tests and WP-CLI with JSON.

## Meta

 *  Version **1.0.3**
 *  Last updated **5 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [alerts](https://wordpress.org/plugins/tags/alerts/)[monitoring](https://wordpress.org/plugins/tags/monitoring/)
   [orders](https://wordpress.org/plugins/tags/orders/)[webhooks](https://wordpress.org/plugins/tags/webhooks/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/buildsbyluke-order-flight-recorder-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/buildsbyluke-order-flight-recorder-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/buildsbyluke-order-flight-recorder-for-woocommerce/reviews/)

## Contributors

 *   [ Luke W ](https://profiles.wordpress.org/lukeaxiomflow/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/buildsbyluke-order-flight-recorder-for-woocommerce/)