Overview of the concepts related to Recurring Orders and the checkout process.
Recurrence Policy
Recurring items
Line Items and Custom Line Items now carry information about possible recurrence.
For each item, you can set a different schedule/interval and price mode.
To configure an item, you can do the following:
- Create/Add a Line Item or Custom Line Item with
RecurrenceInfo
- For Line Items
- For Custom Line Items
- Update a Line Item or Custom Line Item with
RecurrenceInfo
- For Line Items
- For Custom Line Items
For Recurring Orders, each Line Item or Custom Line Item can have a fixed or a dynamic price.
- Fixed price: the price set at the time of creating the Recurring Order will remain unchanged. If the SKU's price is updated later, the Recurring Order will continue to use the original price.
- Dynamic price: each time a new order is generated, the price will automatically update based on the current platform price.
Recurring Order creation
Carts support Custom Line Items with recurring (subscription) and non-recurring (one-time) purchase information combined.
Example:
A customer wants to buy 4 different products (SKU). Their cart has the following items:
Item | Purchase Interval | Ship to |
---|---|---|
SKU1 | One-time purchase | Home |
SKU2 | Weekly | Home |
SKU3 | Monthly | Office |
SKU4 | Monthly | Office |
The customer completes the checkout process and receives an email with the confirmation.
Internally, Composable Commerce performs the following steps:
- A new Order is created with all four items.
- The Order is checked to determine if any Line Items or Custom Line Items are marked as recurring.
- If all items are one-time purchases, no further action is taken.
- If one or more items are recurring:
- All recurring items are grouped by their recurrence interval.
- In this example:
- Group A: SKU2 (weekly)
- Group B: SKU3 and SKU4 (monthly)
- For each group, a new Recurring Order and a new Cart are created.
- The new Cart inherits the base configuration of the original Order (e.g., tax mode, customer group, inventory mode, store, business unit) but contains only the items that belong to that group.
- If multiple shipping methods are used, only the shipping methods and addresses associated with the items in the group are copied to the new Cart.
- Recurring Order A: SKU2 is shipped weekly to the home address.
- Recurring Order B: SKU3 and SKU4 are shipped monthly to the office address.
Recurring Carts
RecurringOrder
.Subsequent Orders
After a Recurring Order is created, new orders will be created automatically.
nextOrderAt
to specify the date and time that the next order should be created.nextOrderAt
but in some cases it may take up to 48 hours for a new order to be created.The following example shows when next orders are going to be created for a recurring order configured with weekly interval.
Date | Status | Order Created | nextOrderAt |
---|---|---|---|
1 Jan 2025 | Active | ✓ | 8 Jan 2025 |
8 Jan 2025 | Active | ✓ | 15 Jan 2025 |
15 Jan 2025 | Active | ✓ | 22 Jan 2025 |
22 Jan 2025 | Active | ✓ | 29 Jan 2025 |
29 Jan 2025 | ... | ... | ... |
Paused Recurring Orders
Recurring Orders can be paused at any moment. When a Recurring Order is paused, subsequent orders will not be created until the Recurring Order is re-activated.
The following example shows when next orders are going to be created for a recurring order configured with weekly interval but it has been paused/activated in between.
Date | Status | Order Created | nextOrderAt |
---|---|---|---|
1 Jan 2025 | Active | ✓ | 8 Jan 2025 |
6 Jan 2025 | Paused by the user | x | empty |
19 Jan 2025 | Reactivated by the user | x | 22 Jan 2025 |
22 Jan 2025 | Active | ✓ | 29 Jan 2025 |
29 Jan 2025 | Active | ... | ... |
Pricing
Prices (both embedded and standalone) can now include information about recurrence policies.
When selecting a price for a recurring order, the platform will use the standard price selection rules, along with the specified recurrence policy, to determine the correct price for the given SKU and recurrence.
monthly
recurrence, the platform will attempt to locate a price explicitly tied to that monthly
policy.Configuration
For Recurring Orders to work properly, a price must be connected to a recurrence policy.
Example: To sell Yogurt in 3 different intervals, a price must exist for each interval.