# Add-ons

With Billflow you can sell one-time and subscription add-ons with your plans. These can be shown on the Checkout Form and/or the Customer Portal. Leverage these to start expanding your revenue!

## How it works

### Checkout Form

If add-ons are configured, they will appear below the standard configured products in the checkout form. Your customer is able to select them while checking out and add one-time payments or subscriptions. The total amount will be recalculated and taxes included if configured. [Live example](https://codepen.io/kslung/pen/BaRJwYx)

![Add-ons on checkout](/files/-MfbtjucKDHMIheWT8s9)

### Customer Portal

The customer portal will allow customers to add configured one-times or subscriptions, and manage existing ones.&#x20;

One-time add-ons can be added as many times as the user wishes. This feature can be leveraged to create a credit-based pricing model where a customer adds credits to your platform with a one-time payment.&#x20;

Subscription add-ons can be turned on or off so you can sell an additional feature or service.&#x20;

[Live example](https://codepen.io/kslung/pen/gOWoJOL)

![Add-ons on Customer Portal](/files/-MfbuqsT-we27OLMXHtB)

## Setup Stripe Product

As with standard pricing models, metadata needs to be added to your Stripe products. A new product should be created for each add-on. If you want a single add-on to be available on every tier in your service, then only configure the sb\_service key, and leave out the sb\_tier key.&#x20;

Add-ons can also use the [Quantity Management](/how-to/enable-quantity-management.md) feature. Set a unit\_label for the product for Billflow to recognize it as a quantity enabled product.&#x20;

Below is the relevant metadata.

| Key         | Value           | Notes                                   |
| ----------- | --------------- | --------------------------------------- |
| sb\_addon   | true            | Enables a product as an add-on          |
| sb\_service | *your\_service* | Configured service to add the add-on to |
| sb\_tier    | *your\_tier*    | Limits the add-on to a single tier      |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.billflow.io/how-to/setup-pricing/add-ons.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
