# Adds billing schedules to enable prebilling on subscriptions ## What’s new You can now collect payment for future billing periods before they begin by specifying billing schedules when you [create](https://docs.stripe.com/api/subscriptions/create.md?api-version=2026-05-27.dahlia#create_subscription-billing_schedules), [update](https://docs.stripe.com/api/subscriptions/update.md?api-version=2026-05-27.dahlia#update_subscription-billing_schedules), or [preview](https://docs.stripe.com/api/invoices/create_preview.md?api-version=2026-05-27.dahlia#create_invoice-subscription_details-billing_schedules) subscriptions. Billing schedules determine the future period to bill for and can apply to some or all of the items in the subscription. The new [billed_until](https://docs.stripe.com/api/subscription_items/object.md?api-version=2026-05-27.dahlia#subscription_item_object-billed_until) property on subscription items allows you to see when the prebilled period ends for each item. ## Impact You can now prebill customers for future periods before they begin. Common use cases include: | Use case | Description | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Prepay multiple months at signup** | Charge a monthly subscriber upfront for 3 months when they sign up, then resume normal monthly billing from that point. | | **Early renewal billing** | When a renewal is 7 days away, generate and send the customer the renewal invoice now instead of waiting for the end of the billing cycle. | | **Annual payment on a monthly price** | Let a customer pay for 12 months of a monthly plan in one upfront invoice, without changing the underlying price to an annual interval. | | **Early cancellation fee** | Charge a customer for the remaining term of a committed contract when they cancel early by prebilling through the end of the commitment, then canceling the subscription. | Learn more about [configuring prebilling for subscriptions](https://docs.stripe.com/billing/subscriptions/prebilling.md). ## Changes #### REST API | Parameters | Change | Resources or endpoints | | ------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `billing_schedules` | Added | [Invoice#create_preview.subscription_details](/api/invoices/create_preview?api-version=2026-05-27.dahlia#create_invoice-subscription_details), [Subscription](/api/subscriptions/object?api-version=2026-05-27.dahlia#subscription_object), [Subscription#create](/api/subscriptions/create?api-version=2026-05-27.dahlia#create_subscription), [Subscription#update](/api/subscriptions/update?api-version=2026-05-27.dahlia#update_subscription) | | `billed_until` | Added | [SubscriptionItem](/api/subscription_items/object?api-version=2026-05-27.dahlia#subscription_item_object) | #### Ruby | Parameters | Change | Resources or methods | | ------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `billing_schedules` | Added | [InvoiceCreatePreviewParams::SubscriptionDetail](/api/invoices/create_preview?api-version=2026-05-27.dahlia#create_invoice-subscription_details), [Subscription](/api/subscriptions/object?api-version=2026-05-27.dahlia#subscription_object), [SubscriptionCreateParams](/api/subscriptions/create?api-version=2026-05-27.dahlia#create_subscription), [SubscriptionUpdateParams](/api/subscriptions/update?api-version=2026-05-27.dahlia#update_subscription) | | `billed_until` | Added | [SubscriptionItem](/api/subscription_items/object?api-version=2026-05-27.dahlia#subscription_item_object) | #### Python | Parameters | Change | Resources or methods | | ------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `billing_schedules` | Added | [InvoiceCreatePreviewParamsSubscriptionDetail](/api/invoices/create_preview?api-version=2026-05-27.dahlia#create_invoice-subscription_details), [Subscription](/api/subscriptions/object?api-version=2026-05-27.dahlia#subscription_object), [SubscriptionCreateParams](/api/subscriptions/create?api-version=2026-05-27.dahlia#create_subscription), [SubscriptionModifyParams](/api/subscriptions/update?api-version=2026-05-27.dahlia#update_subscription) | | `billed_until` | Added | [SubscriptionItem](/api/subscription_items/object?api-version=2026-05-27.dahlia#subscription_item_object) | #### PHP | Parameters | Change | Resources or methods | | ------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `billing_schedules` | Added | [Invoice.create_preview().$params.subscription_detail](/api/invoices/create_preview?api-version=2026-05-27.dahlia#create_invoice-subscription_details), [Subscription](/api/subscriptions/object?api-version=2026-05-27.dahlia#subscription_object), [Subscription.create().$params](/api/subscriptions/create?api-version=2026-05-27.dahlia#create_subscription), [Subscription.update().$params](/api/subscriptions/update?api-version=2026-05-27.dahlia#update_subscription) | | `billed_until` | Added | [SubscriptionItem](/api/subscription_items/object?api-version=2026-05-27.dahlia#subscription_item_object) | #### Java | Parameters | Change | Resources or methods | | ------------------ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `billingSchedules` | Added | [InvoiceCreatePreviewParams.subscription_details](/api/invoices/create_preview?api-version=2026-05-27.dahlia#create_invoice-subscription_details), [Subscription](/api/subscriptions/object?api-version=2026-05-27.dahlia#subscription_object), [SubscriptionCreateParams](/api/subscriptions/create?api-version=2026-05-27.dahlia#create_subscription), [SubscriptionUpdateParams](/api/subscriptions/update?api-version=2026-05-27.dahlia#update_subscription) | | `billedUntil` | Added | [SubscriptionItem](/api/subscription_items/object?api-version=2026-05-27.dahlia#subscription_item_object) | #### Node.js | Parameters | Change | Resources or methods | | ------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `billing_schedules` | Added | [InvoiceCreatePreviewParams.subscription_details](/api/invoices/create_preview?api-version=2026-05-27.dahlia#create_invoice-subscription_details), [Subscription](/api/subscriptions/object?api-version=2026-05-27.dahlia#subscription_object), [SubscriptionCreateParams](/api/subscriptions/create?api-version=2026-05-27.dahlia#create_subscription), [SubscriptionUpdateParams](/api/subscriptions/update?api-version=2026-05-27.dahlia#update_subscription) | | `billed_until` | Added | [SubscriptionItem](/api/subscription_items/object?api-version=2026-05-27.dahlia#subscription_item_object) | #### Go | Parameters | Change | Resources or methods | | ------------------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `BillingSchedules` | Added | [InvoiceCreatePreviewSubscriptionDetailsParams](/api/invoices/create_preview?api-version=2026-05-27.dahlia#create_invoice-subscription_details), [Subscription](/api/subscriptions/object?api-version=2026-05-27.dahlia#subscription_object), [SubscriptionParams](/api/subscriptions/update?api-version=2026-05-27.dahlia#update_subscription) | | `BilledUntil` | Added | [SubscriptionItem](/api/subscription_items/object?api-version=2026-05-27.dahlia#subscription_item_object) | #### .NET | Parameters | Change | Resources or methods | | ------------------ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `BillingSchedules` | Added | [InvoiceSubscriptionDetailsOptions](/api/invoices/create_preview?api-version=2026-05-27.dahlia#create_invoice-subscription_details), [Subscription](/api/subscriptions/object?api-version=2026-05-27.dahlia#subscription_object), [SubscriptionCreateOptions](/api/subscriptions/create?api-version=2026-05-27.dahlia#create_subscription), [SubscriptionUpdateOptions](/api/subscriptions/update?api-version=2026-05-27.dahlia#update_subscription) | | `BilledUntil` | Added | [SubscriptionItem](/api/subscription_items/object?api-version=2026-05-27.dahlia#subscription_item_object) | ## Upgrade #### REST API 1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench. 1. If you use an SDK, upgrade to the corresponding SDK version for this API version. - If you don’t use an SDK, update your [API requests](https://docs.stripe.com/api/versioning.md) to include `Stripe-Version: 2026-05-27.dahlia` 1. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md). 1. [Test your integration](https://docs.stripe.com/testing.md) against the new version. 1. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md). 1. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours. Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md). #### Ruby 1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench. 1. Upgrade your Ruby SDK to the latest version. 1. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md). 1. [Test your integration](https://docs.stripe.com/testing.md) against the new version. 1. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md). 1. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours. Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md). #### Python 1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench. 1. Upgrade your Python SDK to the latest version. 1. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md). 1. [Test your integration](https://docs.stripe.com/testing.md) against the new version. 1. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md). 1. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours. Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md). #### PHP 1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench. 1. Upgrade your PHP SDK to the latest version. 1. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md). 1. [Test your integration](https://docs.stripe.com/testing.md) against the new version. 1. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md). 1. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours. Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md). #### Java 1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench. 1. Upgrade your Java SDK to the latest version. 1. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md). 1. [Test your integration](https://docs.stripe.com/testing.md) against the new version. 1. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md). 1. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours. Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md). #### Node.js 1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench. 1. Upgrade your Node SDK to the latest version. 1. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md). 1. [Test your integration](https://docs.stripe.com/testing.md) against the new version. 1. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md). 1. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours. Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md). #### Go 1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench. 1. Upgrade your Go SDK to the latest version. 1. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md). 1. [Test your integration](https://docs.stripe.com/testing.md) against the new version. 1. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md). 1. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours. Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md). #### .NET 1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench. 1. Upgrade your .NET SDK to the latest version. 1. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md). 1. [Test your integration](https://docs.stripe.com/testing.md) against the new version. 1. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md). 1. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours. Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md). ## Related changes - [Adds discount eligibility options for add-on invoice items on Subscriptions and Preview Invoice APIs](https://docs.stripe.com/changelog/dahlia/2026-05-27/invoice-items-discount-eligibility.md) - [Adds amount paid off Stripe property to Invoice object](https://docs.stripe.com/changelog/dahlia/2026-05-27/invoice-object-amount-paid-off-stripe-property.md) - [Adds discount and discounts properties to pending subscription updates](https://docs.stripe.com/changelog/dahlia/2026-05-27/pending-subscription-updates-discount-and-discounts-properties.md) - [Adds metadata support to pending subscription updates](https://docs.stripe.com/changelog/dahlia/2026-05-27/pending-subscription-update-metadata.md) - [Adds credited items information to invoice item proration details](https://docs.stripe.com/changelog/dahlia/2026-05-27/invoice-item-proration-credited-items.md) - [Adds customer parameter to test clock creation](https://docs.stripe.com/changelog/dahlia/2026-05-27/test-clock-creation-customer-parameter.md)