Free plugin Version 1.1.1 Updated

Dispatchio - Advanced shipment Tracking for WooCommerce Free documentation

Dispatchio adds tracking numbers to WooCommerce orders and gives you Shipped, Partially Shipped, Updated Tracking and Delivered order statuses, each with its own customer email. You can also import tracking from a CSV file or through the REST API.

Try the live demo Get Pro

Overview

Dispatchio adds a Shipment Tracking box to every WooCommerce order. Choose a carrier, type or scan the tracking number and press Add Tracking. Dispatchio then sets the right order status, emails the customer a working tracking link and shows the shipment on the customer's order page under My Account.

The plugin is for WooCommerce store owners and fulfillment staff who ship physical parcels and want a repeatable workflow. You get four optional order statuses (Shipped, Partially Shipped, Updated Tracking and Delivered), partial shipments by product and quantity, return labels, a list of built-in carriers with ready-made tracking links, your own custom carriers, estimated delivery dates, CSV import and REST API endpoints.

Everything runs on your own site. The free edition makes no outbound connections and needs no account with any tracking service. If you already used another tracking plugin, Dispatchio reads the same order data, so tracking numbers already on your orders appear straight away.

Requirements

  • WordPress 6.2 or later
  • PHP 7.4 or later
  • WooCommerce 5.2 or later, installed and active
  • Works with WooCommerce High Performance Order Storage (HPOS) and with the classic order tables

Installation

Dispatchio is a free plugin on WordPress.org. It needs WooCommerce, so install and activate WooCommerce first.

  1. Make sure WooCommerce is installed and active.

  2. In your WordPress dashboard, go to Plugins > Add New.

  3. Search for Dispatchio Shipment Tracking for WooCommerce.

  4. Click Install Now, then Activate.

  5. The setup wizard opens automatically. Pick your carriers and confirm the order statuses you want, or click Skip setup and configure everything later under Dispatchio > Settings.

Quick start

  1. Run the setup wizard

    After activation, the Welcome to Dispatchio wizard opens. On the Carriers step, tick the carriers you ship with. On the Workflow step, choose whether to use the Shipped, Partially Shipped and Delivered statuses. Click Continue to finish. You can change everything later under Dispatchio > Settings.

  2. Check your carriers

    Go to Dispatchio > Settings > Shipping Carriers. Tick the Active box for each carrier you use. Only active carriers appear in the carrier dropdown on an order. Click Edit on a carrier to set its Estimated delivery days if you want customers to see an expected arrival date.

  3. Review the General tab

    On Dispatchio > Settings > General, confirm the order statuses you want, choose which WooCommerce emails should include tracking and set the display options. Click Save Settings.

  4. Set the wording of the shipment emails

    Go to WooCommerce > Settings > Emails and open Shipped order. Adjust the Subject, Email heading and Email content if you like, and use Send a test email to check the result. Do the same for Partially shipped order, Updated tracking and Delivered order.

  5. Add tracking to your first order

    Open an order under WooCommerce > Orders. In the Shipment Tracking box in the sidebar, choose a Shipping Provider, enter the Tracking Number, leave Change order status to on Auto - Shipped or Partially Shipped based on items and click Add Tracking. The order moves to Shipped and the customer receives the Shipped order email with the tracking link.

#Setup wizard

The first time you activate Dispatchio, it opens the Welcome to Dispatchio wizard. It has three steps:

  1. Carriers: "Which carriers do you ship with?" Tick the carriers you use. Only these appear when you add tracking to an order. You can add custom carriers later.
  2. Workflow: "How should orders flow?" Choose whether to use the Shipped status (adding tracking marks the order Shipped and emails the customer), Partially Shipped (for orders that go out in more than one parcel) and Delivered (sends customers a Delivered email). All three are ticked by default.
  3. Done: links to Go to Orders, Review Settings and Read Documentation.

If you would rather set things up yourself, click Skip setup. You land on the settings page with a welcome message. Every choice in the wizard can be changed later under Dispatchio > Settings.

#Adding tracking to an order

Open any order under WooCommerce > Orders. The Shipment Tracking box sits in the right-hand sidebar. Shipments you already added are listed at the top with the carrier, the tracking number (a link to the carrier's tracking page), the ship date, the estimated delivery date and the shipping note.

The add tracking form
  • Shipping Provider: choose one of your active carriers. Choose Custom Provider for a one-off carrier. Two extra fields then appear: Provider Name and Tracking URL (use %number%). The custom provider is used for this shipment only and is not added to your carrier list.
  • Tracking Number: the number from the label. With Carrier auto-detect turned on, Dispatchio suggests a carrier from the shape of the number as you type or scan it, and shows Detected: followed by the carrier name. It only fills an empty carrier field, so it never overwrites a carrier you chose.
  • Date Shipped: defaults to today. Customers see it, and Dispatchio uses it to calculate the estimated delivery date.
  • Shipping Note (optional, shown to customer): a short line shown next to this tracking number, for example "Sent in two parcels".
  • Select products for this shipment (partial shipment): tick this to attach only some items and quantities to this tracking number. Dispatchio remembers what earlier shipments already covered, so the remaining quantity shown is what is still left to ship. Items that are already fully shipped are marked as such. Virtual products are not listed.
  • This is a return shipment (customer sending items back): records an inbound return label. A return never changes the order status. It is labelled Return for you and the customer, and an order note is added.
  • Change order status to: what the order becomes once you save.
Order status choices
Option What happens
Auto - Shipped or Partially Shipped based on items (default) Shipped when every physical item is covered by tracking, Partially Shipped otherwise. A tracking number without a product selection covers the whole order.
No change The tracking number is added quietly. The status stays the same and no status email is sent.
Shipped Sets Shipped. If the Shipped status is turned off on the General tab, the order is set to Completed instead.
Partially Shipped Sets Partially Shipped.
Completed Sets the standard WooCommerce Completed status.
Delivered Sets Delivered and sends the Delivered order email.

Click Add Tracking to save. The new shipment appears in the list straight away. To remove a shipment, click the × next to it and confirm.

If the order already has the status you chose, for example you add a second tracking number to an order that is already Shipped, the status does not change. When Tracking update email is turned on in the General settings, the customer then receives the Updated tracking email instead.

Duplicate tracking numbers on the same order are refused. Tracking numbers are not copied to renewal orders created by WooCommerce Subscriptions.

#General settings

Go to Dispatchio > Settings > General. The tab has four groups. Click Save Settings when you are done.

Order Statuses

Each status is a real WooCommerce order status with its own email. Turn off any you do not need. All four are on by default.

  • Shipped status: the normal end state for a fulfilled order when you use Dispatchio.
  • Partially Shipped status: used automatically when some items have tracking and some do not. The order moves to Shipped by itself once the last item is covered.
  • Updated Tracking status: for when a shipment gets a replacement tracking number after it has already gone out, so the customer is told rather than left with a dead link.
  • Delivered status: marks an order as arrived and sends the Delivered email. In the free edition you set this status yourself.
  • Rename Completed: shows the standard Completed status as "Shipped" to staff and customers. The underlying status stays Completed, so reports and other plugins are unaffected. Off by default.
  • Tracking update email: sends the Updated tracking email when tracking changes on an order whose status does not change. Off by default.
Tracking in Emails

Dispatchio appends a tracking block to the WooCommerce emails you tick: Processing order, Completed order, Customer invoice, Customer note and Refunded order. All are ticked by default. Untick an email to leave it exactly as WooCommerce sends it. The Dispatchio shipment emails always include tracking, and the admin New order email never does.

Display
  • My Account: shows tracking on the customer's order pages. Turn it off only if your theme shows tracking its own way.
  • Orders list column: adds the tracking column to WooCommerce > Orders.
  • Carrier auto-detect: suggests a carrier from the tracking number format as it is typed or scanned.
  • Estimated delivery: shows an expected arrival date, worked out from the ship date plus the Est. days you set for that carrier. A carrier set to 0 shows no estimate.
Maintenance
  • Logging: writes import and tracking activity to WooCommerce > Status > Logs. It is the first place to look when an import behaves oddly.
  • Delete data on uninstall: off by default. When on, deleting the plugin (not just deactivating it) also removes its settings and tables. Tracking numbers stored on orders are always kept, because they are order history.
Dispatchio General settings tab with the Order Statuses, Tracking in Emails, Display and Maintenance groups
All four custom statuses are on by default. Rename Completed, Tracking update email and Delete data on uninstall are off.

#Shipping carriers

Go to Dispatchio > Settings > Shipping Carriers. The table lists every carrier with its Active tick, Carrier name, Country, Tracking URL, Est. days and Type (Built-in or Custom).

Choose your active carriers

Tick Active for the carriers you ship with. The change saves as soon as you tick or untick, with no save button. Only active carriers appear in the Shipping Provider dropdown on an order. A short list makes fulfillment faster. A carrier you untick is not offered on orders. Out of the box, UPS, USPS, FedEx and DHL Express are active. Use Search carriers... to filter the list by name.

Edit a carrier

Click Edit on any row. The Edit Carrier window has these fields:

  • Carrier name: what staff and customers see. Renaming a built-in carrier keeps its original name underneath, so imports that use the official name still match.
  • Tracking URL: the link pattern. Use %number% for the tracking number. Some carriers also need %postcode% (the order's shipping postcode, or the billing postcode when there is none) or %phone% (the billing phone number).
  • API aliases (comma separated): other spellings this carrier goes by. If your warehouse CSV says usps-priority and you call the carrier USPS, add the alias here and imports will match it.
  • PayPal carrier code: only used by the Pro edition when it syncs tracking to PayPal. You can leave it alone.
  • Estimated delivery days: typical transit time in days, used for the estimated delivery date. 0 means no estimate is shown.

Click Save Carrier, or Cancel to close without saving.

Add a custom carrier
  1. Click Add Custom Carrier.
  2. Enter a Carrier name and a Tracking URL that contains %number%, for example https://example.com/track?num=%number%.
  3. Optionally add API aliases, a PayPal carrier code and Estimated delivery days.
  4. Click Save Carrier.

A new custom carrier is active straight away and is listed with the country Custom. Custom carriers have a Delete link. Built-in carriers cannot be deleted, but you can untick them.

Shipping Carriers tab listing built-in carriers with Active checkboxes, country, tracking URL pattern, estimated days, type and Edit links
Tick Active for the carriers you use. The Est. days column feeds the estimated delivery date.

#CSV import

Go to Dispatchio > Settings > CSV Import to add tracking to many orders at once.

File format

The file needs a header row. These columns are recognised:

Column Required Notes
order_id Yes The order ID, or the order number if you use a sequential order number plugin.
tracking_number Yes Spaces are removed automatically.
tracking_provider No Matched against carrier names, slugs and API aliases. An unknown value is kept as a plain text carrier name.
date_shipped No YYYY-MM-DD. Defaults to the day of the import.
status_shipped No 1 sets Shipped, 2 sets Partially Shipped, 0 leaves the status alone and sends no email. When the column is missing, rows are treated as 1.
sku, qty No For per-item shipments. Repeat the same order and tracking number on several rows to attach several items to one parcel.

The tab shows a sample:

order_id,tracking_provider,tracking_number,date_shipped,status_shipped,sku,qty

Import steps
  1. Click Choose File and select your .csv file (10 MB maximum).
  2. Click Preview. Dispatchio shows the first rows exactly as it read them. This catches a wrong delimiter or a shifted header before anything is written to your orders.
  3. If the preview looks right, click Import.
  4. Read the result: Imported: and Skipped: counts, plus a list of issues with a reason for each skipped row.

A row whose order already has that tracking number is skipped rather than duplicated, so running the same file again is safe. Up to 10,000 rows are processed per file. Uploaded files are stored in a protected folder and deleted once they have been processed. A summary of each import is written to WooCommerce > Status > Logs when Logging is on.

CSV Import tab with the column description, file chooser, Preview and Import buttons and a sample CSV
Always click Preview before Import. The sample shows a whole-order shipment and a per-item shipment.

#Shipment emails

Dispatchio registers four customer emails with WooCommerce. You edit them under WooCommerce > Settings > Emails, like every other WooCommerce email:

Email Sent when
Shipped order The order status changes to Shipped. Includes tracking details.
Partially shipped order The order status changes to Partially Shipped.
Updated tracking The order status changes to Updated Tracking, or tracking is added without a status change while Tracking update email is on.
Delivered order The order status changes to Delivered.

Each email has these settings:

  • Enable/Disable: turns the email on or off. On by default.
  • Subject and Email heading: leave them empty to use the default wording shown in the field.
  • Email content: the intro text shown above the tracking details.
  • Additional content: text shown below the main content.
  • Email type: Plain text, HTML or Multipart.

Subject, heading, email content and additional content accept these placeholders: {site_title}, {order_number}, {order_date}, {customer_first_name}, {customer_last_name}, {tracking_number}, {carrier_name} and {tracking_url}. The three tracking placeholders use the most recent outbound shipment on the order. Return shipments are ignored. For example: Order #{order_number} is on its way with {carrier_name}.

Use the Email preview and Send a test email on each email screen to check your wording before you save.

To change the layout rather than the wording, copy the email template from the plugin into a folder named dispatchio in your theme, keeping the same path. Your copy then takes precedence and survives plugin updates.

WooCommerce Shipped order email settings with subject, heading, email content, additional content, email type and an email preview
Empty Subject and Email heading fields fall back to the default text shown in grey.
WooCommerce Partially shipped order email settings with its default intro text and email preview
The Partially shipped order email tells the customer the rest of the order will follow.

#Tools and REST API

Go to Dispatchio > Settings > Tools. This tab is a reference: it has no settings to save.

Moving from another tracking plugin

Dispatchio reads and writes the same order data used by other popular tracking plugins. Tracking numbers already on your orders show up straight away. Deactivate the old plugin and your tracking history stays intact. There is no import step.

REST API

The endpoints follow the shape used by other tracking plugins. Authenticate with a standard WooCommerce REST API key that has write permission.

  • GET /wp-json/wc/v3/orders/{order_id}/shipment-trackings: list an order's tracking.
  • POST /wp-json/wc/v3/orders/{order_id}/shipment-trackings: add tracking. Send tracking_number with either tracking_provider (matched against your carriers and their aliases) or custom_tracking_provider and custom_tracking_link. Optional: date_shipped and status_shipped (1 Shipped, 2 Partially Shipped, 0 no change; 1 when left out).
  • GET /wp-json/wc/v3/orders/{order_id}/shipment-trackings/{tracking_id}: get one tracking item.
  • DELETE /wp-json/wc/v3/orders/{order_id}/shipment-trackings/{tracking_id}: remove one tracking item.
  • GET /wp-json/wc/v3/orders/shipment-trackings/providers: list carriers.
  • POST /wp-json/wc/v3/orders/shipment-trackings/bulk: add tracking to many orders. Send a trackings array, with an order_id in each entry.
Developer hooks

The Tools tab also lists the main developer hooks. The full list, with what each one does, is on the Documentation page.

Tools tab with the sections Moving from another tracking plugin, REST API, Developer hooks and Dispatchio Pro
The REST API endpoints are listed here for quick reference.

#Built-in documentation

Go to Dispatchio > Documentation for a reference inside your dashboard. It shows which edition you are running and explains every option in the order you meet it: adding tracking to an order, the General, Shipping Carriers and CSV Import settings, shipment emails, the REST API, developer hooks, privacy and data, troubleshooting and a side-by-side comparison of the free and Pro editions.

Privacy and data
  • Tracking numbers are stored on the order, in the same place other tracking plugins use.
  • A shipment log table records what shipped and when.
  • Dispatchio works with the WordPress personal data exporter and eraser, so a customer data request includes their tracking numbers, and an erasure request removes them.
  • The free edition makes no outbound connections to any third-party service. Carrier tracking pages are only plain links. A request to a carrier happens only when someone clicks the link.
Dispatchio Documentation page with a table of contents, quick start and tables explaining each setting
Every field and option has a one-line explanation, so you can look things up without leaving the dashboard.

Settings reference

Dispatchio > Settings > General

SettingTypeDefaultWhat it does
Enable the custom "Shipped" order status. checkbox on **Shipped status**. Adds the Shipped order status and its email. When off, choosing Shipped sets the order to Completed.
Enable the custom "Partially Shipped" order status. checkbox on **Partially Shipped status**. Used when only some items have tracking. The order moves to Shipped once every item is covered.
Enable the custom "Updated Tracking" order status. checkbox on **Updated Tracking status**. For shipments that get a replacement tracking number after they went out.
Enable the custom "Delivered" order status. checkbox on **Delivered status**. Marks an order as arrived and sends the Delivered order email. You set it yourself in the free edition.
Show the "Completed" order status to staff and customers as "Shipped". checkbox off **Rename Completed**. Changes only the label. The status stays Completed, so reports and other plugins are unaffected.
Send the "Updated tracking" email when tracking changes without a status change. checkbox off **Tracking update email**. Sends the Updated tracking email when you add tracking to an order that already has the target status.
Show tracking in this email checkbox on **Processing order**. Adds the tracking block to the WooCommerce Processing order email.
Show tracking in this email checkbox on **Completed order**. Adds the tracking block to the WooCommerce Completed order email.
Show tracking in this email checkbox on **Customer invoice**. Adds the tracking block to the WooCommerce Customer invoice email.
Show tracking in this email checkbox on **Customer note**. Adds the tracking block to the WooCommerce Customer note email.
Show tracking in this email checkbox on **Refunded order**. Adds the tracking block to the WooCommerce Refunded order email.
Show tracking on the customer order pages under My Account. checkbox on **My Account**. Shows the Tracking Information table on the customer's order page.
Add a "Tracking" column to the WooCommerce orders list. checkbox on **Orders list column**. Shows carrier and tracking number links in WooCommerce > Orders.
Suggest a carrier from the shape of the tracking number as it is typed or scanned. checkbox on **Carrier auto-detect**. Only fills an empty carrier field, never overwrites your choice.
Show an estimated delivery date, based on the days set for each carrier on the Shipping Carriers tab. checkbox on **Estimated delivery**. Ship date plus the carrier's Est. days. Carriers set to 0 show no estimate.
Log imports and tracking activity to WooCommerce > Status > Logs. checkbox on **Logging**. Records import results and errors for troubleshooting.
When the plugin is deleted (not merely deactivated), also remove its settings and tables. Order tracking data is always kept. checkbox off **Delete data on uninstall**. Tracking numbers stored on orders are kept either way.

Dispatchio > Settings > Shipping Carriers

SettingTypeDefaultWhat it does
Search carriers... search - Filters the carrier table by name.
Active checkbox - One per carrier. Saves straight away. Only active carriers appear in the Shipping Provider dropdown on an order. UPS, USPS, FedEx and DHL Express are active out of the box.
Carrier name text - Shows in the Add Custom Carrier and Edit Carrier window. Required. Renaming a built-in carrier keeps its original name for import matching.
Tracking URL text - Shows in the Add Custom Carrier and Edit Carrier window. Link pattern with %number%, and %postcode% or %phone% for carriers that need them.
API aliases (comma separated) text - Shows in the Add Custom Carrier and Edit Carrier window. Other names that CSV imports and the REST API should match to this carrier.
PayPal carrier code text - Shows in the Add Custom Carrier and Edit Carrier window. Only used by the Pro edition for PayPal tracking sync.
Estimated delivery days number 0 Shows in the Add Custom Carrier and Edit Carrier window. 0 to 60 days. 0 means no estimated delivery date is shown.

WooCommerce > Settings > Emails > Shipped order

SettingTypeDefaultWhat it does
Enable/Disable checkbox on Enable this email notification. Sent when the order status changes to Shipped.
Subject text - When empty, uses "Your {site_title} order #{order_number} has been shipped!". Accepts the tracking placeholders.
Email heading text - When empty, uses "Your order has been shipped".
Email content textarea Hi {customer_first_name}, great news - your order #{order_number} has been shipped. You can track your shipment with the details below. Intro text shown above the tracking details. Accepts {tracking_number}, {carrier_name} and {tracking_url}.
Additional content textarea - Text shown below the main email content.
Email type select HTML Plain text, HTML or Multipart.

WooCommerce > Settings > Emails > Partially shipped order

SettingTypeDefaultWhat it does
Enable/Disable checkbox on Enable this email notification. Sent when the order status changes to Partially Shipped.
Subject text - When empty, uses "Part of your {site_title} order #{order_number} is on the way!".
Email heading text - When empty, uses "Your order has been partially shipped".
Email content textarea Hi {customer_first_name}, part of your order #{order_number} has been shipped. Track the shipped items below - the rest will follow soon. Intro text shown above the tracking details. Accepts the same placeholders as the subject.
Additional content textarea - Text shown below the main email content.
Email type select HTML Plain text, HTML or Multipart.

On your site

Dispatchio adds no shortcodes and changes nothing on your shop or product pages. Customers see tracking in their account and in their emails.

  • My Account > Orders: orders with tracking get a Track button that opens the carrier's tracking page.
  • My Account > View order: a Tracking Information table lists each shipment with Carrier, Tracking Number (a link to the carrier's tracking page), Ship Date and a Track button. When an estimate is available, it shows Est. delivery: with the date. Your shipping note appears under the shipment, and return shipments carry a Return label. Turn this off with the My Account setting.
  • Emails: the Shipped, Partially shipped, Updated tracking and Delivered emails include the tracking details. The WooCommerce emails you ticked on the General tab get the same tracking block.

Frequently asked questions

Do I need an account with a tracking service?

No. Everything in the free plugin runs on your own site, with no external account and no outbound connections. Tracking links simply point to each carrier's own tracking page.

Does the free plugin show live delivery status or set orders to Delivered automatically?

No. In the free edition you set Delivered yourself, for example with the Delivered button in the orders list. Live carrier status that moves orders to Delivered is part of Dispatchio Pro.

Will tracking numbers from my previous tracking plugin still work?

Yes. Dispatchio uses the same order data as other popular tracking plugins, so existing tracking numbers show up as soon as it is activated. Nothing needs to be imported.

Can I ship one order in several parcels?

Yes. Add one tracking number per parcel. Tick Select products for this shipment (partial shipment) and choose the items and quantities in each parcel. With the status on Auto, the order becomes Partially Shipped until every item is covered, then Shipped.

Can I add a carrier that is not on the list?

Yes. On Dispatchio > Settings > Shipping Carriers, click Add Custom Carrier and enter a tracking URL that contains %number%. You can also use %postcode% and %phone%. For a one-off carrier, choose Custom Provider in the order's Shipment Tracking box instead.

Can the shipment email subject include the tracking number?

Yes. Every Dispatchio shipment email accepts {tracking_number}, {carrier_name} and {tracking_url} in its subject, heading, email content and additional content, alongside {order_number} and {customer_first_name}. They use the most recent outbound shipment on the order.

Can I find an order from its tracking number?

Yes. With High Performance Order Storage, choose Tracking number in the search dropdown next to the search box on WooCommerce > Orders. With the classic order tables, the normal order search already matches tracking numbers.

Does it send SMS or WhatsApp notifications?

No. Dispatchio sends email only.

How do I record a return label?

Add the tracking number in the order's Shipment Tracking box and tick This is a return shipment (customer sending items back). Returns never change the order status and are labelled Return for you and the customer.

What happens to my tracking data if I delete the plugin?

Tracking numbers stored on orders are always kept. Settings and plugin tables are only removed if you turned on Delete data on uninstall before deleting the plugin.

What happens when I move to Dispatchio Pro?

Pro is a separate plugin that replaces this one. Every carrier, setting and tracking number carries over. While Pro is active, the free edition stands by and does nothing, and you can deactivate it.

Troubleshooting

"Dispatchio requires WooCommerce to be installed and active."

Dispatchio only runs with WooCommerce. Install and activate WooCommerce 5.2 or later under Plugins, then reload the dashboard.

The carrier dropdown on an order is empty or very short, or "Tracking provider is required."

Only active carriers are listed. Go to Dispatchio > Settings > Shipping Carriers and tick Active for the carriers you use. Then choose a Shipping Provider (or Custom Provider with a Provider Name) before you click Add Tracking.

"This tracking number already exists on the order."

The same tracking number cannot be added twice to one order. Check the shipments already listed in the Shipment Tracking box. If the number was wrong, delete that shipment with the × and add the correct one. In a CSV import, this row is skipped, so running the same file again is safe.

The customer did not get a Shipped email

Check that the Shipped status is enabled on the General tab, and that Shipped order is enabled under WooCommerce > Settings > Emails. Then check that the order status actually changed. No change sends nothing on purpose. If the order already had that status, only the Updated tracking email can be sent, and only when Tracking update email is on.

The tracking link goes to the wrong page

Click Edit on that carrier under Shipping Carriers and check that the Tracking URL contains %number%. Some carriers also need %postcode%, which uses the order's shipping postcode, or the billing postcode when there is none.

The CSV import shows "Row 2: missing order_id or tracking_number." or "Order "1001" not found."

Each row needs an order_id and a tracking_number, and the file needs a header row with those column names. An order that is not found usually means the value is not a valid order ID or order number on this site. Click Preview first to see how the columns were read. The result panel lists a reason for every skipped row.

"Please upload a .csv file.", "The CSV file is too large (10 MB maximum)." or "The uploaded file does not look like a CSV text file."

Save your spreadsheet as a plain CSV text file with a .csv extension, keep it under 10 MB, and upload it again. Split very large files into smaller ones. If you see "Please choose a CSV file first.", select a file with Choose File before you click Preview or Import.

"The import directory could not be created. Check the permissions on wp-content/uploads."

Dispatchio stores uploaded CSV files in a protected folder inside your uploads directory. Ask your host to make the uploads folder writable by WordPress, then try the import again.

An order is stuck on Partially Shipped

Some quantity is still not covered by tracking. Open the order, tick Select products for this shipment (partial shipment) and check the remaining quantity shown for each item. Add tracking for the rest, or set the status yourself.

"A carrier with this name already exists." or "Carrier name is required."

Each custom carrier needs a name that is not already used by another carrier. Search the carrier list first. If the carrier is there but unticked, tick Active instead of adding it again, or click Edit to rename it.

Free vs Pro

Dispatchio Free vs Pro

Dispatchio Free adds tracking numbers, partial shipments, shipment statuses and emails, custom carriers, CSV import and a REST API to WooCommerce. Pro adds live carrier status, a fulfillment dashboard, a customer tracking page, shipping app imports, scheduled FTP imports and PayPal and Stripe sync.

16 of 29 features in Free13 more with Pro

Feature Free Pro
Order tracking
Add multiple tracking numbers per order Included Included
Split shipments by product and quantity Included Included
Record return shipment labels Included Included
Suggest carrier from tracking number format Included Included
Search orders by tracking number Included Included
Tracking column and quick status buttons in orders Included Included
Statuses and emails
Shipped, Partially Shipped, Updated Tracking and Delivered statuses Included Included
Editable shipment emails with tracking placeholders Included Included
Tracking details in WooCommerce order emails Included Included
Mark orders Delivered automatically Not included Included
Admin alerts for delayed shipments and daily digest Not included Included
Carriers
Built-in carriers with ready tracking links Included Included
Add custom carriers with your own tracking URL Included Included
Estimated delivery date per carrier Included Included
Imports and integrations
Bulk tracking import from CSV file Included Included
REST API to add and read tracking Included Included
Keeps tracking from your previous tracking plugin Included Included
Scheduled CSV tracking imports over FTP or SFTP Not included Included
Imports tracking from ShipStation, Printful and more Not included Included
Customer tracking
Tracking on My Account order pages Included Included
Order tracking page for your customers Not included Included
Shareable tracking links and QR codes in emails Not included Included
Live tracking and fulfillment
Live delivery status from TrackShip, 17TRACK, AfterShip or TrackingMore Not included Included
Fulfillment dashboard with barcode scan to ship Not included Included
Shipment analytics by carrier and day Not included Included
Vendor tracking for Dokan and WCFM Not included Included
Payments and developer tools
Sends tracking numbers to PayPal and Stripe Not included Included
Signed outbound webhooks for shipment events Not included Included
Export shipment log to CSV Not included Included

Try the Pro demo Get Dispatchio Pro

Upgrade

Upgrade to Dispatchio - Advanced Shipment Tracking for WooCommerce

Dispatchio Pro is a separate plugin for stores that want live carrier data, not just tracking links. It replaces the free edition and keeps every carrier, setting and tracking number you already have. It adds:

  • Live delivery status from TrackShip, 17TRACK, AfterShip or TrackingMore
  • Fulfillment dashboard with barcode scan to ship
  • Order tracking page for your customers
  • Sends tracking numbers to PayPal and Stripe
  • Imports tracking from ShipStation, Printful and more
  • Scheduled CSV tracking imports over FTP or SFTP

Try the Pro demo Get Pro