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.
Make sure WooCommerce is installed and active.
In your WordPress dashboard, go to Plugins > Add New.
Search for Dispatchio Shipment Tracking for WooCommerce.
Click Install Now, then Activate.
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
- 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.
- 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.
- 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.
- 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.
- 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:
- 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.
- 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.
- 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.
#Orders list, quick actions and search
Dispatchio adds several tools to WooCommerce > Orders:
- Shipment Tracking column: shows each shipment's carrier and tracking number as a link, so you can see what has shipped without opening each order. Turn it on or off with the Orders list column setting on the General tab.
- Quick status buttons: a Shipped button appears on orders that are Processing, Partially Shipped or Updated Tracking. A Delivered button appears on orders that are Shipped, Partially Shipped, Updated Tracking or Completed. The order preview window offers the same status changes.
- Bulk actions: for each status you enabled, the bulk actions menu gets a Change status to ... entry, for example Change status to shipped.
- Search by tracking number: with High Performance Order Storage, choose Tracking number in the dropdown next to the search box, then search. With the classic order tables, the normal order search already matches tracking numbers. Both also find tracking numbers added by a previous tracking plugin.
The custom statuses count as paid statuses, appear in WooCommerce reports, allow "Order again" and keep download permissions for paid orders.
#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.
#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-priorityand 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
- Click Add Custom Carrier.
- Enter a Carrier name and a Tracking URL that contains
%number%, for examplehttps://example.com/track?num=%number%. - Optionally add API aliases, a PayPal carrier code and Estimated delivery days.
- 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.
#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
- Click Choose File and select your
.csvfile (10 MB maximum). - 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.
- If the preview looks right, click Import.
- 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.
#Shipment emails
Dispatchio registers four customer emails with WooCommerce. You edit them under WooCommerce > Settings > Emails, like every other WooCommerce 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.
#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. Sendtracking_numberwith eithertracking_provider(matched against your carriers and their aliases) orcustom_tracking_providerandcustom_tracking_link. Optional:date_shippedandstatus_shipped(1Shipped,2Partially Shipped,0no change;1when 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 atrackingsarray, with anorder_idin 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.
#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.
Settings reference
Dispatchio > Settings > General
| Setting | Type | Default | What 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
| Setting | Type | Default | What 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
| Setting | Type | Default | What 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
| Setting | Type | Default | What 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_idand atracking_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
.csvextension, 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 |
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