To track the life-cycle of a subscription, the WooCommerce Subscriptions extension creates relationships between orders and subscriptions. This guide provides an overview of each of these relationships and the corresponding order type.
If you haven’t already, you should read the following: subscription renewal process, subscription switching, Subscriptions vs. Subscription Products, and WooCommerce orders. The information in those documents will help create a broader understanding of the information in this guide.
Subscriptions vs. Orders
↑ Back to topOne of the most important things to keep in mind about Subscriptions is that they are agreements for transaction in the future, unlike orders which are records of transactions in the past. Because of this, a subscription can have multiple orders associated with it to record different historical transactions during the subscription’s life-cycle (renewals, switches, resubscribes, etc.). Likewise, an order can also be associated with multiple subscriptions.
Since subscriptions are an extension of orders, they share a lot of the same data. Below, you’ll find a venn diagram that outlines the shared data between the two and what data only exists in a subscription:
The data that subscriptions and orders both include:
- ID
- Customer
- Status
- Payment method
- Billing & shipping address
- Product, fee, tax and shipping line items
- Coupons, notes, created date, etc.
Data that only resides in a subscription:
- Payment Schedule, including recurring billing period and interval
- Next payment, trial end, and start dates
- Related orders (e.g. renewal).
The reason orders are linked to a subscription is so the subscription can have a record of its past transactions. These transactions may have:
- Created the subscription
- Been part of the subscription’s renewal billing terms; or
- Changed the subscription, for example by upgrading a product on it.
Because of this, a subscription can have multiple orders associated with it to record different historical transactions during its life-cycle. An order can also be associated with multiple subscriptions.
Subscription Order Types
↑ Back to topA subscription can have a range of orders linked to it, including:
- Renewal orders
- Resubscribe orders
- Switch orders
- Parent order
Each of these order types are the same as an order created to track a purchase via the normal WooCommerce checkout process. The key difference is these orders link to a subscription to track its life cycle.
Parent Orders
↑ Back to topThe parent order for a subscription records the creation of the subscription or, the first payment for the subscription. Typically, customers purchase a subscription product via the WooCommerce checkout process, creating the subscription agreement simultaneously with the parent order. The parent order becomes the first order listed in the subscription’s “related orders” (transaction history).
While checkout usually automatically creates Parent Orders, you can also add them manually or via import tools when migrating subscriptions to WooCommerce.
A subscription can have only one Parent Order. Since you can only create. a subscription once, it requires only one Parent Order. However, a single Parent Order can link to multiple subscriptions if the customer purchases different subscription products in the same transaction.
Manually creating a subscription does not automatically generate a parent order. You’ll need to use the “Create pending parent order” option under “Subscription Actions” to create one. Then, use the “email order invoice” action in the order actions for the parent order, to send an invoice to the customer to pay for the transaction.
Renewal Orders
↑ Back to topRecurring payment (renewal) orders are a key aspect of a subscription. During the renewal process, WooCommerce Subscriptions records each recurring payment in a Renewal Order and adds it to the Related Orders panel of the Edit Subscription screen.
Subscriptions usually creates Renewal Orders automatically based on the subscription’s billing schedule. These orders record automatic or manual payments, or no payment for subscriptions with a $0 total.
You can also manually create Renewal Orders via the Edit Subscription page.
A subscription can have multiple Renewal Orders, reflecting the recurring payments over its lifecycle. For example, a monthly subscription active for 12 months will have 11 Renewal Orders in addition to the Parent Order(first payment).
Resubscribe Orders
↑ Back to topIf a customer wants to extend an expired subscription, or resume a previously cancelled subscription, they can resubscribe to the subscription on the My Account > View Subscription page.
The resubscribe process takes the customer through the normal cart and checkout flow to complete sign-up on the subscription. When customers extend the terms of their previous subscription, WooCommerce Subscriptions needs to create a new subscription or agreement with the customer since the old subscription was cancelled or expired.
Let’s take a look at how each order is recorded for the old subscription and the new one:
- The New Subscription – Since the old subscription agreement ended, resubscribing creates a new subscription. The cancelled or expired subscription’s related orders section include an order labeled “Resubscribed Subscription“:
Clicking on the subscription number will direct you to the new subscription (agreement) and its related orders. You’ll notice that the resubscribed subscription record and the new subscription have the same order number; it’s because they are the same. The resubscribe order is the new subscription.
Once on the new subscription page, you’ll see the related orders box contains the initial cancelled/expired subscription record (to track where the subscription billing terms migrated from), the parent order for the new subscription agreement, and any subsequent renewal orders for the new subscription:
- WooCommerce Subscriptions creates a new parent order to record the first payment of the new subscription.
- All recurring payment orders made after the customer resubscribes will become related orders of the new subscription. No new records will be added to the previous subscription.
Switch Orders
↑ Back to topWhen a customer upgrades or downgrades their subscription, the switch process takes the customer through the normal cart and checkout flow to complete the transaction.
In this flow, an order is generated to record the upgrade or downgrade transaction. This order, which records the switch transaction, links to the subscription through a relationship known as a Switch Order. Often, this order is shown with a $0 amount in the related orders section of a subscription. A switch order updates the terms of a subscription agreement.
If the new subscription’s schedule does not align with the existing products on the pre-switch subscription, the Switch Order will also be a Parent Order. This is necessary because a new subscription must be created due to changes in the agreement for future transactions.
Importantly, a subscription can have multiple Switch Orders associated with it, as a customer can upgrade or downgrade the same subscription multiple times in different transactions.
Why are some orders in the related orders table not linking to the order?
↑ Back to topIn the related orders table on the Edit subscription screen, there might be some orders that do not link to an edit order screen. This situation can occur if the order was listed in the subscription’s known related orders but could not be loaded correctly.
Orders which cannot be loaded have either been deleted directly in the database or have corrupt data. To preserve the order history, the order ID of the record displays – even if all the data is unavailable.
A related order’s entire entry will be deleted from the subscription’s Related Order section if the order is officially deleted by moving it to the trash via the admin interface.
Questions and Support
↑ Back to topSomething missing from this documentation? Do you still have questions and need assistance?
- Have a question about a specific extension or theme you’d like to purchase? Click here.
- Already purchased and need some assistance? Get in touch with a Happiness Engineer via the WooCommerce.com Support page and choose this extension name from the “I need help with” dropdown.