Enable increased flexibility for subscriptions
Use flexible billing mode for enhanced functionality and to access additional features.
You can set your preferred billing mode to orchestrate your invoices and subscriptions to meet your business requirements. You can configure each subscription to use one of two billing modes:
- Flexible: Recommended: This setting provides accurate and predictable billing behavior and unlocks new capabilities. These improvements are only available in flexible billing mode, which is why we recommend creating new subscriptions with flexible billing mode and migrating your existing ones.
- Classic: This setting reflects Stripe’s existing subscription behavior and is maintained for backward compatibility with older integrations.
You can learn more about the detailed differences between classic and flexible billing mode and how to choose the billing mode that works best for you.
Why flexible billing mode
Flexible billing mode provides more accurate billing for prorations, usage-based pricing, flexible invoicing, and trial settings. It also unlocks new capabilities such as mixed intervals on the same subscription. These improvements are only available in flexible billing mode, which is why we recommend creating new subscriptions with flexible billing mode and migrating your existing ones.
We recommend that new Billing users use flexible billing mode for subscriptions and invoices, although we don’t require it.
For existing users, your default billing mode is preserved as classic to maintain backward compatibility with your current integration. However, we recommend migrating to flexible billing mode to take advantage of the latest billing features and improvements. Learn more about the differences between classic and flexible billing mode.
Get started with flexible billing mode
You can set or update the billing mode through the API or Dashboard when you create new subscriptions or update existing ones. A default billing mode is applied if you don’t specify one.
- If you create or update a subscription through the API, the default value for billing mode depends on your API integration version.
- If you create or update subscriptions through the Dashboard (including Payment Links and Pricing Tables), the default value depends on the billing mode default setting you configure in Settings > Billing > Subscriptions and emails.
To use flexible billing mode, your integration must be on Stripe API version 2025-06-30.basil or later. Learn how to upgrade your API version.
Create a new subscription with flexible billing mode
Migrate existing subscriptions to flexible billing mode
You can migrate your existing subscriptions to flexible billing mode. The flexible behaviors take effect for all new activity on the subscription after migration. However, Stripe doesn’t recalculate any resources created before migration, including pending proration Invoice Items
.
Billing mode and subscription schedules
When you create a subscription schedule from an existing subscription, don’t set billing_
if the subscription already has one. The schedule automatically inherits the billing_
from the original subscription. If you set billing_
when using from_
, Stripe returns an error. If you need a different billing_
, create a new subscription.