Bill customers in advance
Use prebilling to bill your customers now for future cycles or upcoming renewals.
With prebilling, you can bill customers in advance for multiple service periods, as opposed to the typical billing cycle for licensed prices, where you bill a customer for one service period. You can enable prebilling when you start a subscription or for upcoming renewals.
Here are some example use cases for prebilling:
- Create a monthly subscription and prebill for the first 45 days.
- When a monthly subscription has an upcoming renewal in 7 days, prebill and send the customer the renewal invoice now.
- Prebill now for the next 2 months from the time of renewal.
You can use prebilling when you create or update a subscription. Prebilling applies at the item-level: you can prebill for a specific item, set of items, or all items on a subscription. You can adjust the time range for prebilling at the item level, but it must cover at least one service period. For example, if you prebill an item with a monthly price, you must prebill for at least one month.
Limitations
During public preview, prebilling has the following limitations:
- Prebilling isn’t available for subscription schedules, or subscriptions backed by a subscription schedule.
- You can only use coupons with percent_off and a duration of
onceorforeverwith prebilling. - Prebilling is applied immediately when you create or update a subscription and configure billing_schedules.
- You can’t use prebilling on subscriptions that have been migrated from classic to flexible billing mode.
- You can’t enable prebilling if all the subscription items have usage-based prices. Prebilling doesn’t apply to any usage-based prices in a subscription. You can’t set applies_to[price] if the price has usage_type=metered.
- You must enable proration for subscriptions to use prebilling. You can’t set proration_behavior to
none. - You can only enable prebilling up to the scheduled cancellation time if you update a subscription that’s been scheduled for cancellation.
- You can’t use prebilling if payment_behavior is set to
pending_.if_ incomplete
Before you begin
To use prebilling, you must:
- Create subscriptions with flexible billing mode enabled. Learn more about flexible billing mode.
- Have an integration on Stripe API version 2025-09-30.preview or later. Learn how to upgrade your API version.
Set up prebilling
You can enable prebilling when you create or update a subscription in the Dashboard or through the API.
When you set the end date for prebilling:
- The end date can’t be sooner than the start of the shortest billing period on the subscription. For example, if the shortest billing period on the subscription is monthly, the end date for prebilling must be at least a month from the start of the billing period.
- The end date can’t be later than the end of 12 cycles of the shortest billing period on the subscription. For example, if the shortest billing period on the subscription is monthly, the end date for prebilling can’t be more than 12 months from the start of the billing period.