Skip to main content

Welcome to our Billwerk+ Optimize Help Center

Usage-based billing

A Usage-based billing product is a product where customers are billed based on their actual usage of a service or product rather than a fixed rate. The usage is tracked during a billing period, and the total cost is calculated according to the quantity of resources consumed. This model is often used for services where usage fluctuates, allowing customers to pay only for what they use. There are different types of pricing models that can be applied to calculate the bill for the usage

Key Benefits:
  • Flexible Billing: Customers are only charged for the resources they consume, making the pricing fair and adaptable to varying needs.

  • Scalability: As customers' usage grows, the metered billing automatically scales, aligning charges with their consumption.

  • Cost Efficiency: Reduces the need for fixed, high-priced plans, ensuring customers only pay for the exact amount of service they use.

Create Usage-based billing product

  1. Navigate to Configurations > Usage-based billing

    screenshot-staging-admin_billwerk_plus-2024_11_22-17_57_45.png
  2. Click on the New button on the top right 

  3. This will open up the page to create a Usage-based billing product

screenshot-staging-admin_billwerk_plus-2024_09_25-17_48_13.png

Information Section
  1. Name (Required):

    • Enter a unique name for the Usage-based billing product type. This name should clearly describe what the usage is for, such as "Data Usage" or "API Calls."

  2. Handle (Required):

    • This field is for the unique identifier (handle) of the  usage-based billing product. This is auto-generated but you have the flexibility to modify it. The handle is typically used internally for API integration or in code, so it should not contain spaces or special characters.

  3. Description:

    • Provide a detailed description of the usage-based billing product. This is optional but helpful for others to understand what this usage type is for.

Pricing Section
  1. Currency (Required):

    • Select the currency in which the pricing for this will be applied. The options include various currencies like Danish Krone (DKK), Euro (EUR), etc.

  2. Define the Unit (Required):

    • Enter the unit of measurement for the usage. For example, this could be "GB" for data usage or "API call" for an API usage model.

  3. Included Units (Required):

    • Specify how many units are included in the base price. For instance, if 10 GB of data is included in the base plan, you would enter "10" here. If no units are included and usage is fully billed, set this value to 0.

  4. Minimum Fee (Required):

    • Define the minimum fee. Even if no usage occurs, this fee will apply to ensure a base charge for the service.

  5. Pricing Model:

    • Select the pricing model that applies. For more information on the different pricing models that are available, refer the document here

  6. VAT:

    • Set the VAT (Value Added Tax) status either via the Tax Policies configured or set a custom VAT rate.

      1. Incl. VAT: Toggle this option on if VAT is included in the price. If VAT is excluded, leave it unchecked.

  7. From  - To 

    • When defining a usage-based billing product, you need to define usage ranges and assign a range (or per step) for each range. Here's a breakdown of how to configure

    • From

      • This field specifies the lower boundary of the tier and always starts with 0. 

      • Each new tier will start from where the previous tier left off. For instance, if the first tier ends at 100, the next one should start from 101.

        Note

        As of now, we only allow for whole number units to be setup and they increment by 1 for the next tier. Please reach out to us in case if your use case depends decimal point increments

    • To (Required):

      • This field defines the upper boundary for each tier.

      • For example, if you want to charge differently for usage between 1 and 100 units, you would enter "100" in this field.

      • Note: The value for “To” in the last row is always set to "Unlimited" 

screenshot-staging-admin_billwerk_plus-2024_09_17-10_02_11.png

 

Pricing Calculator 

This is a helper tool that allows you to test your pricing model configuration. Once you are done setting up the usage-based product, you can verify how the model will be used to price the customer based on the actual units consumed. 

screenshot-staging-admin_billwerk_plus-2024_09_17-09_56_56__2_.png

 

 
How would you like to calculate the usage? 
  • When integrating with the Usage-based billing API, merchants can select one of three different strategies to calculate customer usage.  Below are the three available strategies:

  • 1. Sum of All Usages 

    • Description: This strategy calculates the total usage by summing all individual usage events over the billing period of the plan to which the Usage-based billing product is mapped.

    • Use Case: Ideal when you need to charge customers based on the total amount of resources they consume, such as data usage, number of API calls, or minutes used.

    • Example: If a customer makes 100 API calls on Monday, 200 on Tuesday, and 300 on Wednesday, the total usage for that billing period would be 600 API calls.

    • How It Works: 

      • Every usage event reported to the API is accumulated.

      • At the end of the billing period, the total amount is used to calculate the charge based on the configured pricing model.

  • 2. Maximum of All Usages

    • Description: This strategy calculates the usage based on the highest single usage event recorded during the billing period.

    • Use Case: Useful for services where you need to charge customers based on peak usage, such as bandwidth consumption or storage space allocation.

    • Example: If a customer uses 5 GB on Monday, 7 GB on Tuesday, and 10 GB on Wednesday, the total charge will be calculated based on the 10 GB, which was the maximum usage during that period.

    • How It Works: 

      • The API logs each usage event but only considers the highest recorded value within the billing period when calculating the charge.

      • This strategy ensures customers are billed according to their peak consumption.

  • 3. The Latest Usage

    • Description: This strategy uses the most recent usage event reported to the API as the basis for calculating the charge.

    • Use Case: Ideal when you want to track and charge for the most recent state or snapshot of a customer's usage, such as the number of active users at the end of the billing period.

    • Example: If a customer's system usage was 50 units on Monday, 70 units on Tuesday, and 60 units on Wednesday, the charge would be based on the 60 units from Wednesday, which is the latest recorded usage.

    • How It Works: 

      • The API records each usage event, but only the most recent value is considered when calculating the final charge at the end of the billing period.

      • This approach is suitable for services where only the most recent state matters for billing purposes.

 

How to Choose a Strategy? 
  • When setting up usage-based billing product in your system, you can select the desired strategy based on the service you provide. Here's how to configure each strategy:

  • Sum of all usages: Suitable for cumulative consumption-based models.

  • Maximum of all usages: Best for peak usage or maximum resource consumption models.

  • The latest usage: Appropriate for services where only the last recorded usage is relevant for billing.

  • API Integration: 

    • When sending usage data to the API, make sure the data format and usage event timestamps are accurate.

    • The system will  apply the selected strategy to determine the final usage calculation for the billing period.

For more information on how to configure and use these strategies, refer to the API documentation or contact support for further assistance.

screenshot-staging-admin_billwerk_plus-2024_09_17-10_18_45.png
Add Usage-based billing product to the subscription

Similar to adding an Add-On or Additional cost. You can add a usage-based billing product to the subscription, while creating it.

  1. While creating a subscription, you can add a Usage-based billing product to it, similar to how you add an Add-On or additional cost to it.

  2. After selecting the plan, scroll down to section where all the Subscriptions Options are

    screenshot-staging-admin_billwerk_plus-2024_10_07-09_28_25.png

  3. Click on Add Usage-based billing product

  4. Choose the selected Usage-based billing product

    screenshot-staging-admin_billwerk_plus-2024_10_07-09_30_30.png

  5. While adding a Usage-based billing Product, there are additional options that are available

    screenshot-staging-admin_billwerk_plus-2024_10_07-13_03_45.png

  6. How would you like to manage the unbilled usage? 

    1. In case if you have existing usage sent to us for that subscription, you can choose to either write it off or opt to bill it in the next cycle. This is particularly useful if you have removed a usage-based billing product from a subscription and have to add it again within the same billing cycle

  7. Select your preferred pricing strategy

    1. You have the option to keep the pricing configuration of the usage-based billing product as it has been configured or you can choose to update as and when the pricing is updated

  8. Clicking on Confirm, adds the Usage-based billing product to the Subscription

Notice

We are currently working on the option of making this step completely optional. In future, you can directly send the usage for a particular usage-based billing product and the product will then automatically get added to the subscription.

Different Pricing Models for Usage-based billing products

1. Per Unit (Flat Pricing)

In this model, the price is based on the number of units (such as licenses, seats, or other metrics), and the price per unit depends on predefined quantity ranges. The cost structure is flat within each range. Once the range is reached, a different price applies.

Example:
  • The first 5 licenses are free.

  • For 6 to 10 licenses, each license costs €5.

  • For 11 to 20 licenses, each license costs €4.

For example, if a customer purchases 17 licenses:

  • The first 5 licenses are free.

  • The next 12 licenses (17 - 5 = 12) are charged at €4 each.

Total Cost for 17 licenses: 

12 licenses × €4 = €48.

2. Per Unit - Step (Graduated Pricing)

The "Step" model involves progressive pricing. As the quantity increases, each new block of units is charged at a higher or lower rate, with each tier priced independently.

Example:
  • The first 5 licenses are free.

  • For 6 to 10 licenses, each license costs €5.

  • For 11 to 20 licenses, each license costs €4.

For example, if a customer purchases 17 licenses:

  • The first 5 licenses are free.

  • The next 5 licenses (6 to 10) are charged at €5 each.

  • The remaining 2 licenses (11 to 17) are charged at €4 each.

Total Cost for 17 licenses: 

(5 x €0) + (5 × €5) + (2 × €4) = €33.

3. Per Tier (Volume Pricing)

In the "Per Tier" model, users pay for blocks or tiers of usage. Each tier has a fixed price, and once a user moves to a higher tier, they pay a set price for that tier, regardless of the specific number of units consumed within that range.

Example:
  • The first 5000 API calls are free.

  • For 5001 to 8000 API calls, the user is charged €20.

  • For 8001 to 10,000 API calls, the user is charged €30.

If a user makes 9000 API calls:

  • The first 5000 API calls are free.

  • Since the usage is between 8001 and 10,000, the user will be charged €30.

Total Cost for 9000 API calls: 

€30.

4. Per Tier - Step (Graduated Volume Pricing)

This model combines the "Step" concept with tier-based pricing, where the user is charged progressively as they move through different tiers, and each new block of usage incurs a separate charge.

Example:
  • The first 5000 API calls are free.

  • The next 3000 API calls (5001 to 8000) are billed at €20.

  • From 8001 to 10,000 API calls, the user is billed at €30.

If a user makes 9000 API calls:

  • The first 5000 API calls are free.

  • The next 3000 API calls are billed at €20.

  • The remaining 1000 API calls (8001 to 9000) are billed at €30.

Total Cost for 9000 API calls: 

€20 + €30 = €50.

Important

The following two pricing models are built exclusively for calculating revenue share

 
5. Percentage (Percentage Pricing)

In the percentage-based pricing model, the user is charged a percentage of the value processed, with the percentage rate determined by ranges of the processed value.

Example:
  • From €1 to €50,000, the rate is 2.30%.

  • From €50,001 to €150,000, the rate is 1.85%.

  • From €150,001 onwards the rate is 0.95%

If a customer processes €175,000, the percentage applied is based on the range:

  • Since the value falls in the €150,001+ range, the percentage charged is 0.95% on the full €175,000.

Total Revenue Share: 

0.95% of €175,000 = €1662.50.

6. Percentage - Step (Graduated Percentage Pricing)

This model is similar to the "Percentage" model, but charges progressively for each range. As the revenue grows, the customer pays different percentages for each portion of their total, rather than a single percentage for the entire amount.

Example:
  • From €1 to €50,000, the rate is 2.30%.

  • From €50,001 to €150,000, the rate is 1.95%.

  • From €150,001 onwards, the rate is 0.95%.

If a customer processes €175,000:

  • The first €50,000 is charged 2.30%.

  • The next €100,000 is charged 1.95%.

  • The remaining €25,000 is charged 0.95%.

Total Revenue Share Calculation: 

  • €50,000 × 2.30% = €1,150.

  • €100,000 × 1.95% = €1,950.

  • €25,000 × 0.95% = €237.50.

Total Revenue Share: 

€1,150 + €1,950 + €237.50 = €3,337.50.