Go Back to Parent Doc

Delivery Manager for WooCommerce FAQ & Troubleshooting

General

Is the plugin free? Yes — the plugin on WordPress.org is fully functional: the Delivery Person role, order assignment, status tracking, the driver dashboard and the customer timeline. Delivery Manager Pro adds custom statuses, zones and auto-assignment, the dispatch board, proof of delivery, notification emails, webhooks, a public tracking page and reports.

Do I need a courier or shipping API? No. This plugin manages your own delivery staff. Navigation, calling and WhatsApp are plain deep links — no API keys, no third-party accounts, no per-delivery fees.

Is any data sent outside my site? No. Delivery data is order meta in your own database (plus two small tables with Pro). The plugin performs no tracking or analytics. The only outbound requests are ones you configure yourself: Pro’s webhooks, and Pro’s license check against beautifulplugins.com.

Does it work with my theme? Yes — everything follows WooCommerce template conventions, so any properly coded theme works, and you can override any template at yourtheme/woocommerce/.

Is it translation-ready? Yes. The free plugin uses the delivery-manager-for-woocommerce text domain and Pro uses delivery-manager-pro. Both ship a .pot file and work with Loco Translate or your own .po/.mo files.

Does it support HPOS? Yes. Both plugins declare compatibility with High-Performance Order Storage and with Cart & Checkout Blocks, and all order access goes through the WooCommerce CRUD API. Pro’s metabox, orders-list column, filters and bulk actions are registered on both the HPOS and legacy order screens.

Delivery persons

How do I create a delivery person? Users → Add New, and pick Delivery Person in the Role dropdown. The role is created automatically when the plugin activates.

Can delivery persons see all my orders? No. They only see orders assigned to them, and every frontend action re-checks server-side that they are the assigned person (or hold the manage_delivery capability) before it does anything.

Can they see payment details? Not by default. They see the customer’s name, address, phone, email and items. With Pro you choose exactly what appears, and Order total and payment method is off by default — turn it on only if you run cash on delivery.

Can I assign more than one delivery person to an order? Not in the current version — one driver per order keeps the delivery chain and accountability clear. Multiple people per order (driver plus helper) is on the Pro roadmap.

The Deliveries menu item doesn’t appear for my driver. Check that the user’s role really is Delivery Person (a user with a second role such as Customer or Administrator won’t match), that they’re logged in, and that they’re on the My Account page. If it still doesn’t show, re-save your permalinks under Settings → Permalinks to flush rewrite rules.

“Invalid delivery order” when opening a delivery. The order number in the URL doesn’t resolve, usually because the order was deleted. Go back to My Account → Deliveries and open it from the list.

Assignment

The delivery person search finds nobody. The field only searches users with the Delivery Person role. Confirm the user’s role, and try searching by their email — the search covers username, email and display name.

I can see the metabox but saving doesn’t stick. Saving the free metabox requires the manage_options capability. A shop manager without it can view the box but not change the assignment. (Pro’s metabox uses manage_woocommerce, which shop managers do have.)

Automatic assignment isn’t assigning anything (Pro). Check in order: ① the Mode on Zones & Assignment isn’t Manual only; ② the order actually reached the trigger status you configured; ③ at least one candidate driver is on duty; ④ their max active deliveries capacity isn’t reached; ⑤ a zone matches the address, or If no zone matches, consider all delivery persons is ticked. When nothing is eligible the plugin writes an order note saying so — check the order notes first, it usually names the reason.

A zone never matches. Zones are matched against the shipping address, falling back to billing. Check the match type and values: states and countries need their codes (CA, US), postcode wildcards use 12* and ranges use 1000-1999, and zones are evaluated in priority order — a broad catch-all with a low priority number will swallow everything before your specific zones get a look.

Statuses and the timeline

The expected delivery date says seven days from now. That’s the free plugin’s placeholder (order date + 7 days). Override it with the dman_expected_delivery_date filter, or install Pro, which replaces it with a configurable lead time plus per-order dates and time slots.

My customers don’t see the delivery section. It renders on the order details and order-received pages, below the order table. If your theme overrides WooCommerce’s order templates it may not be calling woocommerce_after_order_details — check the theme’s order/order-details.php.

I installed Pro but the timeline looks the same. Pro swaps the timeline template only when your theme isn’t already overriding it. If yourtheme/woocommerce/order/order-delivery-details.php exists, that file wins — copy the Pro version over it, or delete it to get Pro’s.

Deactivating Pro — do I lose my delivery data? No. Pro keeps the free plugin’s out for delivery / delivered flags in sync at all times, so deactivating it leaves every order in a correct free-plugin state, with the free timeline and driver dashboard working as before. Its statuses, log and settings sit dormant and come back if you reactivate.

Orders from before I installed Pro have no status. They have no Pro status of their own, so Pro derives one from the free flags — they render correctly in the timeline. They won’t appear in the reports, though, because the reports read the delivery log and those orders have no log rows.

Notifications and tracking (Pro)

No delivery emails are going out. Check three things: the email is enabled under WooCommerce → Settings → Emails; the status that should send it has Email customer (or Email admin) ticked on the Statuses tab; and your site can send mail at all — test with any other WooCommerce email, and use an SMTP plugin if it can’t.

{tracking_url} is empty in my emails. Set the Tracking page dropdown on the Tracking Page tab to the page that contains the [dmanp_track_order] shortcode. Without that, there’s no URL to build.

The tracking page says the order can’t be found. The customer must enter the order number plus the identifier you configured (billing email, phone, or either). Also note that manual lookups are rate-limited to 10 attempts per 10 minutes — wait it out, or send the customer the tokenised link from their delivery email, which skips the form.

My webhook endpoint isn’t receiving anything. Use Send test webhook on the Notifications tab and then read Recent webhook deliveries — it records the URL, attempt number and the exact result for each attempt. Confirm the event is ticked in the Events list and that the URL field isn’t empty (an empty URL disables webhooks entirely). Failed requests are retried up to 3 times with a backoff.

How do I verify the webhook signature? Compute hash_hmac('sha256', $raw_body, $your_secret) and compare it to the X-DMANP-Signature header, which is that hash prefixed with sha256=.

Reports (Pro)

On-time rate shows a dash. Nothing in the range had an expected delivery to be measured against. Set a default lead time and time slots under General so orders get an ETA — the on-time rate compares the delivery time against the end of the slot (or the end of the day when no slot is set).

The numbers look low compared to my order count. Reports read the delivery log, which only starts when Pro is active. Deliveries that happened before you installed Pro aren’t counted.

Pro licensing

Do I need the free plugin to run Pro? Yes. Pro is an add-on and does nothing on its own. Run the free plugin at v1.2.0 or later plus WooCommerce, and keep both active.

Pro is active and licensed but nothing changed. Confirm the free plugin’s version is 1.2.0 or later — Pro boots on a hook only added in that release — and that WooCommerce is active. Pro shows an admin notice when a dependency is missing.

My license won’t activate. See License Activation. The usual causes are whitespace copied with the key, used-up site activations, and www vs. non-www mismatches.

Still stuck?

Open a support ticket with your WordPress and WooCommerce versions, both plugin versions, what you did, what you expected and what happened — plus the relevant WooCommerce order notes, which record every delivery action.

Shopping Cart
  • Your cart is empty.