Recurring Pricing
Overview
Recurring pricing allows the business to define a price that the shopper pays on a recurring basis over a period of time – for example, $10 per week for 12 months. Upfront list and sale prices can also be defined alongside the recurring price, letting the business set what the shopper pays at checkout in addition to what they pay in each billing interval.
Price Lists and Agreements
Recurring prices are defined on base amounts within a price list. The billing interval and term length are defined on an agreement, which is a global concept that can be optionally assigned to a price list. The recurring price fields are only available in Commerce Manager when the price list is assigned to an agreement; a price list with no agreement assignment supports upfront pricing only.
Shopper Experience
Agreements must be associated to a product to be available as options for the shopper. When configured, shoppers can be given the ability to pay for a product upfront (with no agreement) or to choose between different agreement options, such as weekly or monthly.
If an agreement is associated to a product but no valid price list exists for that agreement and product combination, the option is still presented to the shopper, but adding to cart is blocked. This is the same behavior as a product without a price.
In Cortex, the item resource includes an agreements link that returns a list of available agreements. To view agreement pricing for an item, or to
add an item to cart with an agreement, follow the agreements -> element link first, then use the price or add-to-cart links available there.
Cortex also exposes recurring pricing information on cart line items and on the overall cart total. For each line item, both the unit recurring list price and purchase price are displayed. For the cart total, recurring costs are aggregated across all applicable line items. Prices are organized by billing interval (for example, monthly or every three months) and broken down into period ranges with start and end points. Prices that apply beyond the end of an agreement term are flagged as rollover and estimated prices.
Bundles
Adding a bundle to cart via an agreement is a way for the user to choose a common agreement that applies to all constituents. However, in some cases, the shopper can choose a different agreement for each of the constituents.
For example, if the bundle has selection rules that allow them to make selections between different constituents, the shopper can choose from the agreement options assigned to these constituents when they add it to the bundle in the cart.
Calculated price bundles
If a bundle is not associated to any agreements, and any of its constituents have agreement options defined, these constituents will not be added
automatically. The shopper must add the constituent through the dependentoptions --> element resource. To add it without an agreement, they can
use the regular addtobundleitemform resource. To add it with an agreement, they can follow agreements --> element, and use the
addtobundleitemform resource there.
If a bundle is associated with one or more agreements, the constituents will be associated to the same agreement selection that was made on the bundle. When calculating the price for the bundle, Self-Managed Commerce will look for a price list for the constituent product that is assigned to that agreement.
Assigned price bundles
For assigned price bundles, the agreement selection only matters for the bundle itself. Therefore in Cortex, the agreements link will not be present
within the dependentoptions --> element resource. The constituent can be added to the bundle through the regular addtobundleitemform link.
Dependent Items
Automatic Dependent Items
When a product with one or more automatic dependent items is added to cart, the dependent items are automatically added as a child line item. The child line item will be associated to the same agreement selection that was made on the parent line item. When calculating the price for the child line item, Self-Managed Commerce will look for a price list for the product that is assigned to that agreement.
Optional Dependent Items
When a product with one or more optional dependent items is added to cart, the optional dependent items are available to the shopper as options that
can be added as child line items. To add it without an agreement, they can use the regular addtoparentitemform resource. To add it with an
agreement, they can follow agreements --> element, and use theaddtoparentitemform resource there.
Cortex API
- Agreement Definition Reference
- Add Item to Default Cart with Agreement Reference
- Read Item Agreement Price Reference