Vanquish Shipping Tracking for WooCommerce

Сүрөттөө

Every parcel you ship brings the same question: where is my order? Vanquish Shipping Tracking for WooCommerce answers it before it is asked. Add a carrier and a tracking number to an order, and your customer finds them in the order emails and on their order page — with the carrier’s logo and a link to the carrier’s tracking page, the tracking number already filled in whenever the carrier supports it.

HPOS compatible · 1,600+ carriers, with logos · Works with ShipStation · Shipment Tracking API compatible · No account, no API key, no data sent · WPML & Polylang ready

How it works

  1. Install and activate the plugin. WooCommerce is the only requirement.
  2. Under Shipping Tracking Shipping companies, switch on the carriers you ship with. You can skip this: until you choose, every carrier is offered.
  3. Open an order, pick the carrier, type the tracking number and press Update — or let ShipStation or your shipping service send it: it lands on the order by itself.
  4. Your customer gets the tracking — with a link straight to the carrier — in the order emails and on their order page.

Switching from WooCommerce Shipment Tracking?

Your tools keep working: shipping services, label printers and ERPs that send tracking to WooCommerce Shipment Tracking find the same API here, and ShipStation is supported out of the box. The tracking already on your orders comes across by itself, the first time each order is shown, and the extension’s own data is left where it is — so trying this plugin costs you nothing.

Free, with no strings attached

Everything in the free version works without an account, an API key or a subscription, and sends no data anywhere. That includes your own custom carriers with their own tracking links, the carrier logos in emails and on the order page, the message editor with its live preview, and a form where customers look up their own tracking.

Premium: your customers follow the parcel without leaving your store

The free version sends your customer to the carrier’s website. Premium brings the whole journey onto your own order page:

  • Live shipment status — picked up, in transit, out for delivery, delivered — shown as a timeline drawn by your store, in your theme, not a widget embedded from someone else’s site.
  • Emails at the moments that matter — “out for delivery”, “ready for pickup”, “delivered”, sent as real WooCommerce emails — and an alert for you when a parcel reports a problem or stops moving.
  • Every parcel of an order, each with its own link and its own timeline.

It runs on your own AfterShip, TrackingMore or track123 account: you bring the API key, requests go straight from your store to the service.

Free features

Carriers

  • 1,600+ predefined carriers worldwide, most of them with their logo, each linking to its own tracking page. For about 400 of them the link opens the parcel directly, with the tracking number already filled in.
  • Only the carriers you use — pick them from a searchable grid showing each carrier’s logo, country and a “Direct link” mark, so the order screen offers three carriers instead of 1,600.
  • A default carrier, optionally, preselected on orders that have no tracking yet.
  • Your own carriers — a local courier, your own deliveries — with a tracking URL template that takes the tracking code, the postcode and the country.

What your customers see

  • The tracking in the standard WooCommerce order emails and on the order details / My Account page: the carrier’s logo and name, the tracking number and link, and a “Track shipment” button in your email colours.
  • Guest customers too: the tracking also appears on the order confirmation page, which needs no login, and the [vanstr_tracking_form] shortcode lets anyone look up an order with its number and billing email. Failed attempts are rate limited.
  • You decide where and when: which order statuses show the tracking, whether it goes into the emails, and whether it sits before or after the order table — separately for the emails and the order page.

Messages

  • Two fully editable messages, one for the order page and one for the emails, with a visual editor and a live preview beside it: a sample shipment on your own carrier, in your WooCommerce email colours, with the plain-text version one click away.
  • Placeholders you insert with a click: the carrier’s logo and name, the tracking number and link, the “Track shipment” button, the order number, the order page and the dispatch date.
  • Multilingual ready: with WPML or Polylang active, every customer-facing message can be entered in each language, on the same screen.

Built for the way a shop ships

  • Carrier, tracking number and dispatch date in a box in the side column of the order screen, with a “Track this shipment” link to check the parcel.
  • The dispatch date can start on today’s date, for shops that enter the tracking on the day they ship.
  • Mark the order as completed with one switch, right under the tracking, on orders that are not completed yet.
  • An order note every time the tracking is added or changed, timestamped by WooCommerce — a record of when each parcel was booked, kept where your customers never see it.
  • A tracking column in the admin orders list.
  • HPOS (High-Performance Order Storage) compatible.

Works with your shipping tools

  • A REST API compatible with WooCommerce Shipment Tracking — shipping services, label tools and ERPs built to send tracking to the official WooCommerce Shipment Tracking extension send it to this plugin just the same, with nothing to set up: the tracking appears on the order, in the emails and on your customer’s order page. Active whenever neither that extension nor Advanced Shipment Tracking is installed.
  • ShipStation — the tracking ShipStation for WooCommerce reports when it ships an order is added automatically, and ShipStation’s own tracking note is kept private, so your customer is not told twice.
  • One tracking per order in the free version — when a service sends a second one for the same order, it is kept on the order, never lost, and you are told: on the order itself, in the admin, and in a summary email at most once a day, which you can turn off.

For developers and for switching plugins

  • vanstr_set_tracking(), a documented function for attaching tracking from your own code when your warehouse software or carrier plugin books the parcel.
  • Migration from WooCommerce Shipment Tracking — each order’s tracking is brought over the first time the order is shown, and the extension’s own data is left in place.
  • Automatic migration of your settings and each order’s tracking from the legacy “WooCommerce Shipping Tracking” (CodeCanyon) plugin.

Premium features

  • In-site shipping timeline — show the live shipment status (picked up, in transit, out for delivery, delivered…) as a timeline on the order page, drawn by your own site rather than embedded from the provider. Bring your own API key from AfterShip, TrackingMore or track123; requests go straight from your site to the service you chose. Includes a one-click connection test.
  • Multiple shipments per order — each parcel with its own carrier, tracking number, dispatch date, note and the products it contains. Every further tracking a shipping service or ShipStation sends becomes one, and those the free version kept appear by themselves.
  • PayPal tracking — with WooCommerce PayPal Payments, the tracking of each order paid through it is added to the PayPal transaction, whether you type it in, import it or a shipping service sends it. PayPal takes the tracking into account when releasing held payments and settling “item not received” disputes.
  • Per-product tracking — when a shipment is tied to specific products, its tracking link is shown next to those products on the order page and in the emails (can be turned off).
  • Shipping estimates for products — show an estimated shipping (dispatch) date on the product page, cart, checkout, order and emails, computed from rules you set per product, category or tag (shipping days, cut-off hour, processing days, holidays, optional date range), with a configurable out-of-stock text.
  • Delivery estimates for shipping methods — attach a “3–5 days” style estimate to each shipping method, shown with the method in the cart and at checkout. Works in both the block and the classic checkout.
  • Requested delivery date — let customers pick a preferred delivery date (and an optional merchant-defined time slot) at checkout, within the window you configure (lead time, latest date, excluded weekdays and dates). Works in both the block and the classic checkout; editable from the admin order screen.
  • CSV import — drag and drop a CSV of tracking codes (one row per shipment, separator detected on its own) and say how its dates are written, so 07/09 is never read the wrong way round; a progress bar follows the import. An optional scheduled import fetches a CSV from a URL you configure.
  • Quick assign — fill in tracking for many orders from a single screen, with filters, per-row notifications and an optional status change after saving.
  • “Order shipped” notification email — a real WooCommerce email, configured under WooCommerce Settings Emails like any other.
  • Automatic shipment monitoring — check your tracked shipments on a schedule and act on what changes. Tell customers when their parcel is out for delivery, ready for pickup or delivered, and be alerted yourself when one reports a problem or stops moving for a number of days you choose. Each event is announced once per shipment, delivered parcels are never polled again, and a “check now” button runs a pass immediately.

Carrier names and logos are trademarks of their respective owners, shown only to identify each carrier. The logos ship with the plugin: displaying them never contacts any external server.

External services

The free version does not send any data to external services. It only builds direct links to the carriers’ own tracking pages, which the customer opens in their browser.

The premium version can connect to external services. All of them are configured and controlled entirely by you:

  1. Tracking providers (in-site timeline). When you enable the shipping timeline and select a provider, the plugin sends the order’s tracking number and carrier code to that provider’s API to retrieve the shipment status, using your own account’s API key. No data is sent until you enter an API key and select the provider. Supported providers:
  2. Scheduled CSV import. If you enable the scheduled bulk import, the plugin periodically downloads a CSV file from the URL that you configure (typically a feed published by your own warehouse or fulfilment service). No data is sent to that URL; the file is only fetched.
  3. PayPal. When WooCommerce PayPal Payments is active, the tracking number and carrier name of each order paid through it are passed to that plugin, which adds them to the order’s PayPal transaction with your own PayPal account. Nothing is sent for orders paid any other way. PayPal — https://www.paypal.com/ (terms, privacy)

More WooCommerce plugins by Vanquish

Скриншоттор

Орнотуу

  1. Upload the plugin files to the /wp-content/plugins/vanquish-shipping-tracking-for-woocommerce directory, or install the plugin through the WordPress plugins screen.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress.
  3. Make sure WooCommerce is installed and active.
  4. Configure the plugin from the “Shipping Tracking” menu.

FAQ.KG

How do I add a tracking number to an order?

Open the order under WooCommerce Orders. The “Shipping tracking” box sits in the side column: pick the carrier, type the tracking number, add the dispatch date if you like, and press Update. A “Track this shipment” link appears under the number so you can check it straight away. In the premium version you can also fill in many orders from one screen (Quick assign) or import them from a CSV.

Where do my customers see the tracking?

In the WooCommerce order emails — before or after the order table, as you prefer — and on the order details page in My Account. Guest customers have no account, so they see it on the order confirmation page, which needs no login; the [order_url] placeholder of the messages takes them there. You choose which order statuses show the tracking under Shipping Tracking Settings.

My carrier isn’t in the list. Can I add it?

Yes, in the free version. Under Shipping Tracking Shipping companies Custom companies, give it a name and a tracking URL template: %s becomes the tracking number, and %post_code and %country_code the order’s postcode and country. Leave the URL empty for a carrier with no online tracking, such as your own deliveries: the “Track shipment” button is then left out.

Can I add more than one tracking number to an order?

In the premium version, yes: an order can have several shipments, each with its own carrier, tracking number, dispatch date, note and the products it contains, and each is shown to the customer with its own link. The free version has one shipment per order; a second tracking sent by a shipping service is kept on the order and shown to your customer as soon as you switch to premium.

Does it work with ShipStation and other shipping services?

Yes. ShipStation for WooCommerce reports the tracking of each shipment, and the plugin adds it to the order by itself. Services, label tools and ERPs that send tracking to the official WooCommerce Shipment Tracking extension find the same REST API here (/wp-json/wc/v3/orders/<id>/shipment-trackings, and the wc/v1, wc/v2 and wc-shipment-tracking/v3 versions of it), so they work unchanged. The carrier they name is matched to the plugin’s list; one it does not know becomes a custom company, with the link that came with it. If WooCommerce Shipment Tracking or Advanced Shipment Tracking is active, the API is left to them.

I use WooCommerce Shipment Tracking. Can I switch without losing the tracking?

Yes. Deactivate it and activate this plugin: the tracking of each order is brought over the first time the order is shown — in the admin, an email or the customer’s order page — so there is no bulk job to run. The extension’s own data is left untouched, so switching back loses nothing. Orders with more than one tracking keep them all: the premium version shows each one to your customer, the free version shows the first and keeps the others on the order.

Can the tracking be sent to PayPal?

Yes, in the premium version, for orders paid through WooCommerce PayPal Payments (version 3.1.0 or later). Every tracking added to such an order — typed in, imported, or sent by ShipStation or another service — is added to its PayPal transaction, and a note on the order says so. If PayPal cannot take it yet, for example because the payment is only authorised and not captured, the note says why and it is sent again the next time the order’s tracking changes.

Can I import tracking numbers in bulk?

In the premium version, under Shipping Tracking Bulk tracking. Drop in a CSV with one row per shipment — comma, semicolon or tab separated — and say how its dates are written (DD/MM/YYYY, MM/DD/YYYY or YYYY-MM-DD), so a date like 07/09 is never read the wrong way round. An order whose date cannot be read is reported and left untouched. A scheduled import can also fetch the CSV from a URL on its own, typically a feed published by your warehouse. In the free version, vanstr_set_tracking() (below) lets your own code do the same.

Does it work without a third-party account?

Yes. The free version links to the carriers’ tracking pages and needs no external account or API key. In the premium version, the in-site timeline is the only feature that uses a tracking service — with your own API key.

Can customers look up their own tracking?

Yes. The [vanstr_tracking_form] shortcode puts a small form on any page: the customer enters an order number and the billing email of that order, and gets the tracking of that order back, using the message you configured. Failed attempts are rate limited, so the form cannot be used to fish for order numbers. An optional title attribute adds a heading, as in [vanstr_tracking_form title="Track your order"].

Does it support the WooCommerce block checkout?

Yes. The checkout features (requested delivery date, delivery estimates on shipping methods, per-product shipping estimates) work in both the block checkout and the classic (shortcode) checkout.

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

Yes, the plugin is fully compatible with HPOS and with the classic order storage.

I am migrating from the CodeCanyon “WooCommerce Shipping Tracking” plugin. Do I lose my data?

No. Your orders keep their tracking: carrier, tracking number and dispatch date are converted the first time each order is loaded, so there is no bulk operation to run. Custom carriers, and the extra shipments and notes if you used them, come across too.

Your settings are migrated as well: the tracking messages (including every language, on a WPML or Polylang site), the order statuses the tracking is shown on, the carriers you had enabled together with your default carrier, and whether the dispatch date starts on today’s date. The placeholders are the same in both plugins, so your wording carries over unchanged. Anything that has no equivalent in the new plugin — most of the old options page consisted of workarounds this plugin no longer needs — is simply left behind, and the advanced features have their own settings pages, which you fill in yourself.

The migration never overwrites anything you have already configured here. It does, however, clear the old plugin’s data as it converts each piece — the custom companies once they have been imported, and each order’s old tracking fields once that order has been converted — because that is how it knows not to run twice. Your messages and the order-status setting are left untouched.

So nothing is lost, but going back to the old plugin is not clean: it would find its custom companies gone and no tracking on the orders you had opened. If you want a way back, take a database backup before you start.

Can I add tracking to an order from my own code?

Yes, with vanstr_set_tracking():

vanstr_set_tracking( $order_id, '1Z999AA10123456784', 'ups', '2026-09-09' );

The arguments are the order (an id or a WC_Order), the tracking number, the carrier, and an optional dispatch date as Y-m-d. For the carrier, use the slug shown in brackets under Shipping Tracking Shipping companies, or the id of one of your own custom companies. A date in any other format is refused rather than stored in a shape the plugin cannot read back, and omitting it leaves whatever the order already had.

Call it any time after plugins_loaded, and wrap it in function_exists( 'vanstr_set_tracking' ) so your code survives the plugin being deactivated. It returns true when the tracking was written, false when WooCommerce is unavailable or the order does not exist. Each call also leaves an order note, so shipments booked by an integration leave the same timestamped trail as the ones entered by hand.

Can I change the wording of the emails the plugin sends?

Yes. Every email is a standard WooCommerce email, so you edit it under WooCommerce Settings Emails, exactly like the ones WooCommerce sends itself: subject, heading, extra content, the enable switch and your store’s branding. The plugin adds “Order shipped”, “Shipment status update” and “Shipment needs attention (admin)” (the last one goes to you, not the customer, and lets you set the recipient).

The tracking block inside those emails comes from the message you write in Shipping Tracking Messages, where you can use placeholders such as the tracking number, the carrier name, the tracking link and the products carried by that shipment.

On top of that, the two monitoring emails accept placeholders in their Subject, Email heading and Additional content fields: {order_number}, {tracking_number}, {carrier} and {associated_products}, plus {status} on the status update and {issue} on the admin alert. So a subject like Your {carrier} parcel: {status} or an extra line saying This parcel contains: {associated_products} works without touching any template.

What happens to my settings if I uninstall the plugin?

They stay. Custom carriers, messages, enabled carriers and — in the premium version — estimate rules, providers and API keys all survive an uninstall and are still there after a reinstall, and the tracking saved on your orders is never touched. If you do want a clean slate, Shipping Tracking Settings has a “Reset settings” action that clears the configuration on purpose, behind a confirmation. It leaves the tracking on your orders alone.

Can I translate the texts my customers see?

The plugin ships translation-ready (POT file included). On top of that, if WPML or Polylang is active, the settings pages show one input per language for all the customer-facing text (messages, labels, estimates), so you can translate them without extra tools.

Сын-пикирлер

Сентябрь 11, 2026-ж.
Good plugin and great support!
Август 17, 2026-ж.
I've been using Vanquish Shipping Tracking for WooCommerce on my store for a while now, and it's been a solid, reliable addition – tracking numbers sync smoothly and customers get clear visibility into their orders without extra hassle on my end. What really stands out, though, is the support. I ran into a configuration issue specific to my setup, and the response was fast, knowledgeable, and solved the problem rather than just pointing to generic documentation. It's rare to get that level of attentiveness from a plugin developer these days. Highly recommended, both for the product itself and the team behind it.
Июль 23, 2026-ж.
Finding a plugin that supports all my local and international shipping carriers used to be a nightmare. This plugin has over 1,600 predefined carriers, and everything links up perfectly for the customer. The interface is clean, professional, and took me minutes to configure. Highly recommended for any global store!
Июль 21, 2026-ж.
This is the third plugin made by Vanquish that I've bought for my WooCommerce e-commerce website! I'm really impressed by how user-friendly and intuitive the interface is. It allows you to track shipments through almost any carrier worldwide without any complex setup. It keeps everything simple, clean, and professional. 5 stars!
Read all 5 reviews

Contributors & Developers

“Vanquish Shipping Tracking for WooCommerce” is open source software. The following people have contributed to this plugin.

Мүчөлөрү

Өзгөртүүлөр

1.2.1

  • New (premium): other plugins can lay out an order’s parcels in advance — one per delivery address, warehouse or supplier — through the vanstr_prepare_parcels action: the order screen then opens with one shipment per parcel and its products already assigned, and you only type the tracking numbers. Prepared parcels stay hidden from the customer until they have a tracking, and an order that already has tracking is never touched.
  • Fixed (premium): saving an order dropped every additional shipment that had products assigned but no carrier and no tracking number yet.

1.2.0

  • New: a REST API compatible with the official WooCommerce Shipment Tracking extension. Shipping services, label tools and ERPs built to send tracking to that extension can now send it to this plugin, unchanged: the same routes on wc/v1, wc/v2, wc/v3 and wc-shipment-tracking/v3, the same fields and the same answers. The API is left alone whenever that extension or Advanced Shipment Tracking is active.
  • New: ShipStation. The tracking ShipStation for WooCommerce reports when it ships an order is added to the order automatically, and its tracking note is kept private, since your customer already gets the tracking from this plugin.
  • New: migration from WooCommerce Shipment Tracking. Each order’s tracking is brought over the first time the order is shown, carriers included; the extension’s data is left in place.
  • New: in the free version, a second tracking sent for an order that already has one is kept on the order and reported to you — on the order, in the admin, and in a summary email at most once a day, which can be turned off under Shipping Tracking > Settings. Premium shows it to your customer as an additional shipment, including the ones kept before switching.
  • New (premium): the tracking of orders paid through WooCommerce PayPal Payments is added to their PayPal transaction.
  • New (premium): additional shipments leave an order note when they are added, changed or removed, like the main shipment always has, whether they were typed in, imported or sent by a service.
  • Improved: 15 carriers now link to the parcel itself instead of their home page, among them DPD Germany, DPD Netherlands, DPD Austria, DPD Poland, An Post, Parcelforce, DHL Parcel UK, bpost and NZ Post.

1.1.1

  • Fixed: updating an order could erase its carrier. The carrier dropdown on the order screen listed only the carriers you have switched on, so an order shipped with a carrier you later switched off — or one that arrived from a CSV with a carrier you never switched on — had nothing to select, and pressing Update, even just to change the order status, saved it with no carrier: the customer lost the carrier name and the tracking link. The dropdown now always includes the carrier already saved on the order, under “Saved on this order”. The extra shipments of the premium version had the same problem and are fixed too.

1.1.0

  • New: the Shipping companies page, rebuilt. Your carriers are shown as a grid with their logo, country and slug, and a “Direct link” mark on the ones whose link opens the parcel itself. “+ Add carriers” opens the full catalogue, searchable by name, country or slug, with “Enable all results” to switch on everything a search found. Custom companies have a tab of their own.
  • New: carrier logos. 1,575 of the 1,691 carriers now have theirs, shipped inside the plugin, so showing them never contacts another server. The others get a coloured monogram.
  • New: two message placeholders. [company_icon] shows the carrier’s logo, and [track_button] adds a “Track shipment” button in your WooCommerce email colours (a plain link in plain-text emails). The default messages now use both. A message you have already saved is yours and is left as it is.
  • New: a live preview on the Messages page. Each message has a preview beside it that updates as you type, using a sample shipment on one of your own carriers; the email one uses your WooCommerce email colours and has a plain-text version too. Placeholders are now buttons that insert the tag where the cursor is, and the order page and email messages sit in two tabs.
  • New: a shorter menu. Quick assign, CSV import and the scheduled import are now tabs of “Bulk tracking”, and the three delivery-date pages are tabs of “Delivery dates” — five entries instead of eight. Bookmarks to the old pages still work.
  • New (premium): the CSV import asks how the dates in your file are written — DD/MM/YYYY, MM/DD/YYYY or YYYY-MM-DD, starting from your site’s own date format — and has a drag-and-drop area for the file. The scheduled import has the same setting.
  • Fixed (premium): a dispatch date imported from a CSV was stored exactly as written in the file, so 07/09/2026 — 7 September to a European warehouse — reached the customer as 9 July, and the order screen showed an empty date that a save would then erase. Dates are now converted when imported, and an order whose date cannot be read is not imported at all, with a report saying which order and which date. Orders imported the old way are read in your site’s date format and show the right date again.
  • Fixed: [order_url] sent guest customers to a login form they had no account for. It now takes them to the order confirmation page, which needs no login.
  • Fixed: migrating from the CodeCanyon plugin now brings across the carriers you had enabled and your default carrier, including on sites that migrated before this version.
  • Fixed: the carrier dropdown on the order screen could come up empty if the saved carrier list named no carrier that still exists. It now falls back to all carriers.
  • Updated the carrier list: 29 carriers added. Andreani is no longer listed by our catalogue source and has been kept as it was, so orders using it keep their link; from now on no carrier is ever removed from the list.

1.0.16

  • New: vanstr_set_tracking(), a documented function for attaching tracking to an order from your own code — for shops whose warehouse software or carrier plugin books the parcel. It was already possible by calling an internal class, but that tied an integration to a class name we might refactor one day; this signature is the one that stays. See the FAQ for an example.
  • The “Support Forum” entry in the plugin menu now sends premium customers to our own support page. Nothing changes in the free version, where it still points at the WordPress.org forum.

1.0.15

  • New: an order note whenever the tracking is added, changed or removed. WooCommerce timestamps its own notes to the minute, so this is a record of when each parcel was booked — asked for by a merchant who cross-references it with their security-camera footage. A correction adds a second note instead of rewriting the first, so the trail keeps both moments, and saving an order without touching the tracking adds nothing.
  • New: an option to start the dispatch date on today’s date, under Shipping Tracking > Settings. The legacy CodeCanyon plugin had this (“Automatic dispatch date field filling”) and the rewrite had lost it; if you migrate with it turned on, it comes across. Off by default, and it only fills the box — nothing is written to the order until you press Update.

1.0.14

  • The Messages screen now tells you about [vanstr_tracking_form], the shortcode that lets a customer look up their own tracking with an order number and the billing email of that order. The shortcode has been there since the first release and was written down nowhere, so the only way to find it was to read the source.
  • Fixed: the shipment monitoring screen sent you to an email called “Shipment needs attention”, while the one listed under WooCommerce Settings Emails is called “Shipment needs attention (admin)”.
  • The plugin page now describes several things the plugin already did and never mentioned: narrowing the carrier dropdown to the carriers you actually use, choosing where the tracking appears in the emails and on the order page, all six message placeholders, and what happens to your settings when you uninstall.

1.0.13

  • New: a “Mark this order as completed” switch on the order screen, right below the tracking. For a warehouse entering tracking numbers all day it replaces opening the status dropdown, finding the entry and clicking it — type the number, flick the switch, press Update. It is off on every order unless you turn on “Tick it by default” under Shipping Tracking > Settings, so it can never complete an order you only opened to look at.
  • Updated the carrier list: 30 carriers added, none removed.
  • The tick boxes on the settings and monitoring screens are now the same switches used elsewhere in the plugin, including the shipment notification one on the order screen.

1.0.12

  • New: a default carrier. Pick one under Shipping Tracking > Shipping companies and it is already selected when you open an order that has no tracking yet — the legacy CodeCanyon plugin had this and the rewrite had lost it. It only preselects the dropdown; nothing is written to an order until you save it.
  • New: a “Track this shipment” link in the order screen, next to the tracking you have saved. The orders list had one, the order itself did not.
  • Fixed the migration FAQ, which claimed the old plugin’s data was never deleted. The custom companies and each converted order’s old tracking fields are in fact cleared, since that is how the migration knows it has already run.

1.0.11

  • Dates in the admin now follow your own settings. The dispatch date, the extra shipments, the requested delivery date and Quick assign show the format from Settings > General > Date Format, and their calendars start on the day set in “Week starts on”. Until now those fields were drawn by the browser, so they showed the date format of the computer’s language rather than the one the shop uses — a European store on an English-language computer got 08/17/2026 and weeks starting on Sunday, with no setting anywhere that could change it.

1.0.10

  • Fixed a fatal error when both the free and the Premium copies are installed. Premium lives in its own folder, so installing the free version from WordPress.org does not replace it — the two sit side by side, and activating the second one failed with “the plugin triggered a fatal error”. It now activates cleanly, and says that a second copy is installed so you can remove the one you do not want.
  • The free version now says so when it finds an active Premium licence on the site. Premium and Free share the same plugin here, so installing the WordPress.org download over a Premium copy replaces it with the free build and the premium features simply disappear, with nothing to explain why. There is now a notice, and a page describing how to put Premium back.
  • The “Activate Premium” page points out that activating the licence is also what delivers Premium updates, and links to the customer dashboard at its current address.

1.0.9

  • Fixed: PHP 8.4 deprecation notices from CSV reading. On the order screen this produced one notice per carrier — over 1,600 of them on a single page load.
  • Fixed: the estimator loaded its translations earlier than WordPress allows, which produced a “_load_textdomain_just_in_time was called incorrectly” notice on WordPress 6.7 and later.

1.0.8

  • You can now choose whether the tracking appears before or after the order table, separately for the emails and for the order details page (Shipping Tracking Settings).
  • Changed: in emails the tracking is now shown before the order table by default, which is where the legacy CodeCanyon plugin put it and where customers look first in a shipping email. If you prefer it at the bottom, set “Position in emails” to “After the order table”.

1.0.7

  • New “Activate Premium” page explaining how to install the Premium package after buying a licence, since Premium is a separate download rather than a key entered in the free version. Also linked from the Plugins screen.

1.0.6

  • Migrating from the CodeCanyon plugin now brings your settings across as well: the tracking messages, in every language on a multilingual site, and the order statuses the tracking is shown on. It never overwrites anything you have already configured here, and the old plugin’s data is left untouched.

1.0.5

  • Internal: every settings screen now saves through a separately testable path, covered by an automated test suite. No change in behaviour — groundwork so that a bug like the one fixed in 1.0.2 is caught before a release rather than after it.

1.0.4

  • New: automatic shipment monitoring. Your tracked shipments are checked on a schedule, so customers can be told when their parcel is out for delivery, ready for pickup or delivered, and you can be told when one reports a problem or stops moving. Off until you enable it; each event is announced once per shipment, and delivered parcels are never checked again.
  • New: a “check now” button that runs one pass immediately instead of waiting for the schedule.
  • The email settings screens now list the available placeholders in plain sight instead of hiding them in a tooltip, and accept {tracking_number}, {carrier} and {associated_products} in the subject, heading and additional content.

1.0.3

  • Uninstalling the plugin no longer deletes your settings. Custom carriers, messages and rules survive a reinstall; the tracking on your orders was never deleted and still isn’t.
  • New “Reset settings” action, so clearing the configuration is now something you choose to do rather than a side effect of removing the plugin.

1.0.2

  • Fixed a fatal error when saving the Shipping companies page.

1.0.1

  • The “Shipping tracking” box now sits in the side column of the order screen, where it is visible without scrolling.
  • Timeline: only the most recent events are shown, the older ones fold behind a “show earlier updates” toggle. How many stay visible is configurable.

1.0.0

  • Initial release.