Skip to main content
Loading...
Usage Chart

Implement Flexible Usage-Based Billing Solutions with RecurringStack™

Stop spending valuable time and resources building complex billing back-ends from scratch. Leverage our proven, reliable, and scalable usage-based billing solution.

Usage-based billing software

Powerful Usage-Based Billing Features

RecurringStack™ empowers you to implement sophisticated usage-based billing models. Our platform supports pay-as-you-go billing, credit burndown, and precise pricing control through customizable components.

Pay As You Go Billing

Bill customers for services as they use them. Usage is automatically linked to their ongoing subscription and calculated on-the-fly.

Precise Pricing Control

Easily adjust minimums, maximums, unit pricing, and starting quantities to match your business model.

Credit Burndown Hot

Easily allow customers to prepay for usage and deduct from their credit as they utilize services.

Attach Metadata

Attach your own custom metadata to each reported usage event for cross platform tracking.

When consumption equals revenue you need usage billing.

Usage-based billing aligns your revenue with real customer consumption. It gives customers flexibility, reduces churn, and unlocks pricing models that scale naturally as usage grows. Whether you're billing per request, per seat, per hour, or per unit, usage-based pricing creates transparency, fairness, and predictable growth for both sides.

API Example

Report usage as it happens with the RecurringStack™ API

Leverage our powerful API to instantly report new usage events from your SaaS platform or back-end systems, seamlessly updating a customer's existing subscription with their latest consumption data.

                          composer require recurringstack/recurringstack-php

# Create a new usage event for a component attached to a subscription.
try {

 $rs->createSubscriptionUsage("subscription_id" => '', "customer_account_id" => '', "component_id" => '', "units" => '', "expression_type" => '');

    } catch (recurringstack\apiException $e) {

 $errorObj = $e->errorAsObject(); //Return the HTTP ->code and error ->message in an object.
        
}
                        
                        import requests

# Set up the API parameters
parameters = {"subscription_id":'Value',"customer_account_id":'Value',"component_id":'Value',"units":'Value',"expression_type":'Value'}

# Make request
response = requests.post("https://api.recurringstack.com/xml/SubscriptionUsage/Create", params=parameters)

# Print the API response
print(response.content)
                        
                        const axios = require('axios');

// Set up the API parameters
const parameters = {"subscription_id":'Value',"customer_account_id":'Value',"component_id":'Value',"units":'Value',"expression_type":'Value'};

// Make request
axios.post("https://api.recurringstack.com/xml/SubscriptionUsage/Create", { params: parameters })
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });
                        
                        curl -d "subscription_id=Value&customer_account_id=Value&component_id=Value&units=Value&expression_type=Value" -H "Content-Type: application/x-www-form-urlencoded" -X POST https://api.recurringstack.com/xml/SubscriptionUsage/Create
                        

Take Control of Your Usage-Based Billing Now

Put our 20+ years of usage-based billing experience to work for your business.