Howdy all! Today’s Ask SkyVerge question is geared towards virtual sellers, and comes from Lars:
My question refers to an economic and client-oriented setting of order statuses and order emails for use case of buying a virtual product like a membership through a WooCommerce shop. Order status for these virtual products move only to processing rather than completed. This also results in multiple emails being sent for a virtual order. Is there a more sane way to manage this for a virtual item?
This is a common question our team gets frequently while supporting merchants selling memberships with WooCommerce Memberships, as typically memberships are virtual products.
To answer this question best, let’s first take a look at how WooCommerce handles virtual orders. As Lars notes, these orders will not auto-complete — they’ll be set as “processing”, then “completed” when moved manually by the merchant. This is the expected behavior as per the WooCommerce documentation:
Processing – Payment received and stock has been reduced – the order is awaiting fulfillment. All product orders require processing, except those that are Digital and Downloadable.
This means that, unless an order contains all products that are marked as virtual and as downloadable, orders will be marked as “processing” when they’ve been placed. This includes orders with virtual items that are not downloadable. Otherwise, orders with only virtual + downloadable items will be automatically “completed” instead of “processing”.
Why Don’t All Virtual Orders Auto-Complete?
So why does WooCommerce do this — why don’t orders with downloadable or virtual items auto complete? The simple reason is that it’s tough to know the expected behavior given how many hundreds of thousands of types of stores sell with WooCommerce:
- A downloadable-only product could also require shipping; the download could be attached as a bonus, such as offering a course that would require one to mail an introduction packet but also offer downloadable content in the account section. Or, this could be a digital music album that also has a shipped CD. Therefore, a product that is solely downloadable should not auto complete the order.
- A virtual-only product can also have steps in between accepting payment and completing the order. For example, if selling a service, this would be a virtual product, but merchants may not want to complete the order until the service has been rendered or scheduled. While a virtual product is one that won’t charge or require shipping, this doesn’t mean the order is done with as soon as it’s been placed, so it remains processing to ensure any further action can be taken.
Only virtual + downloadable products can make a safe assumption that the majority of people selling this product will have orders that require no other action, as marking a product as both indicates that likely the download is the entirety of the purchase. Therefore, these are the only orders that WooCommerce will auto-complete.
What’s Best for My Site?
So what should your site be doing? First, consider what your ideal workflow is — do you need to take any action on your orders after they’re placed for virtual items? If so, you should consider retaining the default behavior.
Otherwise, if you want to cut out steps and auto-complete orders, you can consider 2 approaches:
- Mark your items as both “virtual” and “downloadable” (even if there are no files attached)
- Use a plugin like Order Status Control ($29) to auto-complete other orders (such as virtual orders, or all paid orders) instead if you want to have greater control over what’s auto-completed.
When these orders are auto-completed, they’ll also only send one order confirmation email instead of multiple emails, as there are no “processing -> completed” status changes for which to send emails.