WooCommerce shipping guide

When should a WooCommerce order be marked completed?

Mark it completed when the order is fulfilled, which for a shipping store means the label exists and the package is going out. WooCommerce defines processing as payment received and stock reduced, awaiting fulfilment, and completed as fulfilled and complete. Completed is also the status change that triggers the customer email, so setting it early tells the buyer something untrue.

What each status actually means

StatusWooCommerce definitionYour queue
Pending paymentOrder received, but no payment has been madeNot yours yet
ProcessingPayment received and stock reduced, awaiting fulfilmentShip it
On holdAwaiting payment confirmation, stock reducedShip it only if you ship before funds clear
CompletedOrder fulfilled and completeDone
CancelledCancelled by an admin or the customerDo not ship
RefundedFully refunded after paymentDo not ship
FailedPayment failed or was declinedDo not ship

Processing is the shipping queue

Processing is the only status that means money arrived and work is owed. Stock has already come down, so the order is committed. If you run one filter all day, run Processing, and add On hold only if your store ships against bank transfers or other offline payments before the money lands.

Completed is a signal, not bookkeeping

The status change to Completed is what triggers the customer email, so the buyer reads it as shipped. Set it when the label is bought and the package is in the outbound pile. Setting it at pack time, before postage exists, creates the gap where a buyer asks for tracking you have not generated yet.

Saving tracking details does not send an email by itself. The Completed status change is what sends one, which is why writing tracking and setting completed belong in the same step.

Orders that skip processing entirely

WooCommerce's own definition of processing says all orders require processing except those in which all products are both virtual and downloadable, so a downloads only cart never lands in your shipping queue. Offline payment methods do the reverse and sit on On hold until payment is confirmed. Both change what your Processing filter contains.

A rule you can hand to a packer

  1. Work the Processing list, oldest first.

  2. Pack the order and weigh it.

  3. Buy the label.

  4. Write the tracking number on the order.

  5. Set the order to completed, which sends the customer their email.

Key takeaways

  • Processing: paid, stock reduced, awaiting fulfilment. Completed: fulfilled and complete.
  • Completed is the status change that triggers the customer email.
  • Orders where every product is virtual and downloadable do not require processing.
  • On hold means payment is not confirmed yet, so ship it only deliberately.
With I'd Ship That

The status moves when the label does

I'd Ship That for WooCommerce is in early access. We pull processing and on-hold orders into The Workbench on a scheduled sync and leave pending payment alone, because those are not paid. When you buy the label we set the order to completed, write the tracking number and provider, and add a customer-visible order note, so the status change and the tracking reach the buyer together.

See the WooCommerce integration

It is not an error state, but it costs you the signal. Processing means awaiting fulfilment, so a shipped order left there makes your queue lie about what still needs packing, and the customer never gets the completed email.

Yes. The Orders screen has bulk actions that update the status of several orders at once, including Processing, On hold, Completed and Cancelled. Bulk actions change the status only, so tracking numbers still have to come from somewhere else.

On hold means awaiting payment confirmation with stock already reduced. If the payment never arrives, cancelling returns the stock when inventory management is enabled. Leaving them on hold holds inventory you could be selling.

No. WooCommerce defines completed as fulfilled and complete, which is about your side of the transaction. Delivery is a carrier event, and it is the tracking number on the order, not the status, that tells the buyer where the package is.