Flex billing
Mantle’s Flex Billing simplifies recurring billing for tiered pricing structures by automating plan upgrades based on customer usage. This addresses the challenges of traditional subscription models, offering a more seamless and efficient billing process.
Traditional subscription models for usage-based plans require customers to manually upgrade their plans when they hit usage limits. This process involves multiple steps and approvals, creating friction and potential service interruptions. Apps must decide how to handle customers who exceed plan limits—whether to stop service, wait for an upgrade, or absorb the cost.
Flex billing uses usage charges to simulate recurring subscriptions, allowing automatic upgrades without manual intervention. Customers are seamlessly upgraded as they reach usage thresholds, with usage continuing from where it left off each month.
Key Features:
-
Automatic plan upgrades:
- Customers automatically upgrade when usage thresholds are met, eliminating manual steps.
-
Continuous usage tracking:
- Usage doesn’t reset monthly, ensuring smooth transitions between billing cycles.
-
Flexible billing:
- Multiple plans under the same usage charge approval, with automatic upgrades as thresholds are reached.
-
Seamless billing experience:
- Customers remain on their current plan for the next cycle, avoiding threshold resets.
Flex billing offer a flexible and efficient solution for managing usage-based plans, addressing the challenges of traditional subscription models.
Using flex billing
In our example, we’ll set up three different flex billing plans that can automatically upgrade based on usage limits. The plans will be configured as follows:
- Up to 250 orders: $19.99/month
- Up to 500 orders: $39.99/month
- Over 500 orders: $59.99/month
1. To create your first plan, navigate to Plans and select Add plan:
![Add flex billing plan](/images/docs/plans_flexbilling_add_plan.png)
2. Next, enter in your plan details.
3. After entering your plan details, you can enable Flex Billing by checking the box labeled Enable flex billing for this plan.
![Enable flex billing](/images/docs/plans_flexbilling_enable.png)
4. Once enabled, you will see options to configure your flex billing settings for the plan:
![Flex billing plan settings](/images/docs/plans_flexbilling_settings.png)
- Capped monthly price: The maximum monthly price you can charge a customer for this plan.
- Additional charge information: Additional information about the plan you want to display to the customer on the charge acceptance screen.
5. Once these settings are configured, you’ll need to specify which usage metric your app will use to determine when to upgrade or downgrade a customer to a specific plan.
Once your usage events are in Mantle and have been consolidated into a usage metric, you can assign this metric to a plan. This will measure the events and determine when flex billing upgrades or downgrades should occur.
To do this, go to the same plan settings, navigate to the Usage billing section, and click Add usage metric. Then, associate the usage metric you want to include in the plan.
![Flex billing add usage metric](/images/docs/plans_flexbilling_add_usage_metric.png)
6. Now that your usage metric is associated with the plan, you can set the thresholds for when flex billing will be triggered.
For the Basic plan, which covers up to 250 orders at $19.99/month, we’ll set the threshold from 0 to 250. This ensures that if a customer exceeds 250 orders, flex billing will move them to the next plan.
Set the Pricing Type to Per Unit with Limits. If you want to charge for regular usage in addition to your plan, you can enter a price for your usage and the terms assoicated.
![Flex billing thresholds](/images/docs/plans_flexbilling_thresholds.png)
In our example, we are strictly using plan charges, not combining plan prices with per-usage charges (i.e., the plan price is based on usage rather than a combination of usage price and plan price).
Now that we’ve configured the thresholds for flex billing on this plan, the final step is to set the plan to which the upgrade will occur if the usage thresholds are exceeded.
However, in this scenario, we’ve only created one flex billing plan. So, before proceeding further, we’ll save this plan and create a new one with flex billing enabled as well.
7. Now we’re ready to set up our second and third plans. Go back to Plans and click Add plan.
For the second plan, we’re creating an Advanced plan at $39.99/month with the same settings as the first plan. The only difference is that instead of the threshold being 0-250 orders, we’ll set it to 251-500 orders.
![Flex billing second plan](/images/docs/plans_flexbilling_second_plan.png)
We’ll apply the same process for the third plan, priced at $59.99/month. Set the threshold to a minimum of 501, and leave the maximum field blank to make it unlimited:
![Flex billing third plan](/images/docs/plans_flexbilling_third_plan.png)
Ok now we have our plans set up, we can now go back and set which plan should upgrade to the next depending on usage.
Let’s go back to the basic plan and set which plan we’d like to upgrade to when the threshold is met.
Navigate to Plans -> select your plan (in our case Basic) and click Edit:
![Flex billing edit plan](/images/docs/plans_flexbilling_edit_plan.png)
To enable automatic plan upgrades, check the box labeled Usage charge settings:
![Flex billing charge settings](/images/docs/plans_flexbilling_charge_settings.png)
Then simply select the flex billing-enabled plan you want the customer to upgrade to once they reach the threshold set for the current plan:
![Flex billing upgrade plan](/images/docs/plans_flexbilling_upgrade_plan.png)
Click Save. Next we can enable the same setting to set the upgrade from the Advanced plan to the Professional plan.
Great! - these plans are now set up with flex billing. If a customer selects a plan:
![Flex billing pick a plan](/images/docs/plans_flexbilling_pick_plan.png)
they’ll see the Shopify charge approval screen but it will have the additional charge information you added to your plan:
![Flex billing approve charge screen](/images/docs/plans_flexbilling_approve_charge_screen.png)
Once accepted, the customer will be subscribed to a flex billing plan and automatically upgraded to a new plan once they meet the usage threshold you’ve set.
The customer won’t need to accept the new charge since they’ve already agreed to the capped amount.
Flex billing FAQ
-
How are customers notified of the new plan when they automatically upgrade, given that there is no charge approval screen?
Mantle offers a webhook notification that you can set up for plan changes. To learn how to do this, check Mantle’s webhook guide here.
-
What is the time frame for tracking usage during the billing period?
You can configure your app’s usage settings by navigating to your app -> Settings and then adjusting your app’s billing usage settings:
![Flex billing usage billing settings](/images/docs/plans_flexbilling_usage_billing_settings.png)
-
Can I disable flex billing on plans and use them as regular plans?
No, you should create new plans specifically for flex billing. Once flex billing is enabled on a plan, it can’t be turned off.