Best Website Builder Hire Pro

How to improve your WooCommerce fulfillment and logistics

18 min read
Beka Rice

Fulfillment and logistics can be overlooked parts of running an ecommerce business. However, while they may not be as flashy as coming up with product ideas or designing a website, they still play an indispensable role in the success of your business. As an ecommerce merchant, you need to have the systems in place to fulfill orders quickly and accurately—or risk losing customers and revenue.

study by Arvato found 53 percent of shoppers say delivery speed is an important factor when deciding to place an online order. The study also reveals that 25 percent of shoppers have canceled an order due to slow delivery speeds. What counts as fast shipping? Research shows that 89 percent of customers believe one to two days is fast. (PDF) Only 42 percent feel three to four days is fast. And nearly three-quarters of customers say they’re less likely to shop with a store if a purchase doesn’t come within two days of the promised delivery date. Those are high expectations.

Fulfillment and logistics go beyond shipping speeds as well. Human error is the number one cause of fulfillment issues by far. And between labor, overhead, processing returns, and fixing mistakes, the average cost to fulfill an order is 70 percent of the average order value. (PDF)

If you want to reduce your costs and mistakes and meet or exceed your customers’ expectations for shipping speed and reliability, you’ll need to examine and streamline the entirety of your fulfillment process. From picking and packing to coordinating with shipping carriers, there is a lot that goes into processing and delivering orders. In this article, we’ll highlight some steps you can take to streamline your WooCommerce fulfillment and logistics. We’ll also cover some WooCommerce extensions you can use to help you with the process.

5 tips for improving WooCommerce fulfillment and logistics

1. Have strong stock management

The first step to streamlining your eCommerce logistics is to have an effective system for managing your stock. With accurate inventory levels, you can avoid selling products that are unavailable (and the resulting damage to your brand’s reputation with customers). By knowing exactly how much supply you have on hand and being familiar with your customers’ shopping behavior, you can meet their demand more efficiently. Doing so helps ensure that you do not overstock or understock your products.

Extension: Bulk Stock Management

The Bulk Stock Management extension ($49/year at gives you a powerful interface for managing your eCommerce inventory. With it, you can visualize and quickly modify the stock levels for all your products. Products and variations are listed along with their stock status, SKU, and quantity. You can filter products by type, stock status, and more.

Bulk Stock Management products screen.

You can update the stock for multiple products at once by entering the new amounts in the Quantity column. Once you’ve entered the new amounts, open the Bulk Actions menu, select Save stock quantities and hit Apply.

Bulk Stock Management save stock quantities option.

You can also use the extension to generate a stock report. To do so, you simply need to click the view stock report button at the top of the Products > Stock Management. A page will open with a table showing the SKU, title, ID, type, price, and stock quantity for all your products.

Bulk Stock Management generated stock report.

You may find that variations from deleted products are still displayed in the product interface. If so, you can delete these by going to WooCommerce > System status > Tools and clicking the Delete orphaned variations button.

2. Offer multiple shipping methods

Flexibility is vital for providing great delivery experiences. Today’s customers expect choice when it comes to selecting delivery carriers and speeds. One study found 17 percent of shoppers say multiple delivery options is the most important factor when it comes to eCommerce fulfillment. With multiple shipping methods, you can give buyers the ability to pay more to have their order delivered faster.

There is also an advantage to partnering with multiple shipping providers. All the major carriers have their strengths and it is unlikely that a single one can meet all your needs. Plus, having options can help you lower your shipping costs. Let’s see how you can quickly integrate a few major shipping providers with your WooCommerce store.

Extension: FedEx Shipping Method

The FedEx Shipping Method extension ($79/year at uses the FedEx API to add real-time shipping rates to your shopping experience. You can choose to offer customers all rates or only the cheapest. The extension also allows you to apply a nominal adjustment or percentage adjustment to the returned rates.

Go to WooCommerce > Settings > Shipping > Shipping zones. Create a new zone and select FedEx as the shipping method.

FedEx shipping zones.

Click the FedEx link to finish configuring the shipping method. The Parcel Packing Method that you choose will affect how the API calculates the rates returned by FedEx. There are two options:

  • Default (pack items individually): Every item in the cart is sent to the FedEx API. The quotes for each item are combined to get a final cost.
  • Recommended (pack into boxes): Items are grouped into pre-defined boxes and sent to the API.

If you select to pack into boxes, a table will appear with the different FedEx box sizes. You have the option to add your own custom box size.

FedEx box sizes.

Further down, you’ll see the list of available shipping methods. Here you can rearrange the order of the services, edit their names, and set a price adjustment.

FedEx services listing.

Extension: USPS Shipping Method

The USPS Shipping Method extension ($79/year at also gives you the ability to pull real-time rates to show to customers at checkout. The live rates are accessible using the shipping calculator on the cart page or by adding your address in the shipping fields on the checkout page.

When configuring a USPS shipping method, you’ll have the option to use either the API rates or USPS Flat Rate Services. With flat-rate shipping, you are unable to modify the prices. If you check the box for Enable API rates, a list of the different USPS services will appear.

USPS shipping method setup.

Like the FedEx extension, you can choose which services to enable and can modify their respective prices. If you want to exclude certain countries from receiving USPS rates, you can simply leave them out of your Shipping Zones or use code snippets. Here is an example of a snippet to exclude rates for Canada:

Beyond the FedEx and USPS shipping methods we’ve covered here, there are WooCommerce shipping methods available for several other major carriers as well including UPSCanada PostRoyal Mail, and many more.

3. Use pick/packing lists

A streamlined pick and pack process can help speed up your eCommerce fulfillment and improve order accuracy. It can also lower your costs if you are able to reduce the amount of labor needed to find and package the right products. This can be a challenge as the picking process becomes more complex as you hold more SKUs and sell a higher number of items per order. Pick and packing lists are a key piece to making this process go smoothly.

The pick list informs the warehouse team what items need to be included in the customer’s order. Once it is generated, your team can begin fulfilling the order. If your business uses batch or zone picking, you need a way to efficiently generate combined pick lists that correspond with the layout of your warehouse.

Extension: WooCommerce Print Invoices & Packing Lists

The WooCommerce Print Invoices & Packing Lists extension ($79/year at allows you to print or email pick and packing lists straight from your WooCommerce Orders page.

After you install the plugin, a new action button will appear next to each order on the WooCommerce > Orders list. Clicking the documents icon will open a box with the option to print or email your lists. The extension also supports several bulk actions you can use to speed up your order fulfillment.

Bulk actions to create packing lists.

If you want to create a combined pick list, select multiple orders and perform the bulk action. A combined list will be generated with all selected products ordered by category.

You can also access the documents on the Edit order page. Open the Order actions dropdown menu and you’ll see the option to print or email the packing list. You can track which packing lists you have created on the WooCommerce > Orders list; a checkmark will appear in the Packing List column for orders whose list you have created.

Print invoices lists.

The extension comes with a visual editor you can use to customize the design of your documents. With it, you can add your logo and header content and adjust the typography and colors. By default, the settings you specify in the visual editor will apply to all document types. If you want to customize a specific document type, you can add CSS styles in the Advanced section of the visual editor. Below are the styles needed to wrap each document type:

You can modify the content included in your pick and packing lists by going to WooCommerce > Settings > Invoices/Packing Lists. Select either Packing List or Pick List and you’ll see the options for editing the list’s appearance.

Pick list appearance settings.

The Pick list output setting helps ensure your list is optimized for whichever picking process you use. If you use discrete picking (pick-to-order) you can select Group items by order to have items for a single order listed together. If you use batch picking, you can select Group items by category. You can then print a bulk pick list to have like items grouped together for easier picking.

4. Stay organized internally

Whether you’re a small or large store, staying organized will help ensure your logistics operation runs smoothly. You should have clearly defined and documented workflows for the entire fulfillment process. The more you are able to automate, the easier it is to stay organized. Automation removes manual inputs and simplifies your processes and the number of tasks you need to monitor.

Extension: WooCommerce Order Status Control

The WooCommerce Order Status Control extension ($29/year at lets you decide which paid WooCommerce orders are automatically completed. By default, WooCommerce only automatically completes orders for virtual products. This is because if you sell physical products, you’ll likely need to pack and ship the order before it is completed.

But that may not be the case for your store. You may dropship your products directly from your supplier or you may partner with a third-party logistics provider who handles fulfillment for you. You could also simply want to save yourself the effort of having to manually mark every order as complete.

The default WooCommerce configuration updates paid orders from Pending to Processing. After you process the order, you then have to manually complete it. This may be trivial for smaller stores, but if you have a large number of orders, the time it takes to complete every order can add up. Plus, any manual process creates an opportunity for human error; forgetting to mark an order as completed could affect customer communication or internal organization.

If there isn’t any action required to process the order you can streamline your system by having the WooCommerce Order Status Control extension automatically move orders from Pending to Complete.

To have all orders automatically marked as complete, go to WooCommerce > Settings > General. In the dropdown field for Orders to Auto-Complete select All Orders.

The extension can only complete paid orders. This means the payment method must call woocommerce_payment_complete() / $order->payment_complete(). Most payment gateways do so by default, however, any gateway that defaults to On Hold or Pending Payment statuses won’t auto-complete.

Extension: WooCommerce Order Status Manager

The WooCommerce Order Status Manager extension ($49/year at allows you to create custom order statuses for your WooCommerce store. It also gives you the ability to modify the core order statuses to better suit your fulfillment workflow. Your custom statuses are included in the WooCommerce > Orders list. You can use them with order actions and bulk actions to process orders more efficiently.

To create a new order status, go to WooCommerce > Settings > Order Statuses. Click the Add Order Status button. From there, you can configure the custom status.

Add order status.

With Next Statuses, you can specify which statuses should follow your new status during the normal order flow. Action buttons allow you to move the custom status through the sequence of Next Statuses. These buttons are added to the WooCommerce > Orders list.

New order status details.

You’ll also need to specify whether orders for the custom status have been paid. By selecting Orders with this status have been paid, the status is treated like Processing or Completed orders. If you choose Orders with this status require payment, it is treated like the Pending Payment status, and customers will have Pay and Cancel links for the order in their account.

After you’ve added your custom statuses, you can create emails that will automatically be sent for order status changes. Go to WooCommerce > Settings > Order Statuses and click Emails. Here, you will see all the email notifications you have created. Click the Add Order Status Email button to create a new email.

Editing a new order status email.

Once you’ve configured the email settings, you’ll need to edit its content and enable it. Go to WooCommerce > Settings > Emails and find the message you want to edit. On the next page, you can set the subject line, email heading, and email body. You can also choose to make the message HTML or plain text.

Configuring after an order status.

If you want to customize the template, the standard WooCommerce hooks for editing email content will do the trick. You can find the list of actions in the woocommerce-order-status-manager/templates/emails/customer-order-status-email.php template file. There are also several filters available for customizing your emails. For example, you can use the following to override the email body: apply_filters( "wc_order_status_manager_order_status_email_body_text_{$this->id}", $this->format_string( $this->body_text ), $this->object );.

5. Keep customers informed

It is important to keep customers up to date throughout the fulfillment process. Research from Narvar shows that 83 percent of consumers expect regular communication about their orders. (PDF) And if you keep customers informed, you can help manage their expectations for delivery dates—which could ultimately help you retain those customers if fulfillment takes longer than initially anticipated.

Extension: AutomateWoo

Email will most likely be your primary channel for communicating with customers throughout the fulfillment process. AutomateWoo ($99/year at is a powerful email platform you can use to set up automated (it’s in the name, after all) flows with order status updates.

One example: You could set up a flow for “order paid” and “is not completed” to send five days later. That way, if a customer pays for an order but it isn’t completed within that five-day window, the customer would get a follow-up email apologizing for the delay.

AutomateWoo send a new email.

With good communication—especially around delays or fulfillment issues—you can help your chances at retaining a customer who might otherwise give up on your brand for all future purchases.

Extension: WooCommerce Shipment Tracking

The WooCommerce Shipment Tracking extension ($49/year at gives you an easy way to communicate shipping information with your customers. After you download the plugin, your Edit order pages will contain a Shipment Tracking panel. You can use this to add tracking details to the order. The tracking information will then appear in transactional emails and the customer’s account.

Shipment Tracking configuration panel.

The extension supports 16 major shipping carriers (you can see the list here). By adding the tracking number for a supported provider, a tracking link is automatically generated. If your provider is not listed, you can select Custom Provider. In this case, you’ll need to provide a tracking link.

In addition to the Edit order screen, you can also add tracking information to an order using the helper function wc_st_add_tracking_number. Here is an example of how you can use the function:

If you don’t want to have to change the carrier each time you add tracking details, you can use the following hook to change the default provider: woocommerce_shipment_tracking_default_provider. Below is an example of how you can add this hook to your functions.php to change the default carrier to USPS:

The extension provides a REST API you can use to create, view, and modify tracking details. Here is an example of a request to create a shipment tracking:

If you use a customer provider, you’ll need to include the tracking link:

Key takeaways

Order fulfillment and logistics are an essential part of running an eCommerce business. Customers expect fast, error-free deliveries. If you can provide a great delivery experience, you can gain a loyal base of customers and reduce your costs. But if your fulfillment is not up to par, shoppers will not hesitate to turn to the competition.

Here are some steps you can take to improve your WooCommerce fulfillment and logistics:

  • Have strong stock management. Good inventory management ensures that you do not sell out-of-stock items and that you always have enough supply to meet demand. The WooCommerce Bulk Management extension gives you an additional interface for monitoring and editing your stock levels.
  • Offer multiple shipping methods. For many customers, the ability to choose between different delivery options and delivery speeds is an important part of the decision to place an order. With the FedEx and USPS Shipping Method extensions, you can easily add a wide range of delivery options to your shopping experience.
  • Use pick and packing lists. Pick and packing lists help your warehouse team fulfill orders accurately, reducing human error and curbing returns. With the WooCommerce Print Invoice & Packing Lists extension, you can print and email pick and packing lists straight from the WooCommerce > Orders list.
  • Stay organized internally. No matter the size of your business, it’s important that your fulfillment process is organized. The WooCommerce Order Status Manager extension allows you to create custom order statuses that support your fulfillment workflow. And the WooCommerce Order Status Control extension lets you automatically mark all paid orders as complete. This saves you the tedium of having to manually complete every order.
  • Keep customers informed. The vast majority of customers expect regular communication about their orders—and good communication can be the key to retaining customers if something goes wrong. Use AutomateWoo to send automated emails with order status updates. And with the WooCommerce Shipment Tracking extension, you can add tracking details to orders on the Edit order screen. This tracking information is then automatically including in transactional emails to the customer.

The following extensions mentioned in this post are included at no additional charge in the GoDaddy Managed WordPress eCommerce hosting package:

  • Bulk Stock Management
  • FedEx Shipping Method
  • USPS Shipping Method
  • UPS Shipping Method
  • Canada Post Shipping Method
  • Royal Mail
  • WooCommerce Print Invoices & Packing Lists
  • WooCommerce Order Status Control
  • WooCommerce Order Status Manager
  • AutomateWoo
  • WooCommerce Shipment Tracking