Considerations for Using Commerce Subscriptions

In B2B stores, you can sell digital subscription products. Commerce Subscriptions is supported by Revenue Cloud, but it’s a separate product from Revenue Cloud’s Subscription Management. Before you create and configure subscription products for your B2B store, or before you switch from Subscription Management to Commerce Subscriptions, keep these considerations in mind.

Required Editions

General Considerations

  • Commerce Subscriptions and advanced pricing features are included in orgs with either a Commerce Growth license or a Commerce Advanced license, along with a Revenue Cloud Advanced license. For advanced pricing features, update your pricing engine to use Advanced Pricing for Commerce Powered by Revenue Cloud. See Advanced Pricing for Commerce Powered by Revenue Cloud.
  • You can create subscriptions only for digital products, and not for physical products.
  • If you're selling physical products, you can't use Product Selling Models as these items use the default pricing.
  • Set up your B2B store by using Custom Checkout.
  • To switch from Subscription Management to Commerce Subscriptions, turn off the CommerceSubscriptionsPlus permission in your org and switch your pricing engine to use Advanced Pricing for Commerce Powered by Revenue Cloud and turn on High Scale Orders. See Enable Selling Subscriptions for B2B Stores and Enable High Scale Orders in Commerce.
  • You can’t use Commerce Subscriptions in a store built on an Aura template. You can migrate your store from an Aura template to an LWR template. See LWR and Aura Store Templates.

Pricing

  • If you’re using a pricing extension instead of Salesforce Pricing, make sure that the extension produces the same results as Salesforce Pricing. See Revenue Cloud Subscription Pricing and Proration.
  • When Commerce Subscriptions and Advanced Pricing for Commerce Powered by Revenue Cloud are enabled, all products (both subscription and nonsubscription products) are priced by using Advanced Pricing.
  • If you’re using the ListPrice field on the OrderItem object to populate the strikethrough price, use the ReferencePrice field instead.
  • Volume-tiered pricing adjustments apply to subscription products. You can use these adjustments with standard pricing and contract pricing. For contract pricing, configure the adjustments on the contract item price record.
  • When you create a price adjustment tier for a subscription product, select the applicable product selling model. If you don’t select a product selling model, the adjustment applies only to non-subscription purchases.
  • Term-based adjustment schedules support only the range type. Slabs aren’t supported.
  • A product can have multiple price book entries, with one price book entry for each product selling model. Each price book entry can have one adjustment schedule. You can’t attach both a volume-based and a term-based adjustment schedule to the same price book entry. To use different adjustment types, add them to separate price book entries associated with different product selling models.
  • By default, positive amendments and renewals use the list price as the starting price, so applicable pricing adjustments are recalculated based on the product and pricing details at the time of the transaction.
  • By default, negative amendments and cancellations use the last transaction price, so pricing adjustments aren’t recalculated. Volume tiers aren’t recalculated for negative amendments. Any changes to the volume tier take effect at the next renewal.

Cart and Checkout

  • If your store allows duplicate cart items, make sure that bulk additions to cart requests contain only subscription products or only nonsubscription products. If a customer tries to check out with a cart containing mixed duplicate cart items, their nonsubscription products don’t merge correctly.
  • You can use only the card payment method for subscriptions. Other payment methods aren't supported.
  • Registered users can check out with subscriptions in their cart, but guest users can’t.
  • Mixed orders with subscriptions are limited to 200 order items.
  • To capture the shopper email address for an order, link the AccountId field to the correct person or business account and make sure that the account has a valid email address.
  • To capture the company name in shipping details, enable the Company Name field in the Shipping component and ensure the CartDeliveryGroup object's CompanyName field is populated with data.
  • If your store uses the Cart to Order action in a B2B checkout flow, the first payment field isn’t populated when an Order Summary for the subscription is created. We recommend enabling high-scale order processing and using the Checkout Connect API to populate the first payment field on a subscription order. See Preparing for High Scale Order Processing in Commerce and Salesforce Commerce Checkout API.
  • If you extended the Commerce_Domain_Checkout_CreateOrderpoint, shoppers can change the quantity on a subscription order, but they can’t add duplicate subscription order items.
  • You can’t split a shipment that contains a subscription product. To turn off split shipping, See Enable Shipping to Multiple Addresses for Custom Checkout.
  • If your store experiences issues when shoppers add products with one-time product selling models to their carts, turn off the displayable fields beta feature and perform a full index refresh. See Set Up Displayable Fields in Commerce (Beta).

Billing

  • If you’re not using the default Commerce Billing process, make sure that all nonsubscription order items are excluded from billing. Commerce Billing excludes nonsubscription products from first billing. Don’t change this configuration.
  • Use the Revenue Cloud Invoice Creation API to generate a first invoice for a subscription order. To generate a first invoice, use the date on which tax is calculated. If this date isn’t available, you can use the effective order date. See Invoice Creation (POST).
  • You can start a recovery for a failed invoice after 48 hours. Use the Revenue Cloud Billing Schedule API to start a recovery for a failed invoice. See Billing Recovery Schedule API.

Invoice

  • If Stripe is configured as the tax provider, invoice generation isn’t supported for dates more than 31 days in the past or future. Verify limitations with your tax provider.
  • If you pause or suspend billing for subscriptions, ensure invoices are within the 31-day range to avoid tax calculation failures.
  • Ensure generated invoices are in Posted state. The next billing date isn’t updated when invoices are in Draft state.
  • Run billing schedulers during low-traffic periods. This approach minimizes incorrect Next Billing Date issues when the schedulers process concurrent positive and negative amendments on the same Billing Schedule Group.
  • Invoice positive and negative billing schedules together. Avoid generating invoices using individual billing schedules, order-level invoice generation, or custom grouping keys.
  • You can’t void invoices because doing so creates negative invoice lines that can’t be taxed.

Promotions (Beta)

Note
Note Promotion for subscription products is a beta service that is subject to the Beta Services Terms at Agreements - Salesforce.com or a written Unified Pilot Agreement if executed by Customer, and applicable terms in the Product Terms Directory. Use of this beta service is at the customer’s sole discretion.
  • Product-level promotions are supported for subscription products. Cart-level promotions aren't supported as qualifiers or discount targets. If a cart contains both subscription and non-subscription products, cart-level promotions apply only to the non-subscription products.
  • Subscription products can qualify for product-level promotions by quantity only. Price-based or amount-based qualification isn't supported.
  • Coupon codes and bonus product promotions apply to new purchases only. During amendments and renewals, only automatic promotions are evaluated.
  • The promotion continues to apply for subsequent billing cycles of a subscription until the subscription is amended or renewed.
  • Promotions are re-evaluated when a subscription is amended or renewed. Promotions are applied only if they're active and eligible at the time of amendment or renewal.
  • If AsIsRenewal is configured, the subscription renews at the original purchase price, and promotions aren't re-evaluated.
Important
Important With discount tiers, a buyer can qualify for a higher discount by purchasing a larger quantity and then cancel part of the subscription while retaining the discounted price on the remaining quantity. Implement appropriate business policies and controls to mitigate this risk.

Post-Order Management for Subscriptions

  • Subscription orders create an order action only for products with Evergreen or Term Defined selling model type.
  • After a subscription order has been placed, the subscription has a Processing status on the Order Summary page until an asset is created, which can delay the status changing to Processed.
  • After a shopper cancels their subscription in their account, the subscription status doesn’t change on the Order Summary page.
  • If an order containing a subscription is reordered, the subscription is added to the cart with the current date as the new start date and the original term selected.
  • You can change the label of the Process Exception picklist category, but don’t change the API name. Changing the Process Exception API name can affect the status of subscription products on the Order Detail page.

Subscription Shopping

  • If a shopper has no active subscriptions, there’s no messaging on a store’s subscription page to provide guidance.
  • Shoppers aren’t informed of a failed recurring payment.
  • If a shopper deletes a payment method for an active subscription, the shopper must manually add a new payment method.