What is a subscription?

Enterprise subscriptions are very complex compared to B2C subscriptions, such as gym memberships or online streaming services, which cost a simple flat fee every month.

Not only are enterprise deals highly negotiated, but once the deal is closed, the subscription will most likely undergo a number of changes throughout its lifetime; different quantities, add-ons, renewals etc.

The timeline below shows how a customer starts with an Enterprise product with 1000 users, which grows to 1500 and then also subscribes to a Advanced API plan, which also grows in clients.

Subscription timeline

A subscription is a relationship between an account and a product plan.

Accounts never subscribe directly to a product since a product can have multiple plans with different pricing. Therefore, the subscription is always to the plan and the product is implicitly inferred.

An account can subscribe to multiple different product plans on different products. Bunny's quote builder helps the user co-term the subscriptions so the customer doesn't drown in invoices.

From product catalog to subscription

The only way a subscription can be created or updated is via a quote. This is a fundamental principle in Bunny and the quotes act as a transaction history of what happened to an account's subscriptions.

All subscriptions are based on products in the product catalog. Quoting the mechanism that copies charges from the product catalog to an account's subscriptions. Consider the diagram below.

Quotes copy charges from product catalog to subscriptions

The solid lines in the diagram show how the objects are related to each other and the dotted lines show how data is copied from products to quotes to subscriptions. If you are a developer working on subscriptions via Bunny's API, this is very important to understand. If you are merely going to use Bunny's user interface, just appreciate that we have made this complex process simple.

Charges are copied to subscriptions

It's important to note that charges are actually copied to a quote and then copied onto the account's subscriptions. This means that if you subsequently make price changes in the product catalog, they will not automatically affect accounts subscribing to that product. The reason for this is that each account is a separate contract with the customer and you don't want to just bulk change contracts across your customer base.

Price override

By default, price override is performed on quotes, but for self-service subscriptions where customers will always get the latest pricing, price override is disabled. This causes subscriptions to be updated with the latest pricing from the product catalog when they are auto-renewed.

Last updated

Was this helpful?