Skip to content
WPExpertsHub
  • Plugins
  • WooCommerce
  • Services
  • Support
0 Explore Plugins
Esc

Popular User Security Guard for WordPress Media and Database Cleaner for WordPress Backup & Restore by WpExperts Hub

  • Plugins
  • WooCommerce
  • Services
  • Support
  • Cart (0)
Explore Plugins My Account
  1. Home
  2. Blog
  3. How to Split a WooCommerce Order into Partial Shipments

How to Split a WooCommerce Order into Partial Shipments

Published 11 October 2026 · 7 min read
In short

Record what has shipped on each WooCommerce order with the free WC Partial Shipment plugin, keep statuses in step and email customers. Tracking numbers need the paid upgrade.

Contents7 sections
  1. 01Why you would split an order
  2. 02What you need
  3. 03Step-by-step setup and use
  4. 04What the customer sees
  5. 05Good to know and troubleshooting
  6. 06If you need tracking numbers
  7. 07Next steps

To ship one WooCommerce order in parts, install the free WC Partial Shipment plugin, open the order, click Shipment and enter how many units of each item have gone out. The order stays whole, and its status and item badges follow what you record. One limit to know before you start: the free plugin records quantities only, so it has no tracking numbers; those come with the paid upgrade covered at the end.

Why you would split an order

The documentation describes the plugin as being for shops that sometimes ship an order in parts. Typical reasons it gives are:

  • items that are out of stock or on backorder;
  • items that come from different suppliers;
  • orders that need more than one parcel.

“Split” needs a careful reading here. The plugin does not split an order into several WooCommerce orders. The original order stays intact, and the plugin records the shipped quantity of each item and shows its status next to it. It records one number per item: how many units have shipped in total.

What you need

  • WordPress 6.5 or later and PHP 7.4 or later.
  • WooCommerce 8.0 or later (tested up to 11.1). The plugin will not activate without it, and if WooCommerce is not active it loads nothing and shows no message.
  • Either High-Performance Order Storage or legacy order storage. Both are supported.
  • A user with the manage_woocommerce capability, which WooCommerce gives to Administrators and Shop managers.
  • Working WooCommerce emails, if you want to email customers.
  • Action Scheduler is optional. It is bundled with WooCommerce and runs later batches of the backfill tool in the background.

The free plugin and the paid Advance plugin cannot run at the same time. If Advance is active, the free plugin stays idle.

Step-by-step setup and use

Install and choose your options

  1. Open Plugins → Add New Plugin, search for “Partial Shipment for WooCommerce”, then click Install Now and Activate. WooCommerce must already be active.
  2. Open WooCommerce → Settings → Partial Shipment. All defaults are on. Decide on two options under Order status: Partially Shipped status, which adds a “Partially Shipped” order status for orders where only some items have shipped, and Auto-complete when fully shipped, which moves the order to Completed once every item has shipped.
  3. Under Shipment badges, check Hide until first shipment (customers see badges only after a shipment is saved) and Orders list preview (badges in the order preview popup on the Orders screen). Click Save changes.

Record a partial shipment

  1. Open the order under WooCommerce → Orders. Under the order items, next to Refund, click Shipment. The pencil icon on a product line opens the same popup for that one item.
  2. For each item, set the shipped quantity with the plus and minus buttons, or type the number. The maximum is the ordered quantity minus the refunded quantity.
  3. To mark everything as sent, click Ship everything. Clear all sets every editable row back to zero. Both appear only in the whole-order popup, and only when the order has more than one row.
  4. Click Save shipment. The button stays disabled until you change a quantity.
  5. Check the result. The popup closes, the badges update and the order status field changes to the status the plugin has just set.

The quantities are totals, not parcels. When the next batch goes out, reopen the popup and enter the new total shipped so far. Entering a lower number than before reduces the shipped total.

How the order status follows

  • Part has shipped: the order becomes Partially Shipped, if that status is on.
  • Everything has shipped: the order becomes Completed, if auto-complete is on. With it off, the order stays as it is until you complete it yourself.
  • You clear every quantity: a Partially Shipped or Completed order goes back to Processing.
  • Pending payment, Cancelled, Refunded and Failed orders are never moved.

Refunded units are not counted as “to ship”, and virtual items are left out of the calculation, so an order is complete once its physical items have shipped. The docs add that when the plugin moves an order to Completed, WooCommerce sends its usual Completed order email, if you have it enabled.

Email the customer

  1. On the order screen, find the Order actions box.
  2. Choose Partial shipment notification from the “Choose an action…” list.
  3. Click Apply.

The email goes to the order’s billing email address, and an order note records whether it was sent. It is never sent automatically.

What the customer sees

On My Account → Orders → View, each product line shows a badge under its name: Shipped, Partially Shipped, Not Shipped or Refunded, with quantities. With Hide until first shipment on, the default, badges appear only once a shipment has been recorded for the order. Badges show on the View Order page only, not on the order received page or in the Orders list.

The “Partial shipment order” email opens with “Just to let you know — your order #123 has been partially shipped:” and then lists every order line with its ordered quantity, its shipment status and its price, followed by the order totals. You can edit the subject, heading, additional content and email type under WooCommerce → Settings → Emails. The email does not carry a tracking number.

Good to know and troubleshooting

  • No Shipment button or Partial Shipment tab. Either WooCommerce is not active or the paid Advance plugin is active. Check the Plugins screen.
  • Save shipment is greyed out. It stays disabled until you change a quantity. If every row is locked (virtual or fully refunded items), there is nothing to save.
  • The order status did not change. Check the order is not Pending payment, Cancelled, Refunded or Failed, and that Partially Shipped status and Auto-complete when fully shipped are on as you expect.
  • “The shipment could not be loaded or saved.” The page may have been open long enough for its security token to expire, or you may lack manage_woocommerce. Reload the order and try again.
  • The customer did not get an email. Use Partial shipment notification under Order actions, then check the email is enabled under WooCommerce → Settings → Emails → Partial shipment order and that the order has a billing email address.
  • Completing an order by hand marks every item as shipped. Whenever an order reaches Completed, however it gets there, all items are marked shipped up to their net quantity.
  • Orders shipped before installation. Under WooCommerce → Settings → Partial Shipment, choose statuses in the Backfill existing orders card (Completed is preselected) and click Backfill orders now. It marks all items of those orders as shipped, skips orders that already have shipment records and does not change any order status.

If you need tracking numbers

The paid Advance Partial Shipment for WooCommerce works with parcels instead of totals. According to its documentation, each parcel has its own items, provider, tracking number, status, dates and notes, and the customer gets a New Partial Shipment email with the tracking link. The free plugin sends one email, by hand. Advance also adds a tracking lookup page through the [wphub_shipment_tracking] shortcode. If you switch from the free plugin, existing records are kept, and each recorded order becomes Shipment #1 with no provider or tracking number.

Next steps

Read the full documentation for the complete settings reference and screens. Browse all plugins to see the rest of the WpExperts Hub range.

Partial Shipment for WooCommerceShip WooCommerce orders in parts and show customers what has shipped
View plugin →
Advance Partial Shipment for WooCommerceShip WooCommerce orders in parts, with tracking for every parcel
View plugin →
More tutorialsKeep reading.
How to Let Customers Cancel WooCommerce Orders → Limit Login Attempts on WordPress to Stop Brute-Force Attacks → How to Automatically Ask for Reviews After a WooCommerce Order →
WPExpertsHub

WordPress and WooCommerce plugins, custom development and technical support.

support@wpexpertshub.com

Products

  • All plugins
  • WooCommerce plugins
  • WordPress plugins
  • Free plugins

Services

  • WordPress development
  • WooCommerce development
  • Maintenance & optimization
  • Migration & security
  • API & integrations

Resources

  • My downloads
  • Documentation
  • Blog
  • Plugin support
  • Refund policy

Company

  • Services
  • Contact
  • My account
© 2026 WpExperts Hub. All rights reserved.
  • Privacy Policy
  • Terms of Service
  • Refund Policy