Financial Management Blog Posts by SAP
Get financial management insights from blog posts by SAP experts. Find and share tips on how to increase efficiency, reduce risk, and optimize working capital.
cancel
Showing results for 
Search instead for 
Did you mean: 
CarstenJ
Product and Topic Expert
Product and Topic Expert
648

Subscription businesses often rely on usage-based pricing models to provide flexibility to customers while aligning revenue with actual consumption. In SAP Subscription Billing, tier-based pricing is a powerful mechanism for incentivizing higher usage through volume-based discounts. And when pricing needs to consider usage over a longer period, such as a quarter, cross-billing cycle aggregation becomes invaluable.

This post demonstrates how to implement cross-billing cycle aggregation in SAP Subscription Billing to reflect a common subscription pricing scenario. The example is based on a use case from the SAP Subscription Billing Pricing Configuration Guide, providing practical steps for configuring tier-based pricing.

 

Business Scenario: Tier-Based Pricing for X-Ray Machine Usage

Let’s consider the following use case:

A company that manufactures X-ray machines supplies them to hospitals under a subscription model. Hospitals pay monthly for the machines based on the number of X-ray images. However, prices per image decrease as overall usage increases over a three-month period (quarterly aggregation). This is a classic tier-based pricing structure, designed to encourage higher utilization by offering lower prices for higher consumption volumes.

Here’s the quarterly tiered pricing for X-ray images:

  • Up to 500 images per quarter: $25 per image
  • 501 to 1000 images per quarter: $20 per image
  • Above 1000 images per quarter: $15 per image

To achieve this pricing, we need to implement cross-billing cycle aggregation for a three-month period in SAP Subscription Billing. This ensures usage is tracked and aggregated across the defined period, determining the appropriate tier for billing within each month.

 

Configuring Cross-Billing Cycle Aggregation

In this section, we’ll explore step-by-step how to configure the cross-billing cycle aggregation logic:

Step 1: Configure the Cross-Billing Cycle Aggregation Period

In the rate plan template, specify a cross-billing cycle aggregation period of three months for the usage-based charge. This setup enables the system to track cumulative consumption over three months, resetting the aggregated value at the end of each period. You find these settings on the detail screen of a usage-based charge. Note that this is only supported for rate element with the "Aggregated" rating variant.

CarstenJ_1-1747324554134.png

 

Step 2: Use Cumulative Quantity in the Pricing Logic

The cumulative consumption across the aggregation period is available in a standard pricing field called cumulativeQuantity. Prerequisite is that the charge in the rate plan template is configured to aggregate usage across billing cycles, otherwise the field is not available. The field is populated automatically with the total quantity of usage valid at the end of the rating period.
Note that if your SAP Subscription Billing tenant was created before the new field was added, you may need to manually add this field using the Manage Field Catalog app (see: Standard Fields in Pricing Configuration Guide ).

To correctly apply tier-based pricing based on the cumulative quantity, configure the Pricing Logic to utilize the aggregation data. The key is to use a property with the quantity contribution field type, which combines two elements:

  • The quantity to be priced (e.g., the current rating period's usage)
  • The offset, used to determine the relevant tier.

This field is filled based on the values quantity and cumulativeQuantity as described below, and then used to calculate the amount.

The logic has the following steps:

  • Fetch the price condition
    Use the Table Lookup operator to fetch the appropriate tiered price condition.
  • Calculate the offset
    Since cumulativeQuantity already includes the aggregated quantity from previous periods plus the current rating period's usage, your pricing logic must calculate the offset by subtracting the current period's quantity from the cumulative total. Use the Execute Formula operator to implement this calculation.
  • Define the quantity contribution
    The Define Property operator lets you create the required property type. Use the field quantity (representing the current usage) and the calculated offset as components of the quantity contribution.
  • Calculate the price element
    For tier-based models, the Calculate Price Element operator uses the quantity contribution to calculate the appropriate price. While the scale value parameter is relevant only for volume pricing models, you can directly reference cumulativeQuantity.

Here’s how the final pricing logic for the price element specification looks.

CarstenJ_2-1747324805972.png

 

Example: Verifying the Setup and Results

Once the pricing logic is set up, validate the configuration by following these steps:

  1. Create a product that references the rate plan template.
  2. Generate a subscription for the customer (for example, a hospital).
  3. Record usage data for the subscription. For instance, input monthly X-ray image counts.

Here’s an example showing usage values over several months and how it impacts the cumulativeQuantity field:

 JanFebMarAprMayJunJul

Quantity (Images)

300

270

350

330

320

260

0

cumulativeQuantity

300

570

920

330

550

810

0

After posting the usage, you can validate the outcome in the charge details of the generated bills. Notably, you’ll see the aggregated consumption for the aggregation period and how the pricing tiers were applied.

Observing the Tiers

  • February bill: With a cumulative quantity of 570 images, the quantity of 270 images is distributed amoung two tiers: 200 images are billed at $25 per image, and the remaining 70 are billed at $20 per image.

    CarstenJ_5-1747325100782.png
    CarstenJ_0-1747324207351.png

 

  • March bill: With a cumulative quantity of 920 images, the final images fall into the $20-per-image tier.

    CarstenJ_6-1747325151846.png

  • April bill: After three months, the cycle resets, and the cumulative quantity starts over at 0 for the next period.

    CarstenJ_7-1747325224202.png

     

Additional Notes

  • Illustrative purposes: While quarterly aggregation is used in this example, SAP Subscription Billing allows you to define other aggregation periods, such as yearly or bi-monthly, depending on your business needs.
  • The periodic reset needs to be a multiple of the billing cycle length. For example, it is not possible to configure a reset period of 3 months for a bi-monthly billing cycle.
  • Beyond periodic resets, SAP Subscription Billing also supports indefinite aggregation, where cumulative values are tracked over the entire subscription lifecycle.

Conclusion

By using cross-billing cycle aggregation in SAP Subscription Billing, businesses can implement robust and flexible pricing models that reflect customer activity over time. For scenarios like quarterly tier-based pricing, this feature ensures accurate billing aligned with real-world consumption patterns and rewards long-term loyalty.

We hope this guide empowers you to design pricing models tailored to your subscription business needs. If you have questions, insights, or additional use cases to share, feel free to leave a comment or start a discussion below. Let’s learn and grow together as a community!

Call to Action

🔍 Looking for more tips and tricks? Check out related blog posts on SAP Community or explore the SAP Subscription Billing Documentation for in-depth guidance.

1 Comment