How to Split Cart Items Based on Shipping Class?

How to Split cart items based on shipping class
Author Bartosz Gajewski
Reading time:
3 minutes read

In this article, I’ll show you how to split cart items based on shipping class in your WooCommerce store. This solution can be useful in many shipping scenarios, which I will discuss in more detail.

Let’s start with answering the question of why do you need to split cart into multiple packages in your WooCommerce store. There can be a lot of different scenarios where you want to do that and provide different shipping methods to your customers. Let’s discuss the most popular ones. Each of them can be solved by splitting cart items based on shipping class.

Multiple warehouses

It’s the most popular case. More and more online stores are using external warehouses or simply having one extra warehouse for oversized items. In such cases, a shipping problem arises if a customer orders products stored in two or more warehouses. The available shipping methods, rates and even the time of delivery will be different according to the warehouse you are sending it from. The simple solution is splitting cart items based on shipping class. Each warehouse will have its own shipping class, simplifying a clearly defined division. Moreover, showing two shipping methods will improve the shopping process in your store – it’ll be much more transparent.

Shipping regular products with heavy ones

I’ve written before about shipping heavy items in WooCommerce. You will find there one solution to this situation. If you want to ship heavy products along with regular ones, splitting cart items can be a better solution. If you for example offer furniture and accessories in your store, the shipping of each category will certainly differ significantly. When a heavy product like a closet appears in the cart, split shipment into two separate shipping methods. The customer will have the full situation of getting two different shipments, as well as full cost information.

Products available only on local pickup

What about when you can’t ship oversized or heavy items? Then the solution is of course local pickup. Of course, it’s a good idea to give customers the choice of whether they will pick up all products in person or only those without shipping options. In this situation, you can split the shipping into two methods. Send ordinary products by courier, and make oversized products available for local pickup.

Shipping Packages in WooCommerce

WooCommerce distinguishes between shipping the entire cart as one method and individual packages. This allows you to set shipping costs for each package separately. This is how you can set shipping prices in plugins like Flexible Shipping PRO. Unfortunately, WooCommerce itself does not have a built-in mechanism for splitting an order into packages. For this reason, to split cart items in the same order on WooCommerce you will need to use an additional plugin.

Shipping Packages WooCommerce plugin

Simple to configure and effective solution is the Shipping Packages WooCommerce plugin. It allows you to split cart into multiple shipping packages in WooCommerce based on shipping class. Its setup is very simple, so you will be able to split cart items based on shipping class in just five minutes.

Shipping Packages WooCommerce £22.90

Split cart into multiple shipping packages in WooCommerce.

Add to cart or View Details
Plugins used by 241,500+ shops
Last Updated: 2024-02-05
Works with WooCommerce 8.2 - 8.6.x

Shipping Packages WooCommerce is also compatible with Flexible Shipping plugin (both free and PRO version), which allows you to set advanced shipping scenarios in your WooCommerce store.

How to split cart items based on shipping class?

Let’s get down to specifics. I’ll show you the whole process step by step.

When you have the Shipping Packages WooCommerce plugin installed and activated, go to WooCommerce → Shipping → Shipping Packages.

shipping packages WooCommerce plugin settings

You’ll see the plugin configuration page. There you can enable splitting the shipment into separate packages – do that after setting all packages. Enter Default package name. It’s a name for the default package which will contain all the products not qualified for separate packing. Then, in the Packages table add a new package using the Add package button.

add new shipping package

You’ll be redirected to the new package configuration screen.

new shipping package

Fill in the Package name field with the unique title for easy identification. Remember, that that name will be displayed to your customers in the checkout page. 

Then, select the shipping class that will split cart items in the same order on WooCommerce.

select shipping class to split cart items

You can add more than one shipping class for the same package. 

configured shipping package

Please mind that if you select more than one shipping class in the Shipping class field it will work as an OR condition. In other words, if you choose e.g. the Chairs and Desks shipping classes there, the shipment will be split into separate packages if there is either product with Chairs OR Desks shipping class in the cart. If you need more information, check the plugin’s documentation.

Confirm adding the new package with the Save changes button at the bottom.

Once everything’s saved use the Shipping Packages link to get back to the main configuration screen. The package you’ve just created should be visible now in the Packages table:

How to Split cart items based on shipping class

If you want to, you can configure more shipping packages in the same way. After configuring, remember to Turn on splitting the shipment into separate packages and save the changes.

Turn on splitting the shipment into separate packages.

And that’s it!


In this article, I showed you how to split cart items based on shipping class in your WooCommerce store using the Shipping Packages WooCommerce plugin. I hope that this guide will be helpful. Good luck!


Notify of
Inline Feedbacks
View all comments

Check out our case studies

Dream Home Story
Furniture shipping via WooCommerce – Dream Home’s Case Study

Learn how to configure custom shipping rules for furniture orders – from heavy and bulky to small and light.

4 minutes read
Vitrek’s Story

Read Octolize Case Study about Vitrek – a provider of innovative global solutions for High Voltage Test and Measurement.

2 minutes read
EnglishSpeakingMum’s Story

Read Octolize Case Study about EnglishSpeakingMum – Polish dedicated and involved parenting blogger.

2 minutes read

Join over 10,000 subscribers

Stay up to date and get WooCommerce tips & Octolize news right to your inbox!