Understanding Metered Billing with Paddle: A Comprehensive Guide

Hi, I'm Alex, and welcome back to the Boathous Paddle series, where we discuss everything related to Paddle. In today's post, we'll dive deep into usage-based pricing, also known as metered billing. Paddle supports this feature out of the box, but there are several considerations to keep in mind. Let's explore how to implement metered billing with Paddle effectively.

What is Usage-Based Pricing?

Usage-based pricing, or metered billing, is a billing approach where customers are charged based on the amount of usage of a service or product. This can be a more flexible and fair way to bill customers, ensuring they pay only for what they use.

Implementing Metered Billing with Paddle

Step 1: Setting Up Your Product

Firstly, you'll need to create a product in Paddle. For this example, we've created a product called "Metered SaaS". Here’s what you need to do next:

Step 2: Creating a Price Object

Once your product is created, you need to create a price object. This is the first critical question you need to answer:

Regardless of your choice, an active subscription is required to implement usage-based pricing. Paddle has a one-time charge mechanism for subscriptions, but the subscription must exist beforehand. To onboard a customer, initiate a subscription with that price object (even if it's a $0 per month cost).

Step 3: Making the Actual Charge

After the subscription is active, you can use a specific API endpoint to charge customers based on their usage with the one-time charge Paddle endpoint.

You can't just pass in an amount, but have to pass in a reference to a price object, but this price object can be a "non-catalog" price, which will be created on the fly.

{
  "effective_from": "immediately",
  "items": [
    {
        "price":
        {
            description: "client123_usage_march",
            name: "Client123 usage in March",
            unit_price:
            {
                amount: "4200",
                currency_code: "USD",
            },
            "product":{
                "name": "Usage for YourSaaS",
                "tax_category": "saas"
            }
        }
      "quantity": 1
    }
  ]
}

This will result in a 42 USD charge for that customer.

Note that the tax_category you use must be activated, see our video on Paddle's taxable categories.

If you have standard usage metrics, e.g. hours used, tickets created etc, it's easier just to create a price object with the unit price for that metric and then perform one-off charges using that price id and varying the "quantity" parameter accordingly.

A note about invoices

Customers will receive two invoices:

  1. A zero-dollar monthly recurring invoice.
  2. An invoice for the actual usage-based charges.

Using the Paddle UI for One-Time Charges

In the Paddle UI, you also have the option to create a one-time charge manually. This can be useful for early phases or specific scenarios, but there's a catch. You can only create a one-time charge for existing price object, not for non-catalog prices and products. So this approach is only really useful for standardized metrics like hours used, tickets created, team members etc where you can define the price object beforehand.

Conclusion

Metered billing with Paddle offers flexibility but requires careful setup and management. By following the steps outlined, you can efficiently implement usage-based pricing that meets your business's needs.

That’s all for today. Stay tuned for more insights in our Boathous Paddle series.

You might also like articles from our blog: